The .shbg extension is not properly supported by the Xsession script
provided by xserver-common.

Make the matchbox-keyboard startup script wait for matchbox desktop and
start the matchbox-keyboard daemon in its own shell, in the background.

See discussion here:
https://lists.yoctoproject.org/pipermail/poky/2013-December/009463.html

Bug here:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5546

Signed-off-by: Alexandre Belloni <alexandre.bell...@free-electrons.com>
---

Changes since v1:
 - stop using another script to start in the background and spawn a
   background shell from the startup script

 .../matchbox-keyboard/files/80matchboxkeyboard.sh  | 21 ++++++++++++++++++++
 .../files/80matchboxkeyboard.shbg                  | 23 ----------------------
 .../matchbox-keyboard/matchbox-keyboard_git.bb     |  4 ++--
 3 files changed, 23 insertions(+), 25 deletions(-)
 create mode 100755 
meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh
 delete mode 100755 
meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg

diff --git a/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh 
b/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh
new file mode 100755
index 000000000000..d822efa6e70c
--- /dev/null
+++ b/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+. /etc/formfactor/config
+
+CMD=""
+
+if [ "$HAVE_KEYBOARD" = "0" ]; then
+    CMD="matchbox-keyboard -d"
+elif [ "$DISPLAY_CAN_ROTATE" = "1" ]; then
+    if [ "$HAVE_KEYBOARD_PORTRAIT" = "1" -a "$HAVE_KEYBOARD_LANDSCAPE" = "0" 
]; then
+        CMD="matchbox-keyboard -d -o landscape"
+    elif [ "$HAVE_KEYBOARD_LANDSCAPE" = "1" -a "$HAVE_KEYBOARD_PORTRAIT" = "0" 
]; then
+        CMD="matchbox-keyboard -d -o portrait"
+    fi
+fi
+
+if [ "$CMD" ]; then
+    # Delay to make sure the window manager is active
+    # by waiting for the desktop to say its finished loading
+       ( dbus-wait org.matchbox_project.desktop Loaded && $CMD ) &
+fi
diff --git a/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg 
b/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg
deleted file mode 100755
index 43c5d3ed6a32..000000000000
--- a/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-. /etc/formfactor/config
-
-CMD=""
-
-if [ "$HAVE_KEYBOARD" = "0" ]; then
-    CMD="matchbox-keyboard -d"
-elif [ "$DISPLAY_CAN_ROTATE" = "1" ]; then
-    if [ "$HAVE_KEYBOARD_PORTRAIT" = "1" -a "$HAVE_KEYBOARD_LANDSCAPE" = "0" 
]; then
-        CMD="matchbox-keyboard -d -o landscape"
-    elif [ "$HAVE_KEYBOARD_LANDSCAPE" = "1" -a "$HAVE_KEYBOARD_PORTRAIT" = "0" 
]; then
-        CMD="matchbox-keyboard -d -o portrait"
-    fi
-fi
-                                       
-
-if [ "$CMD" ]; then
-    # Delay to make sure the window manager is active
-    # by waiting for the desktop to say its finished loading
-    dbus-wait org.matchbox_project.desktop Loaded
-    exec $CMD
-fi
diff --git a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb 
b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
index ffcabcad2215..70caf6fc0222 100644
--- a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
+++ b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
@@ -17,7 +17,7 @@ PR = "r4"
 SRC_URI = "git://git.yoctoproject.org/${BPN} \
            file://configure_fix.patch;maxrev=1819 \
            file://single-instance.patch \
-           file://80matchboxkeyboard.shbg \
+           file://80matchboxkeyboard.sh \
            file://png-fix.patch"
 
 S = "${WORKDIR}/git"
@@ -43,7 +43,7 @@ FILES_${PN}-applet = "${libdir}/matchbox-panel/*.so"
 
 do_install_append () {
        install -d ${D}/${sysconfdir}/X11/Xsession.d/
-       install -m 755 ${WORKDIR}/80matchboxkeyboard.shbg 
${D}/${sysconfdir}/X11/Xsession.d/
+       install -m 755 ${WORKDIR}/80matchboxkeyboard.sh 
${D}/${sysconfdir}/X11/Xsession.d/
 
        rm -f ${D}${libdir}/gtk-2.0/*/immodules/*.la
        rm -f ${D}${libdir}/matchbox-panel/*.la
-- 
1.8.3.2

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to