Summary: A file compression utility Name: bzip2 Version: 1.0.8 Release: 1 License: BSD Group: Applications/File URL: http://www.bzip.org/ Source0: http://www.bzip.org/%{version}/%{name}-%{version}.tar.gz Source1: %{name}-Makefile-aix Patch1: %{name}-%{version}-aix.patch BuildRoot: /var/tmp/%{name}-%{version}-%{release}-root Requires: libgcc >= 6.3.0-2 %description Bzip2 is a freely available, patent-free, high quality data compressor. Bzip2 compresses files to within 10 to 15 percent of the capabilities of the best techniques available. However, bzip2 has the added benefit of being approximately two times faster at compression and six times faster at decompression than those techniques. Bzip2 is not the fastest compression utility, but it does strike a balance between speed and compression capability. Install bzip2 if you need a compression utility. The library is available as 32-bit and 64-bit. %package devel Summary: Header files developing apps which will use bzip2 Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel Header files of bzip2 functions, for developing apps which will use the library. If you are compiling a 32-bit program, no special compiler options are needed. If you are compiling a 64-bit program, you have to compile and link your application with "cc -q64" or "gcc -maix64". %prep export PATH=/opt/freeware/bin:$PATH %setup -q %patch1 -p0 cp %{SOURCE1} Makefile-aix # Duplicate source for 32 & 64 bits rm -rf /tmp/%{name}-%{version}-32bit mkdir /tmp/%{name}-%{version}-32bit mv * /tmp/%{name}-%{version}-32bit mkdir 32bit mv /tmp/%{name}-%{version}-32bit/* 32bit rm -rf /tmp/%{name}-%{version}-32bit mkdir 64bit cp -rp 32bit/* 64bit/ %build # don't allow -I/opt/freeware/include export CFLAGS="-qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I." # setup environment for 32-bit and 64-bit builds export AR="ar -X32_64" echo "######### %{_docdir} #######" # first build the 64-bit version cd 64bit export CC="gcc -maix64" export OBJECT_MODE=64 make -f Makefile-aix /usr/vac/bin/CreateExportList -X64 libbz2.exp libbz2.a ${CC} -shared libbz2.a -o libbz2.so.1 -Wl,-bE:libbz2.exp rm -f libbz2.exp ${AR} -rv tmp_libbz2.a libbz2.so.1 mv tmp_libbz2.a libbz2.a # now build the 32-bit version cd ../32bit export CC="gcc -maix32" export OBJECT_MODE=32 make -f Makefile-aix /usr/vac/bin/CreateExportList -X32 libbz2.exp libbz2.a ${CC} -shared libbz2.a -o libbz2.so.1 -Wl,-bE:libbz2.exp rm -f libbz2.exp ${AR} -q tmp_libbz2.a libbz2.so.1 ${AR} -q tmp_libbz2.a ../64bit/libbz2.so.1 mv tmp_libbz2.a libbz2.a make CC="${CC}" CFLAGS="-O2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES" LDFLAGS="-Wl,-bmaxdata:0x80000000 -L/opt/freeware/lib" \ %{?_smp_mflags} all %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT cd 64bit export AR="/usr/bin/ar -X64" export OBJECT_MODE=64 make PREFIX=$RPM_BUILD_ROOT install CFLAGS="-maix64" mkdir -p $RPM_BUILD_ROOT%{_bindir} mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 mkdir -p $RPM_BUILD_ROOT%{_libdir}64 mkdir -p $RPM_BUILD_ROOT%{_libdir} mkdir -p $RPM_BUILD_ROOT%{_includedir} mv $RPM_BUILD_ROOT/bin/* $RPM_BUILD_ROOT%{_bindir}/ mv $RPM_BUILD_ROOT/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1/ mv $RPM_BUILD_ROOT/lib/* $RPM_BUILD_ROOT%{_libdir}64 mv $RPM_BUILD_ROOT/include/* $RPM_BUILD_ROOT%{_includedir} ( cd ${RPM_BUILD_ROOT}/%{_prefix}/bin for fic in $(ls -1| grep -v -e _32 -e _64) do mv $fic "$fic"_64 done ) cd ../32bit export AR="/usr/bin/ar -X32" export OBJECT_MODE=32 make PREFIX=$RPM_BUILD_ROOT install mv $RPM_BUILD_ROOT/bin/* $RPM_BUILD_ROOT%{_bindir}/ mv $RPM_BUILD_ROOT/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1/ mv $RPM_BUILD_ROOT/lib/* $RPM_BUILD_ROOT%{_libdir} mv $RPM_BUILD_ROOT/include/* $RPM_BUILD_ROOT%{_includedir} rm -f $RPM_BUILD_ROOT%{_bindir}/bzcmp* rm -f $RPM_BUILD_ROOT%{_bindir}/bzegrep* rm -f $RPM_BUILD_ROOT%{_bindir}/bzfgrep* rm -f $RPM_BUILD_ROOT%{_bindir}/bzless* ( cd ${RPM_BUILD_ROOT}/%{_prefix}/bin for fic in $(ls -1| grep -v -e _32 -e _64) do mv $fic "$fic"_32 ln -sf "$fic"_64 $fic done ) ( cd $RPM_BUILD_ROOT for dir in bin lib lib64 include do mkdir -p usr/$dir cd usr/$dir ln -sf ../..%{_prefix}/$dir/* . cd - done ) /usr/bin/strip -X32_64 ${RPM_BUILD_ROOT}%{_bindir}/* || : %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %doc 32bit/LICENSE 32bit/CHANGES 32bit/README %{_bindir}/* %{_libdir}/*.a %{_libdir}64/*.a %{_mandir}/man?/* /usr/bin/* /usr/lib/* /usr/lib64/* %files devel %defattr(-,root,system,-) %docdir /opt/freeware/doc/bzip2-1.0.6 %doc 32bit/manual.html 32bit/manual.pdf %{_includedir}/* /usr/include/* %changelog * Wed Sep 4 2019 Baanu Tumma - 1.0.8-1 - Update to latest version to fix CVE-2019-12900 * Mon Jan 1 2018 Sangamesh Mallayya 1.0.6-3 - Rebuilt to ship the original wrapper scripts. - Some commands are shipped as wrapper script on top of gzip command to pass -d option. - Rebuilt with -DLARGE_FILE support option. * Tue Jan 31 2012 Gerard Visiedo 1.0.6-2 - Initial port on Aix6.1 * Fri Jun 10 2011 Gerard Visiedo 1.0.6 - Update to 1.0.6 * Fri Jun 4 2010 Jean Noel Cordenner 1.0.5 - Update to 1.0.5 * Tue Mar 08 2005 David Clissold 1.0.2-3 - Clean up; build 64-bit libbz.a member * Fri Nov 22 2002 David Clissold - Add IBM ILA license. * Fri Apr 19 2002 David Clissold - Update to version 1.0.2. * Thu Mar 22 2001 Marc Stephenson - Build both 32- and 64-bit libraries * Thu Feb 15 2001 aixtoolbox - Account for different standard lib location in IA64 32-bit ABI