From 245d095d95d56a923babe33b6012a01652d497d2 Mon Sep 17 00:00:00 2001 From: Jacek Szafarkiewicz Date: Mon, 28 Aug 2023 10:42:03 -0300 Subject: [PATCH 01/37] Add support for compat mode Build zlib-ng twice in order to distribute the compat sub-packages that can fully replace zlib (zlib-ng-compat and zlib-ng-compat-devel). Run ABI tests provided by upstream during %check. Signed-off-by: Tulio Magno Quites Machado Filho --- far.diff | 12 ++++ zlib-ng.spec | 165 +++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 172 insertions(+), 5 deletions(-) create mode 100644 far.diff diff --git a/far.diff b/far.diff new file mode 100644 index 0000000..a525f46 --- /dev/null +++ b/far.diff @@ -0,0 +1,12 @@ +diff --git a/zconf.h.in b/zconf.h.in +index 074f0255..e7183db3 100644 +--- a/zconf.h.in ++++ b/zconf.h.in +@@ -200,4 +200,7 @@ typedef PTRDIFF_TYPE ptrdiff_t; + + typedef size_t z_size_t; + ++/* Some packages depend on FAR being defined, i.e. old versions of minizip. */ ++#define FAR ++ + #endif /* ZCONF_H */ diff --git a/zlib-ng.spec b/zlib-ng.spec index 467a053..59e3269 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -1,18 +1,36 @@ +%bcond_without compat +%bcond_without sanitizers + # Be explicit about the soname in order to avoid unintentional changes. +# Before modifying any of the sonames, this must be announced to the Fedora +# community as it may break many other packages. +# A change proposal is needed: +# https://docs.fedoraproject.org/en-US/program_management/changes_policy/ %global soname libz-ng.so.2 +%global compat_soname libz.so.1 + +# Compatible with the following zlib version. +%global zlib_ver 1.2.13 +# Obsoletes zlib versions less than. +%global zlib_obsoletes 1.3 + +# ABI files for ix86 and s390x are not available upstream. +%global supported_abi_test aarch64 ppc64le x86_64 Name: zlib-ng Version: 2.1.3 -Release: 2%{?dist} +Release: 7%{?dist} Summary: Zlib replacement with optimizations License: zlib Url: https://github.com/zlib-ng/zlib-ng Source0: https://github.com/zlib-ng/zlib-ng/archive/%{version}/%{name}-%{version}.tar.gz -ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 +Patch: far.diff + BuildRequires: cmake >= 3.1 BuildRequires: gcc-c++ BuildRequires: cmake(GTest) +BuildRequires: libabigail %description zlib-ng is a zlib replacement that provides optimizations for "next generation" @@ -23,23 +41,128 @@ Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel -The %{name}-devel package contains static libraries and header files for -developing application that use %{name}. +The %{name}-devel package contains libraries and header files for developing +application that use %{name}. + +%if %{with compat} + +%package compat +Summary: Zlib implementation provided by %{name} +Provides: zlib = %{zlib_ver} +Provides: zlib%{?_isa} = %{zlib_ver} +Conflicts: zlib%{?_isa} +Obsoletes: zlib < %{zlib_obsoletes} + +%description compat +zlib-ng is a zlib replacement that provides optimizations for "next generation" +systems. +The %{name}-compat package contains the library that is API and binary +compatible with zlib. + +%package compat-devel +Summary: Development files for %{name}-compat +Requires: %{name}-compat%{?_isa} = %{version}-%{release} +Provides: zlib-devel = %{zlib_ver} +Provides: zlib-devel%{?_isa} = %{zlib_ver} +Conflicts: zlib-devel%{?_isa} +Obsoletes: zlib-devel < %{zlib_obsoletes} + +%description compat-devel +The %{name}-compat-devel package contains libraries and header files for +developing application that use zlib. + +%endif %prep %autosetup -p1 -n %{name}-%{version} %build +cat <<_EOF_ +########################################################################### +# +# Build the default zlib-ng library +# +########################################################################### +_EOF_ + # zlib-ng uses a different macro for library directory. -%cmake -DWITH_SANITIZERS=ON -DINSTALL_LIB_DIR=%{_libdir} +%global cmake_param %{?with_sanitizers:-DWITH_SANITIZER=ON} -DINSTALL_LIB_DIR=%{_libdir} + +# Setting __cmake_builddir is not necessary in this step, but do it anyway for symmetry. +%global __cmake_builddir %{_vpath_builddir} +%cmake %{cmake_param} %cmake_build +%if %{with compat} +cat <<_EOF_ +########################################################################### +# +# Build the compat mode library +# +########################################################################### +_EOF_ + +%global __cmake_builddir %{_vpath_builddir}-compat +# Disable new strategies in order to keep compatibility with zlib. +%cmake %{cmake_param} -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF +%cmake_build +%endif + %check +cat <<_EOF_ +########################################################################### +# +# Run the zlib-ng tests +# +########################################################################### +_EOF_ + +%global __cmake_builddir %{_vpath_builddir} %ctest +%ifarch ppc64le +# Workaround Copr, that sets _target_cpu to ppc64le. +%global target_cpu powerpc64le +%else +%global target_cpu %{_target_cpu} +%endif + +%ifarch x86_64 +%global vendor pc +%else +%global vendor unknown +%endif + +%ifarch %{supported_abi_test} +CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh +%endif + +%if %{with compat} +cat <<_EOF_ +########################################################################### +# +# Run the compat mode tests +# +########################################################################### +_EOF_ + +%global __cmake_builddir %{_vpath_builddir}-compat +%ctest +%ifarch %{supported_abi_test} +CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat +%endif +%endif + + %install +%global __cmake_builddir %{_vpath_builddir} %cmake_install +%if %{with compat} +%global __cmake_builddir %{_vpath_builddir}-compat +%cmake_install +%endif + %files %license LICENSE.md %doc README.md @@ -53,7 +176,39 @@ developing application that use %{name}. %{_libdir}/libz-ng.so %{_libdir}/pkgconfig/%{name}.pc +%if %{with compat} + +%files compat +%{_libdir}/%{compat_soname} +%{_libdir}/libz.so.%{zlib_ver}.zlib-ng + +%files compat-devel +%{_includedir}/zconf.h +%{_includedir}/zlib.h +%{_includedir}/zlib_name_mangling.h +%{_libdir}/libz.so +%{_libdir}/pkgconfig/zlib.pc + + +%endif + + %changelog +* Wed Oct 18 2023 Tulio Magno Quites Machado Filho - 2.1.3-7 +- Improve the patch that defines the FAR macro + +* Wed Sep 27 2023 Tulio Magno Quites Machado Filho - 2.1.3-6 +- Add a patch that defines the FAR macro + +* Wed Sep 20 2023 Tulio Magno Quites Machado Filho - 2.1.3-5 +- Fix WITH_SANITIZER + +* Tue Sep 19 2023 Tulio Magno Quites Machado Filho - 2.1.3-4 +- Disable WITH_NEW_STRATEGIES in compat mode + +* Thu Aug 24 2023 Tulio Magno Quites Machado Filho - 2.1.3-3 +- Enable zlib compat build + * Sat Jul 22 2023 Fedora Release Engineering - 2.1.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 5e4a09ffbf5f43f2dbb15fbea185b624dcab9cf3 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Wed, 20 Dec 2023 18:57:12 -0300 Subject: [PATCH 02/37] Enable gating tests Ensure the Fedora zlib-ng tests will be executed when packages are pushed to testing or stable. --- .fmf/version | 1 + gating.yaml | 10 ++++++++++ plans/build-gating.fmf | 7 +++++++ 3 files changed, 18 insertions(+) create mode 100644 .fmf/version create mode 100644 gating.yaml create mode 100644 plans/build-gating.fmf diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..88fea03 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,10 @@ +--- !Policy +product_versions: + - fedora-* +decision_contexts: + - bodhi_update_push_testing + - bodhi_update_push_stable + - bodhi_update_push_stable_critpath +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} diff --git a/plans/build-gating.fmf b/plans/build-gating.fmf new file mode 100644 index 0000000..333555d --- /dev/null +++ b/plans/build-gating.fmf @@ -0,0 +1,7 @@ +summary: Fedora zlib-ng tests +discover: + - name: fedora + how: fmf + url: https://src.fedoraproject.org/tests/zlib-ng.git +execute: + how: tmt From 05f17dd9638feb4344a50e9ddf2db59a463a46fe Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Wed, 20 Dec 2023 17:54:16 -0300 Subject: [PATCH 03/37] Update to zlib-ng 2.1.5 --- sources | 2 +- zlib-ng.spec | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/sources b/sources index 6696ff9..a8cb52b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zlib-ng-2.1.3.tar.gz) = cb987c0b20a11fca5361dce94e53dead7364e739a984545c38ad4bf0c7fedd83d5d62530d979eca2182da88d7507a9bec8d3f5abff41e92ab5a63ac61001502e +SHA512 (zlib-ng-2.1.5.tar.gz) = 9212d87c63a2da4e5355a7a1c75380aeba40fbd0ea3d71d3784cb3eac94237f9bea2a1b7993a08f39d4197725c4c133087d3a9d213d3944aa48a7559de2be920 diff --git a/zlib-ng.spec b/zlib-ng.spec index 59e3269..a8f0433 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -10,7 +10,7 @@ %global compat_soname libz.so.1 # Compatible with the following zlib version. -%global zlib_ver 1.2.13 +%global zlib_ver 1.3.0 # Obsoletes zlib versions less than. %global zlib_obsoletes 1.3 @@ -18,8 +18,8 @@ %global supported_abi_test aarch64 ppc64le x86_64 Name: zlib-ng -Version: 2.1.3 -Release: 7%{?dist} +Version: 2.1.5 +Release: 1%{?dist} Summary: Zlib replacement with optimizations License: zlib Url: https://github.com/zlib-ng/zlib-ng @@ -194,6 +194,9 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Wed Dec 20 2023 Tulio Magno Quites Machado Filho - 2.1.5-1 +- Update to zlib-ng 2.1.5 + * Wed Oct 18 2023 Tulio Magno Quites Machado Filho - 2.1.3-7 - Improve the patch that defines the FAR macro From ccf085c1ac34ce77bd0c10fad8a09c1cf9061d5f Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Tue, 9 Jan 2024 14:58:13 -0500 Subject: [PATCH 04/37] Add zlib-ng-compat-static to replace zlib-static --- zlib-ng.spec | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index a8f0433..1b58d86 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -19,7 +19,7 @@ Name: zlib-ng Version: 2.1.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Zlib replacement with optimizations License: zlib Url: https://github.com/zlib-ng/zlib-ng @@ -71,6 +71,18 @@ Obsoletes: zlib-devel < %{zlib_obsoletes} The %{name}-compat-devel package contains libraries and header files for developing application that use zlib. +%package compat-static +Summary: Static libraries for %{name}-compat +Requires: %{name}-compat-devel%{?_isa} = %{version}-%{release} +Provides: zlib-static = %{zlib_ver} +Provides: zlib-static%{?_isa} = %{zlib_ver} +Conflicts: zlib-static%{?_isa} +Obsoletes: zlib-static < %{zlib_obsoletes} + +%description compat-static +The %{name}-compat-static package contains static libraries needed for +developing applications that use zlib. + %endif %prep @@ -103,6 +115,8 @@ cat <<_EOF_ _EOF_ %global __cmake_builddir %{_vpath_builddir}-compat +# defining BUILD_SHARED_LIBS disables the static library +%undefine _cmake_shared_libs # Disable new strategies in order to keep compatibility with zlib. %cmake %{cmake_param} -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF %cmake_build @@ -189,11 +203,17 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %{_libdir}/libz.so %{_libdir}/pkgconfig/zlib.pc +%files compat-static +%{_libdir}/libz.a + %endif %changelog +* Tue Jan 09 2024 Yaakov Selkowitz - 2.1.5-2 +- Add zlib-ng-compat-static to replace zlib-static + * Wed Dec 20 2023 Tulio Magno Quites Machado Filho - 2.1.5-1 - Update to zlib-ng 2.1.5 From 09df2e7a890b3a5de02e7efe8fd61807ad28bee6 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Thu, 11 Jan 2024 13:28:21 +0000 Subject: [PATCH 05/37] Rebase to version 2.1.6 --- sources | 2 +- zlib-ng.spec | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/sources b/sources index a8cb52b..3f33fc8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zlib-ng-2.1.5.tar.gz) = 9212d87c63a2da4e5355a7a1c75380aeba40fbd0ea3d71d3784cb3eac94237f9bea2a1b7993a08f39d4197725c4c133087d3a9d213d3944aa48a7559de2be920 +SHA512 (zlib-ng-2.1.6.tar.gz) = 59ef586c09b9a63788475abfd6dd59ed602316b38f543f801bea802ff8bec8b55a89bee90375b8bbffa3bdebc7d92a00903f4b7c94cdc1a53a36e2e1fd71d13a diff --git a/zlib-ng.spec b/zlib-ng.spec index 1b58d86..9eddcbe 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -18,8 +18,8 @@ %global supported_abi_test aarch64 ppc64le x86_64 Name: zlib-ng -Version: 2.1.5 -Release: 2%{?dist} +Version: 2.1.6 +Release: 1%{?dist} Summary: Zlib replacement with optimizations License: zlib Url: https://github.com/zlib-ng/zlib-ng @@ -189,6 +189,7 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %{_includedir}/zlib_name_mangling-ng.h %{_libdir}/libz-ng.so %{_libdir}/pkgconfig/%{name}.pc +%{_libdir}/cmake/zlib-ng/* %if %{with compat} @@ -202,6 +203,7 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %{_includedir}/zlib_name_mangling.h %{_libdir}/libz.so %{_libdir}/pkgconfig/zlib.pc +%{_libdir}/cmake/ZLIB/* %files compat-static %{_libdir}/libz.a @@ -211,6 +213,9 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Thu Jan 11 2024 Lukas Javorsky - 2.1.6-1 +- Rebase to version 2.1.6 + * Tue Jan 09 2024 Yaakov Selkowitz - 2.1.5-2 - Add zlib-ng-compat-static to replace zlib-static From 1be53a078749b6a6c243fb499694a79a0d2ad449 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Thu, 11 Jan 2024 13:28:37 +0000 Subject: [PATCH 06/37] Stop using INSTALL_LIB_DIR CMake macro, unused Upstream discourages from using this macro, and it is not used in the build --- zlib-ng.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index 9eddcbe..0f91f2d 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -98,7 +98,7 @@ cat <<_EOF_ _EOF_ # zlib-ng uses a different macro for library directory. -%global cmake_param %{?with_sanitizers:-DWITH_SANITIZER=ON} -DINSTALL_LIB_DIR=%{_libdir} +%global cmake_param %{?with_sanitizers:-DWITH_SANITIZER=ON} # Setting __cmake_builddir is not necessary in this step, but do it anyway for symmetry. %global __cmake_builddir %{_vpath_builddir} From 939027fc96e80254289eed14c059dac2618fd8a9 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Fri, 22 Dec 2023 13:38:46 -0300 Subject: [PATCH 07/37] Enable extra gating tests Run rpmdeplint, rpminspect and installability. --- gating.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gating.yaml b/gating.yaml index 88fea03..2fb97b2 100644 --- a/gating.yaml +++ b/gating.yaml @@ -8,3 +8,6 @@ decision_contexts: subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} From 85998011f0bc6eba090e92d3f09c9c9f56d4749b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Tue, 16 Jan 2024 21:02:13 +0000 Subject: [PATCH 08/37] Correct SPDX license The name of the is Zlib https://spdx.org/licenses/Zlib But the specification allows case-insensitive names, so it is just a nitpick. --- zlib-ng.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index 0f91f2d..16d8ecb 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -21,7 +21,7 @@ Name: zlib-ng Version: 2.1.6 Release: 1%{?dist} Summary: Zlib replacement with optimizations -License: zlib +License: Zlib Url: https://github.com/zlib-ng/zlib-ng Source0: https://github.com/zlib-ng/zlib-ng/archive/%{version}/%{name}-%{version}.tar.gz From 7ec7e51cea92a620fcb50379275b72eaedd30331 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 11:13:10 +0000 Subject: [PATCH 09/37] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- zlib-ng.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index 16d8ecb..6bb2b4e 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -19,7 +19,7 @@ Name: zlib-ng Version: 2.1.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng @@ -213,6 +213,9 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Sat Jan 27 2024 Fedora Release Engineering - 2.1.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Jan 11 2024 Lukas Javorsky - 2.1.6-1 - Rebase to version 2.1.6 From d1582f9207f55e966bef66d47493420122d2a55b Mon Sep 17 00:00:00 2001 From: David Abdurachmanov Date: Mon, 6 Nov 2023 11:32:37 +0200 Subject: [PATCH 10/37] Disable RVV (vector) on riscv64 See this thread on Fedora devel for the motivation behind RISC-V architecture support: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/FZW4677BWARAO7K3B4YJZDGWHKR5UECF/ Signed-off-by: David Abdurachmanov --- zlib-ng.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index 6bb2b4e..7d9a501 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -98,7 +98,7 @@ cat <<_EOF_ _EOF_ # zlib-ng uses a different macro for library directory. -%global cmake_param %{?with_sanitizers:-DWITH_SANITIZER=ON} +%global cmake_param %{?with_sanitizers:-DWITH_SANITIZER=ON} -DWITH_RVV=OFF # Setting __cmake_builddir is not necessary in this step, but do it anyway for symmetry. %global __cmake_builddir %{_vpath_builddir} From 3e4241ca5d57b2fdbdaf389c9cb70de37e7fe58a Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Tue, 14 May 2024 15:36:18 -0300 Subject: [PATCH 11/37] Fix illegal instruction usage in Xeon Phi x200 processors Backport https://github.com/zlib-ng/zlib-ng/pull/1723 from upstream. Fix rhbz#2280347 --- rhbz2280347.patch | 41 +++++++++++++++++++++++++++++++++++++++++ zlib-ng.spec | 7 ++++++- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 rhbz2280347.patch diff --git a/rhbz2280347.patch b/rhbz2280347.patch new file mode 100644 index 0000000..9f08907 --- /dev/null +++ b/rhbz2280347.patch @@ -0,0 +1,41 @@ +From 2976ef1730dd8992d00f5b9a94c94f84e2464a80 Mon Sep 17 00:00:00 2001 +From: Tulio Magno Quites Machado Filho +Date: Tue, 14 May 2024 11:06:46 -0300 +Subject: [PATCH] Fix invalid instruction usage in Xeon Phi x200 processors + +The Xeon Phi x200 family of processors (Knights Landing) supports +AVX512 (F, CD, ER, PF) but does not support AVX512 (VL, DQ, BW). + +Because of processors like this, the Intel Software Developer's Manual +suggests the bits AVX512 (DQ,BW) are also tested in EBX together with +AVX512F before deciding to run AVX512 (DQ,BW) instructions. + +Considering that adler32_avx512 and adler32_fold_copy_avx512 are both +built with -mavx512dq -mavx512bw, it's recommended that both CPUID bits +are tested before executing these functions. + +This has been reported downstream as +https://bugzilla.redhat.com/show_bug.cgi?id=2280347 . +--- + arch/x86/x86_features.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/arch/x86/x86_features.c b/arch/x86/x86_features.c +index 450429cb..21766491 100644 +--- a/arch/x86/x86_features.c ++++ b/arch/x86/x86_features.c +@@ -99,7 +99,10 @@ void Z_INTERNAL x86_check_features(struct x86_cpu_features *features) { + + // check AVX512 bits if the OS supports saving ZMM registers + if (features->has_os_save_zmm) { +- features->has_avx512 = ebx & 0x00010000; ++ // We need a minimum of AVX512(F,DQ,BW) to be available because we ++ // our AVX512 functions use their relative compiler flags, causing ++ // builds to potentially use these instructions. ++ features->has_avx512 = (ebx & 0x40030000) == 0x40030000; + features->has_avx512vnni = ecx & 0x800; + } + } +-- +2.45.0 + diff --git a/zlib-ng.spec b/zlib-ng.spec index 7d9a501..67531f7 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -19,13 +19,15 @@ Name: zlib-ng Version: 2.1.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng Source0: https://github.com/zlib-ng/zlib-ng/archive/%{version}/%{name}-%{version}.tar.gz Patch: far.diff +# Backport of https://github.com/zlib-ng/zlib-ng/pull/1723 +Patch: rhbz2280347.patch BuildRequires: cmake >= 3.1 BuildRequires: gcc-c++ @@ -213,6 +215,9 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Tue May 14 2024 Tulio Magno Quites Machado Filho - 2.1.6-3 +- Fix rhbz#2280347 + * Sat Jan 27 2024 Fedora Release Engineering - 2.1.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 48ad3b2cced18a488703570e75d87f03a6cc83cb Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Tue, 21 May 2024 11:40:17 -0300 Subject: [PATCH 12/37] Update the patch that fixes rhbz#2277782 Upstream requested changes to the original patch. This is a backport from upstream's develop branch with changes in order to apply to zlib-ng 2.1.6. --- rhbz2280347.patch | 135 ++++++++++++++++++++++++++++++++++++++++------ zlib-ng.spec | 5 +- 2 files changed, 124 insertions(+), 16 deletions(-) diff --git a/rhbz2280347.patch b/rhbz2280347.patch index 9f08907..e9a39bd 100644 --- a/rhbz2280347.patch +++ b/rhbz2280347.patch @@ -1,41 +1,146 @@ -From 2976ef1730dd8992d00f5b9a94c94f84e2464a80 Mon Sep 17 00:00:00 2001 +From 3560de5f47e71bd9ba91f97da2c1687bb62fd8fa Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Tue, 14 May 2024 11:06:46 -0300 -Subject: [PATCH] Fix invalid instruction usage in Xeon Phi x200 processors +Subject: [PATCH] Fix illegal instruction usage in Xeon Phi x200 processors The Xeon Phi x200 family of processors (Knights Landing) supports AVX512 (F, CD, ER, PF) but does not support AVX512 (VL, DQ, BW). Because of processors like this, the Intel Software Developer's Manual -suggests the bits AVX512 (DQ,BW) are also tested in EBX together with -AVX512F before deciding to run AVX512 (DQ,BW) instructions. +suggests the bits AVX512 (DQ,BW,VL) are also tested in EBX together with +AVX512F before deciding to run AVX512 (DQ,BW,VL) instructions. -Considering that adler32_avx512 and adler32_fold_copy_avx512 are both -built with -mavx512dq -mavx512bw, it's recommended that both CPUID bits -are tested before executing these functions. +This also adds a new x86 feature called avx512_common that indicates +that AVX512 (F,DQ,BW,VL) are all available and start using this for both +adler32_avx512 and crc32_vpclmulqdq implementations because they are +both built with -mavx512dq -mavx512bw -mavx512vl. This has been reported downstream as https://bugzilla.redhat.com/show_bug.cgi?id=2280347 . --- - arch/x86/x86_features.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) + arch/x86/x86_features.c | 11 ++++++++++- + arch/x86/x86_features.h | 6 +++++- + functable.c | 4 ++-- + test/benchmarks/benchmark_adler32.cc | 2 +- + test/benchmarks/benchmark_adler32_copy.cc | 4 ++-- + test/test_adler32.cc | 2 +- + test/test_crc32.cc | 2 +- + 8 files changed, 23 insertions(+), 10 deletions(-) diff --git a/arch/x86/x86_features.c b/arch/x86/x86_features.c -index 450429cb..21766491 100644 +index 450429cb..58cb4df3 100644 --- a/arch/x86/x86_features.c +++ b/arch/x86/x86_features.c -@@ -99,7 +99,10 @@ void Z_INTERNAL x86_check_features(struct x86_cpu_features *features) { +@@ -99,7 +99,16 @@ void Z_INTERNAL x86_check_features(struct x86_cpu_features *features) { // check AVX512 bits if the OS supports saving ZMM registers if (features->has_os_save_zmm) { - features->has_avx512 = ebx & 0x00010000; -+ // We need a minimum of AVX512(F,DQ,BW) to be available because we -+ // our AVX512 functions use their relative compiler flags, causing -+ // builds to potentially use these instructions. -+ features->has_avx512 = (ebx & 0x40030000) == 0x40030000; ++ features->has_avx512f = ebx & 0x00010000; ++ if (features->has_avx512f) { ++ // According to the Intel Software Developer's Manual, AVX512F must be enabled too in order to enable ++ // AVX512(DQ,BW,VL). ++ features->has_avx512dq = ebx & 0x00020000; ++ features->has_avx512bw = ebx & 0x40000000; ++ features->has_avx512vl = ebx & 0x80000000; ++ } ++ features->has_avx512_common = features->has_avx512f && features->has_avx512dq && features->has_avx512bw \ ++ && features->has_avx512vl; features->has_avx512vnni = ecx & 0x800; } } +diff --git a/arch/x86/x86_features.h b/arch/x86/x86_features.h +index fc56ae2f..6daa5e38 100644 +--- a/arch/x86/x86_features.h ++++ b/arch/x86/x86_features.h +@@ -8,7 +8,11 @@ + + struct x86_cpu_features { + int has_avx2; +- int has_avx512; ++ int has_avx512f; ++ int has_avx512dq; ++ int has_avx512bw; ++ int has_avx512vl; ++ int has_avx512_common; // Enabled when AVX512(F,DQ,BW,VL) are all enabled. + int has_avx512vnni; + int has_sse2; + int has_ssse3; +diff --git a/functable.c b/functable.c +index 8012a40b..495d11ed 100644 +--- a/functable.c ++++ b/functable.c +@@ -152,7 +152,7 @@ static void init_functable(void) { + } + #endif + #ifdef X86_AVX512 +- if (cf.x86.has_avx512) { ++ if (cf.x86.has_avx512_common) { + ft.adler32 = &adler32_avx512; + ft.adler32_fold_copy = &adler32_fold_copy_avx512; + } +@@ -165,7 +165,7 @@ static void init_functable(void) { + #endif + // X86 - VPCLMULQDQ + #if defined(X86_PCLMULQDQ_CRC) && defined(X86_VPCLMULQDQ_CRC) +- if (cf.x86.has_pclmulqdq && cf.x86.has_avx512 && cf.x86.has_vpclmulqdq) { ++ if (cf.x86.has_pclmulqdq && cf.x86.has_avx512_common && cf.x86.has_vpclmulqdq) { + ft.crc32 = &crc32_vpclmulqdq; + ft.crc32_fold = &crc32_fold_vpclmulqdq; + ft.crc32_fold_copy = &crc32_fold_vpclmulqdq_copy; +diff --git a/test/benchmarks/benchmark_adler32.cc b/test/benchmarks/benchmark_adler32.cc +index 84f0d617..b1278950 100644 +--- a/test/benchmarks/benchmark_adler32.cc ++++ b/test/benchmarks/benchmark_adler32.cc +@@ -91,7 +91,7 @@ BENCHMARK_ADLER32(ssse3, adler32_ssse3, test_cpu_features.x86.has_ssse3); + BENCHMARK_ADLER32(avx2, adler32_avx2, test_cpu_features.x86.has_avx2); + #endif + #ifdef X86_AVX512 +-BENCHMARK_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512); ++BENCHMARK_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512_common); + #endif + #ifdef X86_AVX512VNNI + BENCHMARK_ADLER32(avx512_vnni, adler32_avx512_vnni, test_cpu_features.x86.has_avx512vnni); +diff --git a/test/benchmarks/benchmark_adler32_copy.cc b/test/benchmarks/benchmark_adler32_copy.cc +index e052ee76..50e6333c 100644 +--- a/test/benchmarks/benchmark_adler32_copy.cc ++++ b/test/benchmarks/benchmark_adler32_copy.cc +@@ -119,8 +119,8 @@ BENCHMARK_ADLER32_BASELINE_COPY(avx2_baseline, adler32_avx2, test_cpu_features.x + BENCHMARK_ADLER32_COPY(avx2, adler32_fold_copy_avx2, test_cpu_features.x86.has_avx2); + #endif + #ifdef X86_AVX512 +-BENCHMARK_ADLER32_BASELINE_COPY(avx512_baseline, adler32_avx512, test_cpu_features.x86.has_avx512); +-BENCHMARK_ADLER32_COPY(avx512, adler32_fold_copy_avx512, test_cpu_features.x86.has_avx512); ++BENCHMARK_ADLER32_BASELINE_COPY(avx512_baseline, adler32_avx512, test_cpu_features.x86.has_avx512_common); ++BENCHMARK_ADLER32_COPY(avx512, adler32_fold_copy_avx512, test_cpu_features.x86.has_avx512_common); + #endif + #ifdef X86_AVX512VNNI + BENCHMARK_ADLER32_BASELINE_COPY(avx512_vnni_baseline, adler32_avx512_vnni, test_cpu_features.x86.has_avx512vnni); +diff --git a/test/test_adler32.cc b/test/test_adler32.cc +index 85c4c78b..b3d03021 100644 +--- a/test/test_adler32.cc ++++ b/test/test_adler32.cc +@@ -386,7 +386,7 @@ TEST_ADLER32(ssse3, adler32_ssse3, test_cpu_features.x86.has_ssse3) + TEST_ADLER32(avx2, adler32_avx2, test_cpu_features.x86.has_avx2) + #endif + #ifdef X86_AVX512 +-TEST_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512) ++TEST_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512_common) + #endif + #ifdef X86_AVX512VNNI + TEST_ADLER32(avx512_vnni, adler32_avx512_vnni, test_cpu_features.x86.has_avx512vnni) +diff --git a/test/test_crc32.cc b/test/test_crc32.cc +index f8322085..245a92fb 100644 +--- a/test/test_crc32.cc ++++ b/test/test_crc32.cc +@@ -225,6 +225,6 @@ TEST_CRC32(vx, crc32_s390_vx, test_cpu_features.s390.has_vx) + #elif defined(X86_PCLMULQDQ_CRC) + TEST_CRC32(pclmulqdq, crc32_pclmulqdq, test_cpu_features.x86.has_pclmulqdq) + # ifdef X86_VPCLMULQDQ_CRC +-TEST_CRC32(vpclmulqdq, crc32_vpclmulqdq, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx512 && test_cpu_features.x86.has_vpclmulqdq)) ++TEST_CRC32(vpclmulqdq, crc32_vpclmulqdq, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx512_common && test_cpu_features.x86.has_vpclmulqdq)) + # endif + #endif -- 2.45.0 diff --git a/zlib-ng.spec b/zlib-ng.spec index 67531f7..db0ed9a 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -19,7 +19,7 @@ Name: zlib-ng Version: 2.1.6 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng @@ -215,6 +215,9 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Tue May 21 2024 Tulio Magno Quites Machado Filho - 2.1.6-4 +- Update the patch that fixes rhbz#2277782 + * Tue May 14 2024 Tulio Magno Quites Machado Filho - 2.1.6-3 - Fix rhbz#2280347 From 883f5f7fa5e09dc0021a3d988709d0e6554cc097 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Wed, 29 May 2024 08:42:40 +0000 Subject: [PATCH 13/37] Whitelist the slide_hash_avx2.c from LTO check in rpminspect LTO can't be enabled in some zlib-ng files because compilers may not use all flags accordingly. More information at https://github.com/zlib-ng/zlib-ng/pull/938 --- rpminspect.yaml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 rpminspect.yaml diff --git a/rpminspect.yaml b/rpminspect.yaml new file mode 100644 index 0000000..a11bc8a --- /dev/null +++ b/rpminspect.yaml @@ -0,0 +1,6 @@ +# Ignore LTO test on slide_hash_avx2.c file which cannot use the LTO +# More described in upstream: https://github.com/zlib-ng/zlib-ng/pull/938 + +annocheck: + extra_opts: + - hardened: --skip-lto=slide_hash_avx2.c From f538400c35802cdaff32057322e1321f17af6168 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Wed, 29 May 2024 12:08:14 -0300 Subject: [PATCH 14/37] Skip more files from annocheck's LTO check These files affect aarch64 and ppc64le. --- rpminspect.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rpminspect.yaml b/rpminspect.yaml index a11bc8a..8dcf67c 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -1,6 +1,6 @@ -# Ignore LTO test on slide_hash_avx2.c file which cannot use the LTO +# Ignore LTO test on CPU-optimized files which cannot use the LTO # More described in upstream: https://github.com/zlib-ng/zlib-ng/pull/938 annocheck: extra_opts: - - hardened: --skip-lto=slide_hash_avx2.c + - hardened: --skip-lto=slide_hash_avx2.c --skip-lto=crc32_acle.c --skip-lto=adler32_power8.c From 631bb70313cb2589d9d6d476662cadeec8adcbce Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Wed, 29 May 2024 15:27:51 -0300 Subject: [PATCH 15/37] Set ownership of cmake directories Fix #2283789. --- zlib-ng.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index db0ed9a..eb0163f 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -19,7 +19,7 @@ Name: zlib-ng Version: 2.1.6 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng @@ -191,6 +191,7 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %{_includedir}/zlib_name_mangling-ng.h %{_libdir}/libz-ng.so %{_libdir}/pkgconfig/%{name}.pc +%dir %{_libdir}/cmake/zlib-ng/ %{_libdir}/cmake/zlib-ng/* %if %{with compat} @@ -205,6 +206,7 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %{_includedir}/zlib_name_mangling.h %{_libdir}/libz.so %{_libdir}/pkgconfig/zlib.pc +%dir %{_libdir}/cmake/ZLIB/ %{_libdir}/cmake/ZLIB/* %files compat-static @@ -215,6 +217,9 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Wed May 29 2024 Tulio Magno Quites Machado Filho - 2.1.6-5 +- Set ownership of cmake directories. Fix #2283789 + * Tue May 21 2024 Tulio Magno Quites Machado Filho - 2.1.6-4 - Update the patch that fixes rhbz#2277782 From 91dc82514ab7955a99f08a9d878c22302d45ad7e Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Fri, 31 May 2024 12:09:56 -0300 Subject: [PATCH 16/37] Fix the bug refereced in changelog --- zlib-ng.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index eb0163f..f69b6bd 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -221,7 +221,7 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat - Set ownership of cmake directories. Fix #2283789 * Tue May 21 2024 Tulio Magno Quites Machado Filho - 2.1.6-4 -- Update the patch that fixes rhbz#2277782 +- Update the patch that fixes rhbz#2280347 * Tue May 14 2024 Tulio Magno Quites Machado Filho - 2.1.6-3 - Fix rhbz#2280347 From be11cd319103257e7317e61716aa3eb16e733713 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Tue, 4 Jun 2024 08:47:08 +0000 Subject: [PATCH 17/37] Avoid using `vendor` as a variable See: https://bugzilla.redhat.com/show_bug.cgi?id=2284608 --- zlib-ng.spec | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index f69b6bd..78c3363 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -19,7 +19,7 @@ Name: zlib-ng Version: 2.1.6 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng @@ -144,13 +144,13 @@ _EOF_ %endif %ifarch x86_64 -%global vendor pc +%global cpu_vendor pc %else -%global vendor unknown +%global cpu_vendor unknown %endif %ifarch %{supported_abi_test} -CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh +CHOST=%{target_cpu}-%{cpu_vendor}-linux-gnu sh test/abicheck.sh %endif %if %{with compat} @@ -165,7 +165,7 @@ _EOF_ %global __cmake_builddir %{_vpath_builddir}-compat %ctest %ifarch %{supported_abi_test} -CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat +CHOST=%{target_cpu}-%{cpu_vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %endif %endif @@ -217,6 +217,9 @@ CHOST=%{target_cpu}-%{vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Tue Jun 04 2024 Cristian Le - 2.1.6-6 +- Avoid using reserved variable vendor. Fix #2284608 + * Wed May 29 2024 Tulio Magno Quites Machado Filho - 2.1.6-5 - Set ownership of cmake directories. Fix #2283789 From d93ca1c75c2135d4bb2c6fdfb9d038baf4661e9e Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Wed, 19 Jun 2024 11:45:46 -0300 Subject: [PATCH 18/37] Update to zlib-ng 2.1.7 Resolves: rhbz#2293101 Resolves: rhbz#2293437 --- rhbz2280347.patch | 146 ---------------------------------------------- sources | 2 +- zlib-ng.spec | 13 +++-- 3 files changed, 9 insertions(+), 152 deletions(-) delete mode 100644 rhbz2280347.patch diff --git a/rhbz2280347.patch b/rhbz2280347.patch deleted file mode 100644 index e9a39bd..0000000 --- a/rhbz2280347.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 3560de5f47e71bd9ba91f97da2c1687bb62fd8fa Mon Sep 17 00:00:00 2001 -From: Tulio Magno Quites Machado Filho -Date: Tue, 14 May 2024 11:06:46 -0300 -Subject: [PATCH] Fix illegal instruction usage in Xeon Phi x200 processors - -The Xeon Phi x200 family of processors (Knights Landing) supports -AVX512 (F, CD, ER, PF) but does not support AVX512 (VL, DQ, BW). - -Because of processors like this, the Intel Software Developer's Manual -suggests the bits AVX512 (DQ,BW,VL) are also tested in EBX together with -AVX512F before deciding to run AVX512 (DQ,BW,VL) instructions. - -This also adds a new x86 feature called avx512_common that indicates -that AVX512 (F,DQ,BW,VL) are all available and start using this for both -adler32_avx512 and crc32_vpclmulqdq implementations because they are -both built with -mavx512dq -mavx512bw -mavx512vl. - -This has been reported downstream as -https://bugzilla.redhat.com/show_bug.cgi?id=2280347 . ---- - arch/x86/x86_features.c | 11 ++++++++++- - arch/x86/x86_features.h | 6 +++++- - functable.c | 4 ++-- - test/benchmarks/benchmark_adler32.cc | 2 +- - test/benchmarks/benchmark_adler32_copy.cc | 4 ++-- - test/test_adler32.cc | 2 +- - test/test_crc32.cc | 2 +- - 8 files changed, 23 insertions(+), 10 deletions(-) - -diff --git a/arch/x86/x86_features.c b/arch/x86/x86_features.c -index 450429cb..58cb4df3 100644 ---- a/arch/x86/x86_features.c -+++ b/arch/x86/x86_features.c -@@ -99,7 +99,16 @@ void Z_INTERNAL x86_check_features(struct x86_cpu_features *features) { - - // check AVX512 bits if the OS supports saving ZMM registers - if (features->has_os_save_zmm) { -- features->has_avx512 = ebx & 0x00010000; -+ features->has_avx512f = ebx & 0x00010000; -+ if (features->has_avx512f) { -+ // According to the Intel Software Developer's Manual, AVX512F must be enabled too in order to enable -+ // AVX512(DQ,BW,VL). -+ features->has_avx512dq = ebx & 0x00020000; -+ features->has_avx512bw = ebx & 0x40000000; -+ features->has_avx512vl = ebx & 0x80000000; -+ } -+ features->has_avx512_common = features->has_avx512f && features->has_avx512dq && features->has_avx512bw \ -+ && features->has_avx512vl; - features->has_avx512vnni = ecx & 0x800; - } - } -diff --git a/arch/x86/x86_features.h b/arch/x86/x86_features.h -index fc56ae2f..6daa5e38 100644 ---- a/arch/x86/x86_features.h -+++ b/arch/x86/x86_features.h -@@ -8,7 +8,11 @@ - - struct x86_cpu_features { - int has_avx2; -- int has_avx512; -+ int has_avx512f; -+ int has_avx512dq; -+ int has_avx512bw; -+ int has_avx512vl; -+ int has_avx512_common; // Enabled when AVX512(F,DQ,BW,VL) are all enabled. - int has_avx512vnni; - int has_sse2; - int has_ssse3; -diff --git a/functable.c b/functable.c -index 8012a40b..495d11ed 100644 ---- a/functable.c -+++ b/functable.c -@@ -152,7 +152,7 @@ static void init_functable(void) { - } - #endif - #ifdef X86_AVX512 -- if (cf.x86.has_avx512) { -+ if (cf.x86.has_avx512_common) { - ft.adler32 = &adler32_avx512; - ft.adler32_fold_copy = &adler32_fold_copy_avx512; - } -@@ -165,7 +165,7 @@ static void init_functable(void) { - #endif - // X86 - VPCLMULQDQ - #if defined(X86_PCLMULQDQ_CRC) && defined(X86_VPCLMULQDQ_CRC) -- if (cf.x86.has_pclmulqdq && cf.x86.has_avx512 && cf.x86.has_vpclmulqdq) { -+ if (cf.x86.has_pclmulqdq && cf.x86.has_avx512_common && cf.x86.has_vpclmulqdq) { - ft.crc32 = &crc32_vpclmulqdq; - ft.crc32_fold = &crc32_fold_vpclmulqdq; - ft.crc32_fold_copy = &crc32_fold_vpclmulqdq_copy; -diff --git a/test/benchmarks/benchmark_adler32.cc b/test/benchmarks/benchmark_adler32.cc -index 84f0d617..b1278950 100644 ---- a/test/benchmarks/benchmark_adler32.cc -+++ b/test/benchmarks/benchmark_adler32.cc -@@ -91,7 +91,7 @@ BENCHMARK_ADLER32(ssse3, adler32_ssse3, test_cpu_features.x86.has_ssse3); - BENCHMARK_ADLER32(avx2, adler32_avx2, test_cpu_features.x86.has_avx2); - #endif - #ifdef X86_AVX512 --BENCHMARK_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512); -+BENCHMARK_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512_common); - #endif - #ifdef X86_AVX512VNNI - BENCHMARK_ADLER32(avx512_vnni, adler32_avx512_vnni, test_cpu_features.x86.has_avx512vnni); -diff --git a/test/benchmarks/benchmark_adler32_copy.cc b/test/benchmarks/benchmark_adler32_copy.cc -index e052ee76..50e6333c 100644 ---- a/test/benchmarks/benchmark_adler32_copy.cc -+++ b/test/benchmarks/benchmark_adler32_copy.cc -@@ -119,8 +119,8 @@ BENCHMARK_ADLER32_BASELINE_COPY(avx2_baseline, adler32_avx2, test_cpu_features.x - BENCHMARK_ADLER32_COPY(avx2, adler32_fold_copy_avx2, test_cpu_features.x86.has_avx2); - #endif - #ifdef X86_AVX512 --BENCHMARK_ADLER32_BASELINE_COPY(avx512_baseline, adler32_avx512, test_cpu_features.x86.has_avx512); --BENCHMARK_ADLER32_COPY(avx512, adler32_fold_copy_avx512, test_cpu_features.x86.has_avx512); -+BENCHMARK_ADLER32_BASELINE_COPY(avx512_baseline, adler32_avx512, test_cpu_features.x86.has_avx512_common); -+BENCHMARK_ADLER32_COPY(avx512, adler32_fold_copy_avx512, test_cpu_features.x86.has_avx512_common); - #endif - #ifdef X86_AVX512VNNI - BENCHMARK_ADLER32_BASELINE_COPY(avx512_vnni_baseline, adler32_avx512_vnni, test_cpu_features.x86.has_avx512vnni); -diff --git a/test/test_adler32.cc b/test/test_adler32.cc -index 85c4c78b..b3d03021 100644 ---- a/test/test_adler32.cc -+++ b/test/test_adler32.cc -@@ -386,7 +386,7 @@ TEST_ADLER32(ssse3, adler32_ssse3, test_cpu_features.x86.has_ssse3) - TEST_ADLER32(avx2, adler32_avx2, test_cpu_features.x86.has_avx2) - #endif - #ifdef X86_AVX512 --TEST_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512) -+TEST_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512_common) - #endif - #ifdef X86_AVX512VNNI - TEST_ADLER32(avx512_vnni, adler32_avx512_vnni, test_cpu_features.x86.has_avx512vnni) -diff --git a/test/test_crc32.cc b/test/test_crc32.cc -index f8322085..245a92fb 100644 ---- a/test/test_crc32.cc -+++ b/test/test_crc32.cc -@@ -225,6 +225,6 @@ TEST_CRC32(vx, crc32_s390_vx, test_cpu_features.s390.has_vx) - #elif defined(X86_PCLMULQDQ_CRC) - TEST_CRC32(pclmulqdq, crc32_pclmulqdq, test_cpu_features.x86.has_pclmulqdq) - # ifdef X86_VPCLMULQDQ_CRC --TEST_CRC32(vpclmulqdq, crc32_vpclmulqdq, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx512 && test_cpu_features.x86.has_vpclmulqdq)) -+TEST_CRC32(vpclmulqdq, crc32_vpclmulqdq, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx512_common && test_cpu_features.x86.has_vpclmulqdq)) - # endif - #endif --- -2.45.0 - diff --git a/sources b/sources index 3f33fc8..3e1f055 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zlib-ng-2.1.6.tar.gz) = 59ef586c09b9a63788475abfd6dd59ed602316b38f543f801bea802ff8bec8b55a89bee90375b8bbffa3bdebc7d92a00903f4b7c94cdc1a53a36e2e1fd71d13a +SHA512 (zlib-ng-2.1.7.tar.gz) = 03e6d22ecb39c9425fa2977e5db608f765387a06b9ef93b162e403bb155aa3b59bbaedb41e827e7e159d6635325d804dcd4314a25adcb35b83e6e0cf1153aabe diff --git a/zlib-ng.spec b/zlib-ng.spec index 78c3363..bf9022a 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -10,7 +10,7 @@ %global compat_soname libz.so.1 # Compatible with the following zlib version. -%global zlib_ver 1.3.0 +%global zlib_ver 1.3.1 # Obsoletes zlib versions less than. %global zlib_obsoletes 1.3 @@ -18,16 +18,14 @@ %global supported_abi_test aarch64 ppc64le x86_64 Name: zlib-ng -Version: 2.1.6 -Release: 6%{?dist} +Version: 2.1.7 +Release: 1%{?dist} Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng Source0: https://github.com/zlib-ng/zlib-ng/archive/%{version}/%{name}-%{version}.tar.gz Patch: far.diff -# Backport of https://github.com/zlib-ng/zlib-ng/pull/1723 -Patch: rhbz2280347.patch BuildRequires: cmake >= 3.1 BuildRequires: gcc-c++ @@ -217,6 +215,11 @@ CHOST=%{target_cpu}-%{cpu_vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Wed Jun 19 2024 Tulio Magno Quites Machado Filho - 2.1.7-1 +- Update to zlib-ng 2.1.7 +- Fix rhbz#2293101 +- Fix rhbz#2293437 + * Tue Jun 04 2024 Cristian Le - 2.1.6-6 - Avoid using reserved variable vendor. Fix #2284608 From 4a9267d1a4610f58f71c6ee77bceecd6caca62b0 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Mon, 1 Jul 2024 19:15:07 -0300 Subject: [PATCH 19/37] [rpminspect] Update the list of files skipped in annocheck/lto 1. Insert the relative path of the files as this is a new requirement. 2. Re-sort the list. 3. Add the new file arch/x86/chunkset_avx2.c . --- rpminspect.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpminspect.yaml b/rpminspect.yaml index 8dcf67c..984517d 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -3,4 +3,4 @@ annocheck: extra_opts: - - hardened: --skip-lto=slide_hash_avx2.c --skip-lto=crc32_acle.c --skip-lto=adler32_power8.c + - hardened: --skip-lto=arch/arm/crc32_acle.c --skip-lto=arch/power/adler32_power8.c --skip-lto=arch/x86/chunkset_avx2.c --skip-lto=arch/x86/slide_hash_avx2.c From d059a6fd32491fe8c08c9ecee11a14bc4eda7576 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 10:55:16 +0000 Subject: [PATCH 20/37] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- zlib-ng.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index bf9022a..c893bd7 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -19,7 +19,7 @@ Name: zlib-ng Version: 2.1.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng @@ -215,6 +215,9 @@ CHOST=%{target_cpu}-%{cpu_vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Sat Jul 20 2024 Fedora Release Engineering - 2.1.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Wed Jun 19 2024 Tulio Magno Quites Machado Filho - 2.1.7-1 - Update to zlib-ng 2.1.7 - Fix rhbz#2293101 From 8a46722e3706f950363ce226993456c0289de2e4 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Tue, 10 Sep 2024 15:26:39 -0300 Subject: [PATCH 21/37] Apply a patch that fixes rhbz#2307237 Resolves: rhbz#2307237 --- 1773.patch | 26 ++++++++++++++++++++++++++ zlib-ng.spec | 8 +++++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 1773.patch diff --git a/1773.patch b/1773.patch new file mode 100644 index 0000000..b422be7 --- /dev/null +++ b/1773.patch @@ -0,0 +1,26 @@ +From af013cf65867e3589f6da714eefc69d9f986bb91 Mon Sep 17 00:00:00 2001 +From: Nathan Moinvaziri +Date: Mon, 9 Sep 2024 13:32:33 -0700 +Subject: [PATCH] Don't use chunkunroll for inflateBack + +If the output buffer and the window buffer are the same +memory allocation, we cannot make the assumptions that chunkunroll +does, that it is okay to overwrite the output buffer. +--- + inffast_tpl.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/inffast_tpl.h b/inffast_tpl.h +index 9ddd187d84..c8f4786754 100644 +--- a/inffast_tpl.h ++++ b/inffast_tpl.h +@@ -249,7 +249,8 @@ void Z_INTERNAL INFLATE_FAST(PREFIX3(stream) *strm, uint32_t start) { + if (op < len) { /* still need some from output */ + len -= op; + out = chunkcopy_safe(out, from, op, safe); +- out = CHUNKUNROLL(out, &dist, &len); ++ if (!extra_safe) ++ out = CHUNKUNROLL(out, &dist, &len); + out = chunkcopy_safe(out, out - dist, len, safe); + } else { + out = chunkcopy_safe(out, from, len, safe); diff --git a/zlib-ng.spec b/zlib-ng.spec index c893bd7..31beb39 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -19,13 +19,16 @@ Name: zlib-ng Version: 2.1.7 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng Source0: https://github.com/zlib-ng/zlib-ng/archive/%{version}/%{name}-%{version}.tar.gz Patch: far.diff +# Backport from https://github.com/zlib-ng/zlib-ng/pull/1773 +# Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2307237 +Patch: 1773.patch BuildRequires: cmake >= 3.1 BuildRequires: gcc-c++ @@ -215,6 +218,9 @@ CHOST=%{target_cpu}-%{cpu_vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Tue Sep 10 2024 Tulio Magno Quites Machado Filho - 2.1.7-3 +- Fixes rhbz#2307237 + * Sat Jul 20 2024 Fedora Release Engineering - 2.1.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From cbac09d31ab0fb83f04594ba2444d63b006b13d4 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Wed, 25 Sep 2024 09:33:54 +0000 Subject: [PATCH 22/37] Rebase to new major version 2.2.2 Fedora Change proposal: https://fedoraproject.org/wiki/Changes/ZlibNG-2.2 --- sources | 2 +- zlib-ng.spec | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sources b/sources index 3e1f055..a283b00 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zlib-ng-2.1.7.tar.gz) = 03e6d22ecb39c9425fa2977e5db608f765387a06b9ef93b162e403bb155aa3b59bbaedb41e827e7e159d6635325d804dcd4314a25adcb35b83e6e0cf1153aabe +SHA512 (zlib-ng-2.2.2.tar.gz) = 3cb3e97ee1d20e1f3cdf0efcdf55aee0e3a192f9a2ae781cd209b1d37620c48f2ada345fb1f4357315b1cb5e09b7ea5fcdfa2fd54f7b4ac5dcb6e73860000aad diff --git a/zlib-ng.spec b/zlib-ng.spec index 31beb39..0a3da3c 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -18,17 +18,14 @@ %global supported_abi_test aarch64 ppc64le x86_64 Name: zlib-ng -Version: 2.1.7 -Release: 3%{?dist} +Version: 2.2.2 +Release: 1%{?dist} Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng Source0: https://github.com/zlib-ng/zlib-ng/archive/%{version}/%{name}-%{version}.tar.gz Patch: far.diff -# Backport from https://github.com/zlib-ng/zlib-ng/pull/1773 -# Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2307237 -Patch: 1773.patch BuildRequires: cmake >= 3.1 BuildRequires: gcc-c++ @@ -218,6 +215,9 @@ CHOST=%{target_cpu}-%{cpu_vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Wed Sep 25 2024 Lukas Javorsky - 2.2.2-1 +- Rebase to new major version 2.2.2 + * Tue Sep 10 2024 Tulio Magno Quites Machado Filho - 2.1.7-3 - Fixes rhbz#2307237 From 92e84a48ac6ba879e6322c44d9cb761fd31999b8 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Thu, 12 Sep 2024 13:53:00 -0300 Subject: [PATCH 23/37] Add a script that regenerates rpminspect.yaml Every new release we notice that annocheck finds a new file that can't be built with LTO. These files may change between releases as new optimizations are implemented or removed. A script that can generate the configuration will make our lives easier when the source code is updated. --- regenerate-rpminspect | 33 +++++++++++++++++++++++++++++++++ rpminspect.yaml | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 66 insertions(+), 2 deletions(-) create mode 100755 regenerate-rpminspect diff --git a/regenerate-rpminspect b/regenerate-rpminspect new file mode 100755 index 0000000..8ce3723 --- /dev/null +++ b/regenerate-rpminspect @@ -0,0 +1,33 @@ +#!/usr/bin/bash +# +# Regenerated rpminspect.yaml. +# The contents in rpminspect.yaml depends on the usage of NOLTOFLAG in +# zlib-ng's build system. + +OUTPUT=$(pwd)/rpminspect.yaml + +cat - < $OUTPUT +# This file has been generated automatically by regenerate-rpminspect. +# Ignore LTO test on CPU-optimized files which cannot use the LTO. +# More described in upstream: https://github.com/zlib-ng/zlib-ng/pull/938 + +annocheck: + extra_opts: + - hardened: +EOF + +tmpdir=$(mktemp -p $(pwd) -d) + +fedpkg prep --builddir $tmpdir > /dev/null + +rootdir=$(dirname $(find $tmpdir -name arch)) +for makefile in $(find $tmpdir -name Makefile.in); do + dir=$(dirname $makefile) + for f in $(gawk \ + 'match($0, /\$\(NOLTOFLAG\).*\/([^\/]+\.c)/, ret) {print ret[1]}' \ + $makefile | sort -u); do + echo "--skip-lto=$(realpath --relative-to=$rootdir $dir)/$f" >> $OUTPUT + done +done + +rm -rf $tmpdir diff --git a/rpminspect.yaml b/rpminspect.yaml index 984517d..27feaa2 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -1,6 +1,37 @@ -# Ignore LTO test on CPU-optimized files which cannot use the LTO +# This file has been generated automatically by regenerate-rpminspect. +# Ignore LTO test on CPU-optimized files which cannot use the LTO. # More described in upstream: https://github.com/zlib-ng/zlib-ng/pull/938 annocheck: extra_opts: - - hardened: --skip-lto=arch/arm/crc32_acle.c --skip-lto=arch/power/adler32_power8.c --skip-lto=arch/x86/chunkset_avx2.c --skip-lto=arch/x86/slide_hash_avx2.c + - hardened: +--skip-lto=arch/arm/adler32_neon.c +--skip-lto=arch/arm/chunkset_neon.c +--skip-lto=arch/arm/compare256_neon.c +--skip-lto=arch/arm/crc32_acle.c +--skip-lto=arch/arm/insert_string_acle.c +--skip-lto=arch/arm/slide_hash_armv6.c +--skip-lto=arch/arm/slide_hash_neon.c +--skip-lto=arch/power/adler32_power8.c +--skip-lto=arch/power/adler32_vmx.c +--skip-lto=arch/power/chunkset_power8.c +--skip-lto=arch/power/compare256_power9.c +--skip-lto=arch/power/crc32_power8.c +--skip-lto=arch/power/slide_hash_power8.c +--skip-lto=arch/power/slide_hash_vmx.c +--skip-lto=arch/s390/crc32-vx.c +--skip-lto=arch/x86/adler32_avx2.c +--skip-lto=arch/x86/adler32_avx512.c +--skip-lto=arch/x86/adler32_avx512_vnni.c +--skip-lto=arch/x86/adler32_sse42.c +--skip-lto=arch/x86/adler32_ssse3.c +--skip-lto=arch/x86/chunkset_avx2.c +--skip-lto=arch/x86/chunkset_sse2.c +--skip-lto=arch/x86/chunkset_ssse3.c +--skip-lto=arch/x86/compare256_avx2.c +--skip-lto=arch/x86/compare256_sse2.c +--skip-lto=arch/x86/crc32_pclmulqdq.c +--skip-lto=arch/x86/crc32_vpclmulqdq.c +--skip-lto=arch/x86/insert_string_sse42.c +--skip-lto=arch/x86/slide_hash_avx2.c +--skip-lto=arch/x86/slide_hash_sse2.c From 45e28263ccc1d44feb3303bcba4a4851c633b62b Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Wed, 8 Jan 2025 13:44:39 -0300 Subject: [PATCH 24/37] Update to version 2.2.3 --- sources | 2 +- zlib-ng.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sources b/sources index a283b00..6858afb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zlib-ng-2.2.2.tar.gz) = 3cb3e97ee1d20e1f3cdf0efcdf55aee0e3a192f9a2ae781cd209b1d37620c48f2ada345fb1f4357315b1cb5e09b7ea5fcdfa2fd54f7b4ac5dcb6e73860000aad +SHA512 (zlib-ng-2.2.3.tar.gz) = e71e8972ec2c4dec9eaa2c8f550185f13d0f5c411c38061d1aaf78ca8e522fa3d53f005296e574af7f152e7da3a78adf97ae4bb638b7fd277ef57bba26370b7d diff --git a/zlib-ng.spec b/zlib-ng.spec index 0a3da3c..c7ba136 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -18,7 +18,7 @@ %global supported_abi_test aarch64 ppc64le x86_64 Name: zlib-ng -Version: 2.2.2 +Version: 2.2.3 Release: 1%{?dist} Summary: Zlib replacement with optimizations License: Zlib @@ -215,6 +215,9 @@ CHOST=%{target_cpu}-%{cpu_vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Wed Jan 08 2025 Tulio Magno Quites Machado Filho - 2.2.3-1 +- Update to version 2.2.3 + * Wed Sep 25 2024 Lukas Javorsky - 2.2.2-1 - Rebase to new major version 2.2.2 From 744296cca737c97726bf0d4324064ff3d53e73fe Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 16:49:59 +0000 Subject: [PATCH 25/37] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- zlib-ng.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index c7ba136..79a16a9 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -19,7 +19,7 @@ Name: zlib-ng Version: 2.2.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng @@ -215,6 +215,9 @@ CHOST=%{target_cpu}-%{cpu_vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog +* Sun Jan 19 2025 Fedora Release Engineering - 2.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Jan 08 2025 Tulio Magno Quites Machado Filho - 2.2.3-1 - Update to version 2.2.3 From 8d47ac10f51c20d162d005852c7573c498cc68b9 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Wed, 22 Jan 2025 11:04:12 +0000 Subject: [PATCH 26/37] Setup Packit Bot Jobs: koji_build, bodhi_update, pull_from_upstream --- .packit.yaml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .packit.yaml diff --git a/.packit.yaml b/.packit.yaml new file mode 100644 index 0000000..44fdd77 --- /dev/null +++ b/.packit.yaml @@ -0,0 +1,34 @@ + +# We want to use the following Packit functions in the zlib-ng package: +# koji_build, bodhi_update, pull_from_upstream + +# See the documentation for more information: +# https://packit.dev/docs/configuration/ + +specfile_path: zlib-ng.spec + +# name in upstream package repository or registry (e.g. in PyPI) +upstream_package_name: zlib-ng +upstream_project_url: https://github.com/zlib-ng/zlib-ng/ +# downstream (Fedora) RPM package name +downstream_package_name: zlib-ng + +jobs: + - job: pull_from_upstream + trigger: release + dist_git_branches: + - fedora-latest + - fedora-rawhide + + - job: koji_build + trigger: commit + allowed_pr_authors: ["ljavorsk", "tuliom", "aekoroglu", "packit"] + allowed_committers: ["ljavorsk", "tuliom", "aekoroglu", "packit"] + dist_git_branches: + - fedora-latest + - fedora-rawhide + + - job: bodhi_update + trigger: commit + dist_git_branches: + - fedora-latest # rawhide updates are created automatically From f800f2b35a36f7d0f4c50a903b027ca5fdecec3c Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Wed, 22 Jan 2025 13:42:00 +0000 Subject: [PATCH 27/37] Convert to %autorelease and %autochangelog [skip changelog] --- changelog | 109 +++++++++++++++++++++++++++++++++++++++++++++++++ zlib-ng.spec | 112 +-------------------------------------------------- 2 files changed, 111 insertions(+), 110 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..f672d98 --- /dev/null +++ b/changelog @@ -0,0 +1,109 @@ +* Sun Jan 19 2025 Fedora Release Engineering - 2.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jan 08 2025 Tulio Magno Quites Machado Filho - 2.2.3-1 +- Update to version 2.2.3 + +* Wed Sep 25 2024 Lukas Javorsky - 2.2.2-1 +- Rebase to new major version 2.2.2 + +* Tue Sep 10 2024 Tulio Magno Quites Machado Filho - 2.1.7-3 +- Fixes rhbz#2307237 + +* Sat Jul 20 2024 Fedora Release Engineering - 2.1.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jun 19 2024 Tulio Magno Quites Machado Filho - 2.1.7-1 +- Update to zlib-ng 2.1.7 +- Fix rhbz#2293101 +- Fix rhbz#2293437 + +* Tue Jun 04 2024 Cristian Le - 2.1.6-6 +- Avoid using reserved variable vendor. Fix #2284608 + +* Wed May 29 2024 Tulio Magno Quites Machado Filho - 2.1.6-5 +- Set ownership of cmake directories. Fix #2283789 + +* Tue May 21 2024 Tulio Magno Quites Machado Filho - 2.1.6-4 +- Update the patch that fixes rhbz#2280347 + +* Tue May 14 2024 Tulio Magno Quites Machado Filho - 2.1.6-3 +- Fix rhbz#2280347 + +* Sat Jan 27 2024 Fedora Release Engineering - 2.1.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jan 11 2024 Lukas Javorsky - 2.1.6-1 +- Rebase to version 2.1.6 + +* Tue Jan 09 2024 Yaakov Selkowitz - 2.1.5-2 +- Add zlib-ng-compat-static to replace zlib-static + +* Wed Dec 20 2023 Tulio Magno Quites Machado Filho - 2.1.5-1 +- Update to zlib-ng 2.1.5 + +* Wed Oct 18 2023 Tulio Magno Quites Machado Filho - 2.1.3-7 +- Improve the patch that defines the FAR macro + +* Wed Sep 27 2023 Tulio Magno Quites Machado Filho - 2.1.3-6 +- Add a patch that defines the FAR macro + +* Wed Sep 20 2023 Tulio Magno Quites Machado Filho - 2.1.3-5 +- Fix WITH_SANITIZER + +* Tue Sep 19 2023 Tulio Magno Quites Machado Filho - 2.1.3-4 +- Disable WITH_NEW_STRATEGIES in compat mode + +* Thu Aug 24 2023 Tulio Magno Quites Machado Filho - 2.1.3-3 +- Enable zlib compat build + +* Sat Jul 22 2023 Fedora Release Engineering - 2.1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Ali Erdinc Koroglu - 2.1.3-1 +- Update to 2.1.3 + +* Sat Jan 21 2023 Fedora Release Engineering - 2.0.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 2.0.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Apr 14 2022 Ali Erdinc Koroglu - 2.0.6-1 +- New upstream release 2.0.6 + +* Sat Jan 22 2022 Fedora Release Engineering - 2.0.5-2.20210625gitc69f78bc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Aug 07 2021 Tulio Magno Quites Machado Filho - 2.0.2-5.20210625gitc69f78bc5e +- Update to v2.0.5. + +* Fri Jul 23 2021 Fedora Release Engineering - 2.0.2-2.20210323git5fe25907e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun Apr 18 2021 Tulio Magno Quites Machado Filho - 2.0.2-1.20210323gite5fe25907e +- Update to v2.0.2. +- Remove the manpage that got removed from upstream. + +* Thu Jan 28 2021 Fedora Release Engineering - 1.9.9-0.4.20200912gite58738845 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sun Sep 13 2020 Tulio Magno Quites Machado Filho - 1.9.9-0.3.20200912gite58738845 +- Update to a newer commit. + +* Wed Jul 29 2020 Fedora Release Engineering - 1.9.9-0.3.20200609gitfe69810c2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 09 2020 Tulio Magno Quites Machado Filho - 1.9.9-0.2.20200609gitfe69810c2 +- Replace cmake commands with new cmake macros + +* Mon Jul 06 2020 Tulio Magno Quites Machado Filho - 1.9.9-0.1.20200609gitfe69810c2 +- Improve the archive name. +- Starte release at 0.1 as required for prerelease. +- Make the devel package require an arch-dependent runtime subpackage. +- Remove %%ldconfig_scriptlets. +- Glob the man page extension. +- Move unversioned shared library to the devel subpackage + +* Wed Jul 01 2020 Tulio Magno Quites Machado Filho - 1.9.9-0.20200609gitfe69810c2 +- Initial commit diff --git a/zlib-ng.spec b/zlib-ng.spec index 79a16a9..7cee245 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -19,7 +19,7 @@ Name: zlib-ng Version: 2.2.3 -Release: 2%{?dist} +Release: %autorelease Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng @@ -215,112 +215,4 @@ CHOST=%{target_cpu}-%{cpu_vendor}-linux-gnu sh test/abicheck.sh --zlib-compat %changelog -* Sun Jan 19 2025 Fedora Release Engineering - 2.2.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jan 08 2025 Tulio Magno Quites Machado Filho - 2.2.3-1 -- Update to version 2.2.3 - -* Wed Sep 25 2024 Lukas Javorsky - 2.2.2-1 -- Rebase to new major version 2.2.2 - -* Tue Sep 10 2024 Tulio Magno Quites Machado Filho - 2.1.7-3 -- Fixes rhbz#2307237 - -* Sat Jul 20 2024 Fedora Release Engineering - 2.1.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jun 19 2024 Tulio Magno Quites Machado Filho - 2.1.7-1 -- Update to zlib-ng 2.1.7 -- Fix rhbz#2293101 -- Fix rhbz#2293437 - -* Tue Jun 04 2024 Cristian Le - 2.1.6-6 -- Avoid using reserved variable vendor. Fix #2284608 - -* Wed May 29 2024 Tulio Magno Quites Machado Filho - 2.1.6-5 -- Set ownership of cmake directories. Fix #2283789 - -* Tue May 21 2024 Tulio Magno Quites Machado Filho - 2.1.6-4 -- Update the patch that fixes rhbz#2280347 - -* Tue May 14 2024 Tulio Magno Quites Machado Filho - 2.1.6-3 -- Fix rhbz#2280347 - -* Sat Jan 27 2024 Fedora Release Engineering - 2.1.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Jan 11 2024 Lukas Javorsky - 2.1.6-1 -- Rebase to version 2.1.6 - -* Tue Jan 09 2024 Yaakov Selkowitz - 2.1.5-2 -- Add zlib-ng-compat-static to replace zlib-static - -* Wed Dec 20 2023 Tulio Magno Quites Machado Filho - 2.1.5-1 -- Update to zlib-ng 2.1.5 - -* Wed Oct 18 2023 Tulio Magno Quites Machado Filho - 2.1.3-7 -- Improve the patch that defines the FAR macro - -* Wed Sep 27 2023 Tulio Magno Quites Machado Filho - 2.1.3-6 -- Add a patch that defines the FAR macro - -* Wed Sep 20 2023 Tulio Magno Quites Machado Filho - 2.1.3-5 -- Fix WITH_SANITIZER - -* Tue Sep 19 2023 Tulio Magno Quites Machado Filho - 2.1.3-4 -- Disable WITH_NEW_STRATEGIES in compat mode - -* Thu Aug 24 2023 Tulio Magno Quites Machado Filho - 2.1.3-3 -- Enable zlib compat build - -* Sat Jul 22 2023 Fedora Release Engineering - 2.1.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 11 2023 Ali Erdinc Koroglu - 2.1.3-1 -- Update to 2.1.3 - -* Sat Jan 21 2023 Fedora Release Engineering - 2.0.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 2.0.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Apr 14 2022 Ali Erdinc Koroglu - 2.0.6-1 -- New upstream release 2.0.6 - -* Sat Jan 22 2022 Fedora Release Engineering - 2.0.5-2.20210625gitc69f78bc5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Sat Aug 07 2021 Tulio Magno Quites Machado Filho - 2.0.2-5.20210625gitc69f78bc5e -- Update to v2.0.5. - -* Fri Jul 23 2021 Fedora Release Engineering - 2.0.2-2.20210323git5fe25907e -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Sun Apr 18 2021 Tulio Magno Quites Machado Filho - 2.0.2-1.20210323gite5fe25907e -- Update to v2.0.2. -- Remove the manpage that got removed from upstream. - -* Thu Jan 28 2021 Fedora Release Engineering - 1.9.9-0.4.20200912gite58738845 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Sun Sep 13 2020 Tulio Magno Quites Machado Filho - 1.9.9-0.3.20200912gite58738845 -- Update to a newer commit. - -* Wed Jul 29 2020 Fedora Release Engineering - 1.9.9-0.3.20200609gitfe69810c2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jul 09 2020 Tulio Magno Quites Machado Filho - 1.9.9-0.2.20200609gitfe69810c2 -- Replace cmake commands with new cmake macros - -* Mon Jul 06 2020 Tulio Magno Quites Machado Filho - 1.9.9-0.1.20200609gitfe69810c2 -- Improve the archive name. -- Starte release at 0.1 as required for prerelease. -- Make the devel package require an arch-dependent runtime subpackage. -- Remove %%ldconfig_scriptlets. -- Glob the man page extension. -- Move unversioned shared library to the devel subpackage - -* Wed Jul 01 2020 Tulio Magno Quites Machado Filho - 1.9.9-0.20200609gitfe69810c2 -- Initial commit +%autochangelog From a60ec152494b08caba215acdecf01052bd9c83f2 Mon Sep 17 00:00:00 2001 From: Packit Date: Mon, 10 Feb 2025 23:09:36 +0000 Subject: [PATCH 28/37] Update to 2.2.4 upstream release - Resolves: rhbz#2344792 Upstream tag: 2.2.4 Upstream commit: 860e4cff Commit authored by Packit automation (https://packit.dev/) --- README.packit | 3 +++ sources | 2 +- zlib-ng.spec | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 README.packit diff --git a/README.packit b/README.packit new file mode 100644 index 0000000..7017e6c --- /dev/null +++ b/README.packit @@ -0,0 +1,3 @@ +This repository is maintained by packit. +https://packit.dev/ +The file was generated using packit 1.1.0.post1.dev2+gf7b527d0. diff --git a/sources b/sources index 6858afb..c4582db 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zlib-ng-2.2.3.tar.gz) = e71e8972ec2c4dec9eaa2c8f550185f13d0f5c411c38061d1aaf78ca8e522fa3d53f005296e574af7f152e7da3a78adf97ae4bb638b7fd277ef57bba26370b7d +SHA512 (zlib-ng-2.2.4.tar.gz) = f49a89497988db55a2f2375f79443e7e2c57470dbd94b35ae38a39d988eb42f8ecc295a1bd68845fc273b59ea508d0e74b142585d85b7e869dd3c01cc6923d8d diff --git a/zlib-ng.spec b/zlib-ng.spec index 7cee245..6752b6c 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -18,7 +18,7 @@ %global supported_abi_test aarch64 ppc64le x86_64 Name: zlib-ng -Version: 2.2.3 +Version: 2.2.4 Release: %autorelease Summary: Zlib replacement with optimizations License: Zlib From 9bd0cafffbcbccf823c9e1e2cf01bf54f3dbbc52 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Tue, 25 Feb 2025 15:47:41 -0300 Subject: [PATCH 29/37] Enable -fPIC for static compat libraries Generate static compat libraries with Position Independent Code in order to let these files to be used when linking to shared libraries. --- zlib-ng.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index 6752b6c..db61236 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -118,7 +118,7 @@ _EOF_ # defining BUILD_SHARED_LIBS disables the static library %undefine _cmake_shared_libs # Disable new strategies in order to keep compatibility with zlib. -%cmake %{cmake_param} -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF +%cmake %{cmake_param} -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON %cmake_build %endif From 5a637136c868ae9e34a685207f2b189fe9cdf515 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Thu, 27 Feb 2025 11:23:47 -0300 Subject: [PATCH 30/37] Remove rpmdeplint from gating This test is only enabled on Rawhide and does not run on branched targets causing errors in our Bodhi updates. There is no way to require rpmdeplint only on Rawhide because Bodhi does not understand the concept of Rawhide. More information: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/QTAGRWMHZBQOXWI5S3O2JSYCDRU6IT4D/ --- gating.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/gating.yaml b/gating.yaml index 2fb97b2..93e252b 100644 --- a/gating.yaml +++ b/gating.yaml @@ -8,6 +8,5 @@ decision_contexts: subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} From f7b3208bc30460ee18c0cf279e7656c1a066143b Mon Sep 17 00:00:00 2001 From: Packit Date: Thu, 7 Aug 2025 16:11:19 +0000 Subject: [PATCH 31/37] Update to 2.2.5 upstream release - Resolves: rhbz#2387088 Upstream tag: 2.2.5 Upstream commit: 42543906 Commit authored by Packit automation (https://packit.dev/) --- README.packit | 2 +- sources | 2 +- zlib-ng.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 7017e6c..3ad54d6 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 1.1.0.post1.dev2+gf7b527d0. +The file was generated using packit 1.11.0. diff --git a/sources b/sources index c4582db..9ecba75 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zlib-ng-2.2.4.tar.gz) = f49a89497988db55a2f2375f79443e7e2c57470dbd94b35ae38a39d988eb42f8ecc295a1bd68845fc273b59ea508d0e74b142585d85b7e869dd3c01cc6923d8d +SHA512 (zlib-ng-2.2.5.tar.gz) = b599ea24375d08fa098ed7c3b14548e0d9731a155a024a0904b0ae4a6d3491a69f0c0574d66b6e4af1e40f10e38b6b555d4c4b1fe3589ca83a5f97fbd92f635f diff --git a/zlib-ng.spec b/zlib-ng.spec index db61236..83ce4e2 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -18,7 +18,7 @@ %global supported_abi_test aarch64 ppc64le x86_64 Name: zlib-ng -Version: 2.2.4 +Version: 2.2.5 Release: %autorelease Summary: Zlib replacement with optimizations License: Zlib From f27b6e0bd949278748ae527976c22f037b45f981 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Fri, 15 Aug 2025 10:12:57 -0300 Subject: [PATCH 32/37] packit: Update the list of distros Fedora 43 got branched, which changed the definition of the alias `fedora-latest` to `fedora-43`. Explicitly list `fedora-42` in order to continue receiving updates and triggering builds and updates. The plan is to replace these entries with `fedora-all` or `fedora-branched` as soon as f41 reaches EOL. [skip changelog] --- .packit.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.packit.yaml b/.packit.yaml index 44fdd77..83d86ff 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -18,6 +18,7 @@ jobs: trigger: release dist_git_branches: - fedora-latest + - fedora-42 - fedora-rawhide - job: koji_build @@ -26,9 +27,12 @@ jobs: allowed_committers: ["ljavorsk", "tuliom", "aekoroglu", "packit"] dist_git_branches: - fedora-latest + - fedora-42 - fedora-rawhide - job: bodhi_update trigger: commit dist_git_branches: - - fedora-latest # rawhide updates are created automatically + # rawhide updates are created automatically + - fedora-latest + - fedora-42 From 39ebff57234f098f0e64af591670122a892fb91d Mon Sep 17 00:00:00 2001 From: Packit Date: Thu, 27 Nov 2025 17:24:13 +0000 Subject: [PATCH 33/37] Update to 2.3.1 upstream release - Resolves: rhbz#2417595 Upstream tag: 2.3.1 Upstream commit: 68c83bf4 Commit authored by Packit automation (https://packit.dev/) --- README.packit | 2 +- sources | 2 +- zlib-ng.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 3ad54d6..a901bca 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 1.11.0. +The file was generated using packit 1.12.0.post1.dev18+gc39b0e7d4. diff --git a/sources b/sources index 9ecba75..dced3e5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zlib-ng-2.2.5.tar.gz) = b599ea24375d08fa098ed7c3b14548e0d9731a155a024a0904b0ae4a6d3491a69f0c0574d66b6e4af1e40f10e38b6b555d4c4b1fe3589ca83a5f97fbd92f635f +SHA512 (zlib-ng-2.3.1.tar.gz) = 33722bfdd7d4f0b41f4ac99edcfd1a0f26aa52f86b1c16ce2e63962c26f8f8239634acef33051958f96b9593c29b7dedb29b136e710005de88fbb4cf40228a85 diff --git a/zlib-ng.spec b/zlib-ng.spec index 83ce4e2..2f5a2c7 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -18,7 +18,7 @@ %global supported_abi_test aarch64 ppc64le x86_64 Name: zlib-ng -Version: 2.2.5 +Version: 2.3.1 Release: %autorelease Summary: Zlib replacement with optimizations License: Zlib From c8c1c8f78d689a072809e8e232f50c7790015bd0 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Thu, 27 Nov 2025 16:01:07 -0300 Subject: [PATCH 34/37] Stop using riscv64 settings on other architectures While having this parameter doesn't, it does generate extra warnings to the build log. [skip changelog] --- zlib-ng.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/zlib-ng.spec b/zlib-ng.spec index 2f5a2c7..cc11a09 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -98,7 +98,11 @@ cat <<_EOF_ _EOF_ # zlib-ng uses a different macro for library directory. -%global cmake_param %{?with_sanitizers:-DWITH_SANITIZER=ON} -DWITH_RVV=OFF +%global cmake_param %{?with_sanitizers:-DWITH_SANITIZER=ON} + +%ifarch riscv64 +%global cmake_param %cmake_param -DWITH_RVV=OFF +%endif # Setting __cmake_builddir is not necessary in this step, but do it anyway for symmetry. %global __cmake_builddir %{_vpath_builddir} From f8484b5212f7b36bf9511929a9e7f444efb5e3bc Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Thu, 27 Nov 2025 16:03:47 -0300 Subject: [PATCH 35/37] Do not build CRC32 Chorba optimization on RHEL10+ RHEL 10 requires x86_64-v3. Meanwhile, CRC32 Chorba is used on x86_64-v2 and older processors. [skip changelog] --- zlib-ng.spec | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/zlib-ng.spec b/zlib-ng.spec index cc11a09..ece688d 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -104,6 +104,15 @@ _EOF_ %global cmake_param %cmake_param -DWITH_RVV=OFF %endif +%if 0%{?rhel} >= 10 +%ifarch x86_64 +# RHEL 10 has x86_64-v3 as baseline, turning the CRC32 Chorba optimization +# unnecessary. +# More info: https://github.com/zlib-ng/zlib-ng/releases/tag/2.3.1 +%global cmake_param %cmake_param -DWITH_CRC32_CHORBA=OFF +%endif +%endif + # Setting __cmake_builddir is not necessary in this step, but do it anyway for symmetry. %global __cmake_builddir %{_vpath_builddir} %cmake %{cmake_param} From d5f7e25717ad0bee8d65c4c8cdce7b195a8774e1 Mon Sep 17 00:00:00 2001 From: Packit Date: Wed, 3 Dec 2025 09:00:04 +0000 Subject: [PATCH 36/37] Update to 2.3.2 upstream release - Resolves: rhbz#2418517 Upstream tag: 2.3.2 Upstream commit: 6d9f3dc0 Commit authored by Packit automation (https://packit.dev/) --- README.packit | 2 +- sources | 2 +- zlib-ng.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index a901bca..b4b46e3 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 1.12.0.post1.dev18+gc39b0e7d4. +The file was generated using packit 1.12.0.post1.dev20+g7d30dac21. diff --git a/sources b/sources index dced3e5..375c0d2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zlib-ng-2.3.1.tar.gz) = 33722bfdd7d4f0b41f4ac99edcfd1a0f26aa52f86b1c16ce2e63962c26f8f8239634acef33051958f96b9593c29b7dedb29b136e710005de88fbb4cf40228a85 +SHA512 (zlib-ng-2.3.2.tar.gz) = 8781ee4bfda7cb8c8c5150c2e6a067d699580616b61af2ea4cf03cbe14c6715b31a29a20b7c3dd97254a9e487c72c5228c9cfa817ff71aa765fe7043ab136f04 diff --git a/zlib-ng.spec b/zlib-ng.spec index ece688d..6f8cde0 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -18,7 +18,7 @@ %global supported_abi_test aarch64 ppc64le x86_64 Name: zlib-ng -Version: 2.3.1 +Version: 2.3.2 Release: %autorelease Summary: Zlib replacement with optimizations License: Zlib From c93c81c63053230109a4d07792e9e82ea706af59 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Fri, 12 Dec 2025 10:36:45 -0300 Subject: [PATCH 37/37] Enable DFLTCC on s390x Ensure DFLTCC is enabled on s390x for both deflate and inflate. --- zlib-ng.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/zlib-ng.spec b/zlib-ng.spec index 6f8cde0..8b9a2fc 100644 --- a/zlib-ng.spec +++ b/zlib-ng.spec @@ -104,6 +104,10 @@ _EOF_ %global cmake_param %cmake_param -DWITH_RVV=OFF %endif +%ifarch s390x +%global cmake_param %cmake_param -DWITH_DFLTCC_DEFLATE=ON -DWITH_DFLTCC_INFLATE=ON +%endif + %if 0%{?rhel} >= 10 %ifarch x86_64 # RHEL 10 has x86_64-v3 as baseline, turning the CRC32 Chorba optimization