]> git.pld-linux.org Git - packages/libxcrypt.git/blobdiff - libxcrypt.spec
Rel 2; be default crypt provider for glibc
[packages/libxcrypt.git] / libxcrypt.spec
index a72284f7f77a4ad5974ca7fd47ac081dcb126f5a..c728caae9cf6c59c8a7aaa4b20dd1fbb5313b23c 100644 (file)
@@ -1,17 +1,42 @@
+#
+# Conditional build:
+%bcond_without default_crypt   # build as default libcrypt provider
+
 Summary:       Crypt Library for DES, MD5, and Blowfish
 Summary(pl.UTF-8):     Biblioteka szyfrująca hasła obsługująca DES, MD5 i Blowfish
 Name:          libxcrypt
-Version:       3.0.2
+Version:       4.4.25
 Release:       2
-License:       LGPL v2.1+ (library), LGPL v2.1+/Public Domain (plugins)
+License:       LGPL v2.1+
 Group:         Libraries
-Source0:       ftp://ftp.suse.com/pub/people/kukuk/libxcrypt/%{name}-%{version}.tar.bz2
-# Source0-md5: 56cf4285086f26649b8792b53fe8b00f
-BuildRequires: sed >= 4.0
+#Source0Download: https://github.com/besser82/libxcrypt/releases
+Source0:       https://github.com/besser82/libxcrypt/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 4828b1530f5bf35af0b45b35acc4db1d
+Patch0:                %{name}-xcrypt.patch
+URL:           https://github.com/besser82/libxcrypt
+BuildRequires: autoconf >= 2.62
+BuildRequires: automake >= 1:1.14
+BuildRequires: gcc >= 5:3.2
+BuildRequires: libltdl-devel
+BuildRequires: libtool >= 2:2
+BuildRequires: pkgconfig >= 1:0.27
+%if %{with default_crypt}
+Provides:      crypt(blowfish)
+Obsoletes:     glibc-libcrypt
+%endif
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %undefine      __cxx
 
+%if %{with default_crypt}
+%define                libname         libcrypt
+%define                libver          1
+%else
+%define                libname         libxcrypt
+%define                libver          2
+%endif
+
+
 %description
 libxcrypt is a replacement for libcrypt, which comes with the GNU C
 Library. It supports DES crypt, MD5, and passwords with Blowfish
@@ -53,24 +78,39 @@ Ten pakiet zawiera statyczną wersję biblioteki libxcrypt.
 
 %prep
 %setup -q
+%{!?with_default_crypt:%patch0 -p1}
 
 %build
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__autoheader}
+%{__automake}
 %configure \
-       --libdir=/%{_lib}
+%if %{with default_crypt}
+       --enable-obsolete-api=glibc \
+       --enable-obsolete-api-enosys=yes \
+%else
+       --includedir=%{_includedir}/xcrypt \
+       --disable-xcrypt-compat-files \
+%endif
+       --disable-werror
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_libdir}
+install -d $RPM_BUILD_ROOT/%{_lib}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-mv -f $RPM_BUILD_ROOT/%{_lib}/libxcrypt.{so,la,a} $RPM_BUILD_ROOT%{_libdir}
-sed -i -e 's#/%{_lib}#%{_libdir}#g' $RPM_BUILD_ROOT%{_libdir}/libxcrypt.la
-ln -snf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libxcrypt.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libxcrypt.so
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{libname}.so.* $RPM_BUILD_ROOT/%{_lib}
+ln -snf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/%{libname}.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/%{libname}.so
 
-%{__rm} $RPM_BUILD_ROOT/%{_lib}/xcrypt/*.{la,a}
+# obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{libname}.la
+# packaged with glibc-devel
+%{!?with_default_crypt:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/crypt{,_r,_ra,_rn}.3*}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -80,19 +120,36 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-# COPYING specifies licenses for particular plugins
-%doc COPYING ChangeLog NEWS README*
-%attr(755,root,root) /%{_lib}/libxcrypt.so.*.*.*
-%attr(755,root,root) %ghost /%{_lib}/libxcrypt.so.2
-%dir /%{_lib}/xcrypt
-%attr(755,root,root) /%{_lib}/xcrypt/libxcrypt_*.so*
+%doc AUTHORS ChangeLog LICENSING NEWS README.md THANKS TODO.md
+%attr(755,root,root) /%{_lib}/%{libname}.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/%{libname}.so.%{libver}
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libxcrypt.so
-%{_libdir}/libxcrypt.la
+%attr(755,root,root) %{_libdir}/%{libname}.so
+%if %{with default_crypt}
+%{_includedir}/crypt.h
 %{_includedir}/xcrypt.h
+%attr(755,root,root) %{_libdir}/libxcrypt.so
+%else
+%{_includedir}/xcrypt
+%endif
+%{_pkgconfigdir}/libcrypt.pc
+%{_pkgconfigdir}/libxcrypt.pc
+%{_mandir}/man3/crypt_checksalt.3*
+%{_mandir}/man3/crypt_gensalt*.3*
+%{_mandir}/man3/crypt_preferred_method.3*
+%if %{with default_crypt}
+%{_mandir}/man3/crypt.3*
+%{_mandir}/man3/crypt_r.3*
+%{_mandir}/man3/crypt_ra.3*
+%{_mandir}/man3/crypt_rn.3*
+%endif
+%{_mandir}/man5/crypt.5*
 
 %files static
 %defattr(644,root,root,755)
+%{_libdir}/%{libname}.a
+%if %{with default_crypt}
 %{_libdir}/libxcrypt.a
+%endif
This page took 0.059548 seconds and 4 git commands to generate.