# Tests by default. No tests: rpm -ba --define 'dotests 0' *.spec %{!?dotests: %define dotests 1} Summary: The GNU versions of grep pattern matching utilities. Name: grep Version: 3.1 Release: 1 License: GPL Group: Applications/Text Source: http://ftp.gnu.org/gnu/grep/grep-%{version}.tar.xz URL: http://www.gnu.org/software/grep Prefix: %{_prefix} Prereq: /sbin/install-info Buildroot: /var/tmp/grep-root %define DEFCC cc %description The GNU versions of commonly used grep utilities. Grep searches through textual input for lines which contain a match to a specified pattern and then prints the matching lines. GNU's grep utilities include grep, egrep and fgrep. You should install grep on your system, because it is a very useful utility for searching through 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 # Use the default compiler for this platform - gcc otherwise #if [[ -z "$CC" ]] #then # if test "X`type %{DEFCC} 2>/dev/null`" != 'X'; then # export CC=%{DEFCC} # export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's:-fsigned-char::'` # else # export CC=gcc # fi #fi # first build the 64-bit version cd 64bit export CC="gcc -maix64" export OBJECT_MODE=64 CFLAGS="$RPM_OPT_FLAGS -D_LARGE_FILES" LDFLAGS=-s \ ./configure --prefix=%{_prefix} --disable-perl-regexp make CFLAGS="$RPM_OPT_FLAGS -D_LARGE_FILES" LDFLAGS=-s if [ "%{dotests}" == 1 ] then (gmake -k check || true) fi #Now build the 32-bit version cd ../32bit export CC="gcc -maix32 -D_LARGE_FILES" export OBJECT_MODE=32 CFLAGS="$RPM_OPT_FLAGS -D_LARGE_FILES" LDFLAGS=-s \ ./configure --prefix=%{_prefix} --disable-perl-regexp make CFLAGS="$RPM_OPT_FLAGS -D_LARGE_FILES" LDFLAGS=-s if [ "%{dotests}" == 1 ] then (gmake -k check || true) fi %install rm -rf ${RPM_BUILD_ROOT} cd 64bit export AR="/usr/bin/ar -X64" export OBJECT_MODE=64 make LDFLAGS=-s prefix=${RPM_BUILD_ROOT}%{_prefix} exec_prefix=${RPM_BUILD_ROOT}%{prefix} install /usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || : ( 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 LDFLAGS=-s prefix=${RPM_BUILD_ROOT}%{_prefix} exec_prefix=${RPM_BUILD_ROOT}%{prefix} install /usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || : ( 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 ) gzip -9f $RPM_BUILD_ROOT%{prefix}/share/info/grep* ( cd $RPM_BUILD_ROOT mkdir -p usr/linux/bin cd usr/linux/bin ln -sf ../../..%{_prefix}/bin/* . ) %clean rm -rf ${RPM_BUILD_ROOT} %post /sbin/install-info --quiet --info-dir=%{_prefix}/share/info %{_prefix}/share/info/grep.info.gz %preun if [ $1 = 0 ]; then /sbin/install-info --quiet --info-dir=%{_prefix}/share/info --delete %{_prefix}/share/info/grep.info.gz fi %files %defattr(-,root,root) %doc 32bit/ABOUT-NLS 32bit/AUTHORS 32bit/THANKS 32bit/TODO 32bit/NEWS 32bit/README 32bit/COPYING 32bit/ChangeLog %{_prefix}/bin/* /usr/linux/bin/* %{_prefix}/share/info/*.info.gz %{_prefix}/share/man/*/* #%{_prefix}/share/locale/*/*/grep.* %changelog * Mon Mar 21 2016 Nitish K Mishra - Update to 2.22 * Tue Nov 04 2014 Sangamesh Mallayya - Update to 2.20 * Wed May 07 2003 David Clissold - Update to 2.5.1. - Patch from last entry now in main code, so not needed. * Fri Jul 06 2001 David Clissold - Add patch to fix problem with "grep -r" not working. * Tue Apr 10 2001 Marc Stephenson - Fix path to install-info in preun * Tue Apr 03 2001 David Clissold - Build with -D_LARGE_FILES enabled (for >2BG files) * Thu Mar 08 2001 Marc Stephenson - Add logic for default compiler - Rebuild against new shared objects * Fri Oct 27 2000 pkgmgr - Modify for AIX Freeware distribution * Thu Feb 03 2000 Bernhard Rosenkraenzer - gzip info pages (Bug #9035) * Wed Feb 02 2000 Cristian Gafton - fix description * Wed Dec 22 1999 Jeff Johnson - update to 2.4. * Wed Oct 20 1999 Bill Nottingham - prereq install-info * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 2) * Mon Mar 08 1999 Preston Brown - upgraded to grep 2.3, added install-info %post/%preun for info * Wed Feb 24 1999 Preston Brown - Injected new description and group. * Sat May 09 1998 Prospector System - translations modified for de, fr, tr * Fri May 01 1998 Cristian Gafton - updated to 2.2 * Thu Oct 16 1997 Donnie Barnes - updated from 2.0 to 2.1 - spec file cleanups - added BuildRoot * Mon Jun 02 1997 Erik Troan - built against glibc