# 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.14
Release: 1
License: GPL-3.0-or-later AND GFDL-1.3-only 
Group: Applications/File
Source: https://ftp.gnu.org/gnu/gzip/gzip-%{version}.tar.gz 
Prereq: /sbin/install-info
Requires: grep >= 3.7

%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


%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
* Fri Jan 30 2026 Lakshmi Surekha Kovvuri <Lakshmi.Kovvuri@ibm.com> - 1.14-1
- Update to  latest version 1.14.

* Sun Dec 05 2022 Sangamesh Mallayya <smallayy@in.ibm.com>-1.12-3
- Add grep prereq, as command likes zgrep needs grep to be installed.

* Thu Sep 15 2022 Sangamesh Mallayya <smallayy@in.ibm.com>-1.12-2
- Fix partial restore of rpm.rte soft links created in /usr/bin.

* Mon May 09 2022 Rakshitha N <Rakshitha.N2@ibm.com>-1.12-1
- Update to 1.12

* Thu Jan 13 2022 Sushree Das <sushree.das@ibm.com> 1.11-1
- Update to version 1.11

* Tue Aug 06 2019 Baanu Tumma <btumma15@in.ibm.com> 1.10-1
- Update to version 1.10

* Fri Aug 07 2018 Ayappan P <ayappap2@in.ibm.com> 1.8-3
- Fix some packaging issue

* Thu Jul 12 2018 Ayappan P <ayappap2@in.ibm.com> 1.8-2
- Optimized build (gcc -O3)

* Thu Feb 08 2018 Ravi Hirekurabar<rhirekur@in.ibm.com> -1.8-1
- Updated to 1.8 built 64bit version.

* Fri Mar 01 2016 Nitish K Mishra <nitismis@in.ibm.com> 1.6-1
- Update to version 1.6

* Fri Jan 8 2015 Tony Reix <tony.reix@atos.net> 1.6
- Initial port on AIX 61

* Tue Jan 31 2012 Gerard Visiedo <gerard.visiedo@bull.net> 1.4-2
- Initial port on Aix61

* Tue Jun 1 2010 Jean Noel Cordenner <jean-noel.cordenner@bull.net> 1.4
- update to version 1.4
