#!/bin/sh
CWD=`pwd`
TMP=/tmp
PKG=$TMP/package-bind
VERSION=9.3.4
PVER=9.3.4
ARCH=alpha
BUILD=1
TARGET=$ARCH-alphaslack-linux

rm -rf $PKG
mkdir -p $PKG
# Explode the package framework:
cd $PKG
explodepkg $CWD/_bind.tar.gz
( cd $TMP
rm -rf bind-$VERSION
tar xzf $CWD/bind-$VERSION.tar.gz
cd bind-$VERSION
chown -R root.root .
find . -perm 775 -exec chmod 755 {} \;
find . -perm 664 -exec chmod 644 {} \;
# We want to use /var/run/named/, not just /var/run/.
# This allows changing the ownership of that directory if we want to run
# named as a non-root user.
zcat $CWD/bind.var.run.named.diff.gz | patch -p1 --verbose || exit
# Threads break '-u' on Linux (for now)
./configure \
 --prefix=/usr \
 --sysconfdir=/etc \
 --localstatedir=/var \
 --mandir=/usr/man \
 --infodir=/usr/info \
 --with-libtool \
 --enable-shared \
 --with-openssl=/usr \
 $TARGET || exit
make || exit
make DESTDIR=$PKG install

cat contrib/named-bootconf/named-bootconf.sh > $PKG/usr/sbin/named-bootconf.sh
( cd $PKG/usr/sbin ; rm -rf lwresd )
( cd $PKG/usr/sbin ; ln -sf named lwresd )
( cd $PKG/usr/lib ; chmod 755 *.so.* )
( cd $PKG/usr/bin ; chown -R root:bin . )
( cd $PKG/usr/sbin ; chown -R root:bin . )
mkdir -p $PKG/usr/doc/bind-$VERSION
cp -a CHANGES COPYRIGHT FAQ README $PKG/usr/doc/bind-$VERSION
( cd $PKG/usr/doc/bind-$VERSION ; find . -type f | xargs chmod 644 )
( cd $PKG
  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
gzip -9f $PKG/usr/man/man?/*
# Add sample config files for a simple caching nameserver:
cat $CWD/caching-example/named.conf > $PKG/etc/named.conf.new
cat $CWD/caching-example/localhost.zone > $PKG/var/named/caching-example/localhost.zone
cat $CWD/caching-example/named.ca > $PKG/var/named/caching-example/named.ca
cat $CWD/caching-example/named.local > $PKG/var/named/caching-example/named.local
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
makepkg -l y -c n $TMP/bind-$VERSION-$ARCH-$BUILD.tgz
) 2>&1 | tee $TMP/bind.build.log
