%bcond_without minizip Name: zlib Version: 1.2.13 Release: 5%{?dist} Summary: Compression and decompression library # /contrib/dotzlib/ have Boost license License: Zlib AND BSL-1.0 URL: https://www.zlib.net/ Source: https://www.zlib.net/zlib-%{version}.tar.xz # https://github.com/madler/zlib/pull/210 Patch0: zlib-1.2.5-minizip-fixuncrypt.patch # resolves: #805113 Patch1: zlib-1.2.13-optimized-s390.patch # Upstream commit: https://github.com/madler/zlib/commit/e554695638228b846d49657f31eeff0ca4680e8a # This patch is needed for a clean apply of the Patch19 Patch2: zlib-1.2.13-Fix-bug-in-deflateBound.patch # IBM optimized crc32 for Power 8+ processors # ref: https://github.com/madler/zlib/pull/750 Patch18: zlib-1.2.13-power-optimizations.patch # IBM Z hardware-accelerated deflate # ref: https://github.com/madler/zlib/pull/410 Patch19: zlib-1.2.13-IBM-Z-hw-accelerated-deflate.patch # Patch for s390x crc32vx # ref: https://github.com/iii-i/zlib/releases/tag/crc32vx-v3 Patch20: zlib-1.2.13-s390x-vectorize-crc32.patch # fixed covscan issues Patch22: zlib-1.2.11-covscan-issues.patch # fixed issues found by covscan for rhel-9 # ref: https://github.com/madler/zlib/pull/554 Patch23: zlib-1.2.11-covscan-issues-rhel9.patch # Upstream patch: https://github.com/madler/zlib/commit/73331a6a0481067628f065ffe87bb1d8f787d10c Patch24: zlib-1.2.13-Reject-overflows-of-zip-header-fields-in-minizip.patch BuildRequires: make BuildRequires: automake, autoconf, libtool %global __provides_exclude_from ^%{_libdir}/pkgconfig/minizip\\.pc$ %description Zlib is a general-purpose, patent-free, lossless data compression library which is used by many different programs. %package devel Summary: Header files and libraries for Zlib development Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The zlib-devel package contains the header files and libraries needed to develop programs that use the zlib compression and decompression library. %package static Summary: Static libraries for Zlib development Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description static The zlib-static package includes static libraries needed to develop programs that use the zlib compression and decompression library. %if %{with minizip} %package -n minizip-compat Summary: Library for manipulation with .zip archives Requires: %{name}%{?_isa} = %{version}-%{release} %description -n minizip-compat Minizip is a library for manipulation with files from .zip archives. %package -n minizip-compat-devel Summary: Development files for the minizip library Requires: minizip-compat%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} Conflicts: minizip-devel %description -n minizip-compat-devel This package contains the libraries and header files needed for developing applications which use minizip. %endif %prep %setup -q %patch -P0 -p1 -b .fixuncrypt %patch -P2 -p1 %patch -P18 -p1 %patch -P19 -p1 %patch -P20 -p1 %patch -P22 -p1 %patch -P23 -p1 %patch -P24 -p1 # Patch19 conflicts with Patch1, so the Patch1 has to be applied after, # because it is arch specific %ifarch s390 s390x %patch -P1 -p1 -b .optimized-deflate %endif iconv -f iso-8859-2 -t utf-8 < ChangeLog > ChangeLog.tmp mv ChangeLog.tmp ChangeLog %build export CFLAGS="$RPM_OPT_FLAGS" export LDFLAGS="$LDFLAGS -Wl,-z,relro -Wl,-z,now" # no-autotools, %%configure is not compatible %ifarch s390 s390x ./configure --libdir=%{_libdir} --includedir=%{_includedir} --prefix=%{_prefix} --dfltcc %else ./configure --libdir=%{_libdir} --includedir=%{_includedir} --prefix=%{_prefix} %endif %make_build %if %{with minizip} cd contrib/minizip autoreconf --install %configure --enable-static=no %make_build %endif %check make test %install %make_install %if %{with minizip} %make_install -C contrib/minizip # https://github.com/madler/zlib/pull/229 rm $RPM_BUILD_ROOT%_includedir/minizip/crypt.h %endif find $RPM_BUILD_ROOT -name '*.la' -delete %files %license README %doc ChangeLog FAQ %{_libdir}/libz.so.* %files devel %doc doc/algorithm.txt test/example.c %{_libdir}/libz.so %{_libdir}/pkgconfig/zlib.pc %{_includedir}/zlib.h %{_includedir}/zconf.h %{_mandir}/man3/zlib.3* %files static %license README %{_libdir}/libz.a %if %{with minizip} %files -n minizip-compat %doc contrib/minizip/MiniZip64_info.txt contrib/minizip/MiniZip64_Changes.txt %{_libdir}/libminizip.so.* %files -n minizip-compat-devel %dir %{_includedir}/minizip %{_includedir}/minizip/*.h %{_libdir}/libminizip.so %{_libdir}/pkgconfig/minizip.pc %endif %changelog * Tue Oct 17 2023 Lukas Javorsky - 1.2.13-5 - Applied upstream commit 73331a6a0481067628f065ffe87bb1d8f787d10c - Resolves: CVE-2023-45853 * Sat Jul 22 2023 Fedora Release Engineering - 1.2.13-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Sat Jan 21 2023 Fedora Release Engineering - 1.2.13-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Tue Jan 10 2023 Lukas Javorsky - 1.2.13-2 - Fix for the libxml2 and lxml on s390x - Resolves #2155328 * Mon Oct 17 2022 Lukas Javorsky - 1.2.13-1 - Rebase to version 1.2.13 - Patches 21,24,25 has been upstreamed * Tue Aug 09 2022 Lukas Javorsky - 1.2.12-5 - Fix heap-based buffer over-read or buffer overflow in inflate in inflate.c - Resolves: CVE-2022-37434 * Sat Jul 23 2022 Fedora Release Engineering - 1.2.12-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Mon Jul 04 2022 Lukas Javorsky - 1.2.12-3 - Upstream patch: Correct incorrect inputs provided to the CRC functions * Tue Jun 28 2022 Lukas Javorsky - 1.2.12-2 - Fix covscan patch that caused compiler warnings * Tue Apr 05 2022 Lukas Javorsky - 1.2.12-1 - Rebase to 1.2.12 - Resolves: CVE-2018-25032 * Mon Feb 28 2022 Lukas Javorsky - 1.2.11-32 - Apply IBM patch for compressBound() function - Source from https://github.com/madler/zlib/issues/410#issuecomment-947212824 - Resolves: #2057484 * Sat Jan 22 2022 Fedora Release Engineering - 1.2.11-31 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Jul 29 2021 Dan Horák - 1.2.11-30 - Fix for IBM CRC32 optimalization rhbz#1959423 * Fri Jul 23 2021 Fedora Release Engineering - 1.2.11-28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Thu Jul 01 2021 Ondrej Dubaj - 1.2.11-27 - Enabled Z hardware-accelerated deflate for compression levels 1 through 6 (#1972057) - IBM CRC32 optimalization rhbz#1959423 * Wed Mar 31 2021 Ondrej Dubaj - 1.2.11-26 - fixed covscan issues for rhel-9 * Fri Feb 12 2021 Michal Schorm - 1.2.11-25 - Remove ancient PPC64 hack - Remove aarch64 optimalizations (#1936823) * Thu Jan 28 2021 Fedora Release Engineering - 1.2.11-24 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Wed Nov 18 2020 Ondrej Dubaj - 1.2.11-23 - backport IBM Z updates to fedora * Wed Jul 29 2020 Fedora Release Engineering - 1.2.11-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Fri Jan 31 2020 Fedora Release Engineering - 1.2.11-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Tue Oct 29 2019 Ondrej Dubaj - 1.2.11-20 - Added -DDFLTCC parameter to configure to enable - Z hardware-accelerated deflate for s390x architectures (#1659433) * Thu Sep 05 2019 Ondrej Dubaj - 1.2.11-19 - IBM CRC32 optimalization for POWER 8+ architectures re-add - fixed firefox crash duer to zlib (#1741266) - added test for crc32 * Thu Aug 15 2019 Ondrej Dubaj - 1.2.11-18 - IBM CRC32 optimalization for POWER 8+ architectures revert * Thu Aug 01 2019 Ondrej Dubaj - 1.2.11-17 - IBM Z hardware-accelerated deflate for s390x architectures - IBM CRC32 optimalization for POWER 8+ architectures * Sat Jul 27 2019 Fedora Release Engineering - 1.2.11-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Sun Feb 03 2019 Fedora Release Engineering - 1.2.11-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Tue Oct 2 2018 Peter Robinson 1.2.11-14 - Bump build * Tue Sep 18 2018 Peter Robinson 1.2.11-13 - Revert aarch64 neon inflate optimisation * Wed Aug 29 2018 Patrik Novotný - 1.2.11-12 - Rename minizip and minizip-devel to minizip-compat and minizip-compat-devel respectively * Thu Aug 23 2018 Patrik Novotný - 1.2.11-11 - Provides minizip-compat and minizip-compat-devel * Fri Aug 03 2018 Pavel Raiskup - 1.2.11-10 - add %%bcond for minizip - use %%make_* macros * Sat Jul 14 2018 Fedora Release Engineering - 1.2.11-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Mon Apr 30 2018 Peter Robinson 1.2.11-8 - Optimisations for aarch64 - Minor spec cleanups * Thu Mar 15 2018 Pavel Raiskup - 1.2.11-7 - don't install crypt.h (rhbz#1424609) * Fri Feb 09 2018 Fedora Release Engineering - 1.2.11-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Fri Feb 02 2018 Igor Gnatenko - 1.2.11-5 - Switch to %%ldconfig_scriptlets * Thu Aug 03 2017 Fedora Release Engineering - 1.2.11-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 1.2.11-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Thu Feb 09 2017 Pavel Raiskup - 1.2.11-2 - fix s390(x) optimizing patch (FTBFS on s390(x)) - simplify ppc64 hack with -O3 * Mon Jan 30 2017 Pavel Raiskup - 1.2.11-1 - latest upstream release (rhbz#1409372) - cleanup rpmlint - revert fix for rhbz#985344 - requires with %%_isa tag - drop zlib Z_BLOCK flush patch (rhbz#1417355) * Fri Feb 05 2016 Fedora Release Engineering - 1.2.8-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Fri Aug 14 2015 Adam Jackson 1.2.8-9 - Link with -z now for full RELRO * Fri Jun 19 2015 Fedora Release Engineering - 1.2.8-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Mon Aug 18 2014 Fedora Release Engineering - 1.2.8-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Wed Aug 6 2014 Tom Callaway - 1.2.8-6 - fix license handling * Sat Jun 07 2014 Fedora Release Engineering - 1.2.8-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Wed Feb 12 2014 jchaloup - 1.2.8-4 - resolves: #1064213 recompiled with -O3 flag for ppc64 arch * Sat Aug 10 2013 Kalev Lember - 1.2.8-3 - resolves: #985344 add a patch to fix missing minizip include * Sun Aug 04 2013 Fedora Release Engineering - 1.2.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Fri Jun 7 2013 Peter Schiffer - 1.2.8-1 - resolves: #957680 updated to 1.2.8 * Fri Feb 15 2013 Fedora Release Engineering - 1.2.7-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Thu Oct 4 2012 Peter Schiffer - 1.2.7-9 - updated patch optimizing deflate on s390(x) architectures * Wed Aug 29 2012 Peter Schiffer - 1.2.7-8 - related: #832545 reverted changes for this bug, static libraries shouldn't be compiled with -fPIC flag * Mon Aug 27 2012 Peter Schiffer - 1.2.7-7 - resolves: #844791 rank Z_BLOCK flush below Z_PARTIAL_FLUSH only when last flush was Z_BLOCK - done some minor .spec file cleanup * Mon Aug 13 2012 Peter Schiffer - 1.2.7-6 - added patch from IBM which optimizes deflate on s390(x) architectures * Thu Aug 02 2012 Peter Schiffer - 1.2.7-5 - resolves: #832545 recompiled with -fPIC flag * Sun Jul 22 2012 Fedora Release Engineering - 1.2.7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Mon Jun 11 2012 Peter Schiffer - 1.2.7-3 - moved /lib* to /usr/lib* * Mon Jun 11 2012 Peter Schiffer - 1.2.7-2 - recompiled with -Wl,-z,relro flags * Thu May 10 2012 Peter Schiffer - 1.2.7-1 - resolves: #785726 - resolves: #805874 update to 1.2.7 * Tue Jan 10 2012 Peter Schiffer - 1.2.5-6 - resolves: #719139 Zlib fails to read zip64 files on 64-bit system * Fri Nov 11 2011 Tom Callaway - 1.2.5-5 - fix minizip to permit uncrypt when NOUNCRYPT is not defined * Wed Apr 6 2011 Ivana Hutarova Varekova - 1.2.5-4 - Resolves: #678603 zlib from minizip allowed NULL pointer parameter of function unzGetCurrentFileInfo * Tue Feb 08 2011 Fedora Release Engineering - 1.2.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Wed Jun 16 2010 Ivana Hutarova Varekova - 1.2.5-2 - Resolves: #591317 pdfedit fails to compile on i686 with zlib.h errors * Thu Apr 22 2010 Ivana Hutarova Varekova - 1.2.5-1 - update to 1.2.5 * Mon Mar 29 2010 Ivana Hutarova Varekova - 1.2.4-1 - update to 1.2.4 use the upstream make/configure files for zlib, change additional makefile/configure file to be used only to minizip add pkgconfig to zlib * Mon Mar 8 2010 Ivana Hutarova Varekova - 1.2.3-25 - add Boost license * Tue Aug 11 2009 Ville Skyttä - 1.2.3-24 - Use bzipped upstream tarball. * Mon Jul 27 2009 Fedora Release Engineering - 1.2.3-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Mar 18 2009 Stepan Kasal - 1.2.3-22 - fix the libz.so symlink * Tue Mar 17 2009 Stepan Kasal - 1.2.3-21 - consolidate the autoconfiscation patches into one and clean it up - consequently, clean up the %%build and %%install sections - zconf.h includes unistd.h again (#479133) * Wed Feb 25 2009 Fedora Release Engineering - 1.2.3-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Mon Dec 1 2008 Ivana Varekova - 1.2.3-19 - fix 473490 - unchecked malloc * Wed Feb 13 2008 Ivana Varekova - 1.2.3-18 - change license tag (226671#c29) * Mon Feb 11 2008 Ivana Varekova - 1.2.3-17 - spec file changes * Fri Nov 23 2007 Ivana Varekova - 1.2.3-16 - remove minizip headers to minizip-devel - spec file cleanup - fix minizip.pc file * Wed Nov 14 2007 Ivana Varekova - 1.2.3-15 - separate static subpackage * Wed Aug 15 2007 Ivana Varekova - 1.2.3-14 - create minizip subpackage * Mon May 21 2007 Ivana Varekova - 1.2.3-13 - remove .so,.a * Mon May 21 2007 Ivana Varekova - 1.2.3-12 - Resolves #240277 Move libz to /lib(64) * Mon Apr 23 2007 Ivana Varekova - 1.2.3-11 - Resolves: 237295 fix Summary tag * Fri Mar 23 2007 Ivana Varekova - 1.2.3-10 - remove zlib .so.* packages to /lib * Fri Mar 9 2007 Ivana Varekova - 1.2.3-9 - incorporate package review feedback * Wed Feb 21 2007 Adam Tkac - 1.2.3-8 - fixed broken version of libz * Tue Feb 20 2007 Adam Tkac - 1.2.3-7 - building is now automatized - specfile cleanup * Tue Feb 20 2007 Ivana Varekova - 1.2.3-6 - remove the compilation part to build section some minor changes * Mon Feb 19 2007 Ivana Varekova - 1.2.3-5 - incorporate package review feedback * Mon Oct 23 2006 Ivana Varekova - 1.2.3-4 - fix #209424 - fix libz.a permissions * Wed Jul 19 2006 Ivana Varekova - 1.2.3-3 - add cflags (#199379) * Wed Jul 12 2006 Jesse Keating - 1.2.3-2 - rebuild * Fri Feb 10 2006 Jesse Keating - 1.2.3-1.2.1 - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating - 1.2.3-1.2 - rebuilt for new gcc4.1 snapshot and glibc changes * Fri Dec 09 2005 Jesse Keating - rebuilt * Wed Aug 24 2005 Florian La Roche - update to 1.2.3 * Fri Jul 22 2005 Ivana Varekova 1.2.2.2-5 - fix bug 163038 - CAN-2005-1849 - zlib buffer overflow * Thu Jul 7 2005 Ivana Varekova 1.2.2.2-4 - fix bug 162392 - CAN-2005-2096 * Wed Mar 30 2005 Ivana Varekova 1.2.2.2-3 - fix bug 122408 - zlib build process runs configure twice * Fri Mar 4 2005 Jeff Johnson 1.2.2.2-2 - rebuild with gcc4. * Sat Jan 1 2005 Jeff Johnson 1.2.2.2-1 - upgrade to 1.2.2.2. * Fri Nov 12 2004 Jeff Johnson 1.2.2.1-1 - upgrade to 1.2.2.1. * Sun Sep 12 2004 Jeff Johnson 1.2.1.2-1 - update to 1.2.1.2 to fix 2 DoS problems (#131385). * Tue Jun 15 2004 Elliot Lee - rebuilt * Tue Mar 02 2004 Elliot Lee - rebuilt * Fri Feb 13 2004 Elliot Lee - rebuilt * Sun Jan 18 2004 Jeff Johnson 1.2.1.1-1 - upgrade to zlib-1.2.1.1. * Sun Nov 30 2003 Florian La Roche - update to 1.2.1 release * Mon Oct 13 2003 Jeff Johnson 1.2.0.7-3 - unrevert zlib.h include constants (#106291), rejected upstream. * Wed Oct 8 2003 Jeff Johnson 1.2.0.7-2 - fix: gzeof not set when reading compressed file (#106424). - fix: revert zlib.h include constants for now (#106291). * Tue Sep 23 2003 Jeff Johnson 1.2.0.7-1 - update to 1.2.0.7, penultimate 1.2.1 release candidate. * Tue Jul 22 2003 Jeff Johnson 1.2.0.3-0.1 - update to release candidate. * Wed Jun 04 2003 Elliot Lee - rebuilt * Mon May 19 2003 Jeff Johnson 1.1.4-9 - rebuild, revert from 1.2.0.1. * Mon Feb 24 2003 Jeff Johnson 1.1.4-8 - fix gzprintf buffer overrun (#84961). * Wed Jan 22 2003 Tim Powers 1.1.4-7 - rebuilt * Thu Nov 21 2002 Elliot Lee 1.1.4-6 - Make ./configure use $CC to ease cross-compilation * Tue Nov 12 2002 Jeff Johnson 1.1.4-5 - rebuild from cvs. * Fri Jun 21 2002 Tim Powers - automated rebuild * Thu May 23 2002 Tim Powers - automated rebuild * Fri Apr 26 2002 Jakub Jelinek 1.1.4-2 - remove glibc patch, it is no longer needed (zlib uses gcc -shared as it should) - run tests and only build the package if they succeed * Thu Apr 25 2002 Trond Eivind Glomsrød 1.1.4-1 - 1.1.4 * Wed Jan 30 2002 Trond Eivind Glomsrød 1.1.3-25.7 - Fix double free * Sun Aug 26 2001 Trond Eivind Glomsrød 1.1.3-24 - Add example.c and minigzip.c to the doc files, as they are listed as examples in the README (#52574) * Mon Jun 18 2001 Trond Eivind Glomsrød - Updated URL - Add version dependency for zlib-devel - s/Copyright/License/ * Wed Feb 14 2001 Trond Eivind Glomsrød - bumped version number - this is the old version without the performance enhancements * Fri Sep 15 2000 Florian La Roche - add -fPIC for shared libs (patch by Fritz Elfert) * Thu Sep 7 2000 Jeff Johnson - on 64bit systems, make sure libraries are located correctly. * Thu Aug 17 2000 Jeff Johnson - summaries from specspo. * Thu Jul 13 2000 Prospector - automatic rebuild * Sun Jul 02 2000 Trond Eivind Glomsrød - rebuild * Tue Jun 13 2000 Jeff Johnson - FHS packaging to build on solaris2.5.1. * Wed Jun 07 2000 Trond Eivind Glomsrød - use %%{_mandir} and %%{_tmppath} * Fri May 12 2000 Trond Eivind Glomsrød - updated URL and source location - moved README to main package * Mon Feb 7 2000 Jeff Johnson - compress man page. * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 5) * Wed Sep 09 1998 Cristian Gafton - link against glibc * Mon Jul 27 1998 Jeff Johnson - upgrade to 1.1.3 * Fri May 08 1998 Prospector System - translations modified for de, fr, tr * Wed Apr 08 1998 Cristian Gafton - upgraded to 1.1.2 - buildroot * Tue Oct 07 1997 Donnie Barnes - added URL tag (down at the moment so it may not be correct) - made zlib-devel require zlib * Thu Jun 19 1997 Erik Troan - built against glibc