From c57b3a01eca8dc44f169117c80293c31fbd963f8 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Tue, 6 Mar 2018 17:01:19 +0000
Subject: bind: replace dnsutils

---
 abs/core/dnsutils/PKGBUILD          |  52 --------------
 abs/core/dnsutils/remove-bind.patch |  25 -------
 abs/extra/bind/127.0.0.zone         |  10 +++
 abs/extra/bind/PKGBUILD             | 134 ++++++++++++++++++++++++++++++++++++
 abs/extra/bind/empty.zone           |   8 +++
 abs/extra/bind/localhost.ip6.zone   |  10 +++
 abs/extra/bind/localhost.zone       |  11 +++
 abs/extra/bind/named.conf           |  72 +++++++++++++++++++
 abs/extra/bind/named.service        |  10 +++
 abs/extra/bind/sysusers.conf        |   1 +
 abs/extra/bind/tmpfiles.conf        |   1 +
 11 files changed, 257 insertions(+), 77 deletions(-)
 delete mode 100644 abs/core/dnsutils/PKGBUILD
 delete mode 100644 abs/core/dnsutils/remove-bind.patch
 create mode 100644 abs/extra/bind/127.0.0.zone
 create mode 100644 abs/extra/bind/PKGBUILD
 create mode 100644 abs/extra/bind/empty.zone
 create mode 100644 abs/extra/bind/localhost.ip6.zone
 create mode 100644 abs/extra/bind/localhost.zone
 create mode 100644 abs/extra/bind/named.conf
 create mode 100644 abs/extra/bind/named.service
 create mode 100644 abs/extra/bind/sysusers.conf
 create mode 100644 abs/extra/bind/tmpfiles.conf

diff --git a/abs/core/dnsutils/PKGBUILD b/abs/core/dnsutils/PKGBUILD
deleted file mode 100644
index 9fc5101..0000000
--- a/abs/core/dnsutils/PKGBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# $Id: PKGBUILD 161356 2012-06-10 08:42:42Z bisson $
-# Maintainer: Gaetan Bisson <bisson@archlinux.org>
-# Contributor: kevin <kevin@archlinux.org>
-# Contributor: mario <mario_vazq@hotmail.com>
-
-pkgname=dnsutils
-
-# Use a period and not a hyphen before the patch level for proper versioning.
-pkgver=9.9.1.P1
-_pkgver=9.9.1-P1
-pkgrel=1
-
-pkgdesc='DNS utilities: dig host nslookup'
-url='http://www.isc.org/software/bind/'
-license=('custom:ISC')
-arch=('i686' 'x86_64')
-options=('!makeflags')
-depends=('openssl' 'krb5' 'idnkit' 'dnssec-anchors')
-source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz"
-        'remove-bind.patch')
-sha1sums=('a2263b96ccd8a143ea54b39958142c542bf605a8'
-          'b465ef6160b004838f04de9978fe1be8422af777')
-
-replaces=('bind-tools' 'host')
-
-build() {
-	cd "${srcdir}/bind-${_pkgver}"
-
-	patch -p1 -i ../remove-bind.patch
-	export STD_CDEFINES='-DDIG_SIGCHASE'
-
-	# hack to remove unused bloat from the binaries
-	CFLAGS+=' -fdata-sections -ffunction-sections'
-	LDFLAGS+=' -Wl,--gc-sections'
-
-	./configure \
-		--prefix=/usr \
-		--sysconfdir=/etc \
-		--localstatedir=/var \
-		--disable-static \
-		--disable-linux-caps \
-		--with-openssl \
-		--with-idn \
-
-	make
-}
-
-package() {
-	cd "${srcdir}/bind-${_pkgver}"
-	install -Dm644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-	cd bin; make DESTDIR="${pkgdir}" install
-}
diff --git a/abs/core/dnsutils/remove-bind.patch b/abs/core/dnsutils/remove-bind.patch
deleted file mode 100644
index 19d6509..0000000
--- a/abs/core/dnsutils/remove-bind.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -aur old/bin/Makefile.in new/bin/Makefile.in
---- old/bin/Makefile.in	2009-10-05 05:07:08.000000000 -0700
-+++ new/bin/Makefile.in	2011-08-28 19:16:17.245495043 -0700
-@@ -19,8 +19,7 @@
- VPATH =		@srcdir@
- top_srcdir =	@top_srcdir@
- 
--SUBDIRS =	named rndc dig dnssec tests tools nsupdate \
--		check confgen @PKCS11_TOOLS@
-+SUBDIRS =	dig
- TARGETS =
- 
- @BIND9_MAKE_RULES@
-diff -aur old/lib/Makefile.in new/lib/Makefile.in
---- old/lib/Makefile.in	2007-06-19 16:47:13.000000000 -0700
-+++ new/lib/Makefile.in	2011-08-28 19:17:50.828688599 -0700
-@@ -23,7 +23,7 @@
- # Attempt to disable parallel processing.
- .NOTPARALLEL:
- .NO_PARALLEL:
--SUBDIRS =	isc isccc dns isccfg bind9 lwres tests
-+SUBDIRS =	isc dns isccfg bind9 lwres
- TARGETS =
- 
- @BIND9_MAKE_RULES@
diff --git a/abs/extra/bind/127.0.0.zone b/abs/extra/bind/127.0.0.zone
new file mode 100644
index 0000000..3c5c964
--- /dev/null
+++ b/abs/extra/bind/127.0.0.zone
@@ -0,0 +1,10 @@
+@                               1D IN SOA   localhost. root.localhost. (
+                                    42    ; serial (yyyymmdd##)
+                                    3H    ; refresh
+                                    15M   ; retry
+                                    1W    ; expiry
+                                    1D )  ; minimum ttl
+
+                                1D  IN  NS      localhost.
+
+1.0.0.127.in-addr.arpa.         1D  IN  PTR     localhost.
diff --git a/abs/extra/bind/PKGBUILD b/abs/extra/bind/PKGBUILD
new file mode 100644
index 0000000..3b18703
--- /dev/null
+++ b/abs/extra/bind/PKGBUILD
@@ -0,0 +1,134 @@
+# $Id: PKGBUILD 113060 2014-06-12 10:51:06Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+# Contributor: Mario Vazquez <mario_vazq@hotmail.com>
+
+pkgbase=bind
+pkgname=(bind bind-tools)
+_pkgver=9.12.0
+pkgver=${_pkgver//-/.}
+pkgrel=1
+url='https://www.isc.org/software/bind/'
+license=('MPL2')
+arch=('x86_64')
+options=('!emptydirs')
+makedepends=('libcap' 'libxml2' 'zlib' 'krb5' 'e2fsprogs' 'openssl' 'readline'
+ 'idnkit' 'geoip' 'dnssec-anchors' 'python' 'json-c' 'python-ply' 'libseccomp')
+validpgpkeys=('2B48A38AE1CF9886435F89EE45AC7857189CDBC5'
+              'ADBE9446286C794905F1E0756FA6EBC9911A4C02' #ISC, Inc)
+              'BE0E9748B718253A28BB89FFF1B11BF05CF02E57' #Internet Systems Consortium, Inc.
+              )
+source=("https://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz"{,.asc}
+        'tmpfiles.conf'
+        'sysusers.conf'
+        'named.conf'
+        'named.service'
+        'localhost.zone'
+        'localhost.ip6.zone'
+        '127.0.0.zone'
+        'empty.zone')
+sha1sums=('55015312b571dd4f6e8ef7a054b6937378e092c4'
+          'SKIP'
+          'c5a2bcd9b0f009ae71f3a03fbdbe012196962a11'
+          '9537f4835a1f736788d0733c7996a10db2d4eee4'
+          'c017aae379c32c7cb1aa1ad84776b83e3a5c139f'
+          '62b06487323dd0d515a4dc659b8ecd193c29107b'
+          '6704303a6ed431a29b1d8fe7b12decd4d1f2f50f'
+          '52da8f1c0247a11b16daa4e03d920e8f09315cbe'
+          '9c33726088342207ad06d33b2c13408290a0c8ad'
+          '4f4457b310cbbeadca2272eced062a9c2b2b42fe')
+
+prepare() {
+  msg2 'Getting a fresh version of root DNS'
+  # no more using source array, lack of versioning.
+  curl -o root.hint https://www.internic.net/zones/named.root
+  [[ -s root.hint ]]
+  cd bind-$_pkgver
+  # apply patch from the source array (should be a pacman feature)
+  local filename
+  for filename in "${source[@]}"; do
+    if [[ "$filename" =~ \.patch$ ]]; then
+      msg2 "Applying patch ${filename##*/}"
+      patch -p1 -N -i "$srcdir/${filename##*/}"
+    fi
+  done
+}
+
+build() {
+  cd bind-$_pkgver
+  export CFLAGS+=' -DDIG_SIGCHASE'
+  ./configure \
+    --prefix=/usr \
+    --sysconfdir=/etc \
+    --sbindir=/usr/bin \
+    --localstatedir=/var \
+    --disable-static \
+    --enable-ipv6 \
+    --enable-filter-aaaa \
+    --enable-fixed-rrset \
+    --enable-seccomp \
+    --enable-full-report \
+    --with-python=/usr/bin/python \
+    --with-geoip \
+    --with-idn \
+    --with-openssl \
+    --with-libjson \
+    --with-libxml2 \
+    --with-libtool
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+  make
+}
+
+package_bind() {
+  pkgdesc='The ISC DNS Server'
+  provides=('dns-server')
+  depends=('glibc' 'libxml2' 'libcap' 'libseccomp' 'openssl' 'geoip' 'json-c'
+           'bind-tools')
+  backup=('etc/named.conf'
+          'var/named/127.0.0.zone'
+          'var/named/localhost.zone'
+          'var/named/localhost.ip6.zone'
+          'var/named/empty.zone')
+
+  cd "bind-$_pkgver"
+  install -dm755 "$pkgdir/usr/share/licenses/$pkgname/"
+  install -Dm644 LICENSE COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/"
+  for _d in bin/{check,confgen,named,rndc}; do
+    (cd "$_d" && make DESTDIR="$pkgdir" install)
+  done
+
+  cd "$srcdir"
+  install -D -m644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+  install -D -m644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+
+  install -D -m644 named.service "$pkgdir/usr/lib/systemd/system/named.service"
+  install -D -m640 -o 0 -g 40 named.conf "$pkgdir/etc/named.conf"
+
+  install -d -m770 -o 0 -g 40 "$pkgdir/var/named"
+  install    -m640 -o 0 -g 40 root.hint "$pkgdir/var/named"
+  install    -m640 -o 0 -g 40 localhost.zone "$pkgdir/var/named"
+  install    -m640 -o 0 -g 40 localhost.ip6.zone "$pkgdir/var/named"
+  install    -m640 -o 0 -g 40 127.0.0.zone "$pkgdir/var/named"
+  install    -m640 -o 0 -g 40 empty.zone "$pkgdir/var/named"
+}
+
+package_bind-tools() {
+  pkgdesc='The ISC DNS tools'
+  depends=('glibc' 'libcap' 'libseccomp' 'libxml2' 'zlib' 'krb5' 'e2fsprogs'
+           'openssl' 'readline' 'geoip' 'idnkit' 'dnssec-anchors' 'json-c')
+  optdepends=('python: for python scripts')
+  conflicts=('dnsutils')
+  replaces=('dnsutils' 'host')
+  provides=("dnsutils=$pkgver")
+
+  cd "bind-$_pkgver"
+  install -Dm644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+  make DESTDIR="$pkgdir" SUBDIRS="" install
+  (cd lib && make DESTDIR="$pkgdir" install)
+  for _d in bin/{dig,dnssec,delv,nsupdate,python,tools}; do
+    (cd "$_d" && make DESTDIR="$pkgdir" install)
+  done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/bind/empty.zone b/abs/extra/bind/empty.zone
new file mode 100644
index 0000000..7501c74
--- /dev/null
+++ b/abs/extra/bind/empty.zone
@@ -0,0 +1,8 @@
+@                               1D IN SOA   localhost. root.localhost. (
+                                    42     ; serial (yyyymmdd##)
+                                    3H     ; refresh
+                                    15M    ; retry
+                                    1W     ; expiry
+                                    1D )   ; minimum ttl
+
+                                1D  IN  NS  localhost.
diff --git a/abs/extra/bind/localhost.ip6.zone b/abs/extra/bind/localhost.ip6.zone
new file mode 100644
index 0000000..c021a28
--- /dev/null
+++ b/abs/extra/bind/localhost.ip6.zone
@@ -0,0 +1,10 @@
+@                               1D IN SOA   localhost. root.localhost. (
+                                    42    ; serial (yyyymmdd##)
+                                    3H    ; refresh
+                                    15M   ; retry
+                                    1W    ; expiry
+                                    1D )  ; minimum ttl
+
+                                1D  IN  NS      localhost.
+
+1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa.   1D  IN  PTR localhost.
diff --git a/abs/extra/bind/localhost.zone b/abs/extra/bind/localhost.zone
new file mode 100644
index 0000000..e87274d
--- /dev/null
+++ b/abs/extra/bind/localhost.zone
@@ -0,0 +1,11 @@
+@                               1D IN SOA   localhost. root.localhost. (
+                                    42    ; serial (yyyymmdd##)
+                                    3H    ; refresh
+                                    15M   ; retry
+                                    1W    ; expiry
+                                    1D )  ; minimum ttl
+
+                                1D  IN  NS      localhost.
+
+localhost.                      1D  IN  A       127.0.0.1
+localhost.                      1D  IN  AAAA    ::1
diff --git a/abs/extra/bind/named.conf b/abs/extra/bind/named.conf
new file mode 100644
index 0000000..827445d
--- /dev/null
+++ b/abs/extra/bind/named.conf
@@ -0,0 +1,72 @@
+// vim:set ts=4 sw=4 et:
+
+options {
+    directory "/var/named";
+    pid-file "/run/named/named.pid";
+
+    // Uncomment these to enable IPv6 connections support
+    // IPv4 will still work:
+    //  listen-on-v6 { any; };
+    // Add this for no IPv4:
+    //  listen-on { none; };
+
+    allow-recursion { 127.0.0.1; };
+    allow-transfer { none; };
+    allow-update { none; };
+
+    version none;
+    hostname none;
+    server-id none;
+};
+
+zone "localhost" IN {
+    type master;
+    file "localhost.zone";
+};
+
+zone "0.0.127.in-addr.arpa" IN {
+    type master;
+    file "127.0.0.zone";
+};
+
+zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" {
+    type master;
+    file "localhost.ip6.zone";
+};
+
+zone "255.in-addr.arpa" IN {
+    type master;
+    file "empty.zone";
+};
+
+zone "0.in-addr.arpa" IN {
+    type master;
+    file "empty.zone";
+};
+
+zone "." IN {
+    type hint;
+    file "root.hint";
+};
+
+//zone "example.org" IN {
+//    type slave;
+//    file "example.zone";
+//    masters {
+//        192.168.1.100;
+//    };
+//    allow-query { any; };
+//    allow-transfer { any; };
+//};
+
+//logging {
+//    channel xfer-log {
+//        file "/var/log/named.log";
+//            print-category yes;
+//            print-severity yes;
+//            severity info;
+//        };
+//        category xfer-in { xfer-log; };
+//        category xfer-out { xfer-log; };
+//        category notify { xfer-log; };
+//};
diff --git a/abs/extra/bind/named.service b/abs/extra/bind/named.service
new file mode 100644
index 0000000..e8625b1
--- /dev/null
+++ b/abs/extra/bind/named.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Internet domain name server
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/named -f -u named
+ExecReload=/usr/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/extra/bind/sysusers.conf b/abs/extra/bind/sysusers.conf
new file mode 100644
index 0000000..b02acb1
--- /dev/null
+++ b/abs/extra/bind/sysusers.conf
@@ -0,0 +1 @@
+u named 40 "BIND DNS Server" -
diff --git a/abs/extra/bind/tmpfiles.conf b/abs/extra/bind/tmpfiles.conf
new file mode 100644
index 0000000..1cfc82d
--- /dev/null
+++ b/abs/extra/bind/tmpfiles.conf
@@ -0,0 +1 @@
+d /run/named 0750 named named -
-- 
cgit v0.12

