transmission: improve systemd support
authorMaxim Mikityanskiy <maxtram95@gmail.com>
Sun, 19 Jul 2015 22:18:01 +0000 (00:18 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 27 Jul 2015 21:54:41 +0000 (23:54 +0200)
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>
package/transmission/S92transmission
package/transmission/transmission.mk

index 18705228f1a1004934109fe5af0b1ae022ee1719..e5976b0cfba0da16add3df8a918d9f8fe7cfe7ad 100644 (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 -----
index bbc32bf1185caabec0a0ff18ccd94a6e6a80c65b..efc00a1177680b5af4faed282d57a647093387b8 100644 (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