From 7fc4f966afa9636a39e046df4e93dc4f21097197 Mon Sep 17 00:00:00 2001
From: Dejan Strbac <me@dejanstrbac.com>
Date: Sat, 14 Apr 2018 17:07:02 +0100
Subject: network/pdns-recursor: Updated for version 4.1.2 + new maintainer.

Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
---
 network/pdns-recursor/README                   |  14 +--
 network/pdns-recursor/doinst.sh                |   2 +-
 network/pdns-recursor/pdns-recursor.SlackBuild |  43 +++++----
 network/pdns-recursor/pdns-recursor.info       |  14 +--
 network/pdns-recursor/rc.pdns-recursor         | 128 +++++++++++++++++++++++++
 network/pdns-recursor/slack-desc               |  22 ++---
 6 files changed, 177 insertions(+), 46 deletions(-)
 create mode 100644 network/pdns-recursor/rc.pdns-recursor

(limited to 'network')

diff --git a/network/pdns-recursor/README b/network/pdns-recursor/README
index 3a1cfac54573a..02e6c80629de7 100644
--- a/network/pdns-recursor/README
+++ b/network/pdns-recursor/README
@@ -1,12 +1,4 @@
-This is the Slackbuild for Powerdns Recursor, a high-performance
-recursive resolver.
+This is the SlackBuild for PowerDNS recursive nameserver.
 
-From the pdns-recursor README:
-
- The PowerDNS recursor is part of the source tarball of the main
- PowerDNS distribution, but it is released separately. Starting from
- the version 3.0 pre-releases, there are zero known bugs or issues
- with the recursor. It is known to power the resolving needs of over
- 100 million internet connections.
-
-Docs are available at http://doc.powerdns.com/built-in-recursor.html
+Docs are available at:
+  https://doc.powerdns.com/recursor/index.html
diff --git a/network/pdns-recursor/doinst.sh b/network/pdns-recursor/doinst.sh
index 3dedf64460514..f651d1c44ec21 100644
--- a/network/pdns-recursor/doinst.sh
+++ b/network/pdns-recursor/doinst.sh
@@ -22,6 +22,6 @@ preserve_perms() {
   config $NEW
 }
 
-config etc/powerdns/recursor.conf.new
+config etc/recursor.conf.new
 preserve_perms etc/rc.d/rc.pdns-recursor.new
 
diff --git a/network/pdns-recursor/pdns-recursor.SlackBuild b/network/pdns-recursor/pdns-recursor.SlackBuild
index 65c6997d5ffcc..2390d95d2bd83 100644
--- a/network/pdns-recursor/pdns-recursor.SlackBuild
+++ b/network/pdns-recursor/pdns-recursor.SlackBuild
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Slackware build script for pdns-recursor
 
-# Copyright 2010  Raymond Bailey Chantilly, VA, USA
+# Copyright 2018  Dejan Strbac, Zurich, CH
 # All rights reserved.
 #
 # Redistribution and use of this script, with or without modification, is
@@ -22,13 +22,13 @@
 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 PRGNAM=pdns-recursor
-VERSION=${VERSION:-3.2}
+VERSION=${VERSION:-4.1.2}
 BUILD=${BUILD:-1}
 TAG=${TAG:-_SBo}
 
 if [ -z "$ARCH" ]; then
   case "$( uname -m )" in
-    i?86) ARCH=i486 ;;
+    i?86) ARCH=i586 ;;
     arm*) ARCH=arm ;;
        *) ARCH=$( uname -m ) ;;
   esac
@@ -39,8 +39,8 @@ TMP=${TMP:-/tmp/SBo}
 PKG=$TMP/package-$PRGNAM
 OUTPUT=${OUTPUT:-/tmp}
 
-if [ "$ARCH" = "i486" ]; then
-  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
   LIBDIRSUFFIX=""
 elif [ "$ARCH" = "i686" ]; then
   SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -63,20 +63,27 @@ tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
 cd $PRGNAM-$VERSION
 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 \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+  -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+  -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+  --prefix=/usr \
+  --libdir=/usr/lib${LIBDIRSUFFIX} \
+  --sysconfdir=/etc \
+  --localstatedir=/var \
+  --mandir=/usr/man \
+  --docdir=/usr/doc/$PRGNAM-$VERSION \
+  --enable-static=no \
+  --build=$ARCH-slackware-linux
 
-OPTFLAGS="$SLKCFLAGS" \
 make
 make install DESTDIR=$PKG
-mv $PKG/usr/share/man $PKG/usr/man
-mv $PKG/etc/powerdns/recursor.conf-dist $PKG/etc/powerdns/recursor.conf.new
-mv $PKG/etc/init.d $PKG/etc/rc.d
-mv $PKG/etc/rc.d/pdns-recursor $PKG/etc/rc.d/rc.pdns-recursor.new
 
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
   | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
 
 find $PKG/usr/man -type f -exec gzip -9 {} \;
@@ -84,7 +91,7 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r
 
 mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
 cp -a \
-  README \
+  NOTICE COPYING README \
   $PKG/usr/doc/$PRGNAM-$VERSION
 cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
 
@@ -92,5 +99,9 @@ mkdir -p $PKG/install
 cat $CWD/slack-desc > $PKG/install/slack-desc
 cat $CWD/doinst.sh > $PKG/install/doinst.sh
 
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.pdns-recursor > $PKG/etc/rc.d/rc.pdns-recursor.new
+mv $PKG/etc/recursor.conf-dist $PKG/etc/recursor.conf.new
+
 cd $PKG
 /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/network/pdns-recursor/pdns-recursor.info b/network/pdns-recursor/pdns-recursor.info
index 524af9279012e..d98409956e455 100644
--- a/network/pdns-recursor/pdns-recursor.info
+++ b/network/pdns-recursor/pdns-recursor.info
@@ -1,10 +1,10 @@
 PRGNAM="pdns-recursor"
-VERSION="3.2"
-HOMEPAGE="http://www.powerdns.com/content/home-powerdns.aspx"
-DOWNLOAD="http://downloads.powerdns.com/releases/pdns-recursor-3.2.tar.bz2"
-MD5SUM="7e14d9487664d58c27448ae26e824215"
+VERSION="4.1.2"
+HOMEPAGE="https://www.powerdns.com/recursor.html"
+DOWNLOAD="https://downloads.powerdns.com/releases/pdns-recursor-4.1.2.tar.bz2"
+MD5SUM="384de979819389d85c4a3f1ec00d0500"
 DOWNLOAD_x86_64=""
 MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Andy Bailey"
-EMAIL="GooseYArd@gmail.com"
+REQUIRES="lua"
+MAINTAINER="Dejan Strbac"
+EMAIL="me@dejanstrbac.com"
diff --git a/network/pdns-recursor/rc.pdns-recursor b/network/pdns-recursor/rc.pdns-recursor
new file mode 100644
index 0000000000000..dda455a8402ab
--- /dev/null
+++ b/network/pdns-recursor/rc.pdns-recursor
@@ -0,0 +1,128 @@
+#!/bin/sh
+
+# Exit if any subcommand or pipeline returns a non-zero status.
+set -e
+
+BINARYPATH=/usr/bin
+SBINARYPATH=/usr/sbin
+SOCKETPATH=/var/run
+DAEMON_ARGS=""
+
+[ -f "$SBINARYPATH/pdns_recursor" ] || exit 0
+
+[ -r /etc/default/pdns ] && . /etc/default/pdns
+
+[ "$START" = "no" ] && exit 0
+
+# Make sure that /var/run exists
+mkdir -p $SOCKETPATH
+cd $SOCKETPATH
+
+pdns_recursor="$SBINARYPATH/pdns_recursor $DAEMON_ARGS $EXTRAOPTS"
+
+doPC()
+{
+	ret=$($BINARYPATH/rec_control $EXTRAOPTS $1 $2 2> /dev/null)
+}
+
+NOTRUNNING=0
+doPC ping || NOTRUNNING=$?
+
+case "$1" in
+	status)
+		if test "$NOTRUNNING" = "0" 
+		then 
+			echo "running"
+		else
+			echo "not running"
+			exit 3
+		fi 
+	;;	
+
+	stop)
+		echo -n "Stopping PowerDNS recursing nameserver: "
+		if test "$NOTRUNNING" = "0" 
+		then 
+			doPC quit
+			echo $ret
+		else
+			echo "not running"
+		fi 
+	;;		
+
+	force-stop)
+		echo -n "Stopping PowerDNS recursing nameserver: "
+		killall -v -9 pdns_recursor
+		echo "killed"
+	;;
+
+	start)
+		echo -n "Starting PowerDNS recursing nameserver: "
+		if test "$NOTRUNNING" = "0" 
+		then 
+			echo "already running"
+		else
+			if $pdns_recursor --daemon 
+			then
+				echo "started"	
+         	else
+				echo "starting failed"
+          exit 1
+			fi
+		fi 
+	;;		
+
+	force-reload | restart)
+		echo -n "Restarting PowerDNS recursing nameserver: "
+		if test "$NOTRUNNING" = "1" 
+		then 
+			echo "not running, starting"
+		else
+			
+			echo -n stopping and waiting.. 
+			doPC quit
+			sleep 3
+			echo done
+		fi
+		$0 start
+	;;
+
+	reload) 
+		echo -n "Reloading PowerDNS recursing nameserver: "
+		if test "$NOTRUNNING" = "0" 
+		then 
+			doPC reload-zones
+			echo requested reload
+		else
+			echo not running yet
+			$0 start
+		fi 
+	;;		
+		
+	monitor)
+		if test "$NOTRUNNING" = "0" 
+		then 
+			echo "already running"
+		else
+			$pdns_recursor --daemon=no --log-common-errors --trace
+		fi 
+	;;		
+
+	dump)
+		if test "$NOTRUNNING" = "0" 
+		then 
+			doPC get-all
+			echo $ret
+		else
+			echo "not running"
+		fi 
+	;;		
+
+
+	*)
+	echo pdns [start\|stop\|force-reload\|reload\|restart\|status\|monitor\|dump]
+
+	;;
+esac
+
+
diff --git a/network/pdns-recursor/slack-desc b/network/pdns-recursor/slack-desc
index 7af59e7c1295e..a952a6d6f5e65 100644
--- a/network/pdns-recursor/slack-desc
+++ b/network/pdns-recursor/slack-desc
@@ -6,14 +6,14 @@
 # customary to leave one space after the ':' except on otherwise blank lines.
 
              |-----handy-ruler------------------------------------------------------|
-pdns-recursor: pdns-recursor (high-performance recursive resolver)
-pdns-recursor:
-pdns-recursor: PowerDNS consists of two parts: the Authoritative Server
-pdns-recursor: and the Recursor. Other nameservers fully combine these functions,
-pdns-recursor: PowerDNS offers them separately, but can mix both authoritative and
-pdns-recursor: recursive usage seamlessly. The Authoritative Server will answer
-pdns-recursor: questions about domains it knows about, but will not go out on the net
-pdns-recursor: to resolve queries about other domains. However, it can use a
-pdns-recursor: recursing backend to provide that functionality. Depending on your
-pdns-recursor: needs, this backend can either be the PowerDNS recursor or an external
-pdns-recursor: one.
+pdns-recursor: pdns-recursor (high-performance recursive nameserver)
+pdns-recursor:
+pdns-recursor: The PowerDNS Recursor is a versatile, high performance recursive
+pdns-recursor: nameserver.
+pdns-recursor:
+pdns-recursor:
+pdns-recursor:
+pdns-recursor:
+pdns-recursor:
+pdns-recursor:
+pdns-recursor:
-- 
cgit v1.2.3