#!/bin/sh # Set initial variables: CWD=`pwd` if [ "$TMP" = "" ]; then TMP=/tmp fi PKG=$TMP/package-dhcpcd VERSION=1.3.22-pl4 PACKAGE=1.3.22pl4 ARCH=${ARCH:-i486} BUILD=${BUILD:-2} if [ "$ARCH" = "i386" ]; then SLKCFLAGS="-O2 -march=i386 -mcpu=i686" elif [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mcpu=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2" fi if [ ! -d $TMP ]; then mkdir -p $TMP # location to build the source fi rm -rf $PKG mkdir -p $PKG # Explode the package framework: cd $PKG explodepkg $CWD/_dhcpcd.tar.gz cd $TMP rm -rf dhcpcd-$VERSION tar xzvf $CWD/dhcpcd-$VERSION.tar.gz cd dhcpcd-$VERSION chown -R root.root . find . -perm 777 -exec chmod 755 {} \; find . -perm 555 -exec chmod 755 {} \; find . -perm 444 -exec chmod 644 {} \; # Do not use i686 instructions: zcat $CWD/dhcpcd.noarchforce.diff.gz | patch -p1 --verbose || exit # Patch an issue that could allow a user on the same network to crash dhcpcd: zcat $CWD/dhcpcd.CAN-2005-1848.diff.gz | patch -p1 --verbose || exit # i686 code alignment is fine, though: CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr make clean make strip dhcpcd cat dhcpcd > $PKG/sbin/dhcpcd cat dhcpcd.8 | gzip -9c > $PKG/usr/man/man8/dhcpcd.8.gz cat << EOF > $PKG/etc/dhcpc/dhcpcd-eth0.exe #!/bin/sh echo "(dhcpcd) IP address changed to \$1" | logger EOF chmod 750 $PKG/etc/dhcpc/dhcpcd-eth0.exe mkdir -p $PKG/usr/doc/dhcpcd-$VERSION cp -a pcmcia $PKG/usr/doc/dhcpcd-$VERSION cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README dhcpcd*lsm $PKG/usr/doc/dhcpcd-$VERSION mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc # Build the package: cd $PKG makepkg -l y -c n $TMP/dhcpcd-$PACKAGE-$ARCH-$BUILD.tgz