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

rm -rf $PKG
mkdir -p $PKG
( 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 1
# Remove use of SO_BSDCOMPAT which has been obsolete since the 2.2.x kernel series,
# and generates warnings under 2.6.x kernels:
zcat $CWD/bind.so_bsdcompat.diff.gz | patch -p1 --verbose || exit 1
# The man pages should reflect /var/run/named:
zcat $CWD/bind.man.diff.gz | patch -p1 --verbose || exit 1

./configure \
 --prefix=/usr \
 --sysconfdir=/etc \
 --localstatedir=/var \
 --mandir=/usr/man \
 --infodir=/usr/info \
 --with-libtool \
 --enable-shared \
 --enable-threads \
 --with-openssl=/usr \
 --build=$TARGET || exit

make -j2 || exit 1
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
)

# Install init script:
mkdir -p $PKG/etc/rc.d
cp -a $CWD/rc.bind $PKG/etc/rc.d/rc.bind.new
chmod 644 $PKG/etc/rc.d/rc.bind.new
# Add /var/run/named directory:
mkdir -p $PKG/var/run/named $PKG/var/named/caching-example
# Fix library perms:
chmod 755 $PKG/usr/lib/*
( cd $PKG/usr/man/man8 ; rm -rf named-compilezone.8 )
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.root > $PKG/var/named/caching-example/named.root
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
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
makepkg -l y -c n $TMP/bind-$(echo $VERSION | tr - _)-$ARCH-$BUILD.tgz
) 2>&1 | tee $TMP/bind.build.log
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    