# Maintainer: Sébastien Luttringer # Contributor: Gaetan Bisson # Contributor: judd # Contributor: Mario Vazquez # ALARM: Kevin Mihelich # - !makeflags - bind build doesn't like concurrency # - build v6 as armv6kz buildarch=28 pkgbase=bind pkgname=(bind bind-tools) _pkgver=9.13.5 pkgver=${_pkgver//-/.} pkgrel=2 url='https://www.isc.org/software/bind/' license=('MPL2') arch=('x86_64') options=('!emptydirs' '!makeflags') makedepends=('libcap' 'libxml2' 'zlib' 'krb5' 'e2fsprogs' 'openssl' 'readline' 'libidn2' 'geoip' 'dnssec-anchors' 'python' 'json-c' 'python-ply' 'lmdb' 'zlib' 'icu' 'xz') 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' '01-fs60913.patch') sha1sums=('8c01018e6928e9117cd8e0cdd464efe3b68894c5' 'SKIP' 'c5a2bcd9b0f009ae71f3a03fbdbe012196962a11' '9537f4835a1f736788d0733c7996a10db2d4eee4' 'c017aae379c32c7cb1aa1ad84776b83e3a5c139f' '62b06487323dd0d515a4dc659b8ecd193c29107b' '6704303a6ed431a29b1d8fe7b12decd4d1f2f50f' '52da8f1c0247a11b16daa4e03d920e8f09315cbe' '9c33726088342207ad06d33b2c13408290a0c8ad' '4f4457b310cbbeadca2272eced062a9c2b2b42fe' 'a71c39b6073be96589e3c0a8cc7430f0e22ebe9c') 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' [[ $CARCH == "armv6h" ]] && CFLAGS+=" -march=armv6zk" ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --sbindir=/usr/bin \ --localstatedir=/var \ --disable-static \ --enable-fixed-rrset \ --enable-full-report \ --enable-dnsrps \ --with-python=/usr/bin/python \ --with-geoip \ --with-openssl \ --with-libidn2 \ --with-libjson \ --with-libxml2 \ --with-lmdb \ --with-libtool make } package_bind() { pkgdesc='The ISC DNS Server' provides=('dns-server') depends=('glibc' 'libxml2' 'libcap' 'openssl' 'geoip' 'json-c' 'bind-tools' 'zlib' 'lmdb') 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,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' 'libxml2' 'zlib' 'krb5' 'e2fsprogs' 'python' 'bash' 'openssl' 'readline' 'geoip' 'libidn2' 'dnssec-anchors' 'json-c' 'lmdb' 'xz' 'icu') 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/{confgen,dig,dnssec,delv,nsupdate,python,tools}; do (cd "$_d" && make DESTDIR="$pkgdir" install) done } # vim:set ts=2 sw=2 et: