%ifos aix6.1 || %ifos aix7.1 %global p7build 1 %else %global p7build 0 %endif Summary: A utility for unpacking zip files Name: unzip Version: 6.0 %if %{p7build} Release: 6.p7 %else Release: 6 %endif License: BSD Group: Applications/Archiving Source0: ftp://ftp.info-zip.org/pub/infozip/src/unzip60.tar.gz # Upstream plans to do similar thing. Patch3: unzip-6.0-close.patch # Details in rhbz#532380. # Reported to upstream: http://www.info-zip.org/board/board.pl?m-1259575993/ Patch4: unzip-6.0-attribs-overflow.patch Patch6: unzip-6.0-manpage-fix.patch # Update match.c with recmatch() from zip 3.0's util.c # This also resolves the license issue in that old function. # Original came from here: https://projects.parabolagnulinux.org/abslibre.git/plain/libre/unzip-libre/match.patch Patch7: unzip-6.0-fix-recmatch.patch # Update process.c Patch8: unzip-6.0-symlink.patch # change using of macro "case_map" by "to_up" Patch9: unzip-6.0-caseinsensitive.patch Patch11: unzip-6.0-valgrind.patch Patch12: unzip-6.0-x-option.patch Patch13: unzip-6.0-overflow.patch Patch14: unzip-6.0-cve-2014-8139.patch Patch15: unzip-6.0-cve-2014-8140.patch Patch16: unzip-6.0-cve-2014-8141.patch Patch17: unzip-6.0-overflow-long-fsize.patch # Fix heap overflow and infinite loop when invalid input is given (#1260947) Patch18: unzip-6.0-heap-overflow-infloop.patch # support non-{latin,unicode} encoding Patch19: unzip-6.0-alt-iconv-utf8.patch Patch20: unzip-6.0-alt-iconv-utf8-print.patch Patch21: 0001-Fix-CVE-2016-9844-rhbz-1404283.patch URL: http://www.info-zip.org/pub/infozip/UnZip.html BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: patch BuildRequires: libiconv >= 1.15-1 Requires: libiconv >= 1.15-1 %if %{p7build} BuildRequires: bzip2 >= 1.0.5-3 Requires: bzip2 >= 1.0.5-3 %else BuildRequires: bzip2 >= 1.0.2-4 Requires: bzip2 >= 1.0.2-4 %endif %description The unzip utility is used to list, test, or extract files from a zip archive. Zip archives are commonly found on MS-DOS systems. The zip utility, included in the zip package, creates zip archives. Zip and unzip are both compatible with archives created by PKWARE(R)'s PKZIP for MS-DOS, but the programs' options and default behaviors do differ in some respects. Install the unzip package if you need to list, test or extract files from a zip archive. %prep %setup -q -n %{name}60 export PATH=/opt/freeware/bin:$PATH %patch3 -p1 -b .close %patch4 -p1 -b .attribs-overflow %patch6 -p1 -b .manpage-fix %patch7 -p1 -b .recmatch %patch8 -p1 -b .symlink %patch9 -p1 -b .caseinsensitive %patch11 -p1 -b .valgrind %patch12 -p1 -b .x-option %patch13 -p1 -b .overflow %patch14 -p1 -b .cve-2014-8139 %patch15 -p1 -b .cve-2014-8140 %patch16 -p1 -b .cve-2014-8141 %patch17 -p1 -b .overflow-long-fsize %patch18 -p1 -b .heap-overflow-infloop %patch19 -p1 -b .utf %patch20 -p1 -b .utf-print %patch21 -p1 -b .cve-2016-9844 %build # IZ_HAVE_UXUIDGID is needed for right functionality of unzip -X %if %{p7build} make -f unix/Makefile aix CC="xlc_r" CF="-D_FILE_OFFSET_BITS=64 -DLARGE_FILE_SUPPORT -DNO_LCHMOD -O3 -qstrict -qmaxmem=-1 -qarch=pwr7 -qtune=pwr7 -I. -DUSE_BZIP2 -DIZ_HAVE_UXUIDGID" L_BZ2="-lbz2" LFLAGS1="-Wl,-blibpath:/opt/freeware/lib:/usr/vac/lib:/usr/lib:/lib /opt/freeware/lib/libiconv.a" %else make -f unix/Makefile aix CC="xlc_r" CF="-D_FILE_OFFSET_BITS=64 -DLARGE_FILE_SUPPORT -DNO_LCHMOD -O3 -qstrict -qmaxmem=-1 -I. -DUSE_BZIP2 -DIZ_HAVE_UXUIDGID" L_BZ2="-lbz2" LFLAGS1="-Wl,-blibpath:/opt/freeware/lib:/usr/vac/lib:/usr/lib:/lib /opt/freeware/lib/libiconv.a" %endif %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} make prefix=${RPM_BUILD_ROOT}%{_prefix} install /usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || : cd ${RPM_BUILD_ROOT} mkdir -p usr/bin cd usr/bin ln -sf ../..%{_bindir}/* . %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system) %doc BUGS LICENSE README WHERE %{_bindir}/* %{_mandir}/man1/* /usr/bin/* %changelog * Fri Jul 07 2017 Michael Perzl - 6.0-6 - added latest 2016 CVE patch * Wed Jul 27 2016 Michael Perzl - 6.0-5 - rebuilt optimized version * Thu Jan 21 2016 Michael Perzl - 6.0-4 - incorporated all patches from the latest Fedora version * Thu Jan 21 2016 Michael Perzl - 6.0-3 - skipped this release to by in sync with unzip_64 again * Wed Nov 24 2010 Michael Perzl - 6.0-2 - added largefile support, added bzip2 capabilities * Tue Jul 07 2009 Michael Perzl - 6.0-1 - updated to version 6.0 * Fri Nov 28 2008 Michael Perzl - 5.52-2 - added symbolic links from /opt/freeware/bin to /usr/bin * Tue Apr 22 2008 Michael Perzl - 5.52-1 - first version for AIX V5.1 and higher