aboutsummaryrefslogtreecommitdiff
path: root/net/microsocks
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2022-02-28 09:41:27 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2022-02-28 12:46:44 +0000
commit28cb794ff6b7ecf37d11ca5179d76a874d747ded (patch)
tree18414d5f75be38839597a35e70924d66d1b5b6ab /net/microsocks
parent8699685b533d2dd8f6f6266f99358fd7baef2eb8 (diff)
downloadports-28cb794ff6b7ecf37d11ca5179d76a874d747ded.tar.gz
ports-28cb794ff6b7ecf37d11ca5179d76a874d747ded.zip
net/microsocks: Add rc script
- Bump PORTREVISION for package change PR: 253284 Reported by: Pavel Timofeev <timp87@gmail.com>
Diffstat (limited to 'net/microsocks')
-rw-r--r--net/microsocks/Makefile3
-rw-r--r--net/microsocks/files/microsocks.in64
2 files changed, 67 insertions, 0 deletions
diff --git a/net/microsocks/Makefile b/net/microsocks/Makefile
index b430157d39a8..561428a81274 100644
--- a/net/microsocks/Makefile
+++ b/net/microsocks/Makefile
@@ -1,5 +1,6 @@
PORTNAME= microsocks
PORTVERSION= 1.0.2
+PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= https://ftp.barfooze.de/pub/sabotage/tarballs/
@@ -11,6 +12,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING
USES= tar:xz
+USE_RC_SUBR= microsocks
+
PLIST_FILES= bin/microsocks
do-install:
diff --git a/net/microsocks/files/microsocks.in b/net/microsocks/files/microsocks.in
new file mode 100644
index 000000000000..76b5d7527e4f
--- /dev/null
+++ b/net/microsocks/files/microsocks.in
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+# PROVIDE: microsocks
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+# Add these lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# microsocks_enable (bool): Enable microsocks
+# Default: NO
+# microsocks_user (str): User to run microsocks under
+# Default: unset
+# microsocks_args (str): Arguments for microsocks
+# Default: unset
+# microsocks_syslog_enable(bool): Enable writing output to syslog.
+# Default: YES
+# microsocks_syslog_tag(str): Syslog tag if syslog enabled.
+# Default: microsocks
+# microsocks_syslog_priority(str): Syslog priority if syslog enabled.
+# Default: info
+# microsocks_syslog_facility(str): Syslog facility if syslog enabled.
+# Default: daemon
+
+. /etc/rc.subr
+
+name=microsocks
+rcvar=microsocks_enable
+
+load_rc_config $name
+
+: ${microsocks_enable:="NO"}
+: ${microsocks_syslog_enable:="YES"}
+: ${microsocks_syslog_facility:="daemon"}
+: ${microsocks_syslog_priority:="info"}
+: ${microsocks_syslog_tag:="microsocks"}
+: ${microsocks_syslog_flags:=""}
+
+start_precmd=microsocks_prestart
+stop_postcmd=microsocks_poststop
+
+if checkyesno microsocks_syslog_enable; then
+ microsocks_syslog_flags="-T ${microsocks_syslog_tag} -s ${microsocks_syslog_priority} -l ${microsocks_syslog_facility}"
+fi
+
+pidfile="/var/run/${name}.pid"
+microsocks_command="%%PREFIX%%/bin/${name}"
+command="/usr/sbin/daemon"
+command_args="-f ${microsocks_syslog_flags} -P ${pidfile} -t ${name} ${microsocks_command} ${microsocks_args}"
+
+microsocks_prestart()
+{
+ if [ -z "${microsocks_user}" ]; then
+ err 3 "microsocks: microsocks_user is unset. Set it to an existing user and try again."
+ fi
+ install -m 0600 -o "${microsocks_user}" /dev/null "${pidfile}"
+}
+
+microsocks_poststop()
+{
+ rm -f "${pidfile}"
+}
+
+run_rc_command "$1"