Compare commits

..

No commits in common. "rawhide" and "f33" have entirely different histories.

12 changed files with 39 additions and 475 deletions

View file

@ -1 +0,0 @@
1

View file

@ -1,38 +0,0 @@
# 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

View file

@ -1,26 +0,0 @@
From af013cf65867e3589f6da714eefc69d9f986bb91 Mon Sep 17 00:00:00 2001
From: Nathan Moinvaziri <nathan@nathanm.com>
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);

View file

@ -1,3 +0,0 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 1.12.0.post1.dev20+g7d30dac21.

109
changelog
View file

@ -1,109 +0,0 @@
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Jan 08 2025 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.2.3-1
- Update to version 2.2.3
* Wed Sep 25 2024 Lukas Javorsky <ljavorsk@redhat.com> - 2.2.2-1
- Rebase to new major version 2.2.2
* Tue Sep 10 2024 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.1.7-3
- Fixes rhbz#2307237
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jun 19 2024 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.1.7-1
- Update to zlib-ng 2.1.7
- Fix rhbz#2293101
- Fix rhbz#2293437
* Tue Jun 04 2024 Cristian Le <fedora@lecris.me> - 2.1.6-6
- Avoid using reserved variable vendor. Fix #2284608
* Wed May 29 2024 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.1.6-5
- Set ownership of cmake directories. Fix #2283789
* Tue May 21 2024 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.1.6-4
- Update the patch that fixes rhbz#2280347
* Tue May 14 2024 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.1.6-3
- Fix rhbz#2280347
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 11 2024 Lukas Javorsky <ljavorsk@redhat.com> - 2.1.6-1
- Rebase to version 2.1.6
* Tue Jan 09 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 2.1.5-2
- Add zlib-ng-compat-static to replace zlib-static
* Wed Dec 20 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.1.5-1
- Update to zlib-ng 2.1.5
* Wed Oct 18 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.1.3-7
- Improve the patch that defines the FAR macro
* Wed Sep 27 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.1.3-6
- Add a patch that defines the FAR macro
* Wed Sep 20 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.1.3-5
- Fix WITH_SANITIZER
* Tue Sep 19 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.1.3-4
- Disable WITH_NEW_STRATEGIES in compat mode
* Thu Aug 24 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 2.1.3-3
- Enable zlib compat build
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 Ali Erdinc Koroglu <aekoroglu@fedoraproject.org> - 2.1.3-1
- Update to 2.1.3
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Apr 14 2022 Ali Erdinc Koroglu <aekoroglu@fedoraproject.org> - 2.0.6-1
- New upstream release 2.0.6
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.5-2.20210625gitc69f78bc5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sat Aug 07 2021 Tulio Magno Quites Machado Filho <tuliom@ascii.art.br> - 2.0.2-5.20210625gitc69f78bc5e
- Update to v2.0.5.
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.2-2.20210323git5fe25907e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sun Apr 18 2021 Tulio Magno Quites Machado Filho <tuliom@ascii.art.br> - 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 <releng@fedoraproject.org> - 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 <tuliom@ascii.art.br> - 1.9.9-0.3.20200912gite58738845
- Update to a newer commit.
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 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 <tuliom@ascii.art.br> - 1.9.9-0.2.20200609gitfe69810c2
- Replace cmake commands with new cmake macros
* Mon Jul 06 2020 Tulio Magno Quites Machado Filho <tuliom@ascii.art.br> - 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 <tuliom@ascii.art.br> - 1.9.9-0.20200609gitfe69810c2
- Initial commit

View file

@ -1,12 +0,0 @@
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 */

View file

@ -1,12 +0,0 @@
--- !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}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional}

View file

@ -1,7 +0,0 @@
summary: Fedora zlib-ng tests
discover:
- name: fedora
how: fmf
url: https://src.fedoraproject.org/tests/zlib-ng.git
execute:
how: tmt

View file

@ -1,33 +0,0 @@
#!/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 - <<EOF > $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

View file

@ -1,37 +0,0 @@
# 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/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

View file

@ -1 +1 @@
SHA512 (zlib-ng-2.3.2.tar.gz) = 8781ee4bfda7cb8c8c5150c2e6a067d699580616b61af2ea4cf03cbe14c6715b31a29a20b7c3dd97254a9e487c72c5228c9cfa817ff71aa765fe7043ab136f04
SHA512 (zlib-ng-fe69810c2.tar.gz) = cba7bc433190356cc1ae923539128b468a5af57f4342887d2e8cce14c6ecdc19069ae13d517b075425e92831ebddb8cadaa062c65b5ea704de94043a9cbd0139

View file

@ -1,36 +1,20 @@
%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.3.1
# 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
%global commit fe69810c265858b7b4242663d51336726f4a98be
%global commitdate 20200609
%global shortcommit %(c=%{commit}; echo ${c:0:9})
Name: zlib-ng
Version: 2.3.2
Release: %autorelease
Version: 1.9.9
Release: 0.3.%{commitdate}git%{shortcommit}%{?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
Source0: https://github.com/zlib-ng/zlib-ng/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
Patch: far.diff
# Be explicit about the soname in order to avoid unintentional changes.
%global soname libz-ng.so.1.9.9
BuildRequires: cmake >= 3.1
BuildRequires: gcc-c++
BuildRequires: cmake(GTest)
BuildRequires: libabigail
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
BuildRequires: gcc, systemtap-sdt-devel, cmake
%description
zlib-ng is a zlib replacement that provides optimizations for "next generation"
@ -41,195 +25,53 @@ Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
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.
%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
The %{name}-devel package contains static libraries and header files for
developing application that use %{name}.
%prep
%autosetup -p1 -n %{name}-%{version}
%autosetup -p1 -n %{name}-%{commit}
%build
cat <<_EOF_
###########################################################################
#
# Build the default zlib-ng library
#
###########################################################################
_EOF_
# zlib-ng uses a different macro for library directory.
%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}
%cmake %{cmake_param}
%cmake -DWITH_SANITIZERS=ON -DINSTALL_LIB_DIR=%{_libdir}
%cmake_build
%if %{with compat}
cat <<_EOF_
###########################################################################
#
# Build the compat mode library
#
###########################################################################
_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 -DCMAKE_POSITION_INDEPENDENT_CODE=ON
%cmake_build
%endif
%check
cat <<_EOF_
###########################################################################
#
# Run the zlib-ng tests
#
###########################################################################
_EOF_
%global __cmake_builddir %{_vpath_builddir}
# Tests fail when run in parallel.
%define _smp_mflags -j1
%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 cpu_vendor pc
%else
%global cpu_vendor unknown
%endif
%ifarch %{supported_abi_test}
CHOST=%{target_cpu}-%{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}-%{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
%{_libdir}/%{soname}
%{_libdir}/libz-ng.so.1
%license LICENSE.md
%doc README.md
%{_libdir}/libz-ng.so.%{version}
%{_libdir}/%{soname}
%files devel
%{_includedir}/zconf-ng.h
%{_includedir}/zlib-ng.h
%{_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}
%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
%dir %{_libdir}/cmake/ZLIB/
%{_libdir}/cmake/ZLIB/*
%files compat-static
%{_libdir}/libz.a
%endif
%{_datadir}/pkgconfig/%{name}.pc
# Glob the extension in case the compression changes in the future.
%{_mandir}/man3/%{name}.3.*
%changelog
%autochangelog
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 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 <tuliom@ascii.art.br> - 1.9.9-0.2.20200609gitfe69810c2
- Replace cmake commands with new cmake macros
* Mon Jul 06 2020 Tulio Magno Quites Machado Filho <tuliom@ascii.art.br> - 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 <tuliom@ascii.art.br> - 1.9.9-0.20200609gitfe69810c2
- Initial commit