# No Testcase run by default. To enable: rpm(or rpmbuild) -ba --define 'dotests 1' gzip*.spec %{!?dotests: %define dotests 0} Summary: The GNU data compression program. Name: gzip Version: 1.12 Release: 3 License: GPL Group: Applications/File Source: https://ftp.gnu.org/gnu/gzip/gzip-%{version}.tar.gz Prereq: /sbin/install-info Requires: grep Buildroot: /var/tmp/gzip-root %description The gzip package contains the popular GNU gzip data compression program. Gzipped files have a .gz extension. Gzip should be installed on your Red Hat Linux system, because it is a very commonly used data compression program. %prep %setup -q mkdir ../32bit mv * ../32bit mv ../32bit . mkdir 64bit cp -rp 32bit/* 64bit/ %build # setup environment for 32-bit and 64-bit builds export RM="/usr/bin/rm -f" export AR="/usr/bin/ar -X32_64" export NM="/usr/bin/nm -X32_64" # First build the 64-bit version cd 64bit export CC="gcc" export CFLAGS="-maix64 -O3" export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib" export OBJECT_MODE=64 ./configure \ --prefix=%{_prefix} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --enable-largefile make %{?_smp_mflags} if [ "%{dotests}" == 1 ] then (gmake -i check || true) fi # Build 32bit version cd ../32bit export CFLAGS="-maix32 -D_LARGE_FILES -O3" export LDFLAGS="-L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" export OBJECT_MODE=32 # To build with 32_bit time_t even though the package requires 64_bit time_t export TIME_T_32_BIT_OK=yes ./configure \ --prefix=%{_prefix} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --enable-largefile \ --disable-year2038 make %{?_smp_mflags} if [ "%{dotests}" == 1 ] then (gmake -i check || true) fi %clean rm -rf $RPM_BUILD_ROOT %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT cd 64bit export AR="/usr/bin/ar -X64" export OBJECT_MODE=64 export CC=/opt/freeware/bin/gcc export CFLAGS="-maix64 -O3" gmake DESTDIR=${RPM_BUILD_ROOT} install ( cd ${RPM_BUILD_ROOT}%{_bindir} for f in * do mv ${f} ${f}_64 done ) cd ../32bit export AR="/usr/bin/ar -X32" export OBJECT_MODE=32 export CC=/opt/freeware/bin/gcc export CFLAGS="-maix32 -D_LARGE_FILES -O3" export LDFLAGS="-L/opt/freeware/lib" make DESTDIR=${RPM_BUILD_ROOT} install /usr/bin/strip -X32_64 ${RPM_BUILD_ROOT}%{_bindir}/* || : ( cd ${RPM_BUILD_ROOT}%{_bindir} for f in $(ls | grep -v -e _32 -e _64) do mv ${f} ${f}_32 ln -sf ${f}_64 ${f} done ) ( cd $RPM_BUILD_ROOT gzip -9fn .%{_infodir}/gzip.info* ) %post /sbin/install-info %{_prefix}/info/gzip.info.gz %{_prefix}/info/dir %preun if [ $1 = 0 ]; then /sbin/install-info --delete %{_prefix}/info/gzip.info.gz %{_prefix}/info/dir fi %posttrans # Reinstate the LPP rpm.rte symlink, they have probably been replaced/removed # Get the LPP rpm.rte version first and check for rpm.rte version because # rpm.rte >= 4.13.0.4 ships files in "/usr/opt/rpm" path and # rpm.rte below that level ships files in "/usr/opt/freeware" ver=$(lslpp -Lc rpm.rte | /usr/bin/awk 'FNR==2' | /usr/bin/awk -F':' '{print $3}') f1=$(echo $ver | /usr/bin/cut -d"." -f1) f2=$(echo $ver | /usr/bin/cut -d"." -f2) f4=$(echo $ver | /usr/bin/cut -d"." -f4) # 3.0.5.x, 4.9.1.3, 4.13.0.x, 4.15.1.x are the various rpm.rte levels # It's enough to compare First, Second & Fourth fields against 4.13.0.4 if [[ ( $f1 -gt 4 ) || ( $f1 -eq 4 && ( ( $f2 -gt 13 ) || ( ( $f2 -eq 13 ) && ( $f4 -ge 4 )))) ]]; then LINK_PATH="/usr/opt/rpm" else LINK_PATH="/usr/opt/freeware" fi for f in gunzip gzexe gzip zcmp zdiff zegrep zfgrep zforce zless zmore znew; do if ! test -e /usr/bin/$f && ! test -h /usr/bin/$f then ln -sf ${LINK_PATH}/bin/$f /usr/bin/$f fi done %files %defattr(-,root,system,-) %doc 32bit/NEWS 32bit/README %{_prefix}/bin/* %{_prefix}/man/* %{_prefix}/info/gzip.info* %changelog * Sun Dec 05 2022 Sangamesh Mallayya -1.12-3 - Add grep prereq, as command likes zgrep needs grep to be installed. * Thu Sep 15 2022 Sangamesh Mallayya -1.12-2 - Fix partial restore of rpm.rte soft links created in /usr/bin. * Mon May 09 2022 Rakshitha N -1.12-1 - Update to 1.12 * Thu Jan 13 2022 Sushree Das 1.11-1 - Update to version 1.11 * Tue Aug 06 2019 Baanu Tumma 1.10-1 - Update to version 1.10 * Fri Aug 07 2018 Ayappan P 1.8-3 - Fix some packaging issue * Thu Jul 12 2018 Ayappan P 1.8-2 - Optimized build (gcc -O3) * Thu Feb 08 2018 Ravi Hirekurabar -1.8-1 - Updated to 1.8 built 64bit version. * Fri Mar 01 2016 Nitish K Mishra 1.6-1 - Update to version 1.6 * Fri Jan 8 2015 Tony Reix 1.6 - Initial port on AIX 61 * Tue Jan 31 2012 Gerard Visiedo 1.4-2 - Initial port on Aix61 * Tue Jun 1 2010 Jean Noel Cordenner 1.4 - update to version 1.4