#!/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=sparc
BUILD=0

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"
elif [ "$ARCH" = "sparc" ]; then
  SLKCFLAGS="-O2"
fi

if [ ! -d $TMP ]; then
  mkdir -p $TMP # location to build the source
fi
if [ ! -d $PKG ]; then
  mkdir -p $PKG # place for the package to be built
fi

# Explode the package framework:
cd $PKG
explodepkg $CWD/_dhcpcd.tar.gz

echo "+===================+"
echo "| dhcpcd-$VERSION |"
echo "+===================+"
cd $TMP
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
# i686 code alignment is fine, though.

# Stupid hack to make dhcpcd's build use our aclocal/automake stuff
# ***FIXME*** properly please!
zcat $CWD/patches-splack/dhcpcd-1.3.22_pl4-automakeversionhack-1.diff.gz | \
  patch -p0 --verbose --backup --suffix=.orig -E

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

# Clean up the extra stuff:
if [ "$1" = "--cleanup" ]; then
 rm -rf $TMP/dhcpcd-$VERSION
 rm -rf $PKG
fi
