blob: 00cf991708f1ecc2569edb372e721fac9dc33bb1 (
plain)
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
# Contributor: wenerme <wenermail@gmail.com>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Matt Smith <mcs@darkregion.net>
# Contributor: Olivier Mauras <olivier@mauras.ch>
# Contributor: Daniel Isaksen <d@duniel.no>
# Contributor: Fabian Zoske <fabian@zoske.it>
# Maintainer: Matt Smith <mcs@darkregion.net>
pkgname=pdns
pkgver=4.2.1
pkgrel=1
pkgdesc="PowerDNS Authoritative Server"
url="https://www.powerdns.com/"
arch="all !s390x"
license="GPL-2.0-only"
makedepends="$depends_dev
boost-dev curl curl-dev geoip-dev krb5-dev openssl-dev
libsodium-dev lua-dev mariadb-connector-c-dev openldap-dev
postgresql-dev protobuf-dev sqlite-dev unixodbc-dev
yaml-cpp-dev zeromq-dev mariadb-dev"
install="$pkgname.pre-install $pkgname-backend-pgsql.post-upgrade"
subpackages="$pkgname-doc $pkgname-openrc $pkgname-tools
$pkgname-backend-bind:backend_bind
$pkgname-backend-geoip:backend_geoip
$pkgname-backend-ldap:backend_ldap
$pkgname-backend-lua:backend_lua
$pkgname-backend-mariadb:backend_mariadb:noarch
$pkgname-backend-mydns:backend_mydns
$pkgname-backend-mysql:backend_mysql
$pkgname-backend-odbc:backend_odbc
$pkgname-backend-pipe:backend_pipe
$pkgname-backend-pgsql:backend_pgsql
$pkgname-backend-random:backend_random
$pkgname-backend-remote:backend_remote
$pkgname-backend-sqlite3:backend_sqlite3"
pkgusers="pdns"
pkggroups="pdns"
source="https://downloads.powerdns.com/releases/pdns-$pkgver.tar.bz2
$pkgname.initd
$pkgname.conf
"
# secfixes:
# 4.1.11-r0:
# - CVE-2019-10203
# 4.1.10-r0:
# - CVE-2019-10162
# - CVE-2019-10163
# 4.1.7-r0:
# - CVE-2019-3871
# 4.1.5-r0:
# - CVE-2018-10851
# - CVE-2018-14626
# 4.0.5-r0:
# - CVE-2017-15091
build() {
./configure --prefix=/usr \
--sysconfdir="/etc/$pkgname" \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--localstatedir=/var \
--libdir="/usr/lib/$pkgname" \
--with-modules="" \
--with-dynmodules="bind geoip ldap lua mydns gmysql godbc pipe gpgsql random remote gsqlite3" \
--enable-tools \
--enable-unit-tests \
--disable-static \
--enable-remotebackend-zeromq
make
}
check() {
PDNS_TEST_NO_IPV6=1 make check
}
package() {
make DESTDIR="$pkgdir" install
install -m755 -D "$srcdir/$pkgname.initd" \
"$pkgdir/etc/init.d/$pkgname"
rm "$pkgdir/etc/$pkgname/$pkgname.conf-dist"
install -m600 -D "$srcdir/$pkgname.conf" \
"$pkgdir/etc/$pkgname/$pkgname.conf"
chown pdns:pdns "$pkgdir/etc/$pkgname/$pkgname.conf"
# pdns-backend-pgsql.post-upgrade needs to be updated when this file path changes
cp -v -p "$pkgdir/usr/share/doc/pdns/4.1.0_to_4.2.0_schema.pgsql.sql" "$pkgdir/etc/$pkgname/"
}
tools() {
_tool_names="zone2ldap zone2sql zone2json
dnsgram dnsreplay dnsscan dnsscope dnswasher dumresp
pdns_notify nproxy nsec3dig saxfr stubquery ixplore
sdig calidns dnsbulktest dnstcpbench dnspcap2protobuf"
mkdir -p "$subpkgdir"
cd "$subpkgdir"
mkdir -p "$subpkgdir/usr/bin"
for _tool in $_tool_names; do
mv "$pkgdir/usr/bin/$_tool" "$subpkgdir/usr/bin/"
done; unset -v _tool
}
_backend() {
local backend=$1
shift
pkgdesc="$backend backend module for PowerDNS"
depends="$pkgname $*"
mkdir -p "$subpkgdir"
}
_mv_backend() {
local backend=$1
_backend "$@"
mkdir -p "$subpkgdir/usr/lib/pdns/pdns"
mv "$pkgdir/usr/lib/pdns/pdns/lib${backend}backend.so" \
"$subpkgdir/usr/lib/pdns/pdns/"
}
backend_bind() { _mv_backend bind; }
backend_geoip() { _mv_backend geoip geoip; }
backend_ldap() { _mv_backend ldap; }
backend_lua() { _mv_backend lua lua; }
backend_mariadb() { _backend mariadb $pkgname-backend-mysql; }
backend_mydns() { _mv_backend mydns; }
backend_mysql() { _mv_backend gmysql mariadb-client; }
backend_odbc() { _mv_backend godbc unixodbc; }
#backend_opendbx() { _mv_backend opendbx; }
#backend_oracle() { _mv_backend goracle; }
backend_pipe() { _mv_backend pipe; }
backend_pgsql() { _mv_backend gpgsql postgresql-client; }
backend_random() { _mv_backend random; }
backend_remote() { _mv_backend remote; }
backend_sqlite3() { _mv_backend gsqlite3 sqlite; }
#backend_tinydns() { _mv_backend tinydns; }
# temporary split for 4.1.11 schema fix
backend_pgsql() {
_mv_backend gpgsql postgresql-client
mkdir -p "$subpkgdir/etc/$pkgname"
mv "$pkgdir/etc/$pkgname/4.1.0_to_4.2.0_schema.pgsql.sql" "$subpkgdir/etc/$pkgname/"
}
sha512sums="40b5533c755d7c0d41cfb273b704a45a3006dafc98c79bf41cae43d9e2d03bbd7a663996a7f209c390a89c5f7161f2f6246389beef18fbac48e95907e1b7936a pdns-4.2.1.tar.bz2
3a55547e1b6407e7d2faa6e02982ed903c2364381af1b7eeb626ae3a8b0e32558dd79bf31c982b134414e5636d4868c1f3660ac523f25d2440ed6f7b436843bf pdns.initd
3f809f3257680c3e496fa6a4c86c8a636db5d9d5b92aef96fe54c29b8266ee590deb792d13205cc171e27307fa73295dd3b101b09102fd66a2393a7cdbf9dd27 pdns.conf"
|