3 %bcond_without compat_pkg
4 %bcond_without default_crypt
7 Summary: Crypt Library for DES, MD5, and Blowfish
8 Summary(pl.UTF-8): Biblioteka szyfrująca hasła obsługująca DES, MD5 i Blowfish
14 #Source0Download: https://github.com/besser82/libxcrypt/releases
15 Source0: https://github.com/besser82/libxcrypt/archive/v%{version}/%{name}-%{version}.tar.gz
16 # Source0-md5: 1cfd40c89ab1e3d4a1f030c9842474e9
17 Patch0: %{name}-xcrypt.patch
18 URL: https://github.com/besser82/libxcrypt
19 BuildRequires: autoconf >= 2.62
20 BuildRequires: automake >= 1:1.14
21 BuildRequires: gcc >= 5:3.2
22 BuildRequires: libltdl-devel
23 BuildRequires: libtool >= 2:2
24 BuildRequires: pkgconfig >= 1:0.27
25 %if %{with default_crypt}
26 Provides: crypt(blowfish)
27 Obsoletes: glibc-libcrypt
29 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 %if %{with default_crypt}
34 %define libname libcrypt
36 %define libvercompat 1
38 %undefine with_compat_pkg
39 %define libname libxcrypt
44 Summary: Compatibility library providing legacy API functions
45 Requires: %{name} = %{version}-%{release}
48 This package contains the library providing the compatibility API for
49 applications that are linked against glibc's libxcrypt, or that are
50 still using the unsafe and deprecated, encrypt, encrypt_r, setkey,
51 setkey_r, and fcrypt functions, which are still required by recent
52 versions of POSIX, the Single UNIX Specification, and various other
55 All existing binary executables linked against glibc's libcrypt should
56 work unmodified with the library supplied by this package.
59 libxcrypt is a replacement for libcrypt, which comes with the GNU C
60 Library. It supports DES crypt, MD5, and passwords with Blowfish
63 %description -l pl.UTF-8
64 libxcrypt to zamiennik biblioteki libcrypt dostarczanej wraz z
65 biblioteką GNU C (libc). Obsługuje szyfrowanie haseł DES, MD5 oraz
69 Summary: Header file for libxcrypt
70 Summary(pl.UTF-8): Plik nagłówkowy biblioteki libxcrypt
72 Group: Development/Libraries
73 Requires: %{name} = %{version}-%{release}
74 %{?with_default_crypt:Conflicts: glibc-devel-doc < 6:2.34-7}
77 This package contains the header file to develop software using
80 %description devel -l pl.UTF-8
81 Ten pakiet zawiera plik nagłówkowy pozwalający na tworzenie programów
82 korzystających z libxcrypt.
85 Summary: Static libxcrypt library
86 Summary(pl.UTF-8): Statyczna biblioteka libxcrypt
88 Group: Development/Libraries
89 Requires: %{name}-devel = %{version}-%{release}
92 This package contains the static libxcrypt library used for
95 %description static -l pl.UTF-8
96 Ten pakiet zawiera statyczną wersję biblioteki libxcrypt.
100 %{!?with_default_crypt:%patch0 -p1}
112 --enable-hashes=all \
113 %if %{with default_crypt}
114 --enable-obsolete-api=no \
115 --enable-obsolete-api-enosys=no \
117 --includedir=%{_includedir}/xcrypt \
118 --disable-xcrypt-compat-files \
128 %if %{with compat_pkg}
132 --enable-hashes=all \
133 --enable-obsolete-api=glibc \
134 --enable-obsolete-api-enosys=yes \
135 --enable-hashes=all \
146 rm -rf $RPM_BUILD_ROOT
147 install -d $RPM_BUILD_ROOT/%{_lib}
149 %if %{with compat_pkg}
150 %{__make} -C compat install \
151 DESTDIR=$RPM_BUILD_ROOT
153 # clean everything beside library
154 find $RPM_BUILD_ROOT -not -type d -not -name 'libcrypt.so.%{libvercompat}*' -delete -print
157 %{__make} -C regular install \
158 DESTDIR=$RPM_BUILD_ROOT
160 %{__mv} $RPM_BUILD_ROOT%{_libdir}/%{libname}.so.* $RPM_BUILD_ROOT/%{_lib}
161 ln -snf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/%{libname}.so.%{libver}.*.*) $RPM_BUILD_ROOT%{_libdir}/%{libname}.so
163 # obsoleted by pkg-config
164 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{libname}.la
166 %if %{without default_crypt}
167 # PLD doesn't need Owl compatibility
168 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libowcrypt.*
169 # packaged with glibc-devel
170 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/crypt{,_r,_ra,_rn}.3*
174 rm -rf $RPM_BUILD_ROOT
176 %post -p /sbin/ldconfig
177 %postun -p /sbin/ldconfig
179 %post compat -p /sbin/ldconfig
180 %postun compat -p /sbin/ldconfig
183 if [ ! -L /%{_lib}/%{libname}.so.1 ]; then
184 %{__rm} -f /%{_lib}/%{libname}.so.1
189 %defattr(644,root,root,755)
190 %doc AUTHORS ChangeLog LICENSING NEWS README.md THANKS TODO.md
191 %attr(755,root,root) /%{_lib}/%{libname}.so.%{libver}.*.*
192 %attr(755,root,root) %ghost /%{_lib}/%{libname}.so.%{libver}
194 %if %{with compat_pkg}
196 %defattr(644,root,root,755)
197 %attr(755,root,root) /%{_lib}/%{libname}.so.%{libvercompat}.*.*
198 %attr(755,root,root) %ghost /%{_lib}/%{libname}.so.%{libvercompat}
202 %defattr(644,root,root,755)
203 %attr(755,root,root) %{_libdir}/%{libname}.so
204 %if %{with default_crypt}
205 %{_includedir}/crypt.h
207 %{_includedir}/xcrypt
209 %{_pkgconfigdir}/libcrypt.pc
210 %{_pkgconfigdir}/libxcrypt.pc
211 %{_mandir}/man3/crypt_checksalt.3*
212 %{_mandir}/man3/crypt_gensalt*.3*
213 %{_mandir}/man3/crypt_preferred_method.3*
214 %if %{with default_crypt}
215 %{_mandir}/man3/crypt.3*
216 %{_mandir}/man3/crypt_r.3*
217 %{_mandir}/man3/crypt_ra.3*
218 %{_mandir}/man3/crypt_rn.3*
220 %{_mandir}/man5/crypt.5*
223 %defattr(644,root,root,755)
224 %{_libdir}/%{libname}.a