Date: Wed, 10 Aug 2016 17:20:53 +1000 From: Kubilay Kocak <koobs@FreeBSD.org> To: Cy Schubert <cy@FreeBSD.org>, ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: Re: svn commit: r419989 - in head/sysutils/syslog-ng-devel: . files Message-ID: <c4e5c7b0-cb12-8bb1-5af1-5d4d0acec6f4@FreeBSD.org> In-Reply-To: <201608100357.u7A3vuNN057300@repo.freebsd.org> References: <201608100357.u7A3vuNN057300@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/08/2016 1:57 PM, Cy Schubert wrote: > Author: cy > Date: Wed Aug 10 03:57:56 2016 > New Revision: 419989 > URL: https://svnweb.freebsd.org/changeset/ports/419989 > > Log: > syslog-ng-devel is active again. This time with 3.8 beta1. > > Java support does not build properly, thus is disabled and marked > BROKEN for now. > > Submitted by: Peter Czanik (CzP) <peter.czanik@balabit.com> > Balabit / syslog-ng upstream > > Modified: > head/sysutils/syslog-ng-devel/Makefile > head/sysutils/syslog-ng-devel/distinfo > head/sysutils/syslog-ng-devel/files/patch-configure > head/sysutils/syslog-ng-devel/pkg-plist > > Modified: head/sysutils/syslog-ng-devel/Makefile > ============================================================================== > --- head/sysutils/syslog-ng-devel/Makefile Wed Aug 10 03:38:51 2016 (r419988) > +++ head/sysutils/syslog-ng-devel/Makefile Wed Aug 10 03:57:56 2016 (r419989) > @@ -2,13 +2,15 @@ > # $FreeBSD$ > > PORTNAME= syslog-ng > -PORTVERSION= 3.7.3 > +PORTVERSION= 3.8.0b1 This should be DISTVERSION, so that the future 3.8.0 is not < 3.8.0b2, which it is (pkg version -t 3.8.0b1 3.8.0), requiring a PORTEPOCH bump. See: https://www.au.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#makefile-distfiles In particular the first "Note" and Table 5.2. Examples of DISTVERSION > PORTREVISION= 1 > PKGNAMESUFFIX= -devel > CATEGORIES= sysutils > DISTVERSION= ${PORTVERSION:S/a/alpha/:S/b/beta/:S/r/rc/} > DISTFILES= syslog-ng-${DISTVERSION}.tar.gz > MASTER_SITES= https://github.com/balabit/syslog-ng/releases/download/syslog-ng-${DISTVERSION}/ > +PATCH_SITES= https://patch-diff.githubusercontent.com/raw/balabit/syslog-ng/pull/ > +PATCHFILES= 1141.patch:-p1 > > MAINTAINER= cy@FreeBSD.org > COMMENT= Powerful syslogd replacement > @@ -37,28 +39,23 @@ REDIS_DESC= Build with Redis support > JAVA_DESC= Build with Java support (and modules, like Elastic) > PYTHON_DESC= Build with Python 2.7 support > > -USES= gmake libtool pathfix pkgconfig > +USES= gmake libtool pathfix pkgconfig ssl > USE_LDCONFIG= yes > USE_RC_SUBR= syslog-ng > GNU_CONFIGURE= yes > USE_GNOME= glib20 > SUB_FILES= pkg-message > -USE_OPENSSL= yes > INSTALL_TARGET= install-strip > > CONFIGURE_ARGS= --sysconfdir=${LOCALBASE}/etc --localstatedir=/var/db \ > --enable-dynamic-linking --enable-manpages \ > --disable-linux-caps \ > - --datadir=${PREFIX}/share/syslog-ng/ \ > - --with-docbook-dir=${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl > + --datadir=${PREFIX}/share/ > > BROKEN_sparc64= Does not compile on sparc64: gcc core dump > > .include <bsd.port.options.mk> > > -BUILD_DEPENDS+= xsltproc:textproc/libxslt \ > - ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl > - > CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \ > OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto -lssl" > > @@ -125,6 +122,7 @@ CONFIGURE_ARGS+= --disable-json > .endif > > .if ${PORT_OPTIONS:MJAVA} > +BROKEN= As per upstream, JAVA option is currently broken. > CONFIGURE_ARGS+= --enable-java > USE_JAVA= yes > BUILD_DEPENDS+= gradle:devel/gradle > > Modified: head/sysutils/syslog-ng-devel/distinfo > ============================================================================== > --- head/sysutils/syslog-ng-devel/distinfo Wed Aug 10 03:38:51 2016 (r419988) > +++ head/sysutils/syslog-ng-devel/distinfo Wed Aug 10 03:57:56 2016 (r419989) > @@ -1,2 +1,5 @@ > -SHA256 (syslog-ng-3.7.3.tar.gz) = 49201dcfd59c8992936aa16c694f5e6593d505b44895f6c66b7d7f7895ce2c62 > -SIZE (syslog-ng-3.7.3.tar.gz) = 3511155 > +TIMESTAMP = 1470798383 > +SHA256 (syslog-ng-3.8.0beta1.tar.gz) = 462d4386c2a596d4687d9a6913e04dcd56ac4f392c5082bc523db4d80448d865 > +SIZE (syslog-ng-3.8.0beta1.tar.gz) = 8462353 > +SHA256 (1141.patch) = 370ac6a00d2fca67fbe1558e728c98c68f9a21ff6e66255a8d9f1573a9575a3d > +SIZE (1141.patch) = 8050 > > Modified: head/sysutils/syslog-ng-devel/files/patch-configure > ============================================================================== > --- head/sysutils/syslog-ng-devel/files/patch-configure Wed Aug 10 03:38:51 2016 (r419988) > +++ head/sysutils/syslog-ng-devel/files/patch-configure Wed Aug 10 03:57:56 2016 (r419989) > @@ -1,6 +1,78 @@ > ---- configure.orig 2016-03-22 04:58:27.000000000 -0700 > -+++ configure 2016-03-23 20:51:10.722420000 -0700 > -@@ -14996,9 +14996,9 @@ > +--- configure.orig 2016-07-28 04:37:01.000000000 -0700 > ++++ configure 2016-08-09 20:31:51.087322000 -0700 > +@@ -10483,7 +10483,7 @@ > + hardcode_minus_L=no > + hardcode_shlibpath_var=unsupported > + inherit_rpath=no > +- link_all_deplibs=unknown > ++ link_all_deplibs=no > + module_cmds= > + module_expsym_cmds= > + old_archive_from_new_cmds= > +@@ -10785,7 +10785,7 @@ > + wlarc= > + else > + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' > +- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' > ++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' > + fi > + ;; > + > +@@ -10804,7 +10804,7 @@ > + _LT_EOF > + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then > + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' > +- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' > ++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' > + else > + ld_shlibs=no > + fi > +@@ -10833,7 +10833,7 @@ > + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then > + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' > + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' > +- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' > ++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' > + else > + ld_shlibs=no > + fi > +@@ -10851,7 +10851,7 @@ > + *) > + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then > + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' > +- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' > ++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' > + else > + ld_shlibs=no > + fi > +@@ -11500,7 +11500,7 @@ > + hardcode_direct_absolute=yes > + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then > + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' > +- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' > ++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-version-script,$lib-ver' > + hardcode_libdir_flag_spec='$wl-rpath,$libdir' > + export_dynamic_flag_spec='$wl-E' > + else > +@@ -12349,7 +12349,7 @@ > + version_type=freebsd-$objformat > + case $version_type in > + freebsd-elf*) > +- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' > ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' > + soname_spec='$libname$release$shared_ext$major' > + need_version=no > + need_lib_prefix=no > +@@ -13493,7 +13493,7 @@ > + old_striplib= > + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 > + $as_echo_n "checking whether stripping libraries is possible... " >&6; } > +-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then > ++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "strip" >/dev/null; then > + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" > + test -z "$striplib" && striplib="$STRIP --strip-unneeded" > + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 > +@@ -15656,9 +15656,9 @@ > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBNET" >&5 > $as_echo_n "checking for LIBNET... " >&6; } > if test "x$with_libnet" = "x"; then > @@ -12,3 +84,21 @@ > fi > > if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then > +@@ -16879,7 +16879,7 @@ > + if test -e "$JAVA_HOME_CHECKER"; then > + JNI_HOME=`$JAVA_HOME_CHECKER` > + else > +- JNI_HOME=`echo $JAVAC_BIN | sed "s/\(.*\)[/]bin[/]java.*/\1\//"` > ++ JNI_HOME=`echo $JAVAC_BIN | sed "s/\(.*\)[/]bin[/]java.*/\1\/openjdk\*/"` > + fi > + > + JNI_LIBDIR=`find $JNI_HOME \( -name "libjvm.so" -or -name "libjvm.dylib" \) \ > +@@ -16980,7 +16980,7 @@ > + if test -e "$JAVA_HOME_CHECKER"; then > + JNI_HOME=`$JAVA_HOME_CHECKER` > + else > +- JNI_HOME=`echo $JAVAC_BIN | sed "s/\(.*\)[/]bin[/]java.*/\1\//"` > ++ JNI_HOME=`echo $JAVAC_BIN | sed "s/\(.*\)[/]bin[/]java.*/\1\/openjdk\*/"` > + fi > + > + JNI_LIBDIR=`find $JNI_HOME \( -name "libjvm.so" -or -name "libjvm.dylib" \) \ > > Modified: head/sysutils/syslog-ng-devel/pkg-plist > ============================================================================== > --- head/sysutils/syslog-ng-devel/pkg-plist Wed Aug 10 03:38:51 2016 (r419988) > +++ head/sysutils/syslog-ng-devel/pkg-plist Wed Aug 10 03:57:56 2016 (r419989) > @@ -5,6 +5,7 @@ etc/syslog-ng.conf.dist > bin/pdbtool > bin/loggen > bin/update-patterndb > +bin/dqtool > include/syslog-ng/ivykis/iv_avl.h > include/syslog-ng/ivykis/iv_event.h > include/syslog-ng/ivykis/iv_event_raw.h > @@ -27,6 +28,7 @@ include/syslog-ng/compat/string.h > include/syslog-ng/compat/time.h > include/syslog-ng/control/control.h > include/syslog-ng/control/control-server.h > +include/syslog-ng/scanner/csv-scanner/csv-scanner.h > include/syslog-ng/debugger/debugger.h > include/syslog-ng/debugger/tracer.h > include/syslog-ng/debugger/debugger-main.h > @@ -48,6 +50,16 @@ include/syslog-ng/libtest/template_lib.h > include/syslog-ng/libtest/proto_lib.h > include/syslog-ng/libtest/persist_lib.h > include/syslog-ng/libtest/mock-transport.h > +include/syslog-ng/logmsg/gsockaddr-serialize.h > +include/syslog-ng/logmsg/logmsg.h > +include/syslog-ng/logmsg/serialization.h > +include/syslog-ng/logmsg/logmsg-serialize.h > +include/syslog-ng/logmsg/nvtable.h > +include/syslog-ng/logmsg/nvtable-serialize.h > +include/syslog-ng/logmsg/nvtable-serialize-endianutils.h > +include/syslog-ng/logmsg/tags-serialize.h > +include/syslog-ng/logmsg/timestamp-serialize.h > +include/syslog-ng/logmsg/tags.h > include/syslog-ng/logproto/logproto-client.h > include/syslog-ng/logproto/logproto-server.h > include/syslog-ng/logproto/logproto-buffered-server.h > @@ -63,6 +75,7 @@ include/syslog-ng/logproto/logproto-buil > include/syslog-ng/logproto/logproto.h > include/syslog-ng/parser/parser-expr.h > include/syslog-ng/parser/parser-expr-parser.h > +include/syslog-ng/syslog-ng-config.h > include/syslog-ng/afinter.h > include/syslog-ng/alarms.h > include/syslog-ng/apphook.h > @@ -76,12 +89,14 @@ include/syslog-ng/cfg-lexer-subst.h > include/syslog-ng/cfg-args.h > include/syslog-ng/cfg-parser.h > include/syslog-ng/cfg-tree.h > +include/syslog-ng/reloc.h > include/syslog-ng/children.h > include/syslog-ng/crypto.h > include/syslog-ng/dnscache.h > -include/syslog-ng/misc.h > include/syslog-ng/driver.h > +include/syslog-ng/fdhelpers.h > include/syslog-ng/file-perms.h > +include/syslog-ng/find-crlf.h > include/syslog-ng/gprocess.h > include/syslog-ng/gsockaddr.h > include/syslog-ng/gsocket.h > @@ -89,7 +104,6 @@ include/syslog-ng/hostname.h > include/syslog-ng/host-resolve.h > include/syslog-ng/logmatcher.h > include/syslog-ng/logmpx.h > -include/syslog-ng/logmsg.h > include/syslog-ng/logpipe.h > include/syslog-ng/logqueue-fifo.h > include/syslog-ng/logqueue.h > @@ -107,7 +121,6 @@ include/syslog-ng/memtrace.h > include/syslog-ng/messages.h > include/syslog-ng/ml-batched-timer.h > include/syslog-ng/msg-format.h > -include/syslog-ng/nvtable.h > include/syslog-ng/parse-number.h > include/syslog-ng/pathutils.h > include/syslog-ng/persist-state.h > @@ -119,37 +132,38 @@ include/syslog-ng/poll-events.h > include/syslog-ng/poll-fd-events.h > include/syslog-ng/pragma-parser.h > include/syslog-ng/presented-persistable-state.h > -include/syslog-ng/reloc.h > include/syslog-ng/rcptid.h > include/syslog-ng/run-id.h > include/syslog-ng/scratch-buffers.h > include/syslog-ng/serialize.h > include/syslog-ng/service-management.h > -include/syslog-ng/stringutils.h > +include/syslog-ng/seqnum.h > include/syslog-ng/str-format.h > +include/syslog-ng/str-utils.h > include/syslog-ng/syslog-names.h > include/syslog-ng/syslog-ng.h > -include/syslog-ng/tags.h > +include/syslog-ng/string-list.h > include/syslog-ng/timeutils.h > include/syslog-ng/tls-support.h > include/syslog-ng/thread-utils.h > include/syslog-ng/tlscontext.h > include/syslog-ng/type-hinting.h > include/syslog-ng/uuid.h > +include/syslog-ng/userdb.h > include/syslog-ng/utf8utils.h > -include/syslog-ng/value-pairs.h > -include/syslog-ng/vptransform.h > include/syslog-ng/versioning.h > include/syslog-ng/bookmark.h > include/syslog-ng/ringbuffer.h > include/syslog-ng/ack_tracker.h > -include/syslog-ng/host-id.h > include/syslog-ng/rewrite/rewrite-expr.h > include/syslog-ng/rewrite/rewrite-set-tag.h > include/syslog-ng/rewrite/rewrite-set.h > +include/syslog-ng/rewrite/rewrite-unset.h > include/syslog-ng/rewrite/rewrite-subst.h > include/syslog-ng/rewrite/rewrite-expr-parser.h > include/syslog-ng/rewrite/rewrite-groupset.h > +include/syslog-ng/host-id.h > +include/syslog-ng/resolved-configurable-paths.h > include/syslog-ng/stats/stats.h > include/syslog-ng/stats/stats-counter.h > include/syslog-ng/stats/stats-cluster.h > @@ -173,6 +187,10 @@ include/syslog-ng/transport/transport-fi > include/syslog-ng/transport/transport-pipe.h > include/syslog-ng/transport/transport-device.h > include/syslog-ng/transport/transport-socket.h > +include/syslog-ng/value-pairs/value-pairs.h > +include/syslog-ng/value-pairs/transforms.h > +include/syslog-ng/value-pairs/cmdline.h > +include/syslog-ng/value-pairs/evttag.h > include/syslog-ng/iv.h > include/syslog-ng/iv_avl.h > include/syslog-ng/iv_event.h > @@ -186,11 +204,19 @@ include/syslog-ng/iv_thread.h > include/syslog-ng/iv_tls.h > include/syslog-ng/iv_wait.h > include/syslog-ng/iv_work.h > -lib/libsyslog-ng-3.7.so.0.0.0 > -lib/libsyslog-ng-3.7.so.0 > +lib/libsyslog-ng-3.8.so.0.0.0 > +lib/libsyslog-ng-3.8.so.0 > lib/libsyslog-ng.so > +lib/libsyslog-ng-native-connector.a > +lib/pkgconfig/syslog-ng.pc > +lib/pkgconfig/syslog-ng-test.pc > +lib/pkgconfig/syslog-ng-native-connector.pc > lib/syslog-ng/libtest/libsyslog-ng-test.a > lib/syslog-ng/libsyslogformat.so > +lib/syslog-ng/libadd-contextual-data.so > +lib/syslog-ng/libcef.so > +lib/syslog-ng/libdate.so > +lib/syslog-ng/libdisk-buffer.so > lib/syslog-ng/libafsocket.so > lib/syslog-ng/libaffile.so > lib/syslog-ng/libafprog.so > @@ -199,6 +225,7 @@ lib/syslog-ng/libafamqp.so > lib/syslog-ng/libafmongodb.so > lib/syslog-ng/libcsvparser.so > lib/syslog-ng/libconfgen.so > +lib/syslog-ng/libcurl.so > lib/syslog-ng/libsystem-source.so > lib/syslog-ng/liblinux-kmsg-format.so > lib/syslog-ng/libbasicfuncs.so > @@ -208,8 +235,6 @@ lib/syslog-ng/libafstomp.so > lib/syslog-ng/libpseudofile.so > lib/syslog-ng/libgraphite.so > lib/syslog-ng/libkvformat.so > -libdata/pkgconfig/syslog-ng.pc > -libdata/pkgconfig/syslog-ng-test.pc > man/man1/loggen.1.gz > man/man1/pdbtool.1.gz > man/man1/syslog-ng-ctl.1.gz > @@ -219,27 +244,31 @@ sbin/syslog-ng > sbin/syslog-ng-ctl > share/syslog-ng/include/scl/system/plugin.conf > share/syslog-ng/include/scl/pacct/plugin.conf > -share/syslog-ng/include/scl/syslogconf/plugin.conf > share/syslog-ng/include/scl/syslogconf/convert-syslogconf.awk > share/syslog-ng/include/scl/syslogconf/README > +share/syslog-ng/include/scl/syslogconf/plugin.conf > share/syslog-ng/include/scl/rewrite/cc-mask.conf > share/syslog-ng/include/scl/nodejs/plugin.conf > -share/syslog-ng/include/scl/graphite/plugin.conf > share/syslog-ng/include/scl/graphite/README > +share/syslog-ng/include/scl/graphite/plugin.conf > share/syslog-ng/include/scl/cim/template.conf > share/syslog-ng/include/scl/solaris/plugin.conf > +share/syslog-ng/include/scl/mbox/mbox.conf > share/syslog-ng/include/scl/elasticsearch/plugin.conf > -share/syslog-ng/include/scl/hdfs/plugin.conf > share/syslog-ng/include/scl/kafka/plugin.conf > -share/syslog-ng/include/scl/mbox/mbox.conf > +share/syslog-ng/include/scl/hdfs/plugin.conf > +share/syslog-ng/include/scl/apache/apache.conf > +share/syslog-ng/include/scl/loggly/loggly.conf > +share/syslog-ng/include/scl/logmatic/logmatic.conf > share/syslog-ng/tools/lex-rules.am > share/syslog-ng/tools/cfg-grammar.y > share/syslog-ng/tools/merge-grammar.pl > -share/syslog-ng/tools/system-expand > +share/syslog-ng/tools/system-expand.sh > share/syslog-ng/xsd/patterndb-1.xsd > share/syslog-ng/xsd/patterndb-2.xsd > share/syslog-ng/xsd/patterndb-3.xsd > share/syslog-ng/xsd/patterndb-4.xsd > +share/syslog-ng/xsd/patterndb-5.xsd > %%PORTDOCS%%%%DOCSDIR%%/AUTHORS > %%PORTDOCS%%%%DOCSDIR%%/COPYING > %%PORTDOCS%%%%DOCSDIR%%/NEWS.md >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c4e5c7b0-cb12-8bb1-5af1-5d4d0acec6f4>