diff --git a/.gitignore b/.gitignore index d246baf..a810290 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,3 @@ zziplib-0.13.49.tar.bz2 /v0.13.67.tar.gz /v0.13.68.tar.gz /v0.13.69.tar.gz -/v0.13.71.tar.gz -/v0.13.72.tar.gz -/v0.13.74.tar.gz -/zziplib-0.13.78.tar.gz -/v0.13.78.tar.gz diff --git a/sources b/sources index 4f1e5be..4a02881 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v0.13.78.tar.gz) = e96771c310a1a9eb227027e8c2a495409c01dd273b483b3a04119d6a273cce7c88ba77c192fcde5e85d0a37c847a0df8e521f460d00920e62153400f0743ea78 +SHA512 (v0.13.69.tar.gz) = ade026289737f43ca92a8746818d87dd7618d473dbce159546ce9071c9e4cbe164a6b1c9efff16efb7aa0327b2ec6b34f3256c6bda19cd6e325703fffc810ef0 diff --git a/zziplib-0.13.69-multilib.patch b/zziplib-0.13.69-multilib.patch new file mode 100644 index 0000000..24cf64b --- /dev/null +++ b/zziplib-0.13.69-multilib.patch @@ -0,0 +1,31 @@ +diff -up ./_builddir/zzip/_config.h.orig ./_builddir/zzip/_config.h +--- ./_builddir/zzip/_config.h.orig 2018-07-23 09:11:59.971840954 +0300 ++++ ./_builddir/zzip/_config.h 2018-07-23 09:12:07.438731527 +0300 +@@ -139,6 +139,11 @@ + /* whether the system defaults to 32bit off_t but can do 64bit when requested + */ + /* #undef LARGEFILE_SENSITIVE */ ++#if __WORDSIZE == 32 ++#ifndef ZZIP_LARGEFILE_SENSITIVE ++#define ZZIP_LARGEFILE_SENSITIVE 1 ++#endif ++#endif + + /* Define to the sub-directory where libtool stores uninstalled libraries. */ + #ifndef ZZIP_LT_OBJDIR +@@ -197,6 +202,15 @@ + /* The number of bytes in type short */ + /* #undef SIZEOF_SHORT */ + ++/* The number of bytes in type long */ ++#ifndef ZZIP_SIZEOF_LONG ++#if __WORDSIZE == 32 ++#define ZZIP_SIZEOF_LONG 4 ++#elif __WORDSIZE == 64 ++#define ZZIP_SIZEOF_LONG 8 ++#endif ++#endif ++ + /* Define to 1 if you have the ANSI C header files. */ + #ifndef ZZIP_STDC_HEADERS + #define ZZIP_STDC_HEADERS 1 diff --git a/zziplib.spec b/zziplib.spec index 5f64f51..3ad012d 100644 --- a/zziplib.spec +++ b/zziplib.spec @@ -1,25 +1,23 @@ -# FTBFS with GCC 14, reported upstream, no fix yet -# https://bugzilla.redhat.com/show_bug.cgi?id=2256917 - Summary: Lightweight library to easily extract data from zip files Name: zziplib -Version: 0.13.78 -Release: 6%{?dist} -License: LGPL-2.0-or-later OR MPL-1.1 +Version: 0.13.69 +Release: 1%{?dist} +License: LGPLv2+ or MPLv1.1 +Group: Applications/Archiving URL: http://zziplib.sourceforge.net/ Source: https://github.com/gdraheim/zziplib/archive/v%{version}.tar.gz - -BuildRequires: make -BuildRequires: gcc +Patch0: zziplib-0.13.69-multilib.patch +BuildRequires: gcc BuildRequires: perl-interpreter -BuildRequires: python3 -BuildRequires: python3-rpm-macros +BuildRequires: python2 +BuildRequires: python2-rpm-macros BuildRequires: zip BuildRequires: xmlto BuildRequires: zlib-devel BuildRequires: SDL-devel BuildRequires: pkgconfig -BuildRequires: cmake +#BuildRequires: autoconf +#BuildRequires: automake %description The zziplib library is intentionally lightweight, it offers the ability to @@ -30,6 +28,7 @@ which is actually used by the zip/unzip tools. %package utils Summary: Utilities for the zziplib library +Group: Applications/Archiving Requires: %{name}%{?_isa} = %{version}-%{release} %description utils @@ -43,6 +42,7 @@ This packages contains all the utilities that come with the zziplib library. %package devel Summary: Development files for the zziplib library +Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} Requires: pkgconfig Requires: zlib-devel @@ -60,18 +60,37 @@ zziplib library. %prep %setup -q +# Force py2 for the build +find . -name '*.py' | xargs sed -i 's@#! /usr/bin/python@#! %__python2@g;s@#! /usr/bin/env python@#! %__python2@g' %build -# TODO: Please submit an issue to upstream (rhbz#2381654) -export CMAKE_POLICY_VERSION_MINIMUM=3.5 -%cmake +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +export PYTHON=%__python2 +%configure \ + --disable-static \ + --enable-sdl \ + --enable-frame-pointer \ + --enable-builddir=_builddir +# Remove rpath on 64bit archs +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' */libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' */libtool +# Only patch generated _config.h on non-i686 and armv7hl +# These platforms have a correct _config.h already +%ifnarch i686 armv7hl +cd _builddir +%apply_patch %{PATCH0} -p2 +cd .. +%endif + +%{__make} %{?_smp_mflags} -%cmake_build %install -%cmake_install +make install DESTDIR=%{buildroot} -%ldconfig_scriptlets +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig %files %doc docs/COPYING* ChangeLog README TODO @@ -83,118 +102,13 @@ export CMAKE_POLICY_VERSION_MINIMUM=3.5 %files devel %doc docs/README.SDL docs/*.htm %{_includedir}/* -%{_libdir}/cmake/zziplib/ +%exclude %{_libdir}/*.la %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %{_datadir}/aclocal/*.m4 %{_mandir}/man3/* %changelog -* Tue Jul 22 2026 Jakub Sencak - 0.13.78-6 -- Replaced make macros with cmake macros; the cmake macro defaults to ninja generator instead of make -- Removed obsolete files -- Ship CMake config files in -devel package - -* Fri Jul 17 2026 Fedora Release Engineering - 0.13.78-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Sat Jan 17 2026 Fedora Release Engineering - 0.13.78-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Tue Nov 11 2025 Cristian Le - 0.13.78-3 -- Allow to build with CMake 4.0 (rhbz#2381654) - -* Fri Jul 25 2025 Fedora Release Engineering - 0.13.78-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Jan 22 2025 Jakub Martisko - 0.13.78-1 -- Rebase to 0.13.78 - -* Sun Jan 19 2025 Fedora Release Engineering - 0.13.74-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Jul 20 2024 Fedora Release Engineering - 0.13.74-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu Apr 04 2024 Jakub Martisko - 0.13.74-1 -- Rebase to 0.13.74 - -* Sat Jan 27 2024 Fedora Release Engineering - 0.13.72-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 0.13.72-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed May 17 2023 David Cantrell - 0.13.72-4 -- Update License tag to SPDX identifiers - -* Sat Jan 21 2023 Fedora Release Engineering - 0.13.72-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 0.13.72-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Feb 09 2022 Alexander Bokovoy - 0.13.72-1 -- 0.13.72 -- Fixes CVE-2020-18442 -- Resolves: rhbz#1973831 -- Switch build to CMake, drop 32-bit patches as checks integrated in CMake already - -* Sat Feb 05 2022 Leigh Scott - 0.13.71-7 -- Fix pkgconfig files - -* Sat Jan 22 2022 Fedora Release Engineering - 0.13.71-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Sep 01 2021 Jakub Martisko - 0.13.71-5 -- Use the multilib patches from RHEL -- Resolves ftbfs -Resolves: rhbz#1988061 -Related: rhbz#1915747 - -* Fri Jul 23 2021 Fedora Release Engineering - 0.13.71-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Feb 01 2021 Jakub Martisko - 0.13.71-3 -- Use python3 (versioned) as buildrequires - -* Thu Jan 28 2021 Fedora Release Engineering - 0.13.71-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Thu Jan 21 2021 Jakub Martisko - 0.13.71-1 -- Rebase to 0.13.71 -- Drop the CVE patches, they are now part of the upstream package -- Build no longer requires python2 -- Resolves: 1807565 - -* Wed Jul 29 2020 Fedora Release Engineering - 0.13.69-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 14 2020 Tom Stellard - 0.13.69-8 -- Use make macros -- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro - -* Fri Jan 31 2020 Fedora Release Engineering - 0.13.69-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sat Jul 27 2019 Fedora Release Engineering - 0.13.69-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sun Feb 03 2019 Fedora Release Engineering - 0.13.69-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jan 24 2019 Jakub Martisko - 0.13.69-4 -- Add the missing CVE-2018-17828.part2.patch file -- Fix Formating of the previous 2 changelog entries - -* Thu Jan 24 2019 Jakub Martisko - 0.13.69-3 -- Related: #1626202 -- Resolves: CVE-2018-16548 - -* Thu Jan 24 2019 Jakub Martisko - 0.13.69-2 -- Related: 1635890 -- Resolves: CVE-2018-17828 - * Mon Jul 23 2018 Alexander Bokovoy - 0.13.69-1 - Update to 0.13.69 release - Fixes: #1598246 (CVE-2018-6541)