PKGBUILDs/extra/bind/PKGBUILD
2022-06-18 07:47:19 +00:00

107 lines
3.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Maintainer: Sébastien Luttringer
# Contributor: Gaetan Bisson <bisson@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
# Contributor: Mario Vazquez <mario_vazq@hotmail.com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - !makeflags - bind build doesn't like concurrency
_pkgver=9.18.4
pkgname=bind
pkgver=${_pkgver//-/.}
pkgrel=1
pkgdesc='A complete, highly portable implementation of the DNS protocol'
url='https://www.isc.org/software/bind/'
license=('MPL2')
arch=('x86_64')
options=('!emptydirs' '!makeflags')
makedepends=('libcap' 'libxml2' 'zlib' 'krb5' 'e2fsprogs' 'openssl' 'readline'
'libidn2' 'dnssec-anchors' 'python' 'json-c' 'python-ply' 'lmdb' 'zlib' 'icu'
'xz' 'libmaxminddb' 'libnsl' 'libuv' 'python-sphinx')
depends=('bash' 'dnssec-anchors' 'e2fsprogs' 'glibc' 'icu' 'libedit' 'json-c'
'krb5' 'libcap' 'libidn2' 'libmaxminddb' 'libnsl' 'libuv' 'libxml2' 'lmdb'
'openssl' 'python' 'python-ply' 'readline' 'xz' 'zlib' 'jemalloc')
conflicts=('bind-tools' 'dnsutils')
replaces=('bind-tools' 'dnsutils' 'host')
provides=('bind-tools' 'dnsutils' 'dns-server')
backup=('etc/named.conf'
'var/named/127.0.0.zone'
'var/named/localhost.zone'
'var/named/localhost.ip6.zone')
install=bind.install
validpgpkeys=('7E1C91AC8030A5A59D1EFAB9750F3C87723E4012') #ISC Code Signing Key 2021 2022 (codesign@isc.org)
source=("https://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.xz"{,.asc}
'tmpfiles.conf'
'sysusers.conf'
'named.conf'
'named.service'
'localhost.zone'
'localhost.ip6.zone'
'127.0.0.zone')
sha256sums=('f277ae50159a00c300eb926a9c5d51953038a936bd8242d6913dfb6eac42761d'
'SKIP'
'f0423c4ee8495da487e07e9144bec1d25f46a0cd2dfa7cfd7a761ef15bfefc98'
'7c0acefcfcc3ae093550caed7ec90fe84bec8f7477459ffa7e71dda76bcbdb2c'
'e08a01d41b18bdb771d534daca99642314939aafdb088e5cfcf0ef2d33f8e7eb'
'3f0f8db0a1deae270dd166b4750be7c1041b4b44891176f35a8df7dd55d24d34'
'0011708e516128647dd25b59b6ebc465f36e85bbe0a8fbdc3eb04b7f28c2197f'
'c06fc270e32a843c8b6d86335a2ec607d405dfba6875de8d8a9abde39a9e2c17'
'b88fd2b99e7d42d414b329b814b9ff3304fa0ef9c67df81bde235bbfa0f3a3b8')
prepare() {
cd bind-$_pkgver
# apply patch from the source array (should be a pacman feature)
local src
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch ]] || continue
echo "Applying patch $src..."
patch -Np1 < "../$src"
done
}
build() {
cd bind-$_pkgver
export CFLAGS
# support to chase DNSSEC signature chains
CFLAGS+=' -DDIG_SIGCHASE'
# compile with gcc10, https://gcc.gnu.org/gcc-10/porting_to.html
CFLAGS+=' -fcommon'
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--sbindir=/usr/bin \
--localstatedir=/var \
--disable-static \
--enable-fixed-rrset \
--enable-full-report \
--with-maxminddb \
--with-openssl \
--with-libidn2 \
--with-json-c \
--with-libxml2 \
--with-lmdb
make
}
package() {
cd "bind-$_pkgver"
install -dm755 "$pkgdir/usr/share/licenses/$pkgname/"
install -Dm644 LICENSE COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/"
make DESTDIR="$pkgdir" install
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 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"
}
# vim:set ts=2 sw=2 et: