Patchwork matchbox-keyboard: daemonize launch

login
register
mail settings
Submitter Alexandre Belloni
Date Jan. 17, 2014, 10:09 a.m.
Message ID <1389953343-19029-1-git-send-email-alexandre.belloni@free-electrons.com>
Download mbox | patch
Permalink /patch/65035/
State New
Headers show

Comments

Alexandre Belloni - Jan. 17, 2014, 10:09 a.m.
The .shbg extension is not properly supported by the Xsession script
provided by xserver-common.

Move the main part of the Xsession.d script to a script in usr/bin then
add a Xsession.d script to start it 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.belloni@free-electrons.com>
---
 .../matchbox-keyboard/files/80matchboxkeyboard.sh  |  3 +++
 .../files/80matchboxkeyboard.shbg                  | 23 ----------------------
 .../files/matchbox-keyboard-daemon.sh              | 22 +++++++++++++++++++++
 .../matchbox-keyboard/matchbox-keyboard_git.bb     |  8 ++++++--
 4 files changed, 31 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
 create mode 100755 meta/recipes-sato/matchbox-keyboard/files/matchbox-keyboard-daemon.sh
Alexandre Belloni - Jan. 29, 2014, 1:06 p.m.
Ping ?

On Fri, Jan 17, 2014 at 11:09:03 +0100, Alexandre Belloni wrote :
> The .shbg extension is not properly supported by the Xsession script
> provided by xserver-common.
> 
> Move the main part of the Xsession.d script to a script in usr/bin then
> add a Xsession.d script to start it 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.belloni@free-electrons.com>
> ---
>  .../matchbox-keyboard/files/80matchboxkeyboard.sh  |  3 +++
>  .../files/80matchboxkeyboard.shbg                  | 23 ----------------------
>  .../files/matchbox-keyboard-daemon.sh              | 22 +++++++++++++++++++++
>  .../matchbox-keyboard/matchbox-keyboard_git.bb     |  8 ++++++--
>  4 files changed, 31 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
>  create mode 100755 meta/recipes-sato/matchbox-keyboard/files/matchbox-keyboard-daemon.sh
> 
> 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..d10fd8c32c0e
> --- /dev/null
> +++ b/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh
> @@ -0,0 +1,3 @@
> +#!/bin/sh
> +
> +/usr/bin/matchbox-keyboard-daemon.sh &
> 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/files/matchbox-keyboard-daemon.sh b/meta/recipes-sato/matchbox-keyboard/files/matchbox-keyboard-daemon.sh
> new file mode 100755
> index 000000000000..2975cef7e38a
> --- /dev/null
> +++ b/meta/recipes-sato/matchbox-keyboard/files/matchbox-keyboard-daemon.sh
> @@ -0,0 +1,22 @@
> +#!/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 00a75af60eb0..66c89ad5da41 100644
> --- a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
> +++ b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
> @@ -16,7 +16,8 @@ PR = "r4"
>  
>  SRC_URI = "git://git.yoctoproject.org/${BPN};branch=matchbox-keyboard-0-1 \
>             file://single-instance.patch \
> -           file://80matchboxkeyboard.shbg"
> +           file://matchbox-keyboard-daemon.sh \
> +           file://80matchboxkeyboard.sh"
>  
>  S = "${WORKDIR}/git"
>  
> @@ -41,7 +42,10 @@ 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/
> +
> +	install -d ${D}${bindir}
> +	install -m 755 ${WORKDIR}/matchbox-keyboard-daemon.sh ${D}${bindir}/
>  
>  	rm -f ${D}${libdir}/gtk-2.0/*/immodules/*.la
>  	rm -f ${D}${libdir}/matchbox-panel/*.la
> -- 
> 1.8.3.2
>

Patch

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..d10fd8c32c0e
--- /dev/null
+++ b/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh
@@ -0,0 +1,3 @@ 
+#!/bin/sh
+
+/usr/bin/matchbox-keyboard-daemon.sh &
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/files/matchbox-keyboard-daemon.sh b/meta/recipes-sato/matchbox-keyboard/files/matchbox-keyboard-daemon.sh
new file mode 100755
index 000000000000..2975cef7e38a
--- /dev/null
+++ b/meta/recipes-sato/matchbox-keyboard/files/matchbox-keyboard-daemon.sh
@@ -0,0 +1,22 @@ 
+#!/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 00a75af60eb0..66c89ad5da41 100644
--- a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
+++ b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
@@ -16,7 +16,8 @@  PR = "r4"
 
 SRC_URI = "git://git.yoctoproject.org/${BPN};branch=matchbox-keyboard-0-1 \
            file://single-instance.patch \
-           file://80matchboxkeyboard.shbg"
+           file://matchbox-keyboard-daemon.sh \
+           file://80matchboxkeyboard.sh"
 
 S = "${WORKDIR}/git"
 
@@ -41,7 +42,10 @@  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/
+
+	install -d ${D}${bindir}
+	install -m 755 ${WORKDIR}/matchbox-keyboard-daemon.sh ${D}${bindir}/
 
 	rm -f ${D}${libdir}/gtk-2.0/*/immodules/*.la
 	rm -f ${D}${libdir}/matchbox-panel/*.la