git: 28cb794ff6b7 - main - net/microsocks: Add rc script

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Mon, 28 Feb 2022 12:54:05 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=28cb794ff6b7ecf37d11ca5179d76a874d747ded

commit 28cb794ff6b7ecf37d11ca5179d76a874d747ded
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-02-28 09:41:27 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-02-28 12:46:44 +0000

    net/microsocks: Add rc script
    
    - Bump PORTREVISION for package change
    
    PR:             253284
    Reported by:    Pavel Timofeev <timp87@gmail.com>
---
 net/microsocks/Makefile            |  3 ++
 net/microsocks/files/microsocks.in | 64 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)

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"