diff options
Diffstat (limited to 'net-dns/pdns')
-rw-r--r-- | net-dns/pdns/Manifest | 15 | ||||
-rw-r--r-- | net-dns/pdns/files/dnsdomain2.schema | 195 | ||||
-rw-r--r-- | net-dns/pdns/files/pdns | 61 | ||||
-rw-r--r-- | net-dns/pdns/files/pdns-r1 | 102 | ||||
-rw-r--r-- | net-dns/pdns/metadata.xml | 24 | ||||
-rw-r--r-- | net-dns/pdns/pdns-4.0.2.ebuild | 153 | ||||
-rw-r--r-- | net-dns/pdns/pdns-4.0.3-r3.ebuild | 153 | ||||
-rw-r--r-- | net-dns/pdns/pdns-4.0.3.ebuild | 153 | ||||
-rw-r--r-- | net-dns/pdns/pdns-4.0.4.ebuild | 153 | ||||
-rw-r--r-- | net-dns/pdns/pdns-4.1.0_rc1.ebuild | 151 |
10 files changed, 1160 insertions, 0 deletions
diff --git a/net-dns/pdns/Manifest b/net-dns/pdns/Manifest new file mode 100644 index 000000000000..1e0aaeeb30a5 --- /dev/null +++ b/net-dns/pdns/Manifest @@ -0,0 +1,15 @@ +AUX dnsdomain2.schema 6640 SHA256 a59cfe28a82ffdcb7faa7d7a3d282cd998edcb49fc2543d3789e0ad6f329a938 SHA512 ac16f8d528d6138d3c2cbf997fd8fbb467d388aa63eb6ed4e7780a3dad11ea885b91252ff0809b1d2cf7d5200814b8963aab890af84741ea86d35b2f5955a7ea WHIRLPOOL a005f1d5676fb049429893b4951f252220e97184a63875ded9090373b493da3e3cc5bdc10a61bcdea3b00b72d3e686fc4d75cb5a661329a4ea0075cba417cebd +AUX pdns 1218 SHA256 aa50c51bcf9b42be4315afcdeed0b420049f97d8fea351096626c343fb4038d1 SHA512 7765720e89b6332af6b1f3e346c0768dc1c4533131598023c55cde09710d578c54d7a9c82df699c322cef8059b4d05a08dee3afa4837149f924b06c74e56080b WHIRLPOOL e8d3283717c2fc268cba4da5f33672d57b480c90946846fb74597c97c499fc4a32801bcd99818341c54610739da441dc4bf8553a82d65bdc7a3929da87b5ef32 +AUX pdns-r1 2533 SHA256 2f7692cd21c0212597ad474586ade8794648702bcfaae6e689c529a0a8847b7e SHA512 6392f59f82b82621b6cab6823f7761cd875bc6818c48db846df289057c02d8119a1024c5ecdf70a5ca8a55c00a2c3c56240d36b42cc038a25e8616ab9b966dd6 WHIRLPOOL 33f02fc7cd8c49aa10b93d1ebe714df0387d4f78093c61a32aa080c04ffff722d484fd32107185dceb17dcad069be3c2f87a708ecf0ad673cc83af306e73d1c1 +DIST pdns-4.0.2.tar.bz2 1314886 SHA256 d051e53b63f586c924f00ce8a81662f7bd285b461d125d4991538f92cf7e629d SHA512 6720289332ee5186f4c58a00a720f3bb58480c0ae7f09915148ca8b40e2dfdc77e2f14123df903692afa464539eeef6b21e8ea3d284278897751ba807e2cdffe WHIRLPOOL 6b58de4f2fc6fe830255203c281ca518a543b373171f73021cd8efd597c146b438a7ffd6ed018b637816fe07153a51f947818a0fa76dc237ba0f50903d3afbe9 +DIST pdns-4.0.3.tar.bz2 1312299 SHA256 60fa21550b278b41f58701af31c9f2b121badf271fb9d7642f6d35bfbea8e282 SHA512 58d33ac6cf457a916bae6abd8d2dc17f76fbcd1bd9e649948584dd669f5596b43e3e4d91841700ea1ea2cd1ac102749e503cd9075273540f33a2321e20d8bfc2 WHIRLPOOL a28ab5011b3365423f13331c31e8f0fdb9aef0798155ce6fcbe328f82ebc3ca57a966b77f48c31422d374837ee4be3f7f0bc935bab463add19714eb8abd46493 +DIST pdns-4.0.4.tar.bz2 1320327 SHA256 d974ab89de69477c7f581a3233bc731eacbb43d479291e472b2c531c83b6d763 SHA512 4ef4705cd990b03976775167c7c37850d45907e198549feda5f5701172e008e3f1f74a35a9bebdb24b63dec15ff63cb2cc9dfc8f92e4e1012e0539c5a88b845b WHIRLPOOL 5ac68a15155424d42fb4b84be1b34eb2e51498ae5193ae104215e4bb52a72845923f82dc6b112ce165444cdbfe3aaf01557d2f6ab42f6531dd525aee15ee1b19 +DIST pdns-4.1.0-rc1.tar.bz2 1106039 SHA256 a973202ca1c9333c236d76286ab1d8566d420a877a003130381150171d63d4ff SHA512 7356277126578b34587579039d4c63e9ba7822ddd39810b4a43eb06d076c2d247d8b8db7162b2aafd1cb73fd83047b0b5584d4d8bb333ec77597717bac76b450 WHIRLPOOL 19a003a7564691f5ba812f34b376d79c6acbb538df7e4b978a7058f919ef71d778770527d7a091a689a433e915cfccfc22152bc4da46e36ba6c335a31bcdb40f +EBUILD pdns-4.0.2.ebuild 4135 SHA256 24f5032ad5e1e048133a97f3429dd2506e196f428e69da3758c1db440a5946f2 SHA512 1f67708f99dcaa22638c101bcd014db5e050a9faf82fa8bd33e92361159551b496baab06e171b18e84f98cf333b949d0398f36ff0e1a4f0afba89485fd1bf08b WHIRLPOOL 576114051c4550af58eba31023475d947cfb15d229410b768100a7dd2d7cba6097e5d0fad2911dfdfecf7317fad8f13c38be200a0fee03ad3a92ba399e06b8f4 +EBUILD pdns-4.0.3-r3.ebuild 4146 SHA256 edba6f9a310f4e9b753c0bc0396385f4d04ec198355751d44495600aed8fe9d4 SHA512 4493c9211c817c9f26f3329e64a079a18570bfcaf18fb1e318100b4bb3f2ead15e3ac4436ce20cb1779b34a624bd490cea8d8182eddee8360fcb6def57be1e37 WHIRLPOOL 629182b4d6864352705fbdbd6f24fe06d8ba0acfe371df381507187c814fdf30c3534621330e27fbf4223aae43953c3749762c232d4dc1256765378e4137f6f3 +EBUILD pdns-4.0.3.ebuild 4137 SHA256 c37616d96d56911b6f143ff74b38aaec23fcd1e79857c67c8703244a74c94c77 SHA512 a757268e5d43bc22a666c6fc84986aa1582fdc5604527677e9b8928342f010f49d4b1beefa998539d37247c9bcaaf12dd3dad600f679897e2e1c6c74fafad15c WHIRLPOOL ac212bcd7ccad356e530fd27ed44fd1061c142edbaedc7119c9762ce42122775f985d97ff637116f7ba512e67a89f6a81ae6f12bed917ea1303694fe6af497a7 +EBUILD pdns-4.0.4.ebuild 4144 SHA256 814425cb3ff6b8be6e2c0fd39671ef748553ff9a4532064d50c6114eb2b78a66 SHA512 2491bd5013165ef666ca5c077c5d6330d016ba8d87950e6875fbdf780d212624616569a708ab6bdb7016ad10bfee18605d9136541d92166253a50e4ea0729ba0 WHIRLPOOL 1ba005ec54b80ad3c305cbd76db3c97ef0073e644879dfad2877a6e6102e19adb5c46e4d9724bc0b205a142a949335a138cba03f5cd83eaa1c9241406d446699 +EBUILD pdns-4.1.0_rc1.ebuild 4067 SHA256 742d4e08c15d1bfa8da7b2bf0f83808016b7ffe5a536b217c0fd304da901266a SHA512 3c627af21069277b5a24203edcebc94342867125c287db9346aec4a81f655217e4bfc01a35f0febe33a18557c6788654bdad0e109311ff43bda98cbf69e15427 WHIRLPOOL 1a315bde86086b80ff8b2bce01b2324b716a27beb5f5a4c424f02463aa73cfb0a83015554c4af1d5b887f0d1b69560e08ed815e3a1df7046e883ad48880a8e10 +MISC ChangeLog 5944 SHA256 35de26d1c11b2d393aa8a0c4eadb15c2575dd70df9a575f6c154eb42c58418b9 SHA512 ffa4c8e213e312dafd3e1b1b6d439a4bb7d3a645eaa0485c92a9c2cb61caf68e336b3cbca6f2a36dbc232a40a869e3fa99300456e1e418c87b77e5f0ec4b5af3 WHIRLPOOL c3cfde00afbe919570b062e3077d67e682b6b37aa114d480314eb92a5dfbd301d04ab1b1cee4414a398518113aa6706ce704d8a0c11e82860e7e9cd936a86030 +MISC ChangeLog-2015 17472 SHA256 0def7a9b8ef442683005b5805aaa3d3875a59c41ac239451c8f8b27177b3aedc SHA512 cb67db8b70208f96ad278ed3a706fd81bd97c9a278ba42a4bfd2369a2c1a47e0533eeed18e0673bf4a6c76d8ab6d12c6d5bf41804e83facaf4572983bf3ea43c WHIRLPOOL d9f6683e3836f9938d9b4d25f10f8fafc262510c2593d8210ff207a22bec3ad8d444417708b61138b7c9fea108dfd5aa25c1dd76a84c75fc1598efac73ce8bd2 +MISC metadata.xml 1372 SHA256 0c8074107d7379fc04ad8e6e31bd823c6d8d492e96beba90e13299bba017777e SHA512 5031d165e37113c51d9c608a6493594825bbef8f35ea6e85eae0c4b515df91522c99c574bc0fac141fdd1d428065a66a45e8367c67b459f730d0171a3bb85080 WHIRLPOOL de40f263dbe9929a3276d341f265e27943be737576626e2af4edbffe7218eae34ef8c46ce1b8c9945bbb5546537861e1200bae2785cd8efe371b0b764eb106ce diff --git a/net-dns/pdns/files/dnsdomain2.schema b/net-dns/pdns/files/dnsdomain2.schema new file mode 100644 index 000000000000..a89aeafb3746 --- /dev/null +++ b/net-dns/pdns/files/dnsdomain2.schema @@ -0,0 +1,195 @@ +# A schema for storing DNS zones in LDAP +# +# ORDERING is not necessary, and some servers don't support +# integerOrderingMatch. Omit or change if you like + +attributetype ( 1.3.6.1.4.1.2428.20.0.0 NAME 'dNSTTL' + DESC 'An integer denoting time to live' + EQUALITY integerMatch + ORDERING integerOrderingMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 ) + +attributetype ( 1.3.6.1.4.1.2428.20.0.1 NAME 'dNSClass' + DESC 'The class of a resource record' + EQUALITY caseIgnoreIA5Match + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.11 NAME 'wKSRecord' + DESC 'a well known service description, RFC 1035' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.12 NAME 'pTRRecord' + DESC 'domain name pointer, RFC 1035' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.13 NAME 'hInfoRecord' + DESC 'host information, RFC 1035' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.14 NAME 'mInfoRecord' + DESC 'mailbox or mail list information, RFC 1035' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.16 NAME 'tXTRecord' + DESC 'text string, RFC 1035' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.17 NAME 'rPRecord' + DESC 'for Responsible Person, RFC 1183' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.18 NAME 'aFSDBRecord' + DESC 'for AFS Data Base location, RFC 1183' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.24 NAME 'SigRecord' + DESC 'Signature, RFC 2535' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.25 NAME 'KeyRecord' + DESC 'Key, RFC 2535' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.27 NAME 'gPosRecord' + DESC 'Geographical Position, RFC 1712' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.28 NAME 'aAAARecord' + DESC 'IPv6 address, RFC 1886' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.29 NAME 'LocRecord' + DESC 'Location, RFC 1876' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.30 NAME 'nXTRecord' + DESC 'non-existant, RFC 2535' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.33 NAME 'sRVRecord' + DESC 'service location, RFC 2782' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.35 NAME 'nAPTRRecord' + DESC 'Naming Authority Pointer, RFC 2915' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.36 NAME 'kXRecord' + DESC 'Key Exchange Delegation, RFC 2230' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.37 NAME 'certRecord' + DESC 'certificate, RFC 2538' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.38 NAME 'a6Record' + DESC 'A6 Record Type, RFC 2874' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.39 NAME 'dNameRecord' + DESC 'Non-Terminal DNS Name Redirection, RFC 2672' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.42 NAME 'aPLRecord' + DESC 'Lists of Address Prefixes, RFC 3123' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.43 NAME 'dSRecord' + DESC 'Delegation Signer, RFC 3658' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.44 NAME 'sSHFPRecord' + DESC 'SSH Key Fingerprint, RFC 4255' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.45 NAME 'iPSecKeyRecord' + DESC 'SSH Key Fingerprint, RFC 4025' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.46 NAME 'rRSIGRecord' + DESC 'RRSIG, RFC 3755' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.47 NAME 'nSECRecord' + DESC 'NSEC, RFC 3755' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.48 NAME 'dNSKeyRecord' + DESC 'DNSKEY, RFC 3755' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.49 NAME 'dHCIDRecord' + DESC 'DHCID, RFC 4701' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.99 NAME 'sPFRecord' + DESC 'Sender Policy Framework, RFC 4408' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +objectclass ( 1.3.6.1.4.1.2428.20.2 NAME 'dNSDomain2' + SUP 'dNSDomain' STRUCTURAL + MAY ( DNSTTL $ DNSClass $ WKSRecord $ PTRRecord $ + HINFORecord $ MINFORecord $ TXTRecord $ RPRecord $ + AFSDBRecord $ SIGRecord $ KEYRecord $ GPOSRecord $ + AAAARecord $ LOCRecord $ NXTRecord $ SRVRecord $ + NAPTRRecord $ KXRecord $ CERTRecord $ A6Record $ + DNAMERecord $ APLRecord $ DSRecord $ SSHFPRecord $ + IPSECKEYRecord $ RRSIGRecord $ NSECRecord $ + DNSKEYRecord $ DHCIDRecord $ SPFRecord + ) ) diff --git a/net-dns/pdns/files/pdns b/net-dns/pdns/files/pdns new file mode 100644 index 000000000000..c16037913112 --- /dev/null +++ b/net-dns/pdns/files/pdns @@ -0,0 +1,61 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="monitor" +extra_started_commands="reload dump" + +PDNS_INSTANCE="${SVCNAME#pdns[.-]}" +PDNS_CONFIG="" + +if [ -n "${PDNS_INSTANCE}" ] && [ "${PDNS_INSTANCE}" != "pdns" ] +then + PDNS_CONFIG="--config-name=${PDNS_INSTANCE}" +else + PDNS_INSTANCE="default" +fi + +depend() { + need net + use mysql postgresql +} + +start() { + ebegin "Starting PowerDNS (${PDNS_INSTANCE})" + /usr/sbin/pdns_server \ + ${PDNS_CONFIG} \ + --daemon=yes \ + --guardian=yes + eend $? +} + +stop() { + ebegin "Stopping PowerDNS (${PDNS_INSTANCE})" + /usr/bin/pdns_control ${PDNS_CONFIG} quit >/dev/null 2>&1 + eend $? +} + +reload() { + ebegin "Reloading PowerDNS (${PDNS_INSTANCE})" + /usr/bin/pdns_control ${PDNS_CONFIG} cycle >/dev/null 2>&1 + eend $? +} + +dump() { + ebegin "Dumping PowerDNS (${PDNS_INSTANCE}) variables" + /usr/bin/pdns_control ${PDNS_CONFIG} list + eend $? +} + +monitor() { + ebegin "Starting PowerDNS (${PDNS_INSTANCE}) in monitor mode" + /usr/sbin/pdns_server \ + ${PDNS_CONFIG} \ + --daemon=no \ + --guardian=no \ + --control-console=yes \ + --loglevel=9 \ + --log-dns-details=yes \ + --query-logging=yes + eend $? +} diff --git a/net-dns/pdns/files/pdns-r1 b/net-dns/pdns/files/pdns-r1 new file mode 100644 index 000000000000..76c4a3f1bbf5 --- /dev/null +++ b/net-dns/pdns/files/pdns-r1 @@ -0,0 +1,102 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PDNS_CONFIGDIR="${PDNS_CONFIGDIR:-/etc/powerdns}" +PDNS_STOP_TIMEOUT="${PDNS_STOP_TIMEOUT:-10}" + +[ "${RC_SVCNAME}" != "pdns" ] && PDNS_INSTANCE="${RC_SVCNAME#pdns[.-]}" || PDNS_INSTANCE="" + +PDNS_CONFIG="${PDNS_CONFIGDIR}/pdns${PDNS_INSTANCE:+-${PDNS_INSTANCE}}.conf" +PDNS_CHROOTDIR="$( awk -F = '$1 == "chroot" { print $2 }' "${PDNS_CONFIG}" )" +PDNS_SOCKETDIR="$( awk -F = '$1 == "socket-dir" { print $2 }' "${PDNS_CONFIG}" )" +[ -z "${PDNS_SOCKETDIR}" -a -z "${PDNS_CHROOTDIR}" ] && PDNS_SOCKETDIR="/var/run" + +name="PowerDNS Authoritative Server${PDNS_INSTANCE:+ (${PDNS_INSTANCE})}" +description="Authoritative name server" + +extra_started_commands="dump ping" +extra_stopped_commands="monitor" +description_dump="Dumps all statistic variables" +description_ping="Ping the PowerDNS instance" +description_monitor="Starts in foreground with logging and console enabled" + +command="/usr/sbin/pdns_server" +command_args="--config-dir=${PDNS_CONFIGDIR}${PDNS_INSTANCE:+ --config-name=${PDNS_INSTANCE}}" +command_args_foreground="--daemon=no" +command_args_background="--daemon=yes" +yesno ${rc_verbose} || command_args_background="${command_args_background} >/dev/null 2>&1" + +pidfile="${PDNS_CHROOTDIR}/${PDNS_SOCKETDIR}/pdns${PDNS_INSTANCE:+-${PDNS_INSTANCE}}.pid" + +control_command="/usr/bin/pdns_control" +control_command_args="${command_args}" + +depend() { + need net + use mysql postgresql +} + +status() { + default_status || return + _ping || return 32 +} + +stop() { + default_stop || return + _ping || return 0 + wait_for_stop +} + +wait_for_stop() { + einfon "Waiting for ${name} to stop" + + local timeout="${PDNS_STOP_TIMEOUT}" + while [ "${timeout}" -gt 0 ]; do + sleep 1 + if ! _ping; then + echo + return 0 + fi + : $(( timeout -= 1 )) + printf . + done + + echo + return 1 +} + +dump() { + einfo "Dumping ${name} variables" + ${control_command} ${control_command_args} list +} + +_ping() { + ${control_command} ${control_command_args} rping >/dev/null 2>&1 +} + +ping() { + ebegin "Pinging ${name}" + _ping + eend $? +} + +monitor() { + einfo "Starting ${name} in monitor mode" + + echo + echo '************************************************' + echo '* Use "QUIT" or Ctrl-C to end monitoring mode! *' + echo '************************************************' + echo + + ${command} \ + ${command_args} \ + ${command_args_foreground} \ + --guardian=no \ + --control-console=yes \ + --loglevel=9 \ + --log-dns-details=yes \ + --query-logging=yes + return 0 +} diff --git a/net-dns/pdns/metadata.xml b/net-dns/pdns/metadata.xml new file mode 100644 index 000000000000..264c58531540 --- /dev/null +++ b/net-dns/pdns/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="person"> + <email>swegener@gentoo.org</email> + <name>Sven Wegener</name> + <description>Primary Maintainer</description> +</maintainer> +<longdescription> +The PowerDNS Nameserver is a modern, advanced and high performance authoritative- +only nameserver. It is written from scratch and conforms to all relevant DNS +standards documents. Furthermore, PowerDNS interfaces with almost any database. +</longdescription> +<use> + <flag name="botan">Make it possible to use the <pkg>dev-libs/botan</pkg> library for crypto-related stuff (like DNSSec) which can be significantly faster than PolarSSL.</flag> + <flag name="luajit">Enable support for <pkg>dev-lang/luajit</pkg></flag> + <flag name="mydns">Making it possible to use a MyDNS MySQL database with PowerDNS (not recommended for new deployments).</flag> + <flag name="opendbx">Use a database supported by <pkg>dev-db/opendbx</pkg> as backend.</flag> + <flag name="protobuf">Enable support for <pkg>dev-libs/protobuf</pkg>.</flag> + <flag name="remote">Use a generic socket or pipe as a backend (via JSON RPC requests).</flag> + <flag name="tinydns">Use a TinyDNS CDB database as backend.</flag> + <flag name="tools">Build optional tools (dnsscan, dnsscope, etc..).</flag> +</use> +</pkgmetadata> diff --git a/net-dns/pdns/pdns-4.0.2.ebuild b/net-dns/pdns/pdns-4.0.2.ebuild new file mode 100644 index 000000000000..99bcbba8399b --- /dev/null +++ b/net-dns/pdns/pdns-4.0.2.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit eutils multilib user toolchain-funcs versionator + +DESCRIPTION="The PowerDNS Daemon" +HOMEPAGE="https://www.powerdns.com/" +SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +# other possible flags: +# db2: we lack the dep +# oracle: dito (need Oracle Client Libraries) +# xdb: (almost) dead, surely not supported + +IUSE="botan debug doc geoip ldap libressl lua luajit mydns mysql opendbx postgres protobuf remote sqlite systemd tools tinydns test" + +REQUIRED_USE="mydns? ( mysql ) ?? ( lua luajit )" + +RDEPEND=" + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:= ) + >=dev-libs/boost-1.35:= + botan? ( =dev-libs/botan-1.10*[threads] ) + lua? ( dev-lang/lua:= ) + luajit? ( dev-lang/luajit:= ) + mysql? ( virtual/mysql ) + postgres? ( dev-db/postgresql:= ) + ldap? ( >=net-nds/openldap-2.0.27-r4 ) + sqlite? ( dev-db/sqlite:3 ) + opendbx? ( dev-db/opendbx ) + geoip? ( >=dev-cpp/yaml-cpp-0.5.1 dev-libs/geoip ) + tinydns? ( >=dev-db/tinycdb-0.77 ) + protobuf? ( dev-libs/protobuf )" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen )" + +S="${WORKDIR}"/${P/_/-} + +src_configure() { + local dynmodules="pipe bind" # the default backends, always enabled + + #use db2 && dynmodules+=" db2" + use ldap && dynmodules+=" ldap" + use lua && dynmodules+=" lua" + use mydns && dynmodules+=" mydns" + use mysql && dynmodules+=" gmysql" + use opendbx && dynmodules+=" opendbx" + #use oracle && dynmodules+=" goracle oracle" + use postgres && dynmodules+=" gpgsql" + use remote && dynmodules+=" remote" + use sqlite && dynmodules+=" gsqlite3" + use tinydns && dynmodules+=" tinydns" + use geoip && dynmodules+=" geoip" + #use xdb && dynmodules+=" xdb" + + econf \ + --disable-static \ + --sysconfdir=/etc/powerdns \ + --libdir=/usr/$(get_libdir)/powerdns \ + --with-modules= \ + --with-dynmodules="${dynmodules}" \ + --with-pgsql-includes=/usr/include \ + --with-pgsql-lib=/usr/$(get_libdir) \ + --with-mysql-lib=/usr/$(get_libdir) \ + $(use_enable botan botan1.10) \ + $(use_enable debug verbose-logging) \ + $(use_enable test unit-tests) \ + $(use_enable tools) \ + $(use_enable systemd) \ + $(use_with lua) \ + $(use_with luajit) \ + $(use_with protobuf) \ + ${myconf} +} + +src_compile() { + default + use doc && emake -C codedocs codedocs +} + +src_install() { + default + + mv "${D}"/etc/powerdns/pdns.conf{-dist,} + + fperms 0700 /etc/powerdns + fperms 0600 /etc/powerdns/pdns.conf + + # 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 + + 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 + + prune_libtool_files --all +} + +pkg_preinst() { + enewgroup pdns + enewuser pdns -1 -1 /var/empty pdns +} + +pkg_postinst() { + 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." + + if use ldap ; then + ewarn "The official LDAP backend module is only compile-tested by upstream." + ewarn "Try net-dns/pdns-ldap-backend if you have problems with it." + fi + + local old + for old in ${REPLACING_VERSIONS}; do + version_compare ${old} 3.2 + [[ $? -eq 1 ]] || continue + + ewarn "To fix a security bug (bug #458018) had the following" + ewarn "files/directories the world-readable bit removed (if set):" + ewarn " ${EPREFIX}/etc/powerdns" + ewarn " ${EPREFIX}/etc/powerdns/pdns.conf" + ewarn "Check if this is correct for your setup" + ewarn "This is a one-time change and will not happen on subsequent updates." + chmod o-rwx "${EPREFIX}"/etc/powerdns/{,pdns.conf} + + break + done +} diff --git a/net-dns/pdns/pdns-4.0.3-r3.ebuild b/net-dns/pdns/pdns-4.0.3-r3.ebuild new file mode 100644 index 000000000000..2ba5df54f29e --- /dev/null +++ b/net-dns/pdns/pdns-4.0.3-r3.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit eutils multilib user toolchain-funcs versionator + +DESCRIPTION="The PowerDNS Daemon" +HOMEPAGE="https://www.powerdns.com/" +SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +# other possible flags: +# db2: we lack the dep +# oracle: dito (need Oracle Client Libraries) +# xdb: (almost) dead, surely not supported + +IUSE="botan debug doc geoip ldap libressl lua luajit mydns mysql opendbx postgres protobuf remote sqlite systemd tools tinydns test" + +REQUIRED_USE="mydns? ( mysql ) ?? ( lua luajit )" + +RDEPEND=" + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:= ) + >=dev-libs/boost-1.35:= + botan? ( =dev-libs/botan-1.10*[threads] ) + lua? ( dev-lang/lua:= ) + luajit? ( dev-lang/luajit:= ) + mysql? ( virtual/mysql ) + postgres? ( dev-db/postgresql:= ) + ldap? ( >=net-nds/openldap-2.0.27-r4 ) + sqlite? ( dev-db/sqlite:3 ) + opendbx? ( dev-db/opendbx ) + geoip? ( >=dev-cpp/yaml-cpp-0.5.1 dev-libs/geoip ) + tinydns? ( >=dev-db/tinycdb-0.77 ) + protobuf? ( dev-libs/protobuf )" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen )" + +S="${WORKDIR}"/${P/_/-} + +src_configure() { + local dynmodules="pipe bind" # the default backends, always enabled + + #use db2 && dynmodules+=" db2" + use ldap && dynmodules+=" ldap" + use lua && dynmodules+=" lua" + use mydns && dynmodules+=" mydns" + use mysql && dynmodules+=" gmysql" + use opendbx && dynmodules+=" opendbx" + #use oracle && dynmodules+=" goracle oracle" + use postgres && dynmodules+=" gpgsql" + use remote && dynmodules+=" remote" + use sqlite && dynmodules+=" gsqlite3" + use tinydns && dynmodules+=" tinydns" + use geoip && dynmodules+=" geoip" + #use xdb && dynmodules+=" xdb" + + econf \ + --disable-static \ + --sysconfdir=/etc/powerdns \ + --libdir=/usr/$(get_libdir)/powerdns \ + --with-modules= \ + --with-dynmodules="${dynmodules}" \ + --with-pgsql-includes=/usr/include \ + --with-pgsql-lib=/usr/$(get_libdir) \ + --with-mysql-lib=/usr/$(get_libdir) \ + $(use_enable botan botan1.10) \ + $(use_enable debug verbose-logging) \ + $(use_enable test unit-tests) \ + $(use_enable tools) \ + $(use_enable systemd) \ + $(use_with lua) \ + $(use_with luajit) \ + $(use_with protobuf) \ + ${myconf} +} + +src_compile() { + default + use doc && emake -C codedocs codedocs +} + +src_install() { + default + + mv "${D}"/etc/powerdns/pdns.conf{-dist,} + + fperms 0700 /etc/powerdns + fperms 0600 /etc/powerdns/pdns.conf + + # set defaults: setuid=pdns, setgid=pdns + sed -i \ + -e 's/^# set\([ug]\)id=$/set\1id=pdns/g' \ + "${D}"/etc/powerdns/pdns.conf + + newinitd "${FILESDIR}"/pdns-r1 pdns + + keepdir /var/empty + + 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 + + prune_libtool_files --all +} + +pkg_preinst() { + enewgroup pdns + enewuser pdns -1 -1 /var/empty pdns +} + +pkg_postinst() { + 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." + + if use ldap ; then + ewarn "The official LDAP backend module is only compile-tested by upstream." + ewarn "Try net-dns/pdns-ldap-backend if you have problems with it." + fi + + local old + for old in ${REPLACING_VERSIONS}; do + version_compare ${old} 3.2 + [[ $? -eq 1 ]] || continue + + ewarn "To fix a security bug (bug #458018) had the following" + ewarn "files/directories the world-readable bit removed (if set):" + ewarn " ${EPREFIX}/etc/powerdns" + ewarn " ${EPREFIX}/etc/powerdns/pdns.conf" + ewarn "Check if this is correct for your setup" + ewarn "This is a one-time change and will not happen on subsequent updates." + chmod o-rwx "${EPREFIX}"/etc/powerdns/{,pdns.conf} + + break + done +} diff --git a/net-dns/pdns/pdns-4.0.3.ebuild b/net-dns/pdns/pdns-4.0.3.ebuild new file mode 100644 index 000000000000..c7455c660e77 --- /dev/null +++ b/net-dns/pdns/pdns-4.0.3.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit eutils multilib user toolchain-funcs versionator + +DESCRIPTION="The PowerDNS Daemon" +HOMEPAGE="https://www.powerdns.com/" +SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +# other possible flags: +# db2: we lack the dep +# oracle: dito (need Oracle Client Libraries) +# xdb: (almost) dead, surely not supported + +IUSE="botan debug doc geoip ldap libressl lua luajit mydns mysql opendbx postgres protobuf remote sqlite systemd tools tinydns test" + +REQUIRED_USE="mydns? ( mysql ) ?? ( lua luajit )" + +RDEPEND=" + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:= ) + >=dev-libs/boost-1.35:= + botan? ( =dev-libs/botan-1.10*[threads] ) + lua? ( dev-lang/lua:= ) + luajit? ( dev-lang/luajit:= ) + mysql? ( virtual/mysql ) + postgres? ( dev-db/postgresql:= ) + ldap? ( >=net-nds/openldap-2.0.27-r4 ) + sqlite? ( dev-db/sqlite:3 ) + opendbx? ( dev-db/opendbx ) + geoip? ( >=dev-cpp/yaml-cpp-0.5.1 dev-libs/geoip ) + tinydns? ( >=dev-db/tinycdb-0.77 ) + protobuf? ( dev-libs/protobuf )" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen )" + +S="${WORKDIR}"/${P/_/-} + +src_configure() { + local dynmodules="pipe bind" # the default backends, always enabled + + #use db2 && dynmodules+=" db2" + use ldap && dynmodules+=" ldap" + use lua && dynmodules+=" lua" + use mydns && dynmodules+=" mydns" + use mysql && dynmodules+=" gmysql" + use opendbx && dynmodules+=" opendbx" + #use oracle && dynmodules+=" goracle oracle" + use postgres && dynmodules+=" gpgsql" + use remote && dynmodules+=" remote" + use sqlite && dynmodules+=" gsqlite3" + use tinydns && dynmodules+=" tinydns" + use geoip && dynmodules+=" geoip" + #use xdb && dynmodules+=" xdb" + + econf \ + --disable-static \ + --sysconfdir=/etc/powerdns \ + --libdir=/usr/$(get_libdir)/powerdns \ + --with-modules= \ + --with-dynmodules="${dynmodules}" \ + --with-pgsql-includes=/usr/include \ + --with-pgsql-lib=/usr/$(get_libdir) \ + --with-mysql-lib=/usr/$(get_libdir) \ + $(use_enable botan botan1.10) \ + $(use_enable debug verbose-logging) \ + $(use_enable test unit-tests) \ + $(use_enable tools) \ + $(use_enable systemd) \ + $(use_with lua) \ + $(use_with luajit) \ + $(use_with protobuf) \ + ${myconf} +} + +src_compile() { + default + use doc && emake -C codedocs codedocs +} + +src_install() { + default + + mv "${D}"/etc/powerdns/pdns.conf{-dist,} + + fperms 0700 /etc/powerdns + fperms 0600 /etc/powerdns/pdns.conf + + # 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 + + 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 + + prune_libtool_files --all +} + +pkg_preinst() { + enewgroup pdns + enewuser pdns -1 -1 /var/empty pdns +} + +pkg_postinst() { + 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." + + if use ldap ; then + ewarn "The official LDAP backend module is only compile-tested by upstream." + ewarn "Try net-dns/pdns-ldap-backend if you have problems with it." + fi + + local old + for old in ${REPLACING_VERSIONS}; do + version_compare ${old} 3.2 + [[ $? -eq 1 ]] || continue + + ewarn "To fix a security bug (bug #458018) had the following" + ewarn "files/directories the world-readable bit removed (if set):" + ewarn " ${EPREFIX}/etc/powerdns" + ewarn " ${EPREFIX}/etc/powerdns/pdns.conf" + ewarn "Check if this is correct for your setup" + ewarn "This is a one-time change and will not happen on subsequent updates." + chmod o-rwx "${EPREFIX}"/etc/powerdns/{,pdns.conf} + + break + done +} diff --git a/net-dns/pdns/pdns-4.0.4.ebuild b/net-dns/pdns/pdns-4.0.4.ebuild new file mode 100644 index 000000000000..43c8063885e7 --- /dev/null +++ b/net-dns/pdns/pdns-4.0.4.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit eutils multilib user toolchain-funcs versionator + +DESCRIPTION="The PowerDNS Daemon" +HOMEPAGE="https://www.powerdns.com/" +SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +# other possible flags: +# db2: we lack the dep +# oracle: dito (need Oracle Client Libraries) +# xdb: (almost) dead, surely not supported + +IUSE="botan debug doc geoip ldap libressl lua luajit mydns mysql opendbx postgres protobuf remote sqlite systemd tools tinydns test" + +REQUIRED_USE="mydns? ( mysql ) ?? ( lua luajit )" + +RDEPEND=" + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:= ) + >=dev-libs/boost-1.35:= + botan? ( =dev-libs/botan-1.10*[threads] ) + lua? ( dev-lang/lua:= ) + luajit? ( dev-lang/luajit:= ) + mysql? ( virtual/mysql ) + postgres? ( dev-db/postgresql:= ) + ldap? ( >=net-nds/openldap-2.0.27-r4 ) + sqlite? ( dev-db/sqlite:3 ) + opendbx? ( dev-db/opendbx ) + geoip? ( >=dev-cpp/yaml-cpp-0.5.1 dev-libs/geoip ) + tinydns? ( >=dev-db/tinycdb-0.77 ) + protobuf? ( dev-libs/protobuf )" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen )" + +S="${WORKDIR}"/${P/_/-} + +src_configure() { + local dynmodules="pipe bind" # the default backends, always enabled + + #use db2 && dynmodules+=" db2" + use ldap && dynmodules+=" ldap" + use lua && dynmodules+=" lua" + use mydns && dynmodules+=" mydns" + use mysql && dynmodules+=" gmysql" + use opendbx && dynmodules+=" opendbx" + #use oracle && dynmodules+=" goracle oracle" + use postgres && dynmodules+=" gpgsql" + use remote && dynmodules+=" remote" + use sqlite && dynmodules+=" gsqlite3" + use tinydns && dynmodules+=" tinydns" + use geoip && dynmodules+=" geoip" + #use xdb && dynmodules+=" xdb" + + econf \ + --disable-static \ + --sysconfdir=/etc/powerdns \ + --libdir=/usr/$(get_libdir)/powerdns \ + --with-modules= \ + --with-dynmodules="${dynmodules}" \ + --with-pgsql-includes=/usr/include \ + --with-pgsql-lib=/usr/$(get_libdir) \ + --with-mysql-lib=/usr/$(get_libdir) \ + $(use_enable botan botan1.10) \ + $(use_enable debug verbose-logging) \ + $(use_enable test unit-tests) \ + $(use_enable tools) \ + $(use_enable systemd) \ + $(use_with lua) \ + $(use_with luajit) \ + $(use_with protobuf) \ + ${myconf} +} + +src_compile() { + default + use doc && emake -C codedocs codedocs +} + +src_install() { + default + + mv "${D}"/etc/powerdns/pdns.conf{-dist,} + + fperms 0700 /etc/powerdns + fperms 0600 /etc/powerdns/pdns.conf + + # set defaults: setuid=pdns, setgid=pdns + sed -i \ + -e 's/^# set\([ug]\)id=$/set\1id=pdns/g' \ + "${D}"/etc/powerdns/pdns.conf + + newinitd "${FILESDIR}"/pdns-r1 pdns + + keepdir /var/empty + + 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 + + prune_libtool_files --all +} + +pkg_preinst() { + enewgroup pdns + enewuser pdns -1 -1 /var/empty pdns +} + +pkg_postinst() { + 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." + + if use ldap ; then + ewarn "The official LDAP backend module is only compile-tested by upstream." + ewarn "Try net-dns/pdns-ldap-backend if you have problems with it." + fi + + local old + for old in ${REPLACING_VERSIONS}; do + version_compare ${old} 3.2 + [[ $? -eq 1 ]] || continue + + ewarn "To fix a security bug (bug #458018) had the following" + ewarn "files/directories the world-readable bit removed (if set):" + ewarn " ${EPREFIX}/etc/powerdns" + ewarn " ${EPREFIX}/etc/powerdns/pdns.conf" + ewarn "Check if this is correct for your setup" + ewarn "This is a one-time change and will not happen on subsequent updates." + chmod o-rwx "${EPREFIX}"/etc/powerdns/{,pdns.conf} + + break + done +} diff --git a/net-dns/pdns/pdns-4.1.0_rc1.ebuild b/net-dns/pdns/pdns-4.1.0_rc1.ebuild new file mode 100644 index 000000000000..95b9943f9c63 --- /dev/null +++ b/net-dns/pdns/pdns-4.1.0_rc1.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit eutils multilib user toolchain-funcs versionator + +DESCRIPTION="The PowerDNS Daemon" +HOMEPAGE="https://www.powerdns.com/" +SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +# other possible flags: +# db2: we lack the dep +# oracle: dito (need Oracle Client Libraries) +# xdb: (almost) dead, surely not supported + +IUSE="botan debug doc geoip ldap libressl lua luajit mydns mysql opendbx postgres protobuf remote sqlite systemd tools tinydns test" + +REQUIRED_USE="mydns? ( mysql ) ?? ( lua luajit )" + +RDEPEND=" + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:= ) + >=dev-libs/boost-1.35:= + botan? ( =dev-libs/botan-1.10*[threads] ) + lua? ( dev-lang/lua:= ) + luajit? ( dev-lang/luajit:= ) + mysql? ( virtual/mysql ) + postgres? ( dev-db/postgresql:= ) + ldap? ( >=net-nds/openldap-2.0.27-r4 ) + sqlite? ( dev-db/sqlite:3 ) + opendbx? ( dev-db/opendbx ) + geoip? ( >=dev-cpp/yaml-cpp-0.5.1 dev-libs/geoip ) + tinydns? ( >=dev-db/tinycdb-0.77 ) + protobuf? ( dev-libs/protobuf )" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen )" + +S="${WORKDIR}"/${P/_/-} + +src_configure() { + local dynmodules="pipe bind" # the default backends, always enabled + + #use db2 && dynmodules+=" db2" + use ldap && dynmodules+=" ldap" + use lua && dynmodules+=" lua" + use mydns && dynmodules+=" mydns" + use mysql && dynmodules+=" gmysql" + use opendbx && dynmodules+=" opendbx" + #use oracle && dynmodules+=" goracle oracle" + use postgres && dynmodules+=" gpgsql" + use remote && dynmodules+=" remote" + use sqlite && dynmodules+=" gsqlite3" + use tinydns && dynmodules+=" tinydns" + use geoip && dynmodules+=" geoip" + #use xdb && dynmodules+=" xdb" + + econf \ + --disable-static \ + --sysconfdir=/etc/powerdns \ + --libdir=/usr/$(get_libdir)/powerdns \ + --with-modules= \ + --with-dynmodules="${dynmodules}" \ + --with-mysql-lib=/usr/$(get_libdir) \ + $(use_enable botan botan1.10) \ + $(use_enable debug verbose-logging) \ + $(use_enable test unit-tests) \ + $(use_enable tools) \ + $(use_enable systemd) \ + $(use_with lua) \ + $(use_with luajit) \ + $(use_with protobuf) \ + ${myconf} +} + +src_compile() { + default + use doc && emake -C codedocs codedocs +} + +src_install() { + default + + mv "${D}"/etc/powerdns/pdns.conf{-dist,} + + fperms 0700 /etc/powerdns + fperms 0600 /etc/powerdns/pdns.conf + + # set defaults: setuid=pdns, setgid=pdns + sed -i \ + -e 's/^# set\([ug]\)id=$/set\1id=pdns/g' \ + "${D}"/etc/powerdns/pdns.conf + + newinitd "${FILESDIR}"/pdns-r1 pdns + + keepdir /var/empty + + 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 + + prune_libtool_files --all +} + +pkg_preinst() { + enewgroup pdns + enewuser pdns -1 -1 /var/empty pdns +} + +pkg_postinst() { + 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." + + if use ldap ; then + ewarn "The official LDAP backend module is only compile-tested by upstream." + ewarn "Try net-dns/pdns-ldap-backend if you have problems with it." + fi + + local old + for old in ${REPLACING_VERSIONS}; do + version_compare ${old} 3.2 + [[ $? -eq 1 ]] || continue + + ewarn "To fix a security bug (bug #458018) had the following" + ewarn "files/directories the world-readable bit removed (if set):" + ewarn " ${EPREFIX}/etc/powerdns" + ewarn " ${EPREFIX}/etc/powerdns/pdns.conf" + ewarn "Check if this is correct for your setup" + ewarn "This is a one-time change and will not happen on subsequent updates." + chmod o-rwx "${EPREFIX}"/etc/powerdns/{,pdns.conf} + + break + done +} |