Date: Sat, 10 Jan 2015 21:39:25 +0000 (UTC) From: Don Lewis <truckman@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r376726 - head/net/nmsg Message-ID: <201501102139.t0ALdPKx073028@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: truckman Date: Sat Jan 10 21:39:25 2015 New Revision: 376726 URL: https://svnweb.freebsd.org/changeset/ports/376726 QAT: https://qat.redports.org/buildarchive/r376726/ Log: MASTER_SITE dl.farsightsecurity.com only allows https downloads. Mirror the distfile on LOCAL as a http backup for clients that can't use https. (Suggested by mat@) Add MANPAGES option (default YES) because generating the man page adds a significant number of build dependencies. Add a comment explaining that the DOXYGEN=NO option gets ignored if doxygen is installed. Use option helpers (suggested by mat@). Use PORTDOCS=* to avoid the need to change pkg-plist if doxygen changes. Use INSTALL_TARGET=install-strip instead of ${STRIP_CMD} (suggested by marino@). Simplify examples installation. Differential Revision: https://reviews.freebsd.org/D1484 Approved by: mat (mentor) Sponsored by: Farsight Security, Inc. Modified: head/net/nmsg/Makefile head/net/nmsg/pkg-plist Modified: head/net/nmsg/Makefile ============================================================================== --- head/net/nmsg/Makefile Sat Jan 10 20:40:26 2015 (r376725) +++ head/net/nmsg/Makefile Sat Jan 10 21:39:25 2015 (r376726) @@ -5,27 +5,42 @@ PORTVERSION= 0.9.1 PORTREVISION= 1 CATEGORIES= net MASTER_SITES= https://dl.farsightsecurity.com/dist/nmsg/ \ - http://dl.farsightsecurity.com/dist/nmsg/ + LOCAL/truckman/farsight MAINTAINER= truckman@FreeBSD.org COMMENT= Network message encapsulation system LICENSE= APACHE20 -OPTIONS_DEFINE= DOCS EXAMPLES -OPTIONS_SUB= yes - -.include <bsd.port.options.mk> - -LIB_DEPENDS+= libprotobuf-c.so:${PORTSDIR}/devel/protobuf-c \ +LIB_DEPENDS= libprotobuf-c.so:${PORTSDIR}/devel/protobuf-c \ libxs.so:${PORTSDIR}/devel/libxs \ libwdns.so:${PORTSDIR}/dns/wdns +GNU_CONFIGURE= yes +USE_LDCONFIG= yes +USES= gmake libtool pathfix pkgconfig +CONFIGURE_ARGS= --with-pkgconfigdir='$${exec_prefix}/libdata/pkgconfig' +INSTALL_TARGET= install-strip + +PORTDOCS= * + +# The DOXYGEN option is best effort. +# If doxygen is installed, it will get used if the option is set to NO. +OPTIONS_DEFINE= DOXYGEN EXAMPLES MANPAGES +OPTIONS_DEFAULT= DOXYGEN EXAMPLES MANPAGES +OPTIONS_SUB= yes + +ALL_TARGET= all +DOXYGEN_BUILD_DEPENDS= doxygen:${PORTSDIR}/devel/doxygen +DOXYGEN_ALL_TARGET= html-local DOCBOOK_XML= ${LOCALBASE}/share/xml/docbook/4.2 DOCBOOK_XSL_NS= ${LOCALBASE}/share/doc/docbook-xsl-ns/html/docbook.css.source.html -BUILD_DEPENDS+= xsltproc:${PORTSDIR}/textproc/libxslt \ - ${DOCBOOK_XML}:${PORTSDIR}/textproc/docbook-xml \ - ${DOCBOOK_XSL_NS}:${PORTSDIR}/textproc/docbook-xsl-ns +MANPAGES_BUILD_DEPENDS= xsltproc:${PORTSDIR}/textproc/libxslt \ + ${DOCBOOK_XML}:${PORTSDIR}/textproc/docbook-xml \ + ${DOCBOOK_XSL_NS}:${PORTSDIR}/textproc/docbook-xsl-ns +MANPAGES_CONFIGURE_WITH= xsltproc + +.include <bsd.port.options.mk> # The version of binutils in base does not understand the crc32 # instructions used in this code on amd64. Use gcc from ports @@ -34,28 +49,15 @@ BUILD_DEPENDS+= xsltproc:${PORTSDIR}/tex USE_GCC= yes .endif -ALL_TARGET= all -.if ${PORT_OPTIONS:MDOCS} -BUILD_DEPENDS+= doxygen:${PORTSDIR}/devel/doxygen -ALL_TARGET+= html-local -.endif - -GNU_CONFIGURE= yes -USE_LDCONFIG= yes -USES= gmake libtool pathfix pkgconfig -CONFIGURE_ARGS+= --with-pkgconfigdir='$${exec_prefix}/libdata/pkgconfig' - post-install: - ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libnmsg.so.6.0.0 - ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/nmsg/nmsg_msg9_base.so -.if ${PORT_OPTIONS:MDOCS} - @${MKDIR} ${STAGEDIR}${DOCSDIR}/html - ${INSTALL_DATA} ${WRKSRC}/doc/doxygen/html/* ${STAGEDIR}${DOCSDIR}/html +.if ${PORT_OPTIONS:MDOXYGEN} + (cd ${WRKSRC}/doc/doxygen && \ + ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR}) .endif .if ${PORT_OPTIONS:MEXAMPLES} @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} - ${INSTALL_DATA} ${WRKSRC}/examples/*.c ${STAGEDIR}${EXAMPLESDIR} - ${INSTALL_DATA} ${WRKSRC}/examples/*.py ${STAGEDIR}${EXAMPLESDIR} + (cd ${WRKSRC}/examples && \ + ${INSTALL_DATA} *.c *.py ${STAGEDIR}${EXAMPLESDIR}) .endif .include <bsd.port.mk> Modified: head/net/nmsg/pkg-plist ============================================================================== --- head/net/nmsg/pkg-plist Sat Jan 10 20:40:26 2015 (r376725) +++ head/net/nmsg/pkg-plist Sat Jan 10 21:39:25 2015 (r376726) @@ -43,7 +43,7 @@ lib/libnmsg.so.6 lib/libnmsg.so.6.0.0 lib/nmsg/nmsg_msg9_base.so libdata/pkgconfig/libnmsg.pc -man/man1/nmsgtool.1.gz +%%MANPAGES%%man/man1/nmsgtool.1.gz share/nmsg/base/dns.proto share/nmsg/base/dnsqr.proto share/nmsg/base/email.proto @@ -56,205 +56,6 @@ share/nmsg/base/ncap.proto share/nmsg/base/packet.proto share/nmsg/base/pkt.proto share/nmsg/base/xml.proto -%%PORTDOCS%%%%DOCSDIR%%/html/alias_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/alias_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/alias_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/annotated.html -%%PORTDOCS%%%%DOCSDIR%%/html/arrowdown.png -%%PORTDOCS%%%%DOCSDIR%%/html/arrowright.png -%%PORTDOCS%%%%DOCSDIR%%/html/asprintf_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/asprintf_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/asprintf_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/base_2ipreasm_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/base_2ipreasm_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/bc_s.png -%%PORTDOCS%%%%DOCSDIR%%/html/bdwn.png -%%PORTDOCS%%%%DOCSDIR%%/html/brate_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/buf_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/chalias_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/chalias_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/chalias_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/classes.html -%%PORTDOCS%%%%DOCSDIR%%/html/closed.png -%%PORTDOCS%%%%DOCSDIR%%/html/compat_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/constants_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/constants_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/container_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/container_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/container_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/defs_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/dir_3af54cfecedfb12761767b16ec9023ab.html -%%PORTDOCS%%%%DOCSDIR%%/html/dir_4f6bb03c86ce0ea5b3aa577d73c919a3.html -%%PORTDOCS%%%%DOCSDIR%%/html/dlmod_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/dns_8c.html -%%PORTDOCS%%%%DOCSDIR%%/html/dns_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/dns_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/dns_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/dnsqr_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/dnsqr_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/dnsqr_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/doc.png -%%PORTDOCS%%%%DOCSDIR%%/html/doxygen.css -%%PORTDOCS%%%%DOCSDIR%%/html/doxygen.png -%%PORTDOCS%%%%DOCSDIR%%/html/dynsections.js -%%PORTDOCS%%%%DOCSDIR%%/html/email_8c.html -%%PORTDOCS%%%%DOCSDIR%%/html/email_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/email_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/email_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/encode_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/encode_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/encode_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/files.html -%%PORTDOCS%%%%DOCSDIR%%/html/folderclosed.png -%%PORTDOCS%%%%DOCSDIR%%/html/folderopen.png -%%PORTDOCS%%%%DOCSDIR%%/html/functions.html -%%PORTDOCS%%%%DOCSDIR%%/html/functions_vars.html -%%PORTDOCS%%%%DOCSDIR%%/html/globals.html -%%PORTDOCS%%%%DOCSDIR%%/html/globals_defs.html -%%PORTDOCS%%%%DOCSDIR%%/html/globals_enum.html -%%PORTDOCS%%%%DOCSDIR%%/html/globals_eval.html -%%PORTDOCS%%%%DOCSDIR%%/html/globals_func.html -%%PORTDOCS%%%%DOCSDIR%%/html/globals_type.html -%%PORTDOCS%%%%DOCSDIR%%/html/http_8c.html -%%PORTDOCS%%%%DOCSDIR%%/html/http_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/http_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/http_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/index.html -%%PORTDOCS%%%%DOCSDIR%%/html/input_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/input_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/input_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/input__callback_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/input__frag_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/input__nmsg_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/input__nullnmsg_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/input__pcap_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/input__pres_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/input__seqsrc_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/io_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/io_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/io_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/ipconn_8c.html -%%PORTDOCS%%%%DOCSDIR%%/html/ipconn_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/ipconn_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/ipconn_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/ipdg_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/ipdg_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/ipdg_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/ipreasm_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/ipreasm_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/jquery.js -%%PORTDOCS%%%%DOCSDIR%%/html/linkpair_8c.html -%%PORTDOCS%%%%DOCSDIR%%/html/linkpair_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/linkpair_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/linkpair_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/logline_8c.html -%%PORTDOCS%%%%DOCSDIR%%/html/logline_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/logline_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/logline_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/message_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/message_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/msgmod_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/msgmod_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/msgmod__plugin_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/msgmodset_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/nav_f.png -%%PORTDOCS%%%%DOCSDIR%%/html/nav_g.png -%%PORTDOCS%%%%DOCSDIR%%/html/nav_h.png -%%PORTDOCS%%%%DOCSDIR%%/html/ncap_8c.html -%%PORTDOCS%%%%DOCSDIR%%/html/ncap_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/ncap_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/ncap_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/nmsg_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/nmsg_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/nmsg_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/nmsg_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/nmsg_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/nmsg__msg__base_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/nmsg__port__net_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/open.png -%%PORTDOCS%%%%DOCSDIR%%/html/output_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/output_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/output_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/output__frag_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/output__nmsg_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/output__pres_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/packet_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/packet_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/packet_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/payload_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/pcap__input_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/pcap__input_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/pcap__input_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/pkt_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/pkt_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/pkt_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/private_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/random_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/random_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/random_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/rate_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/rate_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/rate_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/res_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/res_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/res_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/sock_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/sock_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/sock_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/splitbar.png -%%PORTDOCS%%%%DOCSDIR%%/html/strbuf_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/strbuf_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/strbuf_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__buf.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__callback__input.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__callback__output.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__dlmod.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__ethhdr.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__frag.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__frag__key.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__frag__tree.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__icmphdr.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__idname.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__input.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__io__close__event.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__ipdg.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__iphdr.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__message.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__msgmod.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__msgmod__clos.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__msgmod__field.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__msgmod__plugin.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__msgmodset.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__msgvendor.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__output.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__pcap.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__pres.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__seqsrc.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__seqsrc__key.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__strbuf.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__stream__input.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__stream__output.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__tcphdr.html -%%PORTDOCS%%%%DOCSDIR%%/html/structnmsg__udphdr.html -%%PORTDOCS%%%%DOCSDIR%%/html/sync_off.png -%%PORTDOCS%%%%DOCSDIR%%/html/sync_on.png -%%PORTDOCS%%%%DOCSDIR%%/html/tab_a.png -%%PORTDOCS%%%%DOCSDIR%%/html/tab_b.png -%%PORTDOCS%%%%DOCSDIR%%/html/tab_h.png -%%PORTDOCS%%%%DOCSDIR%%/html/tab_s.png -%%PORTDOCS%%%%DOCSDIR%%/html/tabs.css -%%PORTDOCS%%%%DOCSDIR%%/html/timespec_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/timespec_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/timespec_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/vendors_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/vendors_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/xml_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/xml_8pb-c_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/xml_8pb-c_8h_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/xsio_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/zbuf_8c_source.html -%%PORTDOCS%%%%DOCSDIR%%/html/zbuf_8h.html -%%PORTDOCS%%%%DOCSDIR%%/html/zbuf_8h_source.html %%EXAMPLES%%%%EXAMPLESDIR%%/email_client.c %%EXAMPLES%%%%EXAMPLESDIR%%/email_client_postfix.py %%EXAMPLES%%%%EXAMPLESDIR%%/http_client.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201501102139.t0ALdPKx073028>