aboutsummaryrefslogtreecommitdiffstats
path: root/community/pdns/APKBUILD
blob: fdbe7cff70672097a18e220460e84ded48819d8b (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
# Contributor: Sergei Lukin <sergej.lukin@gmail.com>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Matt Smith <mcs@darkregion.net>
# Contributor: Olivier Mauras <olivier@mauras.ch>
# Maintainer:  Matt Smith <mcs@darkregion.net>
pkgname=pdns
pkgver=4.0.6
pkgrel=0
pkgdesc="PowerDNS Authoritative Server"
url="https://www.powerdns.com/"
arch="all"
license="GPL"
depends=""
depends_dev=""
makedepends="$depends_dev boost-dev lua-dev openldap-dev mariadb-dev
	postgresql-dev sqlite-dev"
install="$pkgname.pre-install $pkgname.post-deinstall"
subpackages="$pkgname-doc
	$pkgname-backend-bind:backend_bind
	$pkgname-backend-ldap:backend_ldap
	$pkgname-backend-mysql:backend_mysql
	$pkgname-backend-pgsql:backend_pgsql
	$pkgname-backend-pipe:backend_pipe
	$pkgname-backend-sqlite3:backend_sqlite3
	"
pkgusers="pdns"
pkggroups="pdns"
source="https://downloads.powerdns.com/releases/pdns-$pkgver.tar.bz2
	pdns.initd
	pdns.conf
	"

# secfixes:
#   4.0.6-r0:
#     - CVE-2018-10851
#     - CVE-2018-14626
#   4.0.3-r0:
#   - CVE-2016-2120
#   - CVE-2016-7068
#   - CVE-2016-7072
#   - CVE-2016-7073
#   - CVE-2016-7074

_builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	./configure --prefix=/usr \
		--sysconfdir=/etc/$pkgname \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--libdir=/usr/lib/pdns \
		--with-modules="" \
		--with-dynmodules="bind ldap gmysql gpgsql pipe gsqlite3" \
		--disable-static \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1

	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname || return 1
	rm "$pkgdir"/etc/$pkgname/$pkgname.conf-dist
	install -m600 -D "$srcdir"/$pkgname.conf \
		"$pkgdir"/etc/$pkgname/$pkgname.conf || return 1
	chown pdns:pdns "$pkgdir"/etc/$pkgname/$pkgname.conf || return 1
}

backend_bind()		{ _mv_backend bind; }
backend_ldap()		{ _mv_backend ldap openldap; }
backend_mysql()		{ _mv_backend gmysql mysql; }
backend_pgsql()		{ _mv_backend gpgsql postgresql; }
backend_pipe()		{ _mv_backend pipe; }
backend_sqlite3()	{ _mv_backend gsqlite3 sqlite; }

_mv_backend() {
	local backend=$1
	pkgdesc="${backend} backend module for PowerDNS"
	depends="$pkgname"

	# backend dependencies
	if [ -n "${2-}" ]; then
		depends="${2-}"
	fi
	depends="${depends} ${pkgname}"

	mkdir -p "$subpkgdir"/usr/lib/pdns/pdns || return 1
	mv "$pkgdir"/usr/lib/pdns/pdns/lib${backend}backend.so \
		"$subpkgdir"/usr/lib/pdns/pdns/ || return 1
}

sha512sums="4a4f4db14809b96b763d223fe812cc552f62c96132226640eacdbdcebaa1ba7d8884498d685b81eb747668d42709698c46254f4fafe069306085f0bc19f18858  pdns-4.0.6.tar.bz2
71257be925fe57b15ebf29a7810cd70581cb867416ab9562300a1bbc3eb94fcb92ea2eb95f15e3ee3bd409468911077c50f90a2501801b0c8c49ed979f41f3a4  pdns.initd
9913551bb4d685aaced806134b1037d85ce759e7d9e780e256e67651d9d346aad5e608b4a45a4933f0ba879605b69d06e579c38b7f917f7a9be37c7797c5953b  pdns.conf"