Rygel becomes systemd user service
[AGL/meta-agl.git] / meta-agl / recipes-connectivity / rygel / rygel_%.bbappend
index 7cfb9c0..3dcb854 100644 (file)
@@ -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)} \
+    "