diff --git a/.packit.yaml b/.packit.yaml new file mode 100644 index 0000000..83d86ff --- /dev/null +++ b/.packit.yaml @@ -0,0 +1,38 @@ + +# 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-42 + - 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-42 + - fedora-rawhide + + - job: bodhi_update + trigger: commit + dist_git_branches: + # rawhide updates are created automatically + - fedora-latest + - fedora-42 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/README.packit b/README.packit new file mode 100644 index 0000000..b4b46e3 --- /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.12.0.post1.dev20+g7d30dac21. 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/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} 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 8dcf67c..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=slide_hash_avx2.c --skip-lto=crc32_acle.c --skip-lto=adler32_power8.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 diff --git a/sources b/sources index 3e1f055..375c0d2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zlib-ng-2.1.7.tar.gz) = 03e6d22ecb39c9425fa2977e5db608f765387a06b9ef93b162e403bb155aa3b59bbaedb41e827e7e159d6635325d804dcd4314a25adcb35b83e6e0cf1153aabe +SHA512 (zlib-ng-2.3.2.tar.gz) = 8781ee4bfda7cb8c8c5150c2e6a067d699580616b61af2ea4cf03cbe14c6715b31a29a20b7c3dd97254a9e487c72c5228c9cfa817ff71aa765fe7043ab136f04 diff --git a/zlib-ng.spec b/zlib-ng.spec index bf9022a..8b9a2fc 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.7 -Release: 1%{?dist} +Version: 2.3.2 +Release: %autorelease Summary: Zlib replacement with optimizations License: Zlib Url: https://github.com/zlib-ng/zlib-ng @@ -98,7 +98,24 @@ 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 + +%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 +# 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} @@ -118,7 +135,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 @@ -215,97 +232,4 @@ 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 - -* 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