diff options
Diffstat (limited to 'network/nsd/nsd.SlackBuild')
-rw-r--r-- | network/nsd/nsd.SlackBuild | 100 |
1 files changed, 48 insertions, 52 deletions
diff --git a/network/nsd/nsd.SlackBuild b/network/nsd/nsd.SlackBuild index e1370d03a2..b3a40a706a 100644 --- a/network/nsd/nsd.SlackBuild +++ b/network/nsd/nsd.SlackBuild @@ -1,8 +1,8 @@ -#!/bin/sh +#!/bin/bash -# Slackware build script for YADIFA, Authoritative DNS server +# Slackware build script for NSD, Authoritative DNS server -# Copyright (c) 2017, Sergey Fedosov <eleksir@gmail.com> +# Copyright (c) 2017-2020 Sergey Fedosov <eleksir@gmail.com> # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,12 +22,15 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) + PRGNAM=nsd USER=$PRGNAM GROUP=$PRGNAM -VERSION=${VERSION:-4.1.15} +VERSION=${VERSION:-4.3.3} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} if ! grep -q "^nsd:" /etc/group; then echo "$0: Error: $PRGNAM group ($GROUP) doesn't exist." @@ -51,7 +54,14 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} @@ -78,7 +88,7 @@ cd "$TMP" rm -rf "$PRGNAM-$VERSION" tar xvf "$CWD/$PRGNAM-$VERSION.tar.gz" cd "$PRGNAM-$VERSION" -chown -R root:root . +#chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ -o -perm 511 \) -exec chmod 755 {} \; -o \ @@ -88,25 +98,25 @@ find -L . \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ ---prefix=/usr \ ---bindir=/usr/bin \ ---sbindir=/usr/sbin \ ---libexecdir=/usr/libexec \ ---sysconfdir=/etc \ ---localstatedir=/var \ ---libdir=/usr/lib \ ---enable-ratelimit \ ---enable-ratelimit-default-is-off \ ---with-nsd_conf_file="/etc/$PRGNAM/$PRGNAM.conf" \ ---with-configdir="/var/lib/$USER" \ ---with-logfile="/var/log/$PRGNAM/$PRGNAM.log" \ ---with-pidfile="/var/run/$PRGNAM/$PRGNAM.pid" \ ---with-dbfile="/var/lib/$USER/$PRGNAM.db" \ ---with-zonesdir="/var/lib/$USER/zones" \ ---with-xfrdfile="/var/lib/$USER/$PRGNAM.xfrd" \ ---with-zonelistfile="/var/lib/$USER/$PRGNAM.zones" \ ---with-xfrdir="/var/lib/$USER/xfrd" \ ---with-user=$USER + --prefix=/usr \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --libexecdir=/usr/libexec \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libdir=/usr/lib \ + --enable-ratelimit \ + --enable-ratelimit-default-is-off \ + --with-nsd_conf_file="/etc/$PRGNAM/$PRGNAM.conf" \ + --with-configdir="/var/lib/$USER" \ + --with-logfile="/var/log/$PRGNAM/$PRGNAM.log" \ + --with-pidfile="/var/run/$PRGNAM/$PRGNAM.pid" \ + --with-dbfile="/var/lib/$USER/$PRGNAM.db" \ + --with-zonesdir="/var/lib/$USER/zones" \ + --with-xfrdfile="/var/lib/$USER/$PRGNAM.xfrd" \ + --with-zonelistfile="/var/lib/$USER/$PRGNAM.zones" \ + --with-xfrdir="/var/lib/$USER/xfrd" \ + --with-user=$USER make make install DESTDIR="$PKG" @@ -115,39 +125,25 @@ find "$PKG" -print0 | xargs -0 file | grep -e "executable" -e "shared object" | | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mv $PKG/usr/share/man $PKG/usr/ -find "$PKG/usr/man" -type f -exec gzip -9 {} \; +find "$PKG/usr/man" -type f -exec gzip -9 {} \+ for i in $( find $PKG/usr/man -type l ) ; do ln -s "$( readlink $i ).gz" "$i.gz" ; rm "$i" ; done -mkdir -p "$PKG/usr/doc/$PRGNAM-$VERSION" -install --mode=644 "$CWD/$PRGNAM.SlackBuild" "$PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild" - -mkdir -p "$PKG/install" -install --mode=644 "$CWD/slack-desc" "$PKG/install/slack-desc" -install --mode=644 "$CWD/doinst.sh" "$PKG/install/doinst.sh" +# remove empty file +rm -rf "$PKG/etc/$PRGNAM/$PRGNAM.conf.sample" -mkdir -p "$PKG/etc/rc.d" -install --mode=644 "$CWD/rc.$PRGNAM" "$PKG/etc/rc.d/rc.$PRGNAM.new" +install -Dpm 0644 "$CWD/$PRGNAM.SlackBuild" "$PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild" +install -Dpm 0644 "$CWD/slack-desc" "$PKG/install/slack-desc" +install -Dpm 0644 "$CWD/doinst.sh" "$PKG/install/doinst.sh" +install -Dpm 0644 "$CWD/rc.$PRGNAM" "$PKG/etc/rc.d/rc.$PRGNAM.new" +install -Dpm 0644 "$CWD/$PRGNAM.conf" "$PKG/etc/$PRGNAM/${PRGNAM}.conf.new" +install -Dpm 0644 "$CWD/nsd.logrotate" "$PKG/etc/logrotate.d/nsd.new" +# add sample zone +install -Dpm 0644 "$CWD/localhost.zone" "$PKG/var/lib/$PRGNAM/zones/master/localhost.zone.new" -mkdir -p "$PKG/var/run/$PRGNAM" -chown $USER:$GROUP "$PKG/var/run/$PRGNAM" +chown -R $USER:$GROUP "$PKG/var/lib/$USER" mkdir -p "$PKG/var/log/$PRGNAM" chown $USER:$GROUP "$PKG/var/log/$PRGNAM" -chown -R $USER:$GROUP "$PKG/var/lib/$USER" - -mkdir -p "$PKG/etc/$PRGNAM" -install --mode=644 "$CWD/$PRGNAM.conf" "$PKG/etc/$PRGNAM/${PRGNAM}.conf.new" - -mkdir -p $PKG/etc/logrotate.d -install --mode=644 $CWD/nsd.logrotate $PKG/etc/logrotate.d/nsd.new - -# remove empty file -rm -rf "$PKG/etc/$PRGNAM/$PRGNAM.conf.sample" - -# add sample zone -mkdir -p "$PKG/var/lib/$USER/zones/master" -install --mode=644 "$CWD/localhost.zone" "$PKG/var/lib/$USER/zones/master/localhost.zone.new" - cd "$PKG" -/sbin/makepkg -l y -c n "$OUTPUT/$PRGNAM-${VERSION}-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}" +/sbin/makepkg -l y -c n "$OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" |