On Sat, Dec 09 2017, Florian Obser <[email protected]> wrote:
> jca pointed out that I send an update for an older version (4.0.5)
> before, so please disregard that. This jumps directly to the 4.1.x
> series.
>
> - our local patch to json11.cpp is no longer needed, upstream
> picked it up
> - two more local patches are needed, mplexer.hh is already fixed by
> upstream and nproxy.cc is reported so they should go away with
> the next update
> - jca pointed out that the master side does https now, so switched it,
> same for the home page
> - otto@ pointed out that we install the man pages for the tools but
> don't build tools. This is enabled now as per his request.
> - enabling the ldap module introduces a hard dependency on kerberos,
> (configure aborts) since I have no experience with kerberos,
> don't use ldap and never heard of anyone using ldap I chose to
> drop ldap support. It is hard enough to get OKs - let alone
> tests for powerdns, so I will focus on the things *I* need.
> If you need other things, please step up.
>
> I assume the ldap removal needs some black magic somewhere in quirks?
> Cluebats?
You'd need to add "powerdns-ldap" to $obsolete_reason in
devel/quirks/files/Quirks.pm. None of the existing reasons (see @msg)
really match here, though.
> This runs in production and works for me[tm]
> Tests, OKs?
Looks good ports-wise except that ''make port-lib-depends-check'' says
that WANTLIB-main is outdated, some libs aren't used any more. Do you
see the same?
> diff --git Makefile Makefile
> index c96c9a9b108..1a323cde121 100644
> --- Makefile
> +++ Makefile
> @@ -5,25 +5,19 @@ BROKEN-hppa = undefined reference to
> '__sync_fetch_and_add_4'
> COMMENT-main= modular authoritative nameserver (with database
> support)
> COMMENT-mysql= MySQL database access module for PowerDNS
> COMMENT-pgsql= PGSQL database access module for PowerDNS
> -COMMENT-ldap= LDAP module for PowerDNS
>
> -V= 4.0.4
> +V= 4.1.0
> DISTNAME= pdns-${V}
> EXTRACT_SUFX = .tar.bz2
> PKGNAME= powerdns-${V}
> PKGNAME-main= powerdns-${V}
> PKGNAME-mysql= powerdns-mysql-${V}
> PKGNAME-pgsql= powerdns-pgsql-${V}
> -PKGNAME-ldap= powerdns-ldap-${V}
> CATEGORIES= net
> -HOMEPAGE= http://www.powerdns.com/
> +HOMEPAGE= https://www.powerdns.com/
> MAINTAINER= Florian Obser <[email protected]>
> -REVISION-ldap= 0
> -REVISION-main= 0
> -REVISION-mysql= 0
> -REVISION-pgsql= 0
>
> -MULTI_PACKAGES= -main -mysql -pgsql -ldap
> +MULTI_PACKAGES= -main -mysql -pgsql
>
> # GPLv2
> PERMIT_PACKAGE_CDROM= Yes
> @@ -37,7 +31,7 @@ WANTLIB-main += ${WANTLIB}
> WANTLIB-main += boost_program_options-mt boost_serialization-mt
> WANTLIB-main += bz2 c crypto gmp sqlite3 z
>
> -MASTER_SITES= http://downloads.powerdns.com/releases/
> +MASTER_SITES= https://downloads.powerdns.com/releases/
>
> NO_TEST= Yes
>
> @@ -46,7 +40,7 @@ LIB_DEPENDS-main= ${LIB_DEPENDS} \
> devel/boost \
> devel/gmp
>
> -PSEUDO_FLAVORS+= no_mysql no_pgsql no_ldap
> +PSEUDO_FLAVORS+= no_mysql no_pgsql
> FLAVOR?=
>
> BACKENDS= gsqlite3
> @@ -60,7 +54,9 @@ CONFIGURE_ARGS+= --disable-shared \
> --with-dynmodules="${BACKENDS}" \
> --without-lua \
> --disable-hardening \
> - --without-protobuf
> + --without-protobuf \
> + --enable-tools
> +CONFIGURE_ARGS+= --without-ldap
>
> CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include" \
> LDFLAGS="-L${LOCALBASE}/lib"
> @@ -93,17 +89,6 @@ LIB_DEPENDS-pgsql= ${LIB_DEPENDS} \
> RUN_DEPENDS-pgsql= ${FULLPKGNAME-main}:net/powerdns
> WANTLIB-pgsql= crypto pq>=2 ssl ${WANTLIB}
>
> -# LDAP
> -.if ${BUILD_PACKAGES:M-ldap}
> -BACKENDS+= ldap
> -.else
> -CONFIGURE_ARGS+= --without-ldap
> -.endif
> -LIB_DEPENDS-ldap= ${LIB_DEPENDS} \
> - databases/openldap
> -RUN_DEPENDS-ldap= ${FULLPKGNAME-main}:net/powerdns
> -WANTLIB-ldap+= ${WANTLIB} crypto lber-2.4 ldap_r-2.4 sasl2 ssl
> -
> EXAMPLE_DIR= ${PREFIX}/share/examples/pdns/
> post-install:
> rm -f ${PREFIX}/lib/pdns/*.la
> diff --git distinfo distinfo
> index 0b14f5ac821..7ba47e175d1 100644
> --- distinfo
> +++ distinfo
> @@ -1,2 +1,2 @@
> -SHA256 (pdns-4.0.4.tar.bz2) = 2XSrid5pR3x/WBoyM7xzHqy7Q9R5KR5HKyxTHIO212M=
> -SIZE (pdns-4.0.4.tar.bz2) = 1320327
> +SHA256 (pdns-4.1.0.tar.bz2) = 25GTsPAlXCTfv8Mez/i9OeIf7AX/dSblrqljq8UX8PM=
> +SIZE (pdns-4.1.0.tar.bz2) = 1116905
> diff --git patches/patch-ext_json11_json11_cpp
> patches/patch-ext_json11_json11_cpp
> deleted file mode 100644
> index caf69e13d07..00000000000
> --- patches/patch-ext_json11_json11_cpp
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -$OpenBSD: patch-ext_json11_json11_cpp,v 1.1 2017/05/27 06:21:43 espie Exp $
> -nullptrs are non-comparable.
> -patch from freebsd
> -
> -Index: ext/json11/json11.cpp
> ---- ext/json11/json11.cpp.orig
> -+++ ext/json11/json11.cpp
> -@@ -37,11 +37,21 @@ using std::make_shared;
> - using std::initializer_list;
> - using std::move;
> -
> -+/* Helper for representing null - just a do-nothing struct, plus comparison
> -+ * operators so the helpers in JsonValue work. We can't use nullptr_t
> because
> -+ * it may not be orderable.
> -+*/
> -+
> -+struct NullStruct {
> -+ bool operator==(NullStruct) const { return true; }
> -+ bool operator<(NullStruct) const { return false; }
> -+};
> -+
> - /* * * * * * * * * * * * * * * * * * * *
> - * Serialization
> - */
> -
> --static void dump(std::nullptr_t, string &out) {
> -+static void dump(NullStruct, string &out) {
> - out += "null";
> - }
> -
> -@@ -204,9 +214,9 @@ class JsonObject final : public Value<Json::OBJECT, Js
> - explicit JsonObject(Json::object &&value) : Value(move(value)) {}
> - };
> -
> --class JsonNull final : public Value<Json::NUL, std::nullptr_t> {
> -+class JsonNull final : public Value<Json::NUL, NullStruct> {
> - public:
> -- JsonNull() : Value(nullptr) {}
> -+ JsonNull() : Value({}) {}
> - };
> -
> - /* * * * * * * * * * * * * * * * * * * *
> diff --git patches/patch-pdns_mplexer_hh patches/patch-pdns_mplexer_hh
> new file mode 100644
> index 00000000000..bd5842787e2
> --- /dev/null
> +++ patches/patch-pdns_mplexer_hh
> @@ -0,0 +1,14 @@
> +$OpenBSD$
> +needed for timeval
> +
> +Index: pdns/mplexer.hh
> +--- pdns/mplexer.hh.orig
> ++++ pdns/mplexer.hh
> +@@ -21,6 +21,7 @@
> + */
> + #ifndef PDNS_MPLEXER_HH
> + #define PDNS_MPLEXER_HH
> ++#include <sys/time.h>
> + #include <boost/function.hpp>
> + #include <boost/any.hpp>
> + #include <boost/shared_array.hpp>
> diff --git patches/patch-pdns_nproxy_cc patches/patch-pdns_nproxy_cc
> new file mode 100644
> index 00000000000..db102950e03
> --- /dev/null
> +++ patches/patch-pdns_nproxy_cc
> @@ -0,0 +1,15 @@
> +$OpenBSD$
> +
> +needed for chroot et al
> +
> +Index: pdns/nproxy.cc
> +--- pdns/nproxy.cc.orig
> ++++ pdns/nproxy.cc
> +@@ -38,6 +38,7 @@
> + #include <sys/stat.h>
> + #include <fcntl.h>
> + #include <grp.h>
> ++#include <unistd.h>
> + #include "dnsrecords.hh"
> + #include "mplexer.hh"
> + #include "statbag.hh"
> diff --git pkg/PLIST-main pkg/PLIST-main
> index d57f7c64a56..10401d1b415 100644
> --- pkg/PLIST-main
> +++ pkg/PLIST-main
> @@ -5,10 +5,24 @@
> @pkgpath net/powerdns,-sqlite3
> @newgroup _powerdns:609
> @newuser _powerdns:609:_powerdns:daemon:PowerDNS
> Server:/nonexistent:/sbin/nologin
> +@bin bin/dnsbulktest
> +@bin bin/dnsgram
> +@bin bin/dnsreplay
> +@bin bin/dnsscan
> +@bin bin/dnsscope
> +@bin bin/dnstcpbench
> +@bin bin/dnswasher
> +@bin bin/dumresp
> +@bin bin/ixplore
> +@bin bin/nproxy
> +@bin bin/nsec3dig
> @bin bin/pdns_control
> +@bin bin/pdns_notify
> @bin bin/pdnsutil
> +@bin bin/saxfr
> +@bin bin/sdig
> +@bin bin/stubquery
> @bin bin/zone2json
> -@bin bin/zone2ldap
> @bin bin/zone2sql
> lib/pdns/
> lib/pdns/libbindbackend.so
> @@ -36,6 +50,8 @@ lib/pdns/libgsqlite3backend.so
> @man man/man1/zone2sql.1
> @bin sbin/pdns_server
> share/doc/pdns/
> +share/doc/pdns/3.4.0_to_4.1.0_schema.mysql.sql
> +share/doc/pdns/3.4.0_to_4.1.0_schema.pgsql.sql
> share/doc/pdns/dnssec-3.x_to_3.4.0_schema.sqlite3.sql
> share/doc/pdns/nodnssec-3.x_to_3.4.0_schema.sqlite3.sql
> share/doc/pdns/schema.sqlite3.sql
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE