From 019682fca4a5a9754276dff79d5c2ab859e0cc40 Mon Sep 17 00:00:00 2001 From: Tadao Tanikawa Date: Wed, 9 Dec 2015 13:44:05 +0900 Subject: [PATCH] Rygel becomes systemd user service Now Rygel becomes systemd user service because it needs D-Bus session bus provided by D-Bus Daemon which is managed by systemd (as user service). Change-Id: Ib763b68b758e4b1fb7efc76f846f5e6d07a67bd9 Signed-off-by: Tadao Tanikawa --- meta-agl/recipes-connectivity/rygel/files/rygel.service | 10 +++++----- meta-agl/recipes-connectivity/rygel/rygel_%.bbappend | 16 +++++++++++----- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/meta-agl/recipes-connectivity/rygel/files/rygel.service b/meta-agl/recipes-connectivity/rygel/files/rygel.service index 95c701d04..fb94d7160 100644 --- a/meta-agl/recipes-connectivity/rygel/files/rygel.service +++ b/meta-agl/recipes-connectivity/rygel/files/rygel.service @@ -4,10 +4,10 @@ After=lightmediascanner.service Requires=lightmediascanner.service [Service] -Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%U/dbus/user_bus_socket -User=root -ExecStartPre=/bin/sleep 3 -ExecStart=/usr/bin/dbus-launch --auto-syntax /usr/bin/rygel -c /etc/rygel.conf +Type=dbus +BusName=org.gnome.Rygel1 +ExecStart=/usr/bin/rygel -c /etc/rygel.conf [Install] -WantedBy=multi-user.target +WantedBy=default.target +Alias=dbus-org.gnome.Rygel1.service diff --git a/meta-agl/recipes-connectivity/rygel/rygel_%.bbappend b/meta-agl/recipes-connectivity/rygel/rygel_%.bbappend index 7cfb9c063..3dcb854f5 100644 --- a/meta-agl/recipes-connectivity/rygel/rygel_%.bbappend +++ b/meta-agl/recipes-connectivity/rygel/rygel_%.bbappend @@ -10,13 +10,19 @@ SRC_URI += "file://0001-Add-LightMediaScanner-plugin.patch \ inherit systemd -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "" -SYSTEMD_SERVICE_${PN} += "rygel.service" - do_install_append() { # Install rygel systemd service if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -p -D ${WORKDIR}/rygel.service ${D}${systemd_unitdir}/system/rygel.service + install -p -D ${WORKDIR}/rygel.service ${D}${systemd_user_unitdir}/rygel.service + + # Execute these manually on behalf of systemctl script (from systemd-systemctl-native.bb) + # because it does not support systemd's user mode. + mkdir -p ${D}/etc/systemd/user/default.target.wants/ + ln -sf ${systemd_user_unitdir}/lightmediascanner.service ${D}/etc/systemd/user/dbus-org.gnome.Rygel1.service + ln -sf ${systemd_user_unitdir}/lightmediascanner.service ${D}/etc/systemd/user/default.target.wants/rygel.service fi } + +FILES_${PN} += " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_user_unitdir}/rygel.service', '', d)} \ + " -- 2.16.6