lightmediascanner: add udev scan rule 43/8943/4
authorMatt Ranostay <matt.ranostay@konsulko.com>
Mon, 27 Mar 2017 21:50:29 +0000 (00:50 +0300)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tue, 4 Apr 2017 08:46:37 +0000 (08:46 +0000)
Initialize a scan on media insertion, and trigger an
dbus event on media removal.

AGL-Issue: SPEC-483
Change-Id: I7cd79401938f7671dc642647848381259cf87915
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
meta-agl/recipes-multimedia/lightmediascanner/files/lightmediascanner.rules [new file with mode: 0644]
meta-agl/recipes-multimedia/lightmediascanner/files/lightmediascanner.sh [new file with mode: 0644]
meta-agl/recipes-multimedia/lightmediascanner/lightmediascanner_%.bbappend

diff --git a/meta-agl/recipes-multimedia/lightmediascanner/files/lightmediascanner.rules b/meta-agl/recipes-multimedia/lightmediascanner/files/lightmediascanner.rules
new file mode 100644 (file)
index 0000000..86c39e4
--- /dev/null
@@ -0,0 +1,2 @@
+SUBSYSTEM=="block", ACTION=="add"    RUN+="/etc/udev/scripts/lightmediascanner.sh"
+SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/lightmediascanner.sh"
diff --git a/meta-agl/recipes-multimedia/lightmediascanner/files/lightmediascanner.sh b/meta-agl/recipes-multimedia/lightmediascanner/files/lightmediascanner.sh
new file mode 100644 (file)
index 0000000..8aa397e
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+#
+# Call from udev
+#
+# Attempt to scan any new inserted media
+
+name="`basename "$DEVNAME"`"
+
+/usr/bin/lightmediascannerctl scan audio:/run/media/$(basename "$DEVNAME")
index 231b3e6..4ad8abb 100644 (file)
@@ -5,6 +5,8 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
 
 SRC_URI += "file://lightmediascanner.service \
             file://plugin-ogg-fix-chucksize-issue.patch \
+            file://lightmediascanner.rules \
+            file://lightmediascanner.sh \
            "
 
 inherit systemd
@@ -20,6 +22,11 @@ do_install_append() {
               ln -sf ${systemd_user_unitdir}/lightmediascanner.service ${D}/etc/systemd/user/dbus-org.lightmediascanner.service
               ln -sf ${systemd_user_unitdir}/lightmediascanner.service ${D}/etc/systemd/user/default.target.wants/lightmediascanner.service
        fi
+
+       if ${@bb.utils.contains('DISTRO_FEATURES', 'automount', 'true', 'false', d)}; then
+              install -m 644 -p -D ${WORKDIR}/lightmediascanner.rules ${D}/etc/udev/rules.d/lightmediascanner.rules
+              install -m 755 -p -D ${WORKDIR}/lightmediascanner.sh ${D}/etc/udev/scripts/lightmediascanner.sh
+       fi
 }
 
 FILES_${PN} += " \