transmission: improve systemd support

Support running transmission-daemon in system-wide mode using systemd:

1. Pass --with-systemd-daemon to configure script if systemd is enabled.

2. Create the transmission user if having daemon

3. Install transmission-daemon.service for systemd.

[Aurélien : Fix symlink relative path, use upstream service file,
no need for config path, and use transmission user in sysv script,
remove sysctl stuff]

Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Signed-off-by: Aurélien Chabot <aurelien@chabot.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
This commit is contained in:
Maxim Mikityanskiy 2015-07-20 00:18:01 +02:00 committed by Thomas Petazzoni
parent cac3cf8f9c
commit c0f4bb97e4
2 changed files with 20 additions and 3 deletions

View File

@ -24,9 +24,7 @@
# by default, this is set to 'transmission'.
# For the sake of security you shouldn't set a password
# on this user
#USERNAME=transmission
USERNAME=default
USERNAME=transmission
# ----- *ADVANCED* CONFIGURATION -----

View File

@ -36,11 +36,30 @@ endif
ifeq ($(BR2_PACKAGE_TRANSMISSION_DAEMON),y)
TRANSMISSION_CONF_OPTS += --enable-daemon
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
TRANSMISSION_DEPENDENCIES += systemd
TRANSMISSION_CONF_OPTS += --with-systemd-daemon
else
TRANSMISSION_CONF_OPTS += --without-systemd-daemon
endif
define TRANSMISSION_USERS
transmission -1 transmission -1 * /var/lib/transmission - transmission Transmission Daemon
endef
define TRANSMISSION_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/transmission/S92transmission \
$(TARGET_DIR)/etc/init.d/S92transmission
endef
define TRANSMISSION_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0755 $(@D)/daemon/transmission-daemon.service \
$(TARGET_DIR)/usr/lib/systemd/system/transmission-daemon.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -fs ../../../../usr/lib/systemd/system/transmission-daemon.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/transmission-daemon.service
endef
else
TRANSMISSION_CONF_OPTS += --disable-daemon
endif