From 1167a4e550f685352ec91912e625e131cd09de9f8bbfaca5bb1fad6ae7225961 Mon Sep 17 00:00:00 2001 From: Pedro Monreal Gonzalez Date: Wed, 15 Jan 2025 08:41:31 +0000 Subject: [PATCH] - Update to 4.4.38 * Fix several "-Wunterminated-string-initialization", which are seen by upcoming GCC 15.x (issue #194). * Fix "-Wmaybe-uninitialized" in crypt.c, which is seen by GCC 13.3.0. * Skip test/explicit-bzero if compiling with ASAN. * Drop hard requirement for the pkg-config binary (issue #198). - Use %ldconfig_scriptlets OBS-URL: https://build.opensuse.org/package/show/Base:System/libxcrypt?expand=0&rev=53 --- .gitattributes | 23 ++++ .gitignore | 1 + baselibs.conf | 7 + libxcrypt-4.4.36.tar.xz | 3 + libxcrypt-4.4.36.tar.xz.asc | 16 +++ libxcrypt-4.4.37.tar.xz | 3 + libxcrypt-4.4.37.tar.xz.asc | 16 +++ libxcrypt-4.4.38.tar.xz | 3 + libxcrypt-4.4.38.tar.xz.asc | 16 +++ libxcrypt.changes | 255 ++++++++++++++++++++++++++++++++++++ libxcrypt.keyring | 66 ++++++++++ libxcrypt.spec | 175 +++++++++++++++++++++++++ 12 files changed, 584 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 baselibs.conf create mode 100644 libxcrypt-4.4.36.tar.xz create mode 100644 libxcrypt-4.4.36.tar.xz.asc create mode 100644 libxcrypt-4.4.37.tar.xz create mode 100644 libxcrypt-4.4.37.tar.xz.asc create mode 100644 libxcrypt-4.4.38.tar.xz create mode 100644 libxcrypt-4.4.38.tar.xz.asc create mode 100644 libxcrypt.changes create mode 100644 libxcrypt.keyring create mode 100644 libxcrypt.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..2c16257 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,7 @@ +libcrypt1 + arch i586 provides "libowcrypt.so.1" + arch i586 provides "libowcrypt.so.1(OW_CRYPT_1.0)" +libxcrypt-devel + requires -libxcrypt- + requires "libcrypt1- = " + conflicts "glibc-devel- < 2.28" diff --git a/libxcrypt-4.4.36.tar.xz b/libxcrypt-4.4.36.tar.xz new file mode 100644 index 0000000..a450563 --- /dev/null +++ b/libxcrypt-4.4.36.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5e1f4caee0a01de2aee26e3138807d6d3ca2b8e67287966d1fefd65e1fd8943 +size 624112 diff --git a/libxcrypt-4.4.36.tar.xz.asc b/libxcrypt-4.4.36.tar.xz.asc new file mode 100644 index 0000000..0db8d48 --- /dev/null +++ b/libxcrypt-4.4.36.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEZ4zj/uQwMRWW24wW9S6YAHWUwh0FAmSlr0UACgkQ9S6YAHWU +wh0/Pg/+M0zxkElg/2YPCFNeSo+zsVjGozdnPF4DvISk54+owXULo2fkx7VW15LC +4DcvKKg3p+6bCz1rdOnJbzSfNiO3d7VS1mGNOECWUTF4q3eiXhgDy5QrHbZfDaqR +DohWDNJPY1RwTfMf8qhtnTukjutnNpUdPJHV5wavJsBr8mLQ6qBXTsgfORJsfGi0 +cz+GTn3IZX/xcMvbFx9VrY/ixzYZZMFOmy+00T2yURlA/A5XjNPldTDRYVBtYUre +Phiox3Oz9BRh65hnLjPFIYvMrjAGnOxl2lWfHK6Mdu46QV7qB7nGryOSbr4OHvN8 +YpukVexz5YlSM09ws9AHqUzf4nn2fo+M1v9YftrLYa0vKM5oUW5+nJp2oRm+q2WW +UYy7J60rM7Rg8HvpAXriIbyOz758xSA3dwSMAVFrY9mLZdCipBfdAD9xNIysaWTo +ockJ13TYzK6m8F8aL3tYGT/7M1IbdUMqGa7wPEkg5bkb0IGOI45yH4VN4AbU3h4v +ZZrMNkMNl84Y3rYgq2QcqoMf9Wg/dv9zuXpkF0COipk4qxiEiBZlebFSAZEX1LSO +6O5AlUtHb9Mue7CTv61dV//C7l2/TOADsvWN4dBqQzioPx+uH4wJAdEY6afeePAR +GniSzdtbuszlVcd7E8sqN/DFofhOBBXrX6QpJkapMTnfoKDL3SQ= +=wTDU +-----END PGP SIGNATURE----- diff --git a/libxcrypt-4.4.37.tar.xz b/libxcrypt-4.4.37.tar.xz new file mode 100644 index 0000000..87ea9e3 --- /dev/null +++ b/libxcrypt-4.4.37.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:902aa2976f959b5ebe55679b1722b8479f8f13cd4ce2ef432b0a84ae298fffd0 +size 625640 diff --git a/libxcrypt-4.4.37.tar.xz.asc b/libxcrypt-4.4.37.tar.xz.asc new file mode 100644 index 0000000..40380db --- /dev/null +++ b/libxcrypt-4.4.37.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEZ4zj/uQwMRWW24wW9S6YAHWUwh0FAmdydoUACgkQ9S6YAHWU +wh0tOBAA2/ef8xWd4g9/vgympp5Z/5dHA0BJpm7uFQaJhQzqsM6hhfLZuZbmhuqk +ksc1jmkfDkNYyUrwcI/HEXQ36j/GUStFr6txKGSsv7Mvis2joqtS059BNR5NCQ7z +/Ld5vJnqox671cTLmfrRntd9BV1sw5tcI1xwZslqqoHODFquiunliqSgjtjnX3Xs +9JrEDdzC1iXkQES2fI1DOcF+UGIcz19mAW5/Oxwmg6I98aER3WyAqxzCY53NGuhu +41Hhrl+/XFnvPK0tESvp6Dj+KInJmYEzPJpGpibTaxAjXEHnMrtYmfJEEJM93ZgE +7e4x1fVSMx00QCRSprNp9LgHbOfTFn4WLIMwppR8gw9EzVWl6N2tOl2is4YDTBM1 +/F8av7nbeqW1xvCsAO8BFTf5V5IaU1AEZrwHldh1qlOsi1EsOky/26r6f6htOh16 +M4rRcn1rORvyz42MTWcEXjVuWg2Mz9fRKBtgHblw4pj5UG6N+MVA9ncPGvr0ogZi +TRkw08gP71TEFbBdhSzJxS4WzvIsIWjklk/EKBzj4u2lGLixvPEkTSCEc8in5/OD +7TjH0YMXtYLm+hD2KCJFE+4XSdf7YlFF3FONc/T75TOZZad5OrFzTrNIsVIQeoqp +KkBPYXUTRu0GJPuh4ePwrjYEM5TtU5WFHJl+aBsoSrOmVh+ib8s= +=vrhd +-----END PGP SIGNATURE----- diff --git a/libxcrypt-4.4.38.tar.xz b/libxcrypt-4.4.38.tar.xz new file mode 100644 index 0000000..04503ec --- /dev/null +++ b/libxcrypt-4.4.38.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80304b9c306ea799327f01d9a7549bdb28317789182631f1b54f4511b4206dd6 +size 625756 diff --git a/libxcrypt-4.4.38.tar.xz.asc b/libxcrypt-4.4.38.tar.xz.asc new file mode 100644 index 0000000..be4cadc --- /dev/null +++ b/libxcrypt-4.4.38.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEZ4zj/uQwMRWW24wW9S6YAHWUwh0FAmeGeAcACgkQ9S6YAHWU +wh2FnBAAyqOGK8Fsc7Xc4/J8CHUJMr7JcPkTWL9OvDnANvHgPaO/lnD6dZ14Y/WJ +QPV1KMYr4qCGgQT59VYTPWazISjmvuOrhlh1ZK9PrQT7c+WLRSmbS1k42jmDZj40 +t8pvpjVxGfSF767OVAOxTZv5EWE5eAHU5rknwTG5jnc6Tggzzj8HeAg4mShmWYJE +hW1JPvJ3TE7RRnM0fix7eSqFakweusSmSqrzLLZwEB+qDM0LQxOeX0xGVPbusXT9 +Qh5dTMTm8YaDt5pYx3mtQB7rt/y21eUAJrYiyMHbvyySywX7chS6s+tFs+48Xsf3 +FxIHk3j+ODip8mtoL/dmHopZAf2BGjb9Q0kUX85xdb735r4WkuDZHEnaPw7AaKlf +VvfH4Jo0AGmNonX3p/T2o8SnxuRMshwsykgWVOGTEWjsXav+B72i+a+28P3Rdj5b +buboBj0ljJiuXgmm7ul0gK6aDbtJjKmjikUemat8teB+85j41JKVWrNdaAF6VEEr +ubNwFgO7zJmXh+mZ28+oAM6zN8XD/6T3b1xBmcvZZmNoguB5OpzelxrBDJZwuhOX +LgHIsUdHs+uAKkrxnxjlS+KwH9oWg0pIsWiz7KbpqpzFLogOMb7sqcy6/ciAiSyu +JlsrrXYbTbxBDNL9Ttc8/SodPWIYXsP+tgBhfRSz/nwjLQ2lClo= +=EDL7 +-----END PGP SIGNATURE----- diff --git a/libxcrypt.changes b/libxcrypt.changes new file mode 100644 index 0000000..87546de --- /dev/null +++ b/libxcrypt.changes @@ -0,0 +1,255 @@ +------------------------------------------------------------------- +Tue Jan 14 18:26:25 UTC 2025 - Lucas Mulling + +- Update to 4.4.38 + * Fix several "-Wunterminated-string-initialization", which are seen by + upcoming GCC 15.x (issue #194). + * Fix "-Wmaybe-uninitialized" in crypt.c, which is seen by GCC 13.3.0. + * Skip test/explicit-bzero if compiling with ASAN. + * Drop hard requirement for the pkg-config binary (issue #198). +- Use %ldconfig_scriptlets + +------------------------------------------------------------------- +Thu Jan 2 14:28:53 UTC 2025 - Lucas Mulling + +- Update to 4.4.37 + * Several fixes to the manpages (issue #185). + * Only test the needed makecontext signature during configure (issue #178). + * Fix -Werror=strict-overflow in lib/crypt-bcrypt.c, which is seen by GCC + 4.8.5 (issue #197). +- Symlink duplicated manpages + +------------------------------------------------------------------- +Mon Jul 17 10:51:58 UTC 2023 - Andreas Schwab + +- Update to 4.4.36 + * Fix left over bits failing with Perl v5.38.0 + +------------------------------------------------------------------- +Sat Jul 1 22:32:06 UTC 2023 - Dirk Müller + +- update to 4.4.35: + * Fix build with Perl v5.38.0 (issue #170). + * Fix build with MinGW-w(32|64). + +------------------------------------------------------------------- +Thu Jun 1 13:36:26 UTC 2023 - Andreas Schwab + +- Update to 4.4.34 + * Optimize some cast operation for performance in + lib/alg-yescrypt-platform.c. + * Add SHA-2 Maj() optimization proposed by Wei Dai in lib/alg-sha512.c. + * Explicitly clean the stack and context state after computation in + lib/alg-gost3411-2012-hmac.c, lib/alg-hmac-sha1.c, and lib/alg-sha256.c + (issue #168). + +------------------------------------------------------------------- +Thu Mar 23 12:58:47 UTC 2023 - Martin Liška + +- Enable LTO now (boo#1138833) and use FAT LTO objects for static libs. + +------------------------------------------------------------------- +Fri Mar 10 20:29:48 UTC 2023 - Giuliano Belinassi + +- Enable livepatching support on x86_64. + +------------------------------------------------------------------- +Wed Nov 30 15:02:10 UTC 2022 - Andreas Schwab + +- Update to 4.4.33 + * Fix variable name in crypt(3) for a datamember of 'struct crypt_data' + * Fix -Werror=strict-overflow in lib/crypt-des.c, which is seen + by GCC 12.x + * Add some SHA-2 Maj() optimization in lib/alg-sha256.c + * Fix -Werror=conversion in lib/alg-yescrypt-opt.c + * Improvements to huge page handling in lib/alg-yescrypt-platform.c + * Fix -Werror=sign-conversion in lib/alg-yescrypt-platform.c + +------------------------------------------------------------------- +Sun Apr 10 09:34:30 UTC 2022 - Dirk Müller + +- update to 4.4.28: + No changes whatsoever. + +------------------------------------------------------------------- +Mon Dec 20 22:45:41 UTC 2021 - Dirk Müller + +- update to 4.4.27: + * Limit the maximum amount of rbytes to 64 bytes (512 bits) for yescrypt, + gost-yescrypt, and scrypt + +------------------------------------------------------------------- +Sun Nov 28 19:44:05 UTC 2021 - Andreas Stieger + +- update to 4.4.26: + * fix compilation on system with gcc >= 10 that do not support + declarations with __attribute__((symver)) +- switch to bootstrapped tarball, add upstream signing key and + verify source signature + +------------------------------------------------------------------- +Wed Aug 18 10:22:27 UTC 2021 - Andreas Schwab + +- Update to 4.4.25 + * Fix several issues found by Covscan in the testsuite. These include: + - CWE-170: String not null terminated (STRING_NULL) + - CWE-188: Reliance on integer endianness (INCOMPATIBLE_CAST) + - CWE-190: Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN) + - CWE-569: Wrong sizeof argument (SIZEOF_MISMATCH) + - CWE-573: Missing varargs init or cleanup (VARARGS) + - CWE-687: Argument cannot be negative (NEGATIVE_RETURNS) + * Stricter checking of invalid salt characters (issue #135). + +------------------------------------------------------------------- +Thu Jun 24 08:48:06 UTC 2021 - Paolo Stivanin + +- Update to 4.4.23 + * Fix output calculation for gensalt_yescrypt_rn(). + * Fix -Werror=conversion in lib/crypt-des-obsolete.c, + test/des-obsolete.c, and test/des-obsolete_r.c. + * The crypt_checksalt() function has been fixed to correctly return + with 'CRYPT_SALT_INVALID', in case the setting, that is passed + to be checked, represents an empty passphrase or an uncomputed + setting for descrypt without any salt characters. + * The crypt_checksalt() function will now return the value + 'CRYPT_SALT_METHOD_LEGACY' in case the setting, that is passed + to be checked, uses a hashing method, which is considered to be + too weak for use with new passphrases. + * Fix build when the CFLAGS variable, that is passed into the + configure script, has a leading whitespace character in it + (issue #123). + +------------------------------------------------------------------- +Tue Apr 13 14:59:57 UTC 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 10:41:24 UTC 2021 - Andreas Schwab + +- Update to version 4.4.18 + * Fix conversion error in lib/alg-gost3411-core.c + +------------------------------------------------------------------- +Tue Sep 1 14:47:37 UTC 2020 - Andreas Schwab + +- Add compatibility provides for SLE15 +- Update to version 4.4.17 + * Salt string compatibility with generic implementations + +------------------------------------------------------------------- +Mon Mar 2 09:50:17 UTC 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 13:34:00 UTC 2020 - Andreas Schwab + +- Update to version 4.4.12 + * Another fix for GCC v10.x, which occurs on s390 architectures only. + +------------------------------------------------------------------- +Wed Jan 22 11:35:17 UTC 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 08:23:08 UTC 2019 - Andreas Schwab + +- gcc10.patch: fix build with gcc10 (bsc#1158192) + +------------------------------------------------------------------- +Sat Dec 7 14:19:35 UTC 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 11:49:28 UTC 2019 - Martin Liška + +- Disable LTO due to symbol versioning (boo#1138833). + +------------------------------------------------------------------- +Tue Feb 19 10:49:30 UTC 2019 - schwab@suse.de + +- format-overflow.patch: Fix -Werror=format-overflow + +------------------------------------------------------------------- +Thu Feb 14 13:54:55 UTC 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 11:43:13 UTC 2018 - schwab@suse.de + +- Set compatibility level to suse + +------------------------------------------------------------------- +Wed Aug 8 11:44:16 UTC 2018 - schwab@suse.de + +- Add conflicts with glibc-devel < 2.28 + +------------------------------------------------------------------- +Mon Aug 6 16:34:12 UTC 2018 - jengelh@inai.de + +- Fix RPM groups for Factory. + +------------------------------------------------------------------- +Wed Aug 1 08:50:25 UTC 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 10:01:29 UTC 2018 - schwab@suse.de + +- Update to libxcrypt 4.0.1 + +------------------------------------------------------------------- +Wed May 9 13:51:35 UTC 2018 - schwab@suse.de + +- ABI compatible replacement for libcypt from glibc diff --git a/libxcrypt.keyring b/libxcrypt.keyring new file mode 100644 index 0000000..2a70a31 --- /dev/null +++ b/libxcrypt.keyring @@ -0,0 +1,66 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=ms4O +-----END PGP PUBLIC KEY BLOCK----- diff --git a/libxcrypt.spec b/libxcrypt.spec new file mode 100644 index 0000000..2ca4ff8 --- /dev/null +++ b/libxcrypt.spec @@ -0,0 +1,175 @@ +# +# spec file for package libxcrypt +# +# Copyright (c) 2025 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/ +# + + +%define sover 1 +%define lname libcrypt%{sover} +Name: libxcrypt +Version: 4.4.38 +Release: 0 +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/libxcrypt +Source0: https://github.com/besser82/libxcrypt/releases/download/v%{version}/%{name}-%{version}.tar.xz +Source1: https://github.com/besser82/libxcrypt/releases/download/v%{version}/%{name}-%{version}.tar.xz.asc +Source2: https://github.com/besser82/libxcrypt/releases/download/v%{version}/libxcrypt-gpgkey.asc#/%{name}.keyring +Source3: baselibs.conf +BuildRequires: fdupes +BuildRequires: pkgconfig + +# Enable support for livepatching. +%ifarch x86_64 +%bcond_without livepatching +%else +%bcond_with livepatching +%endif + +%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 %{lname} +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 %{lname} +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: %{lname} = %{version} +Requires: pkgconfig >= 0.9.0 +Conflicts: glibc-devel < 2.28 +Provides: glibc-devel:%{_libdir}/libcrypt.so + +%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 +Conflicts: glibc-devel-static < 2.28 +Provides: glibc-devel-static:%{_libdir}/libcrypt.a + +%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 +%global _lto_cflags %_lto_cflags -ffat-lto-objects +%configure \ + --disable-silent-rules \ + --enable-shared \ + --enable-static \ + --enable-obsolete-api=suse \ + --enable-hashes=all \ + --with-pkgconfigdir=%{_libdir}/pkgconfig + +%if %{with livepatching} +%make_build CFLAGS="$CFLAGS -fpatchable-function-entry=16,14 -fdump-ipa-clones" +%else +%make_build +%endif + +%install + +%if %{with livepatching} +%define tar_basename libxcrypt-livepatch-%{version}-%{release} +%define tar_package_name %{tar_basename}.%{_arch}.tar.xz +%define clones_dest_dir %{tar_basename}/%{_arch} + +# Ipa-clones are files generated by gcc which logs changes made across +# functions, and we need to know such changes to build livepatches +# correctly. These files are intended to be used by the livepatch +# developers and may be retrieved by using `osc getbinaries`. +# +# Create ipa-clones destination folder and move clones there. +mkdir -p ipa-clones/%{clones_dest_dir} +find . -name "*.ipa-clones" ! -empty \ + -exec cp -t ipa-clones/%{clones_dest_dir} --parents {} + + +# Create tarball with ipa-clones. +tar -cJf %{tar_package_name} -C ipa-clones \ + --owner root --group root --sort name %{tar_basename} + +# Copy tarball to the OTHER folder to store it as artifact. +cp %{tar_package_name} %{_topdir}/OTHER +%endif + +%make_install +rm -v %{buildroot}%{_libdir}/*.la +%fdupes -s %{buildroot}%{_mandir} + +%check +%make_build check || \ + { + rc=$?; + echo "-----BEGIN TESTLOG-----"; + cat test-suite.log; + echo "-----END TESTLOG-----"; + exit $rc; + } + +%ldconfig_scriptlets -n %{lname} + +%files -n %{lname} +%license COPYING.LIB LICENSING +%doc AUTHORS NEWS THANKS +%{_libdir}/*.so.* + +%files devel +%doc TODO +%{_libdir}/*.so +%{_includedir}/*.h +%{_libdir}/pkgconfig/*.pc +%{_mandir}/man?/*%{?ext_man} + +%files devel-static +%{_libdir}/*.a + +%changelog