transmission: Add a rc script to automatically run transmission as a dedicated user out of the box. Reviewed by wiz.diff -r1.31 -r1.32 pkgsrc/net/transmission/Makefile
(nia)
@@ -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 | |||
3 | CONFLICTS+= Transmission-[0-9]* | 3 | CONFLICTS+= Transmission-[0-9]* | |
4 | 4 | |||
5 | pre-configure: | 5 | pre-configure: | |
6 | touch ${WRKSRC}/po/Makefile | 6 | touch ${WRKSRC}/po/Makefile | |
7 | 7 | |||
8 | CONFIGURE_ARGS+= --disable-mac | 8 | CONFIGURE_ARGS+= --disable-mac | |
9 | CONFIGURE_ARGS+= --without-gtk | 9 | CONFIGURE_ARGS+= --without-gtk | |
10 | 10 | |||
11 | PKGREVISION= 4 | 11 | PKGREVISION= 5 | |
12 | ||||
13 | RCD_SCRIPTS= transmission | |||
14 | ||||
15 | BUILD_DEFS+= VARBASE | |||
16 | ||||
17 | .include "../../mk/bsd.prefs.mk" | |||
18 | ||||
19 | TRANSMISSION_USER?= transmission | |||
20 | TRANSMISSION_GROUP?= transmission | |||
21 | ||||
22 | FILES_SUBST+= TRANSMISSION_USER=${TRANSMISSION_USER} | |||
23 | FILES_SUBST+= TRANSMISSION_GROUP=${TRANSMISSION_GROUP} | |||
24 | ||||
25 | PKG_USERS_VARS+= TRANSMISSION_USER | |||
26 | PKG_GROUPS_VARS+= TRANSMISSION_GROUP | |||
27 | ||||
28 | PKG_GROUPS= ${TRANSMISSION_GROUP} | |||
29 | PKG_USERS= ${TRANSMISSION_USER}:${TRANSMISSION_GROUP} | |||
30 | ||||
31 | OWN_DIRS_PERMS+= ${PKG_SYSCONFDIR}/transmission \ | |||
32 | ${TRANSMISSION_USER} ${TRANSMISSION_GROUP} 0755 | |||
33 | OWN_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" |
#!@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"