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