[Buildroot] [git commit branch/next] transmission: improve systemd support

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Mon Jul 27 21:54:41 UTC 2015


commit: http://git.buildroot.net/buildroot/commit/?id=c0f4bb97e4bc29b67bd1e17918cf3e694f137523
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/next

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 at gmail.com>
Signed-off-by: Aurélien Chabot <aurelien at chabot.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Acked-by: Maxime Hadjinlian <maxime.hadjinlian at gmail.com>
---
 package/transmission/S92transmission |    4 +---
 package/transmission/transmission.mk |   19 +++++++++++++++++++
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/package/transmission/S92transmission b/package/transmission/S92transmission
index 1870522..e5976b0 100644
--- a/package/transmission/S92transmission
+++ b/package/transmission/S92transmission
@@ -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 -----
diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk
index bbc32bf..efc00a1 100644
--- a/package/transmission/transmission.mk
+++ b/package/transmission/transmission.mk
@@ -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


More information about the buildroot mailing list