1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# Maintainer: Allen Zhong <moeallenz@gmail.com>
# Contributor: Sébastien Luttringer
# Contributor: Gaetan Bisson <bisson@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
# Contributor: Mario Vazquez <mario_vazq@hotmail.com>
pkgbase=bind-rl
pkgname=(bind-rl bind-rl-tools)
_pkgver=9.16.2
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'
'libidn2' 'dnssec-anchors' 'python' 'json-c' 'python-ply' 'lmdb' 'zlib' 'icu'
'xz' 'libmaxminddb' 'libnsl' 'libuv')
validpgpkeys=('AE3FAC796711EC59FC007AA474BB6B9A4CBB3D38') #ISC Code Signing Key 2019 – 2020 (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')
sha1sums=('985a6ac0ef8242bfb5e3d11794b612d910f860ac'
'SKIP'
'c5a2bcd9b0f009ae71f3a03fbdbe012196962a11'
'9537f4835a1f736788d0733c7996a10db2d4eee4'
'34d828cf20b425cf49a838926e01470c12083bee'
'62b06487323dd0d515a4dc659b8ecd193c29107b'
'6704303a6ed431a29b1d8fe7b12decd4d1f2f50f'
'52da8f1c0247a11b16daa4e03d920e8f09315cbe'
'9c33726088342207ad06d33b2c13408290a0c8ad')
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
msg2 "Applying patch $src..."
patch -Np1 < "../$src"
done
}
build() {
cd bind-$_pkgver
export CFLAGS+=' -DDIG_SIGCHASE'
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--sbindir=/usr/bin \
--localstatedir=/var \
--disable-static \
--enable-fixed-rrset \
--enable-full-report \
--enable-dnsrps \
--enable-rrl \
--with-python=/usr/bin/python \
--with-geoip2 \
--with-openssl \
--with-libidn2 \
--with-libjson \
--with-libxml2 \
--with-lmdb \
--with-libtool
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
package_bind-rl() {
pkgdesc='The ISC DNS Server, with Response Rate Limit (RRL) enabled'
provides=('dns-server' "bind=$pkgver")
depends=('glibc' 'libxml2' 'libcap' 'openssl' 'json-c' 'bind-tools' 'zlib'
'lmdb' 'libmaxminddb')
conflicts=('bind')
replaces=('bind')
backup=('etc/named.conf'
'var/named/127.0.0.zone'
'var/named/localhost.zone'
'var/named/localhost.ip6.zone')
install=bind.install
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 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"
}
package_bind-rl-tools() {
pkgdesc='The ISC DNS tools'
depends=('glibc' 'libcap' 'libxml2' 'zlib' 'krb5' 'e2fsprogs' 'python' 'bash'
'openssl' 'readline' 'libidn2' 'dnssec-anchors' 'json-c' 'lmdb' 'xz'
'icu' 'python-ply' 'libmaxminddb')
optdepends=('python: for python scripts')
conflicts=('dnsutils' 'bind-tools')
replaces=('dnsutils' 'host' 'bind-tools')
provides=("dnsutils=$pkgver" "bind-tools=$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
}
|