# 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 5.0.1-1 - Updated to 5.0.1 * Tue Mar 13 2018 Harshita Jain 4.2.0-1 - Updated to 4.2.0 * Tue Oct 25 2016 Tony Reix 4.1.4-2 - Use -qalias=noansi in order to have correct optimizations. * Thu Oct 20 2016 Tony Reix 4.1.4-1 - Initial port on AIX 6.1 - Need to use /usr/bin/cc !!! * Wed Feb 01 2012 Gerard Visiedo 4.0.0-2 - Initial port on Aix6.1 * Mon Oct 3 2011 Patricia Cugny 4.0.0-1 - Update to version 4.0.0 * Thu May 27 2010 Jean Noel Cordenner 3.1.8 - Update to version 3.1.8 * Tue Nov 25 2003 David Clissold 3.1.3-1 - Update to version 3.1.3 * Thu Aug 15 2002 David Clissold - packaging bug with libexec dir; symlinking to nowhere. Rel 2 * Wed Jun 06 2001 Marc Stephenson - Version 3.1.0 * Thu Apr 19 2001 David Clissold - Binaries weren't being stripped correctly * Tue Apr 03 2001 David Clissold - Build with -D_LARGE_FILES enabled (for >2BG files) * Wed Mar 21 2001 Marc Stephenson - Rebuild against new shared objects - Use default compiler * Fri Oct 27 2000 pkgmgr - Modify for AIX Freeware distribution * Thu Feb 3 2000 Bernhard Rosenkraenzer - Fix man page symlinks - Fix description - Fix download URL * Wed Jun 30 1999 Jeff Johnson - update to 3.0.4. * Tue Apr 06 1999 Preston Brown - make sure all binaries are stripped * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 6) * Fri Feb 19 1999 Jeff Johnson - Install info pages (#1242). * Fri Dec 18 1998 Cristian Gafton - build for glibc 2.1 - don't package /usr/info/dir * Fri Apr 24 1998 Prospector System - translations modified for de, fr, tr * Wed Apr 08 1998 Cristian Gafton - upgraded to 3.0.3 - added documentation and buildroot * Mon Jun 02 1997 Erik Troan - built against glibc