# # spec file for package libxcrypt # # Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: libxcrypt Version: 4.4.19 Release: 1.1 Summary: Extended crypt library for DES, MD5, Blowfish and others License: BSD-2-Clause AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause AND SUSE-Public-Domain Group: Development/Libraries/C and C++ URL: https://github.com/besser82/%{name} Source0: %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: baselibs.conf BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig %description libxcrypt is a modern library for one-way hashing of passwords. It supports DES, MD5, SHA-2-256, SHA-2-512, and bcrypt-based password hashes, and provides the traditional Unix 'crypt' and 'crypt_r' interfaces, as well as a set of extended interfaces pioneered by Openwall Linux, 'crypt_rn', 'crypt_ra', 'crypt_gensalt', 'crypt_gensalt_rn', and 'crypt_gensalt_ra'. %package -n libcrypt1 Summary: Extended crypt library for DES, MD5, Blowfish and others License: BSD-2-Clause AND LGPL-2.1-or-later AND BSD-3-Clause AND SUSE-Public-Domain Group: System/Libraries # Compatibility provides to help the transition from libowcrypt.so.1 # to libcrypt.so.1, which provides all symbols of the former %ifarch x86_64 s390x ppc64le aarch64 Provides: libowcrypt.so.1()(64bit) Provides: libowcrypt.so.1(OW_CRYPT_1.0)(64bit) %endif %ifarch i586 Provides: libowcrypt.so.1 Provides: libowcrypt.so.1(OW_CRYPT_1.0) %endif %description -n libcrypt1 libxcrypt is a modern library for one-way hashing of passwords. It supports DES, MD5, SHA-2-256, SHA-2-512, and bcrypt-based password hashes, and provides the traditional Unix 'crypt' and 'crypt_r' interfaces, as well as a set of extended interfaces pioneered by Openwall Linux, 'crypt_rn', 'crypt_ra', 'crypt_gensalt', 'crypt_gensalt_rn', and 'crypt_gensalt_ra'. %package devel Summary: Development files for %{name} License: BSD-2-Clause AND LGPL-2.1-or-later AND BSD-3-Clause AND SUSE-Public-Domain Group: Development/Languages/C and C++ Requires: libcrypt1 = %{version} Requires: pkgconfig Provides: glibc-devel:%{_libdir}/libcrypt.so Conflicts: glibc-devel < 2.28 %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package devel-static Summary: Static library for -static linking with %{name} License: BSD-2-Clause AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause AND SUSE-Public-Domain Group: Development/Libraries/C and C++ Requires: %{name}-devel = %{version} Requires: glibc-devel-static Provides: glibc-devel-static:%{_libdir}/libcrypt.a Conflicts: glibc-devel-static < 2.28 %description devel-static This package contains the libxcrypt static libraries for -static linking. You don't need this, unless you link statically, which is highly discouraged. %prep %autosetup -p 1 %build # Disable LTO due to symbol versioning (boo#1138833): # (https://en.opensuse.org/openSUSE:LTO#Symbol_versioning). %define _lto_cflags %{nil} autoreconf -fi %configure \ --disable-silent-rules \ --enable-shared \ --enable-static \ --enable-obsolete-api=suse \ --enable-hashes=all \ --with-pkgconfigdir=%{_libdir}/pkgconfig %make_build %install %make_install find %{buildroot}%{_libdir} -name '*.la' -print -delete %check %make_build check || \ { rc=$?; echo "-----BEGIN TESTLOG-----"; %{__cat} test-suite.log; echo "-----END TESTLOG-----"; exit $rc; } %post -n libcrypt1 -p /sbin/ldconfig %postun -n libcrypt1 -p /sbin/ldconfig %files -n libcrypt1 %license COPYING.LIB LICENSING %doc AUTHORS NEWS README README.md THANKS %{_libdir}/libcrypt.so.* %{_libdir}/libowcrypt.so.* %files devel %doc TODO TODO.md %{_libdir}/libcrypt.so %{_libdir}/libxcrypt.so %{_libdir}/libowcrypt.so %{_includedir}/crypt.h %{_includedir}/xcrypt.h %{_libdir}/pkgconfig/libcrypt.pc %{_libdir}/pkgconfig/%{name}.pc %{_mandir}/man3/crypt_rn.3.* %{_mandir}/man3/crypt_gensalt.3.* %{_mandir}/man3/crypt.3.* %{_mandir}/man3/crypt_checksalt.3.* %{_mandir}/man3/crypt_gensalt_ra.3.* %{_mandir}/man3/crypt_gensalt_rn.3.* %{_mandir}/man3/crypt_preferred_method.3.* %{_mandir}/man3/crypt_r.3.* %{_mandir}/man3/crypt_ra.3.* %{_mandir}/man5/crypt.5.* %files devel-static %{_libdir}/libcrypt.a %{_libdir}/libxcrypt.a %{_libdir}/libowcrypt.a %changelog * Tue Apr 13 2021 Paolo Stivanin - Update to 4.4.19 * Improve fallback implementation of explicit_bzero. * Add glibc-on-CSKY, ARC, and RISCV-32 entries to libcrypt.minver. These were added in GNU libc 2.29, 2.32, and 2.33 respectively * Do not build xcrypt.h if we’re not going to install it. * Do not apply --enable-obsolete-api-enosys mode to fcrypt. * Compilation fix for NetBSD. NetBSD’s declares encrypt and setkey to return int, contrary to POSIX (which says they return void). Rename those declarations out of the way with macros. * Compilation fixes for building with GCC 11. Basically fixes for explicit type-casting. * Force update of existing symlinks during installation * Mon Feb 22 2021 Andreas Schwab - Update to version 4.4.18 * Fix conversion error in lib/alg-gost3411-core.c * Tue Sep 1 2020 Andreas Schwab - Add compatibility provides for SLE15 - Update to version 4.4.17 * Salt string compatibility with generic implementations * Mon Mar 2 2020 Andreas Schwab - Update to version 4.4.15 * The compatibility symbols crypt_gensalt_r, xcrypt, xcrypt_r, xcrypt_gensalt, and xcrypt_gensalt_r are deprecated further * Speed up ka-sunmd5 by skipping most of the test phrases - Package README.md and TODO.md (bsc#1165389) * Thu Jan 30 2020 Andreas Schwab - Update to version 4.4.12 * Another fix for GCC v10.x, which occurs on s390 architectures only. * Wed Jan 22 2020 Andreas Schwab - Update to version 4.4.11 * Fixes for GCC v10.x * Change how the known-answer tests are parallelized - gcc10.patch: remove * Thu Dec 12 2019 Andreas Schwab - gcc10.patch: fix build with gcc10 (bsc#1158192) * Sat Dec 7 2019 Andreas Schwab - Update to version 4.4.10 * Fix alignment problem for GOST 34.11 (Streebog) in gost-yestcrypt. * The crypt_* functions will now all fail and set errno to ERANGE if their 'phrase' argument is longer than CRYPT_MAX_PASSPHRASE_SIZE characters (this is currently 512) * The NT hashing method no longer truncates passphrases at 128 characters; Windows does not do this. - format-overflow.patch: remove * Thu Jun 20 2019 Martin Liška - Disable LTO due to symbol versioning (boo#1138833). * Tue Feb 19 2019 schwab@suse.de - format-overflow.patch: Fix -Werror=format-overflow * Thu Feb 14 2019 Martin Liška - Update to version 4.4.3: * Add libxcrypt.so, libxcrypt.a and xcrypt.h. * Add new man3 manual pages. * Tue Oct 9 2018 schwab@suse.de - Set compatibility level to suse * Wed Aug 8 2018 schwab@suse.de - Add conflicts with glibc-devel < 2.28 * Mon Aug 6 2018 jengelh@inai.de - Fix RPM groups for Factory. * Wed Aug 1 2018 schwab@suse.de - Update to libxcrypt 4.1.0 * Fix spelling of SUSE. * Lower the minimum required automake version to 1.14. * Fix build with USE_SWAPCONTEXT turned off. * Extend --enable-weak-hashes configure option to accept optional "glibc" parameter. * Fix the leak of obtained random bytes. * Check expected output strings for deterministic methods. * Fix memory leak in crypt_sha1_rn. * Fix read of random bytes out of bounds in gensalt_sha1_rn. * Make it possible to disable individual hashes at configure time. * Make salt validation pickier. * Replace crypt-sunmd5.c with BSD-licensed cleanroom reimplementation. * Make crypt_gensalt for $sha1 deterministic. * Fix incorrect output-size computation in crypt_sha1_rn. * Add docs for SHA1, MD5/Sun, NTHASH. * Introduce CRYPT_GENSALT_IMPLEMENTS_* feature test macros. * Install libcrypt.pc symlink along with libxcrypt.pc. * Extend --enable-obsolete-api configure option. * Extend overall test coverage. * Wed May 23 2018 schwab@suse.de - Update to libxcrypt 4.0.1 * Wed May 9 2018 schwab@suse.de - ABI compatible replacement for libcypt from glibc