Thu Jan 5 15:55:38 2023 UTC ()
transmission: Add a rc script to automatically run transmission as a
dedicated user out of the box. Reviewed by wiz.


(nia)
diff -r1.31 -r1.32 pkgsrc/net/transmission/Makefile
diff -r0 -r1.1 pkgsrc/net/transmission/files/transmission.sh

cvs diff -r1.31 -r1.32 pkgsrc/net/transmission/Makefile (expand / switch to unified diff)

--- pkgsrc/net/transmission/Makefile 2022/10/26 10:31:52 1.31
+++ pkgsrc/net/transmission/Makefile 2023/01/05 15:55:38 1.32
@@ -1,13 +1,37 @@ @@ -1,13 +1,37 @@
1# $NetBSD: Makefile,v 1.31 2022/10/26 10:31:52 wiz Exp $ 1# $NetBSD: Makefile,v 1.32 2023/01/05 15:55:38 nia Exp $
2 2
3CONFLICTS+= Transmission-[0-9]* 3CONFLICTS+= Transmission-[0-9]*
4 4
5pre-configure: 5pre-configure:
6 touch ${WRKSRC}/po/Makefile 6 touch ${WRKSRC}/po/Makefile
7 7
8CONFIGURE_ARGS+= --disable-mac 8CONFIGURE_ARGS+= --disable-mac
9CONFIGURE_ARGS+= --without-gtk 9CONFIGURE_ARGS+= --without-gtk
10 10
11PKGREVISION= 4 11PKGREVISION= 5
 12
 13RCD_SCRIPTS= transmission
 14
 15BUILD_DEFS+= VARBASE
 16
 17.include "../../mk/bsd.prefs.mk"
 18
 19TRANSMISSION_USER?= transmission
 20TRANSMISSION_GROUP?= transmission
 21
 22FILES_SUBST+= TRANSMISSION_USER=${TRANSMISSION_USER}
 23FILES_SUBST+= TRANSMISSION_GROUP=${TRANSMISSION_GROUP}
 24
 25PKG_USERS_VARS+= TRANSMISSION_USER
 26PKG_GROUPS_VARS+= TRANSMISSION_GROUP
 27
 28PKG_GROUPS= ${TRANSMISSION_GROUP}
 29PKG_USERS= ${TRANSMISSION_USER}:${TRANSMISSION_GROUP}
 30
 31OWN_DIRS_PERMS+= ${PKG_SYSCONFDIR}/transmission \
 32 ${TRANSMISSION_USER} ${TRANSMISSION_GROUP} 0755
 33OWN_DIRS_PERMS+= ${VARBASE}/log/transmission \
 34 ${TRANSMISSION_USER} ${TRANSMISSION_GROUP} 0755
 35
12.include "../../net/transmission/Makefile.common" 36.include "../../net/transmission/Makefile.common"
13.include "../../mk/bsd.pkg.mk" 37.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/net/transmission/files/transmission.sh
#!@RCD_SCRIPTS_SHELL@
#
# PROVIDE: transmission
# REQUIRE: DAEMON
# KEYWORD: shutdown
#

if [ -f /etc/rc.subr ]
then
	. /etc/rc.subr
fi

name="transmission"
rcvar=${name}
pidfile="@VARBASE@/run/transmission/pid"
transmission_file_path="@VARBASE@/db/transmission"
command="@PREFIX@/bin/transmission-daemon"
command_args="--pid-file ${pidfile}"
command_args="${command_args} --logfile @VARBASE@/log/transmission/log"
command_args="${command_args} --config-dir @PKG_SYSCONFDIR@/transmission"
command_args="${command_args} --download-dir ${transmission_file_path}/complete"
command_args="${command_args} --incomplete-dir ${transmission_file_path}/incomplete"
command_args="${command_args} --watch-dir ${transmission_file_path}/torrents"
start_precmd="transmission_precmd"
transmission_user="@TRANSMISSION_USER@"
transmission_group="@TRANSMISSION_GROUP@"

transmission_precmd()
{
	if [ ! -d "@VARBASE@/run/transmission" ]; then
		mkdir -p -m 755 "@VARBASE@/run/transmission"
		chown @TRANSMISSION_USER@:@TRANSMISSION_GROUP@ \
			"@VARBASE@/run/transmission"
	fi
	if [ ! -d "${transmission_file_path}/complete" ]; then
		mkdir -p -m 755 "${transmission_file_path}/complete"
		chown @TRANSMISSION_USER@:@TRANSMISSION_GROUP@ \
			"${transmission_file_path}/complete"
	fi
	if [ ! -d "${transmission_file_path}/incomplete" ]; then
		mkdir -p -m 755 "${transmission_file_path}/incomplete"
		chown @TRANSMISSION_USER@:@TRANSMISSION_GROUP@ \
			"${transmission_file_path}/incomplete"
	fi
	if [ ! -d "${transmission_file_path}/torrents" ]; then
		mkdir -p -m 755 "${transmission_file_path}/torrents"
		chown @TRANSMISSION_USER@:@TRANSMISSION_GROUP@ \
			"${transmission_file_path}/torrents"
	fi
}

load_rc_config $name
run_rc_command "$1"