# Tests by default. No tests: rpm -ba --define 'dotests 0' *.spec
%{!?dotests: %define dotests 1}


Summary: The GNU version of the awk text processing utility.
Name: gawk
Version: 5.0.1 
Release:1 
License: GPL
Group: Applications/Text
URL: http://www.gnu.org/software/gawk
Source0: ftp://ftp.gnu.org/gnu/gawk/gawk-%{version}.tar.xz
Source1: gawk-buildlog
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-root
BuildRequires: gettext 
BuildRequires: readline-devel 
Requires: gettext >= 0.19.8.1-3
Requires: readline >= 7.0-1
Requires: mpfr >= 3.1.2
Requires: gmp >= 6.1.2
Requires: /sbin/install-info

%define DEFCC cc

%description
The gawk package contains the GNU version of awk, a text processing
utility.  Awk interprets a special-purpose programming language to do
quick and easy text pattern matching and reformatting jobs.

Install the gawk package if you need a text processing utility. Gawk is
considered to be a standard tool for processing text.


%prep
%setup -q

# 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

#first build the 64bit version
cd 64bit
export CC="gcc -maix64"
export CFLAGS="$RPM_OPT_FLAGS"
export OBJECT_MODE=64
export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib"

./configure --prefix=%{_prefix} \
--mandir=%{_mandir} \
--libdir=%{_libdir}64 \
--infodir=%{_infodir}

gmake

#If the build user does not have root access, the pty1 and pty2 test will hang

if [ "%{dotests}" == 1 ]
then
( gmake -k check || true )
fi

#Now build the 32bit version
cd ../32bit
export CC="gcc -maix32 -D_LARGE_FILES"
export CFLAGS="$RPM_OPT_FLAGS -D_LARGE_FILES"
export OBJECT_MODE=32
export LDFLAGS="-L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000"

./configure --prefix=%{_prefix} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--infodir=%{_infodir}

gmake

#If the build user does not have root access, the pty1 and pty2 test will hang

if [ "%{dotests}" == 1 ]
then
( gmake -k 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 LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib"
export CFLAGS=" -maix64 -O2"

make DESTDIR=${RPM_BUILD_ROOT} install
/usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || :
(
  cd ${RPM_BUILD_ROOT}%{_bindir}
  for f in $(ls -1| grep -v -e _32 -e _64)
  do
    mv ${f} ${f}_64
  done
)

cd ../32bit
export AR="/usr/bin/ar -X32"
export OBJECT_MODE=32
make DESTDIR=${RPM_BUILD_ROOT} install
/usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || :
(
  cd ${RPM_BUILD_ROOT}%{_bindir}
  for f in $(ls -1| grep -v -e _32 -e _64) 
  do
    mv ${f} ${f}_32
  done
)
(
  cd ${RPM_BUILD_ROOT}%{_bindir}
  ln -sf gawk_32 awk_32
  ln -sf gawk_64 awk_64
  ln -sf gawk awk
)

# Make 64bit executable as default
(
  cd ${RPM_BUILD_ROOT}%{_bindir}
  for f in gawk gawk-5.1.0 #igawk
  do
    ln -sf ${f}_64 ${f}
  done
)

ln -sf gawk.1 ${RPM_BUILD_ROOT}%{_mandir}/man1/awk.1

(
  cd ${RPM_BUILD_ROOT}
  gzip -9nf .%{_infodir}/gawk.info*
  gzip -9nf .%{_infodir}/gawkinet.info*

 for dir in bin lib share
 do
    mkdir -p usr/$dir
    cd usr/$dir
    ln -sf ../..%{_prefix}/$dir/* .
    cd -
 done
 rm usr/bin/awk*
 mkdir -p usr/linux/bin
 ln -sf ../../..%{_prefix}/bin/awk usr/linux/bin
)

%clean
[ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT}


%post
/sbin/install-info %{_infodir}/gawk.info.gz %{_infodir}/dir || :
/sbin/install-info %{_infodir}/gawkinet.info.gz %{_infodir}/dir || :

%preun
if [ $1 = 0 ]; then
   /sbin/install-info --delete %{_infodir}/gawk.info.gz %{_infodir}/dir || :
   /sbin/install-info --delete %{_infodir}/gawkinet.info.gz %{_infodir}/dir || :
fi


%files
%defattr(-,root,system)
%doc 64bit/ABOUT-NLS 64bit/AUTHORS
%doc 64bit/README 64bit/COPYING 64bit/INSTALL 64bit/NEWS
%doc 64bit/README_d 64bit/POSIX.STD
%dir %{_prefix}/share/awk
%dir %{_prefix}/libexec/awk
%{_bindir}/*
%{_mandir}/man1/*
%{_infodir}/gawk*info*
%{_prefix}/libexec/awk/*
%{_prefix}/share/awk/*
%{_prefix}/share/locale/*/LC_MESSAGES/*
/usr/bin/*
/usr/linux/bin/*
/usr/share/awk


%changelog
* Thu Nov 14 2019 Beulah Praiselin J<bpraise1@in.ibm.com> 5.0.1-1
- Updated to 5.0.1
 
* Tue Mar 13 2018 Harshita Jain<harjain9@in.ibm.com> 4.2.0-1
- Updated to 4.2.0

* Tue Oct 25 2016 Tony Reix <tony.reix@bull.net> 4.1.4-2
- Use -qalias=noansi in order to have correct optimizations.

* Thu Oct 20 2016 Tony Reix <tony.reix@bull.net> 4.1.4-1
- Initial port on AIX 6.1
- Need to use /usr/bin/cc !!!

* Wed Feb 01 2012 Gerard Visiedo <gerard.visiedo@bull.net> 4.0.0-2
- Initial port on Aix6.1

* Mon Oct 3 2011 Patricia Cugny <patricia.cugny@bull.net> 4.0.0-1
- Update to version 4.0.0

* Thu May 27 2010 Jean Noel Cordenner <jean-noel.cordenner@bull.net> 3.1.8
- Update to version 3.1.8

* Tue Nov 25 2003 David Clissold <cliss@austin.ibm.com> 3.1.3-1
- Update to version 3.1.3

* Thu Aug 15 2002 David Clissold <cliss@austin.ibm.com>
- packaging bug with libexec dir; symlinking to nowhere. Rel 2

* Wed Jun 06 2001 Marc Stephenson <marc@austin.ibm.com>
- Version 3.1.0

* Thu Apr 19 2001 David Clissold <cliss@austin.ibm.com>
- Binaries weren't being stripped correctly

* Tue Apr 03 2001 David Clissold <cliss@austin.ibm.com>
- Build with -D_LARGE_FILES enabled (for >2BG files)

* Wed Mar 21 2001 Marc Stephenson <marc@austin.ibm.com>
- Rebuild against new shared objects
- Use default compiler

* Fri Oct 27 2000 pkgmgr <pkgmgr@austin.ibm.com>
- Modify for AIX Freeware distribution

* Thu Feb  3 2000 Bernhard Rosenkraenzer <bero@redhat.com>
- Fix man page symlinks
- Fix description
- Fix download URL

* Wed Jun 30 1999 Jeff Johnson <jbj@redhat.com>
- update to 3.0.4.

* Tue Apr 06 1999 Preston Brown <pbrown@redhat.com>
- make sure all binaries are stripped

* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
- auto rebuild in the new build environment (release 6)

* Fri Feb 19 1999 Jeff Johnson <jbj@redhat.com>
- Install info pages (#1242).

* Fri Dec 18 1998 Cristian Gafton <gafton@redhat.com>
- build for glibc 2.1
- don't package /usr/info/dir

* Fri Apr 24 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr

* Wed Apr 08 1998 Cristian Gafton <gafton@redhat.com>
- upgraded to 3.0.3
- added documentation and buildroot

* Mon Jun 02 1997 Erik Troan <ewt@redhat.com>
- built against glibc

