diff options
author | Tiziano Müller <dev-zero@gentoo.org> | 2013-05-20 19:05:49 +0000 |
---|---|---|
committer | Tiziano Müller <dev-zero@gentoo.org> | 2013-05-20 19:05:49 +0000 |
commit | 811c91308c4e7e1331a39c4189b3c038c47635ea (patch) | |
tree | 2c106349484fd4fc47a316b95cc40b31365ce5c5 /net-dns | |
parent | Version bump. (diff) | |
download | historical-811c91308c4e7e1331a39c4189b3c038c47635ea.tar.gz historical-811c91308c4e7e1331a39c4189b3c038c47635ea.tar.bz2 historical-811c91308c4e7e1331a39c4189b3c038c47635ea.zip |
Version bump (bug #456412), add support for using botan or crypto++ as well as lua-, odbc-, remote-, mydns and tinydns-backends. Fixed a lot of build issues in the build-system and depend on in-tree version of PolarSSL instead of the bundled one.
Package-Manager: portage-2.1.11.63/cvs/Linux x86_64
Manifest-Sign-Key: 0x1E0CA85F!
Diffstat (limited to 'net-dns')
-rw-r--r-- | net-dns/pdns/ChangeLog | 16 | ||||
-rw-r--r-- | net-dns/pdns/Manifest | 22 | ||||
-rw-r--r-- | net-dns/pdns/files/pdns-3.2-fix-autoconf.patch | 22 | ||||
-rw-r--r-- | net-dns/pdns/files/pdns-3.2-fix-conditional-polarssl.patch | 30 | ||||
-rw-r--r-- | net-dns/pdns/files/pdns-3.2-fix-curl-link.patch | 10 | ||||
-rw-r--r-- | net-dns/pdns/files/pdns-3.2-lib_lua.patch | 22 | ||||
-rw-r--r-- | net-dns/pdns/metadata.xml | 8 | ||||
-rw-r--r-- | net-dns/pdns/pdns-3.2.ebuild | 154 |
8 files changed, 276 insertions, 8 deletions
diff --git a/net-dns/pdns/ChangeLog b/net-dns/pdns/ChangeLog index ae4377004591..481935f3509d 100644 --- a/net-dns/pdns/ChangeLog +++ b/net-dns/pdns/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for net-dns/pdns -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns/ChangeLog,v 1.86 2012/11/25 16:12:21 swegener Exp $ +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns/ChangeLog,v 1.87 2013/05/20 19:05:48 dev-zero Exp $ + +*pdns-3.2 (20 May 2013) + + 20 May 2013; Tiziano Müller <dev-zero@gentoo.org> + +files/pdns-3.2-fix-autoconf.patch, + +files/pdns-3.2-fix-conditional-polarssl.patch, + +files/pdns-3.2-fix-curl-link.patch, +files/pdns-3.2-lib_lua.patch, + +pdns-3.2.ebuild, metadata.xml: + Version bump (bug #456412), add support for using botan or crypto++ as well as + lua-, odbc-, remote-, mydns and tinydns-backends. Fixed a lot of build issues + in the build-system and depend on in-tree version of PolarSSL instead of the + bundled one. 25 Nov 2012; Sven Wegener <swegener@gentoo.org> pdns-3.0.1.ebuild, pdns-3.1.ebuild: diff --git a/net-dns/pdns/Manifest b/net-dns/pdns/Manifest index df9294d609bd..80942918e38a 100644 --- a/net-dns/pdns/Manifest +++ b/net-dns/pdns/Manifest @@ -5,16 +5,28 @@ AUX dnsdomain2.schema 6640 SHA256 a59cfe28a82ffdcb7faa7d7a3d282cd998edcb49fc2543 AUX pdns 1288 SHA256 e616dd0ac4b955f74a4520cccee5e764945804e46564f1cde3464914d8104ed8 SHA512 3a36784c37e0b48ccc3254ca4bc4c4bbfc5e27a38104c8e5087b8bb864074b035d82d7675d10b2b4560bb265412099820f01d865c9c710cbf1fdb6e7aa5c7254 WHIRLPOOL d324dffe2f96cb29fc465604b4c77a14ebc8ea5a4188793f672154d252c44a76c1fc31bd1aac428801c4f98cc1612972520de6cd835a48a76dae2345361489ed AUX pdns-3.0-lua-config.patch 964 SHA256 8d79b7b71733aeb7de9d4d31a3f86bb8205dd1fbb955e6c1892ab84fe56fe720 SHA512 9ad47e72f44375172f51ada06193f65f170660d05e8c6c488bbd74f52132f5c72ccaf20b5c7a9ba7cd3bda6b2415b2730c27b9a5a352fea325dd894b2c05cceb WHIRLPOOL 5b0cf1ba7fab9e1a0a74fba2d548be742fbcb8f174eb9dfa33e07c60ae6ec92d81bf6057759357206b62d4bcea376f7ffeb91c6e51ccfcf966f05194280bbdb8 AUX pdns-3.0-verbose-logging.patch 667 SHA256 0ba17f63285e39136411d27b5f7943aa7fde32ce325718b96c59bf21d842a9e9 SHA512 2af13300057515fec593d662b289be37bbc5a9e51c849b9918f7d6d94e46057d41f2b6288d43cc9cc238204edff66ca21c3db0832d0d61037d4f65270628198a WHIRLPOOL 31f26b09582fb9a166ba75b8539b206a6de2aa8ee96585a0078dfed50285cf5bbbf1a427d785f1e3e45ab17b51f456fe1fa5c7c9ba023782ce184b0cec829cbe +AUX pdns-3.2-fix-autoconf.patch 681 SHA256 4a078640dde0bf185a9292b1cd5e37befc67549447ebb93fbecb705067a0398d SHA512 fa175c683ed55cc22c81abd41d94f050485445fe4d0ab4293db7a1ed4bb191c24480d7f845da1be5f2fe3025dc082b9ba2f4925c1adb1036fd67390912a650a2 WHIRLPOOL 4566fcfb6f6e7814aab95d84a8c5813bc7a9fef0efc5f4faf03967de2a3f30ca4a04cbd2ee31d419c3a288e29d3f0b30b6040d0d8a66b297586a142d0969378e +AUX pdns-3.2-fix-conditional-polarssl.patch 1547 SHA256 6c40a55034c526e8fd2f05802a71ad6f4cac6fcde5a605f2e308a11ec93a21fc SHA512 449b1ce7e6c1cefc4db361343c4a7297eefe5dd3d9618e6e78f3fcbfc59b051147e12f6f2b4c1329dab5c620e74e323296a583e976382d46ac2995c3937f255c WHIRLPOOL b7fb7be3c2905df2b11e013c2e1d3ded2718d10fc09b10943e25cbde793f03b212cf5d573a07353e33d4faee82530e605744abe762f2016cba4b9f6a636ab2db +AUX pdns-3.2-fix-curl-link.patch 504 SHA256 526e7e4895895206fbca101f0d55139c7ee73c22dc4cc0a44996531ae7fd5dbc SHA512 6639ef26f3727d5754d0ecc951a7dfbee2dad36b8ee653fb58781276c9d8cd8b0ccc71599a65496bda38d4b42969eccbd01e5a542b5a384dfaf5c8616ce3fa7a WHIRLPOOL 409ad1f0cd36377244570721ffca2c840177d7ff4869445b7aa3631e6c14b77c50c858dc8568a6dd9a4477d611194849609965d40f547dc37d85823777633690 +AUX pdns-3.2-lib_lua.patch 843 SHA256 3c4732900cf5ae9e4777b7943fc24faa8639bdeb6ce83cb51f46c44ff1f623e8 SHA512 dc28c22105e5785db26119c9a7d7fde29513900d965c197eb65dc669b1bfc47825953657c63929558818f98c4813f605f5de13386d762e670ef634c5f0960a01 WHIRLPOOL 91a13b9ebfe6d813512e25ebb621b8e0c6e0181f4b3b33198525b0df0c41a5dece8fca5545805a9011a2c2b38350c2c389e6f52c2b3854964882f7a0bc934c36 DIST pdns-3.0.1.tar.gz 1196471 SHA256 922554431737b4a8126a8c4b5be3126eb8bf8ac2a086e3030d1cf4b3dfa7d1b9 SHA512 2266d6d0c7a878ce296e5d322df8e817582e1c2db735ac04509002f2fea0991239cd06563c72717ac1ead9a59ad5f73d69781db032c2afdb1ad38d8a986ff006 WHIRLPOOL 2cee75202c61713e1c91c3287c7718f3afc623d0a215dca6b1644aadd8d5170daa2eb60ed6ac41b00e2ce466ef03ed6dae25d58ae99fd6b3713cb188c1309930 DIST pdns-3.1.tar.gz 1268532 SHA256 1400f7bd659207c0b1f4b8296092e559a7b7bf6a2434951970217d9af06922a1 SHA512 fdfaa98f401238b2a0cffe9e4eeb61787ca186cb3798e0265f70e525d98abfb937df200a2a922d5269db730dbeb5bbf457458b5c87fce034a359a03dfb3dfbc8 WHIRLPOOL 314423d10797628f2f0cf47ddd7da240e2d596fb3ff4e8d093c64655cc66383042c291352d3f673f147e4ea3e17b03e64dd10f180ce744d9ccd7e6926b9d6ede +DIST pdns-3.2.tar.gz 1293593 SHA256 d1895aba065446dc68e5d7cc792d5303626c71759f61a455531ed65d59c06572 SHA512 ba129fda742f06983b429b245a86288cc5738beea7e8776f3d7980e6cda8e9a1efab90fcef84093f2e4857fb83d3b1c0a258d1d875ebf0bb7724226877898335 WHIRLPOOL ac105586c5860615ffa18923163c822b37cbd6ad902bf9aa60d952a82a1f7102da127eac330577d63e841195599ac5b67177b228c5120249f226c480cfa387f0 EBUILD pdns-3.0.1.ebuild 3064 SHA256 1b67ba8ab60cc5be702d0c3552d6efac8235d8914ae5383c47d33f172df185ea SHA512 b40abb170207838c7b49d3814eda7767eee6cdf25508d5097f471f14612f2de56d4133ab12ea1481fb8130cf3d96b1650550af84461b3c549bdd7494501fefa3 WHIRLPOOL 60d93ce9ddec34b5c51c35fd14842e6ead3ec752afd9aec3c29a453c841219eb05bd384eb3b6969b208fb9d2166e5c292e86cd90fcf876905b5031b3efc5afeb EBUILD pdns-3.1.ebuild 2928 SHA256 5790060a9ee78d32f1e57959223d8e487399eb3ae6ed28a13c426eb513a9ade7 SHA512 e8249d9584f6e10429e60009b06176324c8141717ac590a7c464338b8ed80d823f5b43a01c25de0e30e968a88e72d53dd5a6e5c5b7d84888bf9fbf97f0721498 WHIRLPOOL d18869852f88a5f8582cc328d6f89b71c073bcce1bc5b30f05d8da77eec5f043cef8aca4d6098bb26378ffb7dffa0cc331920354e16546aadcb701e9d70935b4 -MISC ChangeLog 12991 SHA256 b410415228b86443e9b2494b213ee69fb1b2cd63c2de359d115981432161dbd8 SHA512 4d89e5a0167f732e9b8d446756df1425d7715aab190ee475cce72210ec3cc085e0fe2ebdbfb0115bbe2100f8a109e9fdbe2c7f0175bc6b0ad786ce845b492979 WHIRLPOOL d73d9d7cfadeaab509ee65b4aa71e45e1ad01e24bdcf92973bac180b42af67c0d5fef396b9f79d40034622418ba54ffeb74641d9e59584a5bec7f27669157a2c -MISC metadata.xml 621 SHA256 97dc634cfab302b5b4b61f6e2fd34253f8425fd3449fff155afce234ec5a2194 SHA512 46d2044f9fdc7ee5961417edeb4c3471df329470cdc494e4e5c86542dbde2ac4b59271e23c4853493c528085ddca3ae7a42cf5d7dc514fde02c8cd9ea98a257e WHIRLPOOL 25e71a20790e563160147694b04a3888194fe3e4ac1216f698223e7d84d84040fe72792d4193b2cc3f1fb1539204b120ca2ed9785e25330cb6f2636736e6ea12 +EBUILD pdns-3.2.ebuild 4075 SHA256 cc0aa013ae01738cd8f19846e7883370c19111d9d8c0640523fd7fe3df15d816 SHA512 6bb97efe92c4907b4502e9542b8bc05c48b86053aaaa773bfa404a8e1788a7d5de4ae683efa36e0a68887137ad8726b8e18f7c6271c2f561f08615298f7d172b WHIRLPOOL 71df3d6d66d50b7a5117eceb4cdc2b5b62e350581a71e1c41316e267c358101ae33d3b5282d7e86054366706cbcd546ceb5be315fcb736eb85b9db7b5577a90a +MISC ChangeLog 13517 SHA256 8cc0bca6cdc0aa32259702ffe9f9723b05798f6610d8eca222e5745604885dc5 SHA512 edb45be76ec29d1d82be3b124a45f8ce23464eb556ff510366a61fc0d4d8fcbc8f9af02005813562900185b86ed514cc15c451db108f9b8f30297f3466293fcf WHIRLPOOL 631b08612ee9ff668b0310cb01ca26b7062b4f2ef85408933b8966d436b0b8c40df7f8a5973bc1ac91317990a2034be871ee05aa413ffb5b6d84bd7552ff0f83 +MISC metadata.xml 1420 SHA256 71d1877c78a2ec451298ee16f2d482c37d93bd16687ed1ff5aeeb049d72772c4 SHA512 87faa2dda26ee19baa11380759e1680de0f4b5924306d0417ba126dd44defed5095fb03adb60dceb27e2151e359d0111b05103a590ef2991c69f31ba8012e128 WHIRLPOOL 9dd8c9b188802b6e0c6c77faa957b62794932ffed131cfc4b80d5ea84b2b6f5057ef3e663460e4c9baeff76c384e981c131227a92e80a4becdbf9de6e64c9e4a -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) -iEYEAREIAAYFAlCyQ2YACgkQI1lqEGTUzyT8QACfX6KgaEPKoBJpm0ZOU3oD6/G0 -zPEAoKArR5y2FTIOQSBKUv6tzfb2+bWN -=KaHt +iQF8BAEBCABmBQJRmnQNXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ1RjI0QTQ0MjI1OURBNzI4MEIyREExRkQx +RTdDRkM3NzFFMENBODVGAAoJEB58/HceDKhfwdsH/1pYmkvluELwZpjU0yKGIFMW +YwV8XtLRJBJ4gnPbLaG9wq/UDAKwghNCKjU5Vs1O/MIODw8MzLE6ktZjcMtT/DUX +7xzBIf/4isM4iaP/RxgPlizcnhqZVSwTlYBe8ogh5+gZHWnvgh2/ofTB6gzqHERe +RRpxY4j+sY2zsjG0a+DU+7zUV1FikQY5GtWqsIrSdN/4MXh+74ZPxo9sk0how3GY +8e9Sig2mtOVoqKBFXpT+UhxTn+Ua4T/Faa7k2M3Dbd6wpF1DgtW4cZW3GMRPZs/6 +Vrx0bwSl+J3z5cmv/0YSfLD6+Eqk3fAu6rsMGBMuFTrKaZnfO+SAemsK0cWtbxM= +=6t6s -----END PGP SIGNATURE----- diff --git a/net-dns/pdns/files/pdns-3.2-fix-autoconf.patch b/net-dns/pdns/files/pdns-3.2-fix-autoconf.patch new file mode 100644 index 000000000000..1fb555455982 --- /dev/null +++ b/net-dns/pdns/files/pdns-3.2-fix-autoconf.patch @@ -0,0 +1,22 @@ +diff --git a/configure.ac b/configure.ac +index 1beab82..243b693 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2,7 +2,7 @@ dnl intro + AC_INIT(pdns/receiver.cc) + AM_INIT_AUTOMAKE(pdns, 3.2) + AC_CANONICAL_HOST +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADERS([config.h]) + AC_C_BIGENDIAN + AC_PREREQ(2.52) + : ${CXXFLAGS="-Wall -O2"} +@@ -180,7 +180,7 @@ AC_ARG_WITH([system-polarssl], + [system_polarssl=$withval], + [system_polarssl=yes]) + AC_MSG_RESULT($system_polarssl) +-AM_CONDITIONAL(HAVE_LIBPOLARSSL, false) ++AM_CONDITIONAL(HAVE_LIBPOLARSSL, test x$system_polarssl = xyes) + if test x$system_polarssl = xyes; then + AC_MSG_CHECKING([PolarSSL version >= 1.1]) + AC_COMPILE_IFELSE( diff --git a/net-dns/pdns/files/pdns-3.2-fix-conditional-polarssl.patch b/net-dns/pdns/files/pdns-3.2-fix-conditional-polarssl.patch new file mode 100644 index 000000000000..26254eb9bb1e --- /dev/null +++ b/net-dns/pdns/files/pdns-3.2-fix-conditional-polarssl.patch @@ -0,0 +1,30 @@ +diff --git a/pdns/Makefile.am b/pdns/Makefile.am +index 8e7a2eb..57b4a90 100644 +--- a/pdns/Makefile.am ++++ b/pdns/Makefile.am +@@ -68,8 +68,12 @@ md5.hh signingpipe.cc signingpipe.hh dnslabeltext.cc lua-pdns.cc lua-auth.cc lua + ednssubnet.cc ednssubnet.hh cachecleaner.hh json.cc json.hh + + # +-pdns_server_LDFLAGS=@moduleobjects@ @modulelibs@ @DYNLINKFLAGS@ @LIBDL@ @THREADFLAGS@ $(BOOST_SERIALIZATION_LDFLAGS) -rdynamic ++pdns_server_LDFLAGS=@moduleobjects@ @modulelibs@ @DYNLINKFLAGS@ @LIBDL@ @THREADFLAGS@ $(BOOST_SERIALIZATION_LDFLAGS) -rdynamic ++if HAVE_LIBPOLARSSL ++pdns_server_LDADD= $(BOOST_SERIALIZATION_LIBS) $(LUA_LIBS) $(SQLITE3_LIBS) $(LIBCURL_LIBS) $(MYSQL_lib) ++else + pdns_server_LDADD= ext/polarssl-1.1.2/library/libpolarssl.a $(BOOST_SERIALIZATION_LIBS) $(LUA_LIBS) $(SQLITE3_LIBS) $(LIBCURL_LIBS) $(MYSQL_lib) ++endif + + if BOTAN110 + pdns_server_SOURCES += botan110signers.cc botansigners.cc +@@ -106,7 +110,11 @@ pdnssec_SOURCES=pdnssec.cc dbdnsseckeeper.cc sstuff.hh dnsparser.cc dnsparser.hh + + + pdnssec_LDFLAGS=@moduleobjects@ @modulelibs@ @DYNLINKFLAGS@ @LIBDL@ @THREADFLAGS@ $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) ++if HAVE_LIBPOLARSSL ++pdnssec_LDADD= $(BOOST_PROGRAM_OPTIONS_LIBS) $(BOOST_SERIALIZATION_LIBS) $(SQLITE3_LIBS) $(LIBCURL_LIBS) $(MYSQL_lib) ++else + pdnssec_LDADD= ext/polarssl-1.1.2/library/libpolarssl.a $(BOOST_PROGRAM_OPTIONS_LIBS) $(BOOST_SERIALIZATION_LIBS) $(SQLITE3_LIBS) $(LIBCURL_LIBS) $(MYSQL_lib) ++endif + + if BOTAN110 + pdnssec_SOURCES += botan110signers.cc botansigners.cc diff --git a/net-dns/pdns/files/pdns-3.2-fix-curl-link.patch b/net-dns/pdns/files/pdns-3.2-fix-curl-link.patch new file mode 100644 index 000000000000..2848179ddee1 --- /dev/null +++ b/net-dns/pdns/files/pdns-3.2-fix-curl-link.patch @@ -0,0 +1,10 @@ +diff --git a/modules/remotebackend/Makefile.am b/modules/remotebackend/Makefile.am +index a47f8bb..670ecbf 100644 +--- a/modules/remotebackend/Makefile.am ++++ b/modules/remotebackend/Makefile.am +@@ -10,4 +10,4 @@ lib_LTLIBRARIES = libremotebackend.la + libremotebackend_la_SOURCES=remotebackend.hh remotebackend.cc unixconnector.cc httpconnector.cc pipeconnector.cc + + libremotebackend_la_LDFLAGS=-module -avoid-version +-libremotebackend_la_LIBS=$(LIBCURL_LIBS) ++libremotebackend_la_LIBADD=$(LIBCURL_LIBS) diff --git a/net-dns/pdns/files/pdns-3.2-lib_lua.patch b/net-dns/pdns/files/pdns-3.2-lib_lua.patch new file mode 100644 index 000000000000..b1d97b8bdaae --- /dev/null +++ b/net-dns/pdns/files/pdns-3.2-lib_lua.patch @@ -0,0 +1,22 @@ +diff --git a/modules/luabackend/Makefile.am b/modules/luabackend/Makefile.am +index a2374bd..1c7bd9a 100644 +--- a/modules/luabackend/Makefile.am ++++ b/modules/luabackend/Makefile.am +@@ -1,7 +1,7 @@ +-AM_CPPFLAGS=@THREADFLAGS@ ++AM_CPPFLAGS=$(LUA_CFLAGS) @THREADFLAGS@ + EXTRA_DIST=OBJECTFILES OBJECTLIBS + +-INCLUDES=-I/usr/include/lua5.1 ++#INCLUDES=-I/usr/include/lua5.1 + #INCLUDES=-I/usr/local/include/luajit-2.0 -DUSE_LUAJIT + + lib_LTLIBRARIES = libluabackend.la +@@ -9,5 +9,6 @@ lib_LTLIBRARIES = libluabackend.la + libluabackend_la_SOURCES=luabackend.cc luabackend.hh minimal.cc reload.cc lua_functions.cc master.cc private.cc slave.cc supermaster.cc dnssec.cc \ + lua_functions.hh + +-libluabackend_la_LDFLAGS=-module -avoid-version -llua5.1 ++libluabackend_la_LDFLAGS=-module -avoid-version ++libluabackend_la_LIBADD=$(LUA_LIBS) + #-lluajit-5.1 diff --git a/net-dns/pdns/metadata.xml b/net-dns/pdns/metadata.xml index 6a4763767ed2..b43f48ecba53 100644 --- a/net-dns/pdns/metadata.xml +++ b/net-dns/pdns/metadata.xml @@ -12,6 +12,12 @@ 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='opendbx'>Enable the OpenDBX backend</flag> + <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='cryptopp'>Make it possible to use the <pkg>dev-libs/crypto++</pkg> library for crypto-related stuff (like DNSSec) which can be significantly faster than PolarSSL.</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='remote'>Use a generic socket or pipe as a backend (via JSON RPC requests).</flag> + <flag name='remote-http'>Enable remote connections to HTTP as backends (via RESTful JSON requests).</flag> + <flag name='tinydns'>Use a TinyDNS CDB database as backend.</flag> </use> </pkgmetadata> diff --git a/net-dns/pdns/pdns-3.2.ebuild b/net-dns/pdns/pdns-3.2.ebuild new file mode 100644 index 000000000000..4a6afb9afb2c --- /dev/null +++ b/net-dns/pdns/pdns-3.2.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns/pdns-3.2.ebuild,v 1.1 2013/05/20 19:05:48 dev-zero Exp $ + +EAPI=5 + +inherit autotools eutils multilib systemd user toolchain-funcs + +DESCRIPTION="The PowerDNS Daemon" +HOMEPAGE="http://www.powerdns.com/" +SRC_URI="http://downloads.powerdns.com/releases/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" + +# other possible flags: +# db2: we lack the dep +# oracle: dito (need Oracle Client Libraries) +# xdb: (almost) dead, surely not supported + +# TODO: sort out static deps + +IUSE="botan cryptopp debug doc ldap lua mydns mysql odbc opendbx postgres remote +remote-http sqlite static tinydns" + +REQUIRED_USE="mydns? ( mysql )" + +RDEPEND="net-libs/polarssl + botan? ( =dev-libs/botan-1.10* ) + cryptopp? ( dev-libs/crypto++ ) + lua? ( dev-lang/lua ) + mysql? ( virtual/mysql ) + postgres? ( dev-db/postgresql-base:= ) + ldap? ( >=net-nds/openldap-2.0.27-r4 ) + sqlite? ( dev-db/sqlite:3 ) + odbc? ( dev-db/unixODBC ) + opendbx? ( dev-db/opendbx ) + remote-http? ( net-misc/curl ) + tinydns? ( dev-db/cdb ) + !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}/${P}-fix-autoconf.patch" \ + "${FILESDIR}/${P}-fix-curl-link.patch" \ + "${FILESDIR}/${P}-fix-conditional-polarssl.patch" \ + "${FILESDIR}/${P}-lib_lua.patch" + eautoreconf +} + +src_configure() { + local dynmodules="pipe geo" # the default backends, always enabled + local modules="" + + #use db2 && dynmodules+=" db2" + use ldap && dynmodules+=" ldap" + use lua && dynmodules+=" lua" + use mydns && dynmodules+=" mydns" + use mysql && dynmodules+=" gmysql" + use odbc && dynmodules+=" godbc" + 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 xdb && dynmodules+=" xdb" + + if use static ; then + modules="${dynmodules}" + dynmodules="" + fi + + use botan && myconf+=" --enable-botan1.10" + use cryptopp && myconf+=" --enable-cryptopp" + use debug && myconf+=" --enable-verbose-logging" + use remote-http && myconf+=" --enable-remotebackend-http" + + econf \ + --disable-static \ + --sysconfdir=/etc/powerdns \ + --libdir=/usr/$(get_libdir)/powerdns \ + --disable-recursor \ + --with-modules="${modules}" \ + --with-dynmodules="${dynmodules}" \ + --with-pgsql-includes=/usr/include \ + --with-pgsql-lib=/usr/$(get_libdir) \ + --with-mysql-lib=/usr/$(get_libdir) \ + $(use_with lua) \ + $(use_enable static static-binaries) \ + ${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 + systemd_newunit contrib/systemd-pdns.service pdns.service + + 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 +} |