Hello Stuart, thanks for the review.
On Thu, Aug 03, 2017 at 06:43:11PM +0100, Stuart Henderson wrote:
>
> clang is already used as the compiler on i386/amd64/aarch64. Just using
> "COMPILER=clang" means this won't build on some arch which do have c++11
> support from ports gcc.
>
> For most things "COMPILER=gcc" is generally now the best option for c++11
> ports, this means "build with clang if it's in base, otherwise build with
> ports gcc".
>
Thank you for the information. I will use "gcc" instead.
> > * Use /var/run/kea instead of /tmp for the UNIX domain control sockets
> > introduced in 1.2.0.
>
> Please subst with ${LOCALSTATEDIR} instead of hardcoding /var.
>
Sorry about that. While using ${LOCALSTATEDIR} directly in the .pre
files does not work, I have used the @localstatedir@ markers instead
(which is used in other places in the files already).
>
> It's no longer LIBCXX but COMPILER_LIBCXX, which made me spot that your cvs
> diff is against Makefile r1.7 (post-6.1 but pre-current) .. so your ports tree
> (which includes portcheck) needs an update.
>
Thanks for spotting that. New diff against fresh ports tree below (and
now portcheck is happy as well).
I also noticed something I had missed in the configure output previously:
===
./configure[16315]: test: >: unexpected operator/operand
===
I opened a PR for that:
https://github.com/isc-projects/kea/pull/53
I dont feel that warrants a port patch though as I don't think the
outcome matters on OpenBSD.
--
Patrik Lundin
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/kea/Makefile,v
retrieving revision 1.9
diff -u -p -u -r1.9 Makefile
--- Makefile 26 Jul 2017 22:45:27 -0000 1.9
+++ Makefile 3 Aug 2017 20:17:26 -0000
@@ -2,29 +2,30 @@
COMMENT= high-performance and extensible DHCP server engine from ISC
-VERSION= 1.1.0
+VERSION= 1.2.0
DISTNAME= kea-${VERSION}
PKGNAME= ${DISTNAME:S/-P/pl/}
-REVISION= 0
SHARED_LIBS += kea-asiodns 0.0 # 0.0
-SHARED_LIBS += kea-asiolink 1.0 # 3.0
-SHARED_LIBS += kea-cc 0.0 # 1.0
-SHARED_LIBS += kea-cfgclient 0.1 # 2.1
-SHARED_LIBS += kea-cryptolink 0.0 # 1.0
-SHARED_LIBS += kea-dhcp++ 1.0 # 4.1
-SHARED_LIBS += kea-dhcp_ddns 0.1 # 1.1
-SHARED_LIBS += kea-dhcpsrv 1.0 # 6.0
-SHARED_LIBS += kea-dns++ 0.0 # 2.0
-SHARED_LIBS += kea-eval 1.0 # 4.0
+SHARED_LIBS += kea-asiolink 2.0 # 4.0
+SHARED_LIBS += kea-cc 1.0 # 2.0
+SHARED_LIBS += kea-cfgclient 1.0 # 3.0
+SHARED_LIBS += kea-cryptolink 1.0 # 2.0
+SHARED_LIBS += kea-dhcp++ 2.0 # 5.0
+SHARED_LIBS += kea-dhcp_ddns 0.2 # 1.2
+SHARED_LIBS += kea-dhcpsrv 2.0 # 7.0
+SHARED_LIBS += kea-dns++ 1.0 # 1.1
+SHARED_LIBS += kea-eval 2.0 # 5.0
SHARED_LIBS += kea-exceptions 0.0 # 0.0
-SHARED_LIBS += kea-hooks 1.0 # 2.0
-SHARED_LIBS += kea-log 1.0 # 2.0
+SHARED_LIBS += kea-hooks 2.0 # 3.0
+SHARED_LIBS += kea-http 0.0 # 0.0
+SHARED_LIBS += kea-log 2.0 # 3.0
+SHARED_LIBS += kea-process 0.0 # 0.0
SHARED_LIBS += kea-stats 0.0 # 1.0
SHARED_LIBS += kea-threads 1.0 # 1.0
SHARED_LIBS += kea-util-io 0.0 # 0.0
-SHARED_LIBS += kea-util 1.0 # 2.0
+SHARED_LIBS += kea-util 1.1 # 2.1
CATEGORIES= net
@@ -50,6 +51,9 @@ CONFIGURE_ARGS+= --with-openssl=/usr \
--with-boost-lib-dir=${LOCALBASE}/lib
LIBTOOL_FLAGS= --tag=disable-static
+
+# configure: error: std::unique_ptr (a C++11 feature) is not supported
+COMPILER= gcc
FLAVORS= mysql postgresql
FLAVOR?=
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/kea/distinfo,v
retrieving revision 1.3
diff -u -p -u -r1.3 distinfo
--- distinfo 13 Nov 2016 14:58:18 -0000 1.3
+++ distinfo 3 Aug 2017 20:17:26 -0000
@@ -1,2 +1,2 @@
-SHA256 (kea-1.1.0.tar.gz) = w9l67k+qGWU//m0355fi+/YyEkzQuYu1Avm5e1o4PC0=
-SIZE (kea-1.1.0.tar.gz) = 4934875
+SHA256 (kea-1.2.0.tar.gz) = ItFZRbE2ALVsNyE3l8ofPumFHmEZEgrq4IAzxMxS0Sk=
+SIZE (kea-1.2.0.tar.gz) = 5720941
Index: patches/patch-src_bin_dhcp4_tests_dhcp4_process_tests_sh_in
===================================================================
RCS file: patches/patch-src_bin_dhcp4_tests_dhcp4_process_tests_sh_in
diff -N patches/patch-src_bin_dhcp4_tests_dhcp4_process_tests_sh_in
--- patches/patch-src_bin_dhcp4_tests_dhcp4_process_tests_sh_in 28 Feb 2017
08:57:12 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-src_bin_dhcp4_tests_dhcp4_process_tests_sh_in,v 1.1 2017/02/28
08:57:12 jasper Exp $
---- src/bin/dhcp4/tests/dhcp4_process_tests.sh.in.orig Sun Sep 25 20:58:05 2016
-+++ src/bin/dhcp4/tests/dhcp4_process_tests.sh.in Mon Oct 3 21:04:41 2016
-@@ -318,7 +318,7 @@ lfc_timer_test() {
- sleep 1
-
- # Modify the interval.
-- LFC_CONFIG=$(printf "${CONFIG}" | sed -e 's/\"lfc-interval\":
1/\"lfc-interval\": 2/g')
-+ LFC_CONFIG=$(printf "${LFC_CONFIG}" | sed -e 's/\"lfc-interval\":
1/\"lfc-interval\": 2/g')
- # Create new configuration file.
- create_config "${LFC_CONFIG}"
-
Index: patches/patch-src_bin_dhcp6_tests_dhcp6_process_tests_sh_in
===================================================================
RCS file: patches/patch-src_bin_dhcp6_tests_dhcp6_process_tests_sh_in
diff -N patches/patch-src_bin_dhcp6_tests_dhcp6_process_tests_sh_in
--- patches/patch-src_bin_dhcp6_tests_dhcp6_process_tests_sh_in 28 Feb 2017
08:57:12 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-src_bin_dhcp6_tests_dhcp6_process_tests_sh_in,v 1.1 2017/02/28
08:57:12 jasper Exp $
---- src/bin/dhcp6/tests/dhcp6_process_tests.sh.in.orig Sun Sep 25 20:58:05 2016
-+++ src/bin/dhcp6/tests/dhcp6_process_tests.sh.in Mon Oct 3 21:04:41 2016
-@@ -321,7 +321,7 @@ lfc_timer_test() {
- sleep 1
-
- # Modify the interval.
-- LFC_CONFIG=$(printf "${CONFIG}" | sed -e 's/\"lfc-interval\":
1/\"lfc-interval\": 2/g')
-+ LFC_CONFIG=$(printf "${LFC_CONFIG}" | sed -e 's/\"lfc-interval\":
1/\"lfc-interval\": 2/g')
- # Create new configuration file.
- create_config "${LFC_CONFIG}"
-
Index: patches/patch-src_bin_keactrl_kea-ca_conf_pre
===================================================================
RCS file: patches/patch-src_bin_keactrl_kea-ca_conf_pre
diff -N patches/patch-src_bin_keactrl_kea-ca_conf_pre
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_bin_keactrl_kea-ca_conf_pre 3 Aug 2017 20:17:26
-0000
@@ -0,0 +1,19 @@
+$OpenBSD$
+
+Index: src/bin/keactrl/kea-ca.conf.pre
+--- src/bin/keactrl/kea-ca.conf.pre.orig
++++ src/bin/keactrl/kea-ca.conf.pre
+@@ -11,11 +11,11 @@
+ "control-sockets": {
+ "dhcp4-server": {
+ "socket-type": "unix",
+- "socket-name": "/tmp/kea-dhcp4-ctrl.sock"
++ "socket-name": "@localstatedir@/run/kea/kea-dhcp4-ctrl.sock"
+ },
+ "dhcp6-server": {
+ "socket-type": "unix",
+- "socket-name": "/tmp/kea-dhcp6-ctrl.sock"
++ "socket-name": "@localstatedir@/run/kea/kea-dhcp6-ctrl.sock"
+ }
+ },
+
Index: patches/patch-src_bin_keactrl_kea_conf_pre
===================================================================
RCS file: patches/patch-src_bin_keactrl_kea_conf_pre
diff -N patches/patch-src_bin_keactrl_kea_conf_pre
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_bin_keactrl_kea_conf_pre 3 Aug 2017 20:17:26 -0000
@@ -0,0 +1,70 @@
+$OpenBSD$
+
+Index: src/bin/keactrl/kea.conf.pre
+--- src/bin/keactrl/kea.conf.pre.orig
++++ src/bin/keactrl/kea.conf.pre
+@@ -45,7 +45,7 @@
+ // more. For detailed description, see Sections 8.8, 16 and 15.
+ "control-socket": {
+ "socket-type": "unix",
+- "socket-name": "/tmp/kea-dhcp4-ctrl.sock"
++ "socket-name": "@localstatedir@/run/kea/kea-dhcp4-ctrl.sock"
+ },
+
+ // Use Memfile lease database backend to store leases in a CSV file.
+@@ -57,7 +57,8 @@
+ "lease-database": {
+ // Memfile is the simplest and easiest backend to use. It's a
in-memory
+ // C++ database that stores its state in CSV file.
+- "type": "memfile"
++ "type": "memfile",
++ "lfc-interval": 3600
+ },
+
+ // Kea allows storing host reservations in a database. If your network is
+@@ -427,7 +428,7 @@
+ // description, see Sections 9.12, 16 and 15.
+ "control-socket": {
+ "socket-type": "unix",
+- "socket-name": "/tmp/kea-dhcp6-ctrl.sock"
++ "socket-name": "@localstatedir@/run/kea/kea-dhcp6-ctrl.sock"
+ },
+
+ // Use Memfile lease database backend to store leases in a CSV file.
+@@ -437,7 +438,8 @@
+ // There are dedicated examples for each backend. See Section 8.2.2 "Lease
+ // Storage" for details.
+ "lease-database": {
+- "type": "memfile"
++ "type": "memfile",
++ "lfc-interval": 3600
+ },
+
+ // Kea allows storing host reservations in a database. If your network is
+@@ -753,7 +755,7 @@
+ // - syslog (logs to syslog)
+ // - syslog:name (logs to syslog using specified name)
+ // Any other value is considered a name of a time
+- "output": "@localstatedir@/log/kea-dhcp4.log"
++ "output": "syslog:daemon"
+
+ // This governs whether the log output is flushed to disk
after
+ // every write.
+@@ -782,7 +784,7 @@
+ "name": "kea-dhcp6",
+ "output_options": [
+ {
+- "output": "@localstatedir@/log/kea-dhcp6.log"
++ "output": "syslog:daemon"
+ }
+ ],
+ "severity": "INFO",
+@@ -793,7 +795,7 @@
+ "name": "kea-dhcp-ddns",
+ "output_options": [
+ {
+- "output": "@localstatedir@/log/kea-ddns.log"
++ "output": "syslog:daemon"
+ }
+ ],
+ "severity": "INFO",
Index: patches/patch-src_bin_keactrl_keactrl_conf_in
===================================================================
RCS file: patches/patch-src_bin_keactrl_keactrl_conf_in
diff -N patches/patch-src_bin_keactrl_keactrl_conf_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_bin_keactrl_keactrl_conf_in 3 Aug 2017 20:17:26
-0000
@@ -0,0 +1,15 @@
+$OpenBSD$
+
+Index: src/bin/keactrl/keactrl.conf.in
+--- src/bin/keactrl/keactrl.conf.in.orig
++++ src/bin/keactrl/keactrl.conf.in
+@@ -2,6 +2,9 @@
+ # the startup, shutdown, reconfiguration and gathering the status
+ # of the Kea's processes.
+
++# Log to syslog.
++KEA_LOGGER_DESTINATION=syslog:daemon
++
+ # prefix holds the location where the Kea is installed.
+ prefix=@prefix@
+
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/kea/pkg/PLIST,v
retrieving revision 1.3
diff -u -p -u -r1.3 PLIST
--- pkg/PLIST 13 Nov 2016 14:58:18 -0000 1.3
+++ pkg/PLIST 3 Aug 2017 20:17:26 -0000
@@ -4,38 +4,84 @@
@bin bin/kea-msg-compiler
include/kea/
include/kea/asiolink/
+include/kea/asiolink/asio_wrapper.h
+include/kea/asiolink/asiolink.h
+include/kea/asiolink/interval_timer.h
include/kea/asiolink/io_address.h
+include/kea/asiolink/io_asio_socket.h
+include/kea/asiolink/io_endpoint.h
+include/kea/asiolink/io_error.h
+include/kea/asiolink/io_service.h
+include/kea/asiolink/io_socket.h
+include/kea/asiolink/tcp_endpoint.h
+include/kea/asiolink/tcp_socket.h
+include/kea/asiolink/udp_endpoint.h
+include/kea/asiolink/udp_socket.h
include/kea/cc/
+include/kea/cc/cfg_to_element.h
include/kea/cc/data.h
+include/kea/cc/dhcp_config_error.h
include/kea/config.h
include/kea/dhcp/
include/kea/dhcp/classify.h
include/kea/dhcp/dhcp4.h
include/kea/dhcp/dhcp6.h
+include/kea/dhcp/docsis3_option_defs.h
include/kea/dhcp/duid.h
+include/kea/dhcp/duid_factory.h
include/kea/dhcp/hwaddr.h
include/kea/dhcp/iface_mgr.h
+include/kea/dhcp/iface_mgr_error_handler.h
include/kea/dhcp/libdhcp++.h
+include/kea/dhcp/opaque_data_tuple.h
include/kea/dhcp/option.h
include/kea/dhcp/option4_addrlst.h
+include/kea/dhcp/option4_client_fqdn.h
include/kea/dhcp/option6_addrlst.h
+include/kea/dhcp/option6_client_fqdn.h
include/kea/dhcp/option6_ia.h
include/kea/dhcp/option6_iaaddr.h
+include/kea/dhcp/option6_iaprefix.h
+include/kea/dhcp/option6_status_code.h
include/kea/dhcp/option_custom.h
include/kea/dhcp/option_data_types.h
include/kea/dhcp/option_definition.h
include/kea/dhcp/option_int.h
include/kea/dhcp/option_int_array.h
+include/kea/dhcp/option_opaque_data_tuples.h
include/kea/dhcp/option_space.h
+include/kea/dhcp/option_space_container.h
include/kea/dhcp/option_string.h
+include/kea/dhcp/option_vendor.h
+include/kea/dhcp/option_vendor_class.h
include/kea/dhcp/pkt.h
include/kea/dhcp/pkt4.h
+include/kea/dhcp/pkt4o6.h
include/kea/dhcp/pkt6.h
include/kea/dhcp/pkt_filter.h
+include/kea/dhcp/pkt_filter6.h
+include/kea/dhcp/pkt_filter_bpf.h
include/kea/dhcp/pkt_filter_inet.h
+include/kea/dhcp/pkt_filter_inet6.h
include/kea/dhcp/pkt_filter_lpf.h
include/kea/dhcp/protocol_util.h
include/kea/dhcp/std_option_defs.h
+include/kea/dhcp_ddns/
+include/kea/dhcp_ddns/ncr_io.h
+include/kea/dhcp_ddns/ncr_msg.h
+include/kea/dhcp_ddns/ncr_udp.h
+include/kea/dhcpsrv/
+include/kea/dhcpsrv/cfg_4o6.h
+include/kea/dhcpsrv/cfg_option.h
+include/kea/dhcpsrv/d2_client_cfg.h
+include/kea/dhcpsrv/d2_client_mgr.h
+include/kea/dhcpsrv/key_from_key.h
+include/kea/dhcpsrv/lease.h
+include/kea/dhcpsrv/ncr_generator.h
+include/kea/dhcpsrv/pool.h
+include/kea/dhcpsrv/subnet.h
+include/kea/dhcpsrv/subnet_id.h
+include/kea/dhcpsrv/triplet.h
include/kea/dns/
include/kea/dns/dns_fwd.h
include/kea/dns/edns.h
@@ -67,6 +113,8 @@ include/kea/hooks/callout_manager.h
include/kea/hooks/hooks.h
include/kea/hooks/library_handle.h
include/kea/hooks/server_hooks.h
+include/kea/http/
+include/kea/http/http_log.h
include/kea/log/
include/kea/log/log_dbglevels.h
include/kea/log/log_formatter.h
@@ -75,11 +123,22 @@ include/kea/log/logger_level.h
include/kea/log/macros.h
include/kea/log/message_initializer.h
include/kea/log/message_types.h
+include/kea/process/
+include/kea/process/d_cfg_mgr.h
+include/kea/process/d_controller.h
+include/kea/process/d_log.h
+include/kea/process/d_process.h
+include/kea/process/io_service_signal.h
include/kea/stats/
include/kea/stats/stats_mgr.h
include/kea/util/
include/kea/util/buffer.h
include/kea/util/io_utilities.h
+include/kea/util/optional_value.h
+include/kea/util/pointer_util.h
+include/kea/util/staged_value.h
+include/kea/util/stopwatch.h
+include/kea/util/strutil.h
lib/libkea-asiodns.la
@lib lib/libkea-asiodns.so.${LIBkea-asiodns_VERSION}
lib/libkea-asiolink.la
@@ -104,8 +163,12 @@ lib/libkea-exceptions.la
@lib lib/libkea-exceptions.so.${LIBkea-exceptions_VERSION}
lib/libkea-hooks.la
@lib lib/libkea-hooks.so.${LIBkea-hooks_VERSION}
+lib/libkea-http.la
+@lib lib/libkea-http.so.${LIBkea-http_VERSION}
lib/libkea-log.la
@lib lib/libkea-log.so.${LIBkea-log_VERSION}
+lib/libkea-process.la
+@lib lib/libkea-process.so.${LIBkea-process_VERSION}
lib/libkea-stats.la
@lib lib/libkea-stats.so.${LIBkea-stats_VERSION}
lib/libkea-threads.la
@@ -116,13 +179,16 @@ lib/libkea-util.la
@lib lib/libkea-util.so.${LIBkea-util_VERSION}
lib/pkgconfig/dns++.pc
@man man/man8/kea-admin.8
+@man man/man8/kea-ctrl-agent.8
@man man/man8/kea-dhcp-ddns.8
@man man/man8/kea-dhcp4.8
@man man/man8/kea-dhcp6.8
@man man/man8/kea-lfc.8
+@man man/man8/kea-shell.8
@man man/man8/keactrl.8
@man man/man8/perfdhcp.8
sbin/kea-admin
+@bin sbin/kea-ctrl-agent
@bin sbin/kea-dhcp-ddns
@bin sbin/kea-dhcp4
@bin sbin/kea-dhcp6
@@ -135,12 +201,17 @@ share/doc/kea/COPYING
share/doc/kea/ChangeLog
share/doc/kea/README
share/doc/kea/examples/
+share/doc/kea/examples/agent/
+share/doc/kea/examples/agent/simple.json
share/doc/kea/examples/ddns/
share/doc/kea/examples/ddns/sample1.json
share/doc/kea/examples/ddns/template.json
share/doc/kea/examples/kea4/
+share/doc/kea/examples/kea4/advanced.json
share/doc/kea/examples/kea4/backends.json
+share/doc/kea/examples/kea4/cassandra.json
share/doc/kea/examples/kea4/classify.json
+share/doc/kea/examples/kea4/dhcpv4-over-dhcpv6.json
share/doc/kea/examples/kea4/hooks.json
share/doc/kea/examples/kea4/leases-expiration.json
share/doc/kea/examples/kea4/multiple-options.json
@@ -149,10 +220,13 @@ share/doc/kea/examples/kea4/pgsql-reserv
share/doc/kea/examples/kea4/reservations.json
share/doc/kea/examples/kea4/several-subnets.json
share/doc/kea/examples/kea4/single-subnet.json
+share/doc/kea/examples/kea4/with-ddns.json
share/doc/kea/examples/kea6/
share/doc/kea/examples/kea6/advanced.json
share/doc/kea/examples/kea6/backends.json
+share/doc/kea/examples/kea6/cassandra.json
share/doc/kea/examples/kea6/classify.json
+share/doc/kea/examples/kea6/dhcpv4-over-dhcpv6.json
share/doc/kea/examples/kea6/duid.json
share/doc/kea/examples/kea6/hooks.json
share/doc/kea/examples/kea6/leases-expiration.json
@@ -162,7 +236,9 @@ share/doc/kea/examples/kea6/pgsql-reserv
share/doc/kea/examples/kea6/reservations.json
share/doc/kea/examples/kea6/several-subnets.json
share/doc/kea/examples/kea6/simple.json
+share/doc/kea/examples/kea6/softwire46.json
share/doc/kea/examples/kea6/stateless.json
+share/doc/kea/examples/kea6/with-ddns.json
share/doc/kea/kea-guide.css
share/doc/kea/kea-guide.html
share/doc/kea/kea-guide.txt
@@ -174,6 +250,7 @@ share/doc/kea/kea-messages.html
@mode
@group
share/examples/kea/
+share/examples/kea/kea-ca.conf
share/examples/kea/kea.conf
@mode 0640
@group _kea