#!/bin/bash # iproute2.SlackBuild # Heavily based on the original Slackware build scripts, # Modified by Stuart Winter # 24-Oct-2004 # Record toolchain & other info for the build log: slackbuildinfo # Paths to skeleton port's source & real Slackware source tree: export CWD=$SLACKSOURCE/$PKGSERIES/$PKGNAM export PORTCWD=$PWD # Temporary build locations: export TMPBUILD=$TMP/build-$PKGNAM export PKG=$TMP/package-$PKGNAM mkpkgdirs # Delete & re-create temporary directories then cd into $TMPBUILD # Determine the CFLAGS for the known architectures: case $ARCH in arm) export SLKCFLAGS="-O2 -march=armv4t" export LIBDIRSUFFIX="" ;; *) export SLKCFLAGS="-O2" ;; esac # Extract source: tar xvvf $CWD/$PKGNAM-$VERSION.tar.bz2 cd $PKGNAM-* || exit 1 slackhousekeeping # Fix up path to bdb and iptables libs zcat $CWD/iproute2-2.6.33-fixup_dbpath_and_iptablespath.diff.gz | sed \ -e "s,@LIBDIR@,/usr/lib${LIBDIRSUFFIX},g" \ -e "s,@VERSION@,$VERSION,g" | patch -p1 || exit 1 # Use our custom SLKCFLAGS sed -i "s/-O2 /-O2 -fPIC /" Makefile # Build: ./configure # This is okay, really :-) make $NUMJOBS || exit 1 # Install: mkdir -p $PKG/usr make install LIBDIR=/usr/lib${LIBDIRSUFFIX} DESTDIR=$PKG/usr/ || exit 1 # I can't seem to make this go to the right place on x86_64, but all the # relevant stuff looks correct :/ [ "$ARCH" = "x86_64" ] && mv $PKG/usr/lib $PKG/usr/lib${LIBDIRSUFFIX} # This stuff has always been installed under /sbin rather than # /usr/sbin, as the latter could possibly be network-mounted, and # these utilities may be needed to set up that network, so move # them appropriately, but leave symlinks in /usr/sbin so that # any scripts using absolute paths will work either way: mkdir $PKG/sbin mv $PKG/usr/sbin/* $PKG/sbin ( cd $PKG/usr/sbin for file in ../../sbin/* ; do ln -sf $file . done ) mv $PKG/usr/etc $PKG # Don't clobber existing config files for file in $PKG/etc/iproute2/* ; do mv $file ${file}.new done # Remove junk: [ -d $PKG/usr/usr ] && rm -r $PKG/usr/usr [ -d $PKG/usr/var ] && rm -r $PKG/usr/var mkdir -p $PKG/var/lib/arpd mkdir -p $PKG/usr/doc/iproute2-$VERSION cp -a COPYING RE* \ $PKG/usr/doc/iproute2-$VERSION # If necessary, start the fakeroot server so we can set file/dir ownerships: start_fakeroot # Apply generic Slackware packaging policies: cd $PKG slackstripall # strip all .a archives and all ELFs slackgzpages -i # compress man & info pages and delete usr/info/dir slackslack # chown -R root:root, chmod -R og-w, slackchown, slack644docs slackdesc # install slack-desc and doinst.sh # Replace version number with a _ so it doesn't get confused with # the package name. export VERSION="$( echo $VERSION | sed 's?-?_?g' )" export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.tgz slackmp # run makepkg -l y -c n # Perform any final checks on the package: cd $PKG slackhlinks # search for any hard links