diff options
Diffstat (limited to 'source/a/patch/patch.SlackBuild')
-rwxr-xr-x | source/a/patch/patch.SlackBuild | 77 |
1 files changed, 63 insertions, 14 deletions
diff --git a/source/a/patch/patch.SlackBuild b/source/a/patch/patch.SlackBuild index fb0c06d98..1175620b6 100755 --- a/source/a/patch/patch.SlackBuild +++ b/source/a/patch/patch.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2009 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2005-2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,10 +20,19 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=2.5.4 -ARCH=${ARCH:-x86_64} +VERSION=2.6.1 BUILD=${BUILD:-1} +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-patch @@ -31,23 +40,35 @@ PKG=$TMP/package-patch rm -rf $PKG mkdir -p $TMP $PKG +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + cd $TMP rm -rf patch-${VERSION} -tar xzvf $CWD/patch-${VERSION}.tar.gz +tar xvf $CWD/patch-${VERSION}.tar.xz || exit 1 cd patch-${VERSION} chown -R root:root . -mkdir -p $PKG/usr/doc/patch-${VERSION} -cp -a AUTHORS COPYING NEWS README $PKG/usr/doc/patch-${VERSION} -chmod 644 $PKG/usr/doc/patch-${VERSION}/* +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ - $ARCH-slackware-linux -make CFLAGS=-O2 || exit 1 -mkdir -p $PKG/usr/bin -cat patch > $PKG/usr/bin/patch -chmod 755 $PKG/usr/bin/patch -mkdir -p $PKG/usr/man/man1 -cat patch.man | gzip -9c > $PKG/usr/man/man1/patch.1.gz + --mandir=/usr/man \ + --build=$ARCH-slackware-linux + +make -j4 || make || exit 1 +make install DESTDIR=$PKG # Strip everything for good measure: ( cd $PKG @@ -55,6 +76,34 @@ cat patch.man | gzip -9c > $PKG/usr/man/man1/patch.1.gz find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/usr/doc/patch-${VERSION} +cp -a \ + AUTHORS COPYING* NEWS README* \ + $PKG/usr/doc/patch-${VERSION} + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc |