PowerDNS 4.0.1: c++11 clue bat needed

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

PowerDNS 4.0.1: c++11 clue bat needed

Florian Obser-2
So, PowerDNS switched to c++11.

Some time ago I cargo culted the below diff. I forgot which other port
I got it from, sorry. :/

So what's the done thing to get a c++11 compiler?

Especially this line seems weird:
+MODGCC4_ARCHS = powerpc sparc64 alpha amd64 i386

Thanks,
Florian

diff --git Makefile Makefile
index 638abb3..6c5c35b 100644
--- Makefile
+++ Makefile
@@ -8,8 +8,7 @@ COMMENT-mysql= MySQL database access module for PowerDNS
 COMMENT-pgsql= PGSQL database access module for PowerDNS
 COMMENT-ldap= LDAP module for PowerDNS
 
-V= 3.4.9
-REVISION-main= 0
+V= 4.0.1
 DISTNAME= pdns-${V}
 EXTRACT_SUFX = .tar.bz2
 PKGNAME= powerdns-${V}
@@ -26,10 +25,15 @@ MULTI_PACKAGES= -main -mysql -pgsql -ldap
 # GPLv2
 PERMIT_PACKAGE_CDROM= Yes
 
-WANTLIB += m pthread stdc++
+MODULES += gcc4
+MODGCC4_ARCHS = powerpc sparc64 alpha amd64 i386
+MODGCC4_LANGS = c c++
+
+WANTLIB += m pthread
+WANTLIB += ${MODGCC4_CPPWANTLIB}
 
 WANTLIB-main += ${WANTLIB}
-WANTLIB-main += boost_program_options-mt boost_serialization-mt botan-1.10
+WANTLIB-main += boost_program_options-mt boost_serialization-mt
 WANTLIB-main += bz2 c crypto gmp sqlite3 z
 
 MASTER_SITES= http://downloads.powerdns.com/releases/
@@ -38,7 +42,7 @@ NO_TEST= Yes
 
 LIB_DEPENDS-main= devel/boost \
  devel/gmp \
- security/botan
+ ${MODGCC4_CPPLIBDEP}
 
 PSEUDO_FLAVORS+= no_mysql no_pgsql no_ldap
 FLAVOR?=
@@ -49,11 +53,10 @@ SYSCONFDIR= ${BASESYSCONFDIR}/pdns
 
 CONFIGURE_STYLE= gnu
 CONFIGURE_ARGS+= --disable-shared \
- --with-modules="geo bind" \
+ --with-modules="bind" \
  --with-sqlite3 \
  --with-dynmodules="${BACKENDS}" \
  --without-lua \
- --enable-botan1.10 \
  --disable-hardening
 CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include" \
  LDFLAGS="-L${LOCALBASE}/lib"
@@ -68,7 +71,8 @@ BACKENDS+= gmysql
 .else
 CONFIGURE_ARGS+= --without-mysql
 .endif
-LIB_DEPENDS-mysql= databases/mariadb
+LIB_DEPENDS-mysql= databases/mariadb \
+ ${MODGCC4_CPPLIBDEP}
 RUN_DEPENDS-mysql= ${FULLPKGNAME-main}:net/powerdns
 WANTLIB-mysql+= crypto lib/mysql/mysqlclient ssl z ${WANTLIB}
 
@@ -80,7 +84,8 @@ BACKENDS+= gpgsql
 .else
 CONFIGURE_ARGS+= --without-pgsql
 .endif
-LIB_DEPENDS-pgsql= databases/postgresql,-main
+LIB_DEPENDS-pgsql= databases/postgresql,-main \
+ ${MODGCC4_CPPLIBDEP}
 RUN_DEPENDS-pgsql= ${FULLPKGNAME-main}:net/powerdns
 WANTLIB-pgsql= crypto pq>=2 ssl ${WANTLIB}
 
@@ -90,7 +95,8 @@ BACKENDS+= ldap
 .else
 CONFIGURE_ARGS+= --without-ldap
 .endif
-LIB_DEPENDS-ldap= databases/openldap
+LIB_DEPENDS-ldap= databases/openldap \
+ ${MODGCC4_CPPLIBDEP}
 RUN_DEPENDS-ldap= ${FULLPKGNAME-main}:net/powerdns
 WANTLIB-ldap+= ${WANTLIB} crypto lber-2.4 ldap_r-2.4 sasl2 ssl
 
diff --git distinfo distinfo
index 8db5796..906c55e 100644
--- distinfo
+++ distinfo
@@ -1,2 +1,2 @@
-SHA256 (pdns-3.4.9.tar.bz2) = KxEk2y2TftZmZSW5/GCl3VXLgvTK5YEWy5ht5T+qXf8=
-SIZE (pdns-3.4.9.tar.bz2) = 1351434
+SHA256 (pdns-4.0.1.tar.bz2) = 0ZHu1KZmRDDoWWn0mDXFnoEOy7ez61BuZMayc0CR7dc=
+SIZE (pdns-4.0.1.tar.bz2) = 1304788
diff --git patches/patch-pdns_dns_random_cc patches/patch-pdns_dns_random_cc
new file mode 100644
index 0000000..6a79c33
--- /dev/null
+++ patches/patch-pdns_dns_random_cc
@@ -0,0 +1,23 @@
+$OpenBSD$
+Fix build with LibreSSL, for which OPENSSL_VERSION_NUMBER is irrelevant
+commit 115f658ee2000a4cdcc13e999da50b3634c6a907
+--- pdns/dns_random.cc.orig Fri Jul 29 16:32:32 2016
++++ pdns/dns_random.cc Tue Aug 16 14:11:23 2016
+@@ -2,7 +2,7 @@
+ #include "config.h"
+ #endif
+ #include <openssl/aes.h>
+-#if OPENSSL_VERSION_NUMBER > 0x1000100fL
++#if OPENSSL_VERSION_NUMBER > 0x1000100fL && !defined LIBRESSL_VERSION_NUMBER
+ // Older OpenSSL does not have CRYPTO_ctr128_encrypt. Before 1.1.0 the header
+ // file did not have the necessary extern "C" wrapper. In 1.1.0, AES_ctr128_encrypt
+ // was removed.
+@@ -53,7 +53,7 @@ unsigned int dns_random(unsigned int n)
+   if(!g_initialized)
+     abort();
+   uint32_t out;
+-#if OPENSSL_VERSION_NUMBER > 0x1000100fL
++#if OPENSSL_VERSION_NUMBER > 0x1000100fL && !defined LIBRESSL_VERSION_NUMBER
+   CRYPTO_ctr128_encrypt((const unsigned char*)&g_in, (unsigned char*) &out, sizeof(g_in), &aes_key, g_counter, g_stream, &g_offset, (block128_f) AES_encrypt);
+ #else
+   AES_ctr128_encrypt((const unsigned char*)&g_in, (unsigned char*) &out, sizeof(g_in), &aes_key, g_counter, g_stream, &g_offset);
diff --git patches/patch-pdns_opensslsigners_cc patches/patch-pdns_opensslsigners_cc
new file mode 100644
index 0000000..a09409c
--- /dev/null
+++ patches/patch-pdns_opensslsigners_cc
@@ -0,0 +1,14 @@
+$OpenBSD$
+Fix build with LibreSSL, for which OPENSSL_VERSION_NUMBER is irrelevant
+commit 115f658ee2000a4cdcc13e999da50b3634c6a907
+--- pdns/opensslsigners.cc.orig Fri Jul 29 16:32:32 2016
++++ pdns/opensslsigners.cc Tue Aug 16 14:11:23 2016
+@@ -12,7 +12,7 @@
+ #include "opensslsigners.hh"
+ #include "dnssecinfra.hh"
+
+-#if OPENSSL_VERSION_NUMBER < 0x1010000fL
++#if (OPENSSL_VERSION_NUMBER < 0x1010000fL || defined LIBRESSL_VERSION_NUMBER)
+ /* OpenSSL < 1.1.0 needs support for threading/locking in the calling application. */
+ static pthread_mutex_t *openssllocks;
+
diff --git pkg/PLIST-main pkg/PLIST-main
index d0f1149..9bf191d 100644
--- pkg/PLIST-main
+++ pkg/PLIST-main
@@ -7,17 +7,32 @@
 @newuser _powerdns:609:_powerdns:daemon:PowerDNS Server:/nonexistent:/sbin/nologin
 @extraunexec rm -rf /var/pdnsd/*
 @bin bin/pdns_control
-@bin bin/pdnssec
+@bin bin/pdnsutil
 @bin bin/zone2json
 @bin bin/zone2ldap
 @bin bin/zone2sql
 lib/pdns/
 lib/pdns/libbindbackend.so
-lib/pdns/libgeobackend.so
 lib/pdns/libgsqlite3backend.so
+@man man/man1/calidns.1
+@man man/man1/dnsbulktest.1
+@man man/man1/dnsgram.1
+@man man/man1/dnsreplay.1
+@man man/man1/dnsscan.1
+@man man/man1/dnsscope.1
+@man man/man1/dnstcpbench.1
+@man man/man1/dnswasher.1
+@man man/man1/dumresp.1
+@man man/man1/ixplore.1
+@man man/man1/nproxy.1
+@man man/man1/nsec3dig.1
 @man man/man1/pdns_control.1
+@man man/man1/pdns_notify.1
 @man man/man1/pdns_server.1
-@man man/man1/pdnssec.1
+@man man/man1/pdnsutil.1
+@man man/man1/saxfr.1
+@man man/man1/sdig.1
+@man man/man1/zone2json.1
 @man man/man1/zone2ldap.1
 @man man/man1/zone2sql.1
 @bin sbin/pdns_server


--
I'm not entirely sure you are real.

Reply | Threaded
Open this post in threaded view
|

Re: PowerDNS 4.0.1: c++11 clue bat needed

Stuart Henderson
On 2016/08/30 15:54, Florian Obser wrote:
> Especially this line seems weird:
> +MODGCC4_ARCHS = powerpc sparc64 alpha amd64 i386

Just use * there, if something doesn't have gcc4.9 it won't build
anyway.

> +MODGCC4_LANGS = c c++

c is implicit, just MODGCC4_LANGS = c++ is enough

> +WANTLIB += ${MODGCC4_CPPWANTLIB}

this is also implicit

>  LIB_DEPENDS-main= devel/boost \
>   devel/gmp \
> - security/botan
> + ${MODGCC4_CPPLIBDEP}
..
> +LIB_DEPENDS-mysql= databases/mariadb \
> + ${MODGCC4_CPPLIBDEP}
..
> +LIB_DEPENDS-pgsql= databases/postgresql,-main \
> + ${MODGCC4_CPPLIBDEP}

What I'd rather do here is

LIB_DEPENDS-main= ${LIB_DEPENDS} \
                  devel/boost \
                  devel/gmp \
                  security/botan

It makes no difference as-is, but if we were to switch some arches to
clang then things would work automatically.

Diff with the above changes below.

I'm getting this in a build though (with either your original diff or mine),

Using $< in a non-suffix rule context is a GNUmake idiom (Makefile:2986)

dnsmessage.pb.cc: dnsmessage.proto
        $(AM_V_GEN)$(PROTOC) --cpp_out=./ $<

Easily fixed with USE_GMAKE but I'm wondering why you didn't hit it ..

...

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/powerdns/Makefile,v
retrieving revision 1.46
diff -u -p -r1.46 Makefile
--- Makefile 17 Aug 2016 20:58:19 -0000 1.46
+++ Makefile 30 Aug 2016 16:08:17 -0000
@@ -8,8 +8,7 @@ COMMENT-mysql= MySQL database access mo
 COMMENT-pgsql= PGSQL database access module for PowerDNS
 COMMENT-ldap= LDAP module for PowerDNS
 
-V= 3.4.9
-REVISION-main= 0
+V= 4.0.1
 DISTNAME= pdns-${V}
 EXTRACT_SUFX = .tar.bz2
 PKGNAME= powerdns-${V}
@@ -26,19 +25,24 @@ MULTI_PACKAGES= -main -mysql -pgsql -ld
 # GPLv2
 PERMIT_PACKAGE_CDROM= Yes
 
-WANTLIB += m pthread stdc++
+MODULES += gcc4
+MODGCC4_ARCHS = *
+MODGCC4_LANGS = c++
+
+WANTLIB += m pthread
+#WANTLIB += ${MODGCC4_CPPWANTLIB}
 
 WANTLIB-main += ${WANTLIB}
-WANTLIB-main += boost_program_options-mt boost_serialization-mt botan-1.10
+WANTLIB-main += boost_program_options-mt boost_serialization-mt
 WANTLIB-main += bz2 c crypto gmp sqlite3 z
 
 MASTER_SITES= http://downloads.powerdns.com/releases/
 
 NO_TEST= Yes
 
-LIB_DEPENDS-main= devel/boost \
- devel/gmp \
- security/botan
+LIB_DEPENDS-main= ${LIB_DEPENDS} \
+ devel/boost \
+ devel/gmp
 
 PSEUDO_FLAVORS+= no_mysql no_pgsql no_ldap
 FLAVOR?=
@@ -49,11 +53,10 @@ SYSCONFDIR= ${BASESYSCONFDIR}/pdns
 
 CONFIGURE_STYLE= gnu
 CONFIGURE_ARGS+= --disable-shared \
- --with-modules="geo bind" \
+ --with-modules="bind" \
  --with-sqlite3 \
  --with-dynmodules="${BACKENDS}" \
  --without-lua \
- --enable-botan1.10 \
  --disable-hardening
 CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include" \
  LDFLAGS="-L${LOCALBASE}/lib"
@@ -68,7 +71,8 @@ BACKENDS+= gmysql
 .else
 CONFIGURE_ARGS+= --without-mysql
 .endif
-LIB_DEPENDS-mysql= databases/mariadb
+LIB_DEPENDS-mysql= ${LIB_DEPENDS} \
+ databases/mariadb
 RUN_DEPENDS-mysql= ${FULLPKGNAME-main}:net/powerdns
 WANTLIB-mysql+= crypto lib/mysql/mysqlclient ssl z ${WANTLIB}
 
@@ -80,7 +84,8 @@ BACKENDS+= gpgsql
 .else
 CONFIGURE_ARGS+= --without-pgsql
 .endif
-LIB_DEPENDS-pgsql= databases/postgresql,-main
+LIB_DEPENDS-pgsql= ${LIB_DEPENDS} \
+ databases/postgresql,-main
 RUN_DEPENDS-pgsql= ${FULLPKGNAME-main}:net/powerdns
 WANTLIB-pgsql= crypto pq>=2 ssl ${WANTLIB}
 
@@ -90,10 +95,10 @@ BACKENDS+= ldap
 .else
 CONFIGURE_ARGS+= --without-ldap
 .endif
-LIB_DEPENDS-ldap= databases/openldap
+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:
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/powerdns/distinfo,v
retrieving revision 1.13
diff -u -p -r1.13 distinfo
--- distinfo 9 Jun 2016 14:30:20 -0000 1.13
+++ distinfo 30 Aug 2016 16:08:17 -0000
@@ -1,2 +1,2 @@
-SHA256 (pdns-3.4.9.tar.bz2) = KxEk2y2TftZmZSW5/GCl3VXLgvTK5YEWy5ht5T+qXf8=
-SIZE (pdns-3.4.9.tar.bz2) = 1351434
+SHA256 (pdns-4.0.1.tar.bz2) = 0ZHu1KZmRDDoWWn0mDXFnoEOy7ez61BuZMayc0CR7dc=
+SIZE (pdns-4.0.1.tar.bz2) = 1304788
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/net/powerdns/pkg/PLIST-main,v
retrieving revision 1.8
diff -u -p -r1.8 PLIST-main
--- pkg/PLIST-main 14 Apr 2015 18:10:27 -0000 1.8
+++ pkg/PLIST-main 30 Aug 2016 16:08:17 -0000
@@ -7,17 +7,32 @@
 @newuser _powerdns:609:_powerdns:daemon:PowerDNS Server:/nonexistent:/sbin/nologin
 @extraunexec rm -rf /var/pdnsd/*
 @bin bin/pdns_control
-@bin bin/pdnssec
+@bin bin/pdnsutil
 @bin bin/zone2json
 @bin bin/zone2ldap
 @bin bin/zone2sql
 lib/pdns/
 lib/pdns/libbindbackend.so
-lib/pdns/libgeobackend.so
 lib/pdns/libgsqlite3backend.so
+@man man/man1/calidns.1
+@man man/man1/dnsbulktest.1
+@man man/man1/dnsgram.1
+@man man/man1/dnsreplay.1
+@man man/man1/dnsscan.1
+@man man/man1/dnsscope.1
+@man man/man1/dnstcpbench.1
+@man man/man1/dnswasher.1
+@man man/man1/dumresp.1
+@man man/man1/ixplore.1
+@man man/man1/nproxy.1
+@man man/man1/nsec3dig.1
 @man man/man1/pdns_control.1
+@man man/man1/pdns_notify.1
 @man man/man1/pdns_server.1
-@man man/man1/pdnssec.1
+@man man/man1/pdnsutil.1
+@man man/man1/saxfr.1
+@man man/man1/sdig.1
+@man man/man1/zone2json.1
 @man man/man1/zone2ldap.1
 @man man/man1/zone2sql.1
 @bin sbin/pdns_server
Index: patches/patch-pdns_dns_random_cc
===================================================================
RCS file: patches/patch-pdns_dns_random_cc
diff -N patches/patch-pdns_dns_random_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-pdns_dns_random_cc 30 Aug 2016 16:08:17 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+Fix build with LibreSSL, for which OPENSSL_VERSION_NUMBER is irrelevant
+commit 115f658ee2000a4cdcc13e999da50b3634c6a907
+--- pdns/dns_random.cc.orig Fri Jul 29 16:32:32 2016
++++ pdns/dns_random.cc Tue Aug 16 14:11:23 2016
+@@ -2,7 +2,7 @@
+ #include "config.h"
+ #endif
+ #include <openssl/aes.h>
+-#if OPENSSL_VERSION_NUMBER > 0x1000100fL
++#if OPENSSL_VERSION_NUMBER > 0x1000100fL && !defined LIBRESSL_VERSION_NUMBER
+ // Older OpenSSL does not have CRYPTO_ctr128_encrypt. Before 1.1.0 the header
+ // file did not have the necessary extern "C" wrapper. In 1.1.0, AES_ctr128_encrypt
+ // was removed.
+@@ -53,7 +53,7 @@ unsigned int dns_random(unsigned int n)
+   if(!g_initialized)
+     abort();
+   uint32_t out;
+-#if OPENSSL_VERSION_NUMBER > 0x1000100fL
++#if OPENSSL_VERSION_NUMBER > 0x1000100fL && !defined LIBRESSL_VERSION_NUMBER
+   CRYPTO_ctr128_encrypt((const unsigned char*)&g_in, (unsigned char*) &out, sizeof(g_in), &aes_key, g_counter, g_stream, &g_offset, (block128_f) AES_encrypt);
+ #else
+   AES_ctr128_encrypt((const unsigned char*)&g_in, (unsigned char*) &out, sizeof(g_in), &aes_key, g_counter, g_stream, &g_offset);
Index: patches/patch-pdns_opensslsigners_cc
===================================================================
RCS file: patches/patch-pdns_opensslsigners_cc
diff -N patches/patch-pdns_opensslsigners_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-pdns_opensslsigners_cc 30 Aug 2016 16:08:17 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+Fix build with LibreSSL, for which OPENSSL_VERSION_NUMBER is irrelevant
+commit 115f658ee2000a4cdcc13e999da50b3634c6a907
+--- pdns/opensslsigners.cc.orig Fri Jul 29 16:32:32 2016
++++ pdns/opensslsigners.cc Tue Aug 16 14:11:23 2016
+@@ -12,7 +12,7 @@
+ #include "opensslsigners.hh"
+ #include "dnssecinfra.hh"
+
+-#if OPENSSL_VERSION_NUMBER < 0x1010000fL
++#if (OPENSSL_VERSION_NUMBER < 0x1010000fL || defined LIBRESSL_VERSION_NUMBER)
+ /* OpenSSL < 1.1.0 needs support for threading/locking in the calling application. */
+ static pthread_mutex_t *openssllocks;
+



>  .endif
> -LIB_DEPENDS-ldap= databases/openldap
> +LIB_DEPENDS-ldap= databases/openldap \
> + ${MODGCC4_CPPLIBDEP}
>  RUN_DEPENDS-ldap= ${FULLPKGNAME-main}:net/powerdns
>  WANTLIB-ldap+= ${WANTLIB} crypto lber-2.4 ldap_r-2.4 sasl2 ssl
>  
> diff --git distinfo distinfo
> index 8db5796..906c55e 100644
> --- distinfo
> +++ distinfo
> @@ -1,2 +1,2 @@
> -SHA256 (pdns-3.4.9.tar.bz2) = KxEk2y2TftZmZSW5/GCl3VXLgvTK5YEWy5ht5T+qXf8=
> -SIZE (pdns-3.4.9.tar.bz2) = 1351434
> +SHA256 (pdns-4.0.1.tar.bz2) = 0ZHu1KZmRDDoWWn0mDXFnoEOy7ez61BuZMayc0CR7dc=
> +SIZE (pdns-4.0.1.tar.bz2) = 1304788
> diff --git patches/patch-pdns_dns_random_cc patches/patch-pdns_dns_random_cc
> new file mode 100644
> index 0000000..6a79c33
> --- /dev/null
> +++ patches/patch-pdns_dns_random_cc
> @@ -0,0 +1,23 @@
> +$OpenBSD$
> +Fix build with LibreSSL, for which OPENSSL_VERSION_NUMBER is irrelevant
> +commit 115f658ee2000a4cdcc13e999da50b3634c6a907
> +--- pdns/dns_random.cc.orig Fri Jul 29 16:32:32 2016
> ++++ pdns/dns_random.cc Tue Aug 16 14:11:23 2016
> +@@ -2,7 +2,7 @@
> + #include "config.h"
> + #endif
> + #include <openssl/aes.h>
> +-#if OPENSSL_VERSION_NUMBER > 0x1000100fL
> ++#if OPENSSL_VERSION_NUMBER > 0x1000100fL && !defined LIBRESSL_VERSION_NUMBER
> + // Older OpenSSL does not have CRYPTO_ctr128_encrypt. Before 1.1.0 the header
> + // file did not have the necessary extern "C" wrapper. In 1.1.0, AES_ctr128_encrypt
> + // was removed.
> +@@ -53,7 +53,7 @@ unsigned int dns_random(unsigned int n)
> +   if(!g_initialized)
> +     abort();
> +   uint32_t out;
> +-#if OPENSSL_VERSION_NUMBER > 0x1000100fL
> ++#if OPENSSL_VERSION_NUMBER > 0x1000100fL && !defined LIBRESSL_VERSION_NUMBER
> +   CRYPTO_ctr128_encrypt((const unsigned char*)&g_in, (unsigned char*) &out, sizeof(g_in), &aes_key, g_counter, g_stream, &g_offset, (block128_f) AES_encrypt);
> + #else
> +   AES_ctr128_encrypt((const unsigned char*)&g_in, (unsigned char*) &out, sizeof(g_in), &aes_key, g_counter, g_stream, &g_offset);
> diff --git patches/patch-pdns_opensslsigners_cc patches/patch-pdns_opensslsigners_cc
> new file mode 100644
> index 0000000..a09409c
> --- /dev/null
> +++ patches/patch-pdns_opensslsigners_cc
> @@ -0,0 +1,14 @@
> +$OpenBSD$
> +Fix build with LibreSSL, for which OPENSSL_VERSION_NUMBER is irrelevant
> +commit 115f658ee2000a4cdcc13e999da50b3634c6a907
> +--- pdns/opensslsigners.cc.orig Fri Jul 29 16:32:32 2016
> ++++ pdns/opensslsigners.cc Tue Aug 16 14:11:23 2016
> +@@ -12,7 +12,7 @@
> + #include "opensslsigners.hh"
> + #include "dnssecinfra.hh"
> +
> +-#if OPENSSL_VERSION_NUMBER < 0x1010000fL
> ++#if (OPENSSL_VERSION_NUMBER < 0x1010000fL || defined LIBRESSL_VERSION_NUMBER)
> + /* OpenSSL < 1.1.0 needs support for threading/locking in the calling application. */
> + static pthread_mutex_t *openssllocks;
> +
> diff --git pkg/PLIST-main pkg/PLIST-main
> index d0f1149..9bf191d 100644
> --- pkg/PLIST-main
> +++ pkg/PLIST-main
> @@ -7,17 +7,32 @@
>  @newuser _powerdns:609:_powerdns:daemon:PowerDNS Server:/nonexistent:/sbin/nologin
>  @extraunexec rm -rf /var/pdnsd/*
>  @bin bin/pdns_control
> -@bin bin/pdnssec
> +@bin bin/pdnsutil
>  @bin bin/zone2json
>  @bin bin/zone2ldap
>  @bin bin/zone2sql
>  lib/pdns/
>  lib/pdns/libbindbackend.so
> -lib/pdns/libgeobackend.so
>  lib/pdns/libgsqlite3backend.so
> +@man man/man1/calidns.1
> +@man man/man1/dnsbulktest.1
> +@man man/man1/dnsgram.1
> +@man man/man1/dnsreplay.1
> +@man man/man1/dnsscan.1
> +@man man/man1/dnsscope.1
> +@man man/man1/dnstcpbench.1
> +@man man/man1/dnswasher.1
> +@man man/man1/dumresp.1
> +@man man/man1/ixplore.1
> +@man man/man1/nproxy.1
> +@man man/man1/nsec3dig.1
>  @man man/man1/pdns_control.1
> +@man man/man1/pdns_notify.1
>  @man man/man1/pdns_server.1
> -@man man/man1/pdnssec.1
> +@man man/man1/pdnsutil.1
> +@man man/man1/saxfr.1
> +@man man/man1/sdig.1
> +@man man/man1/zone2json.1
>  @man man/man1/zone2ldap.1
>  @man man/man1/zone2sql.1
>  @bin sbin/pdns_server
>
>
> --
> I'm not entirely sure you are real.
>

Reply | Threaded
Open this post in threaded view
|

Re: PowerDNS 4.0.1: c++11 clue bat needed

Florian Obser-2
On Tue, Aug 30, 2016 at 05:10:19PM +0100, Stuart Henderson wrote:
> On 2016/08/30 15:54, Florian Obser wrote:
...
> Diff with the above changes below.

Thank you so much! Very much appreciated.

>
> I'm getting this in a build though (with either your original diff or mine),
>
> Using $< in a non-suffix rule context is a GNUmake idiom (Makefile:2986)
>
> dnsmessage.pb.cc: dnsmessage.proto
>         $(AM_V_GEN)$(PROTOC) --cpp_out=./ $<
>
> Easily fixed with USE_GMAKE but I'm wondering why you didn't hit it ..


I build on amd64, current as of yesterday morning-ish:

$ doas /usr/ports/infrastructure/bin/dpb net/powerdns

and it goes of and does it's thing, log is here:

http://sha256.net/dump/powerdns.log

pobj is gone though.

I note that I have gmake installed now, but as far as I understand the
log the build did not pick it up.

Reply | Threaded
Open this post in threaded view
|

Re: PowerDNS 4.0.1: c++11 clue bat needed

Stuart Henderson
Ah, it picks up protobuf if installed. I have it, you don't.
I think adding --without-protobuf to CONFIGURE_ARGS is good enough for now.


On 2016/08/31 09:27, Florian Obser wrote:

> On Tue, Aug 30, 2016 at 05:10:19PM +0100, Stuart Henderson wrote:
> > On 2016/08/30 15:54, Florian Obser wrote:
> ...
> > Diff with the above changes below.
>
> Thank you so much! Very much appreciated.
>
> >
> > I'm getting this in a build though (with either your original diff or mine),
> >
> > Using $< in a non-suffix rule context is a GNUmake idiom (Makefile:2986)
> >
> > dnsmessage.pb.cc: dnsmessage.proto
> >         $(AM_V_GEN)$(PROTOC) --cpp_out=./ $<
> >
> > Easily fixed with USE_GMAKE but I'm wondering why you didn't hit it ..
>
>
> I build on amd64, current as of yesterday morning-ish:
>
> $ doas /usr/ports/infrastructure/bin/dpb net/powerdns
>
> and it goes of and does it's thing, log is here:
>
> http://sha256.net/dump/powerdns.log
>
> pobj is gone though.
>
> I note that I have gmake installed now, but as far as I understand the
> log the build did not pick it up.