diff --git a/net/tcplog_dumper/Makefile b/net/tcplog_dumper/Makefile index 4a41b420a801..261db29afb77 100644 --- a/net/tcplog_dumper/Makefile +++ b/net/tcplog_dumper/Makefile @@ -1,33 +1,36 @@ PORTNAME= tcplog_dumper PORTVERSION= 0.1.1 DISTVERSIONPREFIX= v +PORTREVISION= 1 CATEGORIES= net MAINTAINER= olivier@FreeBSD.org COMMENT= Dump data from the tcp_log device WWW= https://github.com/Netflix/tcplog_dumper LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE ONLY_FOR_ARCHS= aarch64 amd64 mips64 mips64el mips64elhf mips64hf powerpc64 powerpc64le riscv64 riscv64sf ONLY_FOR_ARCHS_REASON= only 64-bit platforms are supported USE_GITHUB= yes GH_ACCOUNT= Netflix +USE_RC_SUBR= tcplog_dumper + PLIST_FILES= sbin/tcplog_dumper \ man/man1/tcplog_dumper.1.gz .include .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1300076 IGNORE= builds only on FreeBSD 13-head with minimum revision 356414 .endif do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/sbin ${INSTALL_PROGRAM} ${WRKSRC}/tcplog_dumper ${STAGEDIR}${PREFIX}/sbin ${INSTALL_MAN} ${WRKSRC}/tcplog_dumper.1.gz ${STAGEDIR}${PREFIX}/man/man1 .include diff --git a/net/tcplog_dumper/files/tcplog_dumper.in b/net/tcplog_dumper/files/tcplog_dumper.in new file mode 100644 index 000000000000..ccab36820af8 --- /dev/null +++ b/net/tcplog_dumper/files/tcplog_dumper.in @@ -0,0 +1,44 @@ +#!/bin/sh + +# PROVIDE: tcplog_dumper +# REQUIRE: DAEMON +# KEYWORD: shutdown + +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# tcplog_dumper_enable (bool): Set to NO by default. +# Set it to YES to enable tcplog_dumper. +# tcplog_dumper_pidfile (file): Set to /var/run/tcplog_dumper.pid by default. +# tcplog_dumper_basedir (path): Set to /var/log/tcplog_dumps by default. +# tcplog_dumper_basedir_owner: Set to nobody by default. + +. /etc/rc.subr + +name=tcplog_dumper +rcvar=tcplog_dumper_enable + +load_rc_config ${name} + +: ${tcplog_dumper_enable:=NO} +: ${tcplog_dumper_pidfile=/var/run/${name}.pid} +: ${tcplog_dumper_basedir=/var/log/tcplog_dumps} +: ${tcplog_dumper_basedir_owner=nobody} + +command="%%PREFIX%%/sbin/${name}" +command_args="-d -D ${tcplog_dumper_basedir} -u ${tcplog_dumper_basedir_owner} -p ${tcplog_dumper_pidfile}" + +pidfile="${tcplog_dumper_pidfile}" +start_precmd="${name}_prestart" + +tcplog_dumper_prestart() +{ + if [ ! -d "${tcplog_dumper_basedir}" ]; then + mkdir -p "${tcplog_dumper_basedir}" + fi + if [ ! "x$(stat -f '%Su' ${tcplog_dumper_basedir})" = "x${tcplog_dumper_basedir_owner}" ] ; then + chown "${tcplog_dumper_basedir_owner}" "${tcplog_dumper_basedir}" + fi +} + +run_rc_command "$1"