blob: 05b51660f5cb2f46950fb2c278cce7f84aed1f2d (
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
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns/pdns-3.0.1.ebuild,v 1.11 2012/11/25 16:12:21 swegener Exp $
EAPI=4
inherit eutils multilib autotools user toolchain-funcs
DESCRIPTION="The PowerDNS Daemon"
SRC_URI="http://downloads.powerdns.com/releases/${P}.tar.gz"
HOMEPAGE="http://www.powerdns.com/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="debug doc ldap mysql postgres sqlite sqlite3 static opendbx"
RDEPEND="mysql? ( virtual/mysql )
postgres? ( dev-db/postgresql-base )
ldap? ( >=net-nds/openldap-2.0.27-r4 )
sqlite? ( =dev-db/sqlite-2.8* )
sqlite3? ( =dev-db/sqlite-3* )
opendbx? ( dev-db/opendbx )
!static? ( >=dev-libs/boost-1.34 )"
DEPEND="${RDEPEND}
virtual/pkgconfig
static? ( >=dev-libs/boost-1.34[static-libs] )
doc? ( app-doc/doxygen )"
src_prepare() {
epatch "${FILESDIR}"/${PN}-3.0-lua-config.patch \
"${FILESDIR}"/${PN}-3.0-verbose-logging.patch
eautoreconf
}
src_configure() {
local modules="pipe geo" myconf=""
use mysql && modules="${modules} gmysql"
use postgres && modules="${modules} gpgsql"
use sqlite && modules="${modules} gsqlite"
use sqlite3 && modules="${modules} gsqlite3"
use opendbx && modules="${modules} opendbx"
use ldap && modules="${modules} ldap"
use debug && myconf="${myconf} --enable-verbose-logging"
econf \
--sysconfdir=/etc/powerdns \
--libdir=/usr/$(get_libdir)/powerdns \
--disable-recursor \
--with-modules= \
--with-dynmodules="${modules}" \
--with-pgsql-includes=/usr/include \
--with-pgsql-lib=/usr/$(get_libdir) \
--with-mysql-lib=/usr/$(get_libdir) \
--with-sqlite-lib=/usr/$(get_libdir) \
--without-lua \
$(use_enable static static-binaries) \
${myconf} \
|| die "econf failed"
}
src_compile() {
emake -C pdns/ext/polarssl CC="$(tc-getCC)" OFLAGS="${CFLAGS}"
default
if use doc
then
emake -C codedocs codedocs || die "emake codedocs failed"
fi
}
src_install () {
emake DESTDIR="${D}" install || die "make install failed"
mv "${D}"/etc/powerdns/pdns.conf{-dist,}
# set defaults: setuid=pdns, setgid=pdns
sed -i \
-e 's/^# set\([ug]\)id=$/set\1id=pdns/g' \
"${D}"/etc/powerdns/pdns.conf
doinitd "${FILESDIR}"/pdns
keepdir /var/empty
dodoc ChangeLog README TODO
use doc && dohtml -r codedocs/html/.
# Install development headers
insinto /usr/include/pdns
doins pdns/*.hh
insinto /usr/include/pdns/backends/gsql
doins pdns/backends/gsql/*.hh
if use ldap
then
insinto /etc/openldap/schema
doins "${FILESDIR}"/dnsdomain2.schema
fi
rm -f "${D}"/usr/$(get_libdir)/powerdns/*.{a,la}
}
pkg_preinst() {
enewgroup pdns
enewuser pdns -1 -1 /var/empty pdns
}
pkg_postinst() {
elog
elog "PowerDNS provides multiple instances support. You can create more instances"
elog "by symlinking the pdns init script to another name."
elog
elog "The name must be in the format pdns.<suffix> and PowerDNS will use the"
elog "/etc/powerdns/pdns-<suffix>.conf configuration file instead of the default."
elog
}
|