[OE-core] [PATCH v2] matchbox-keyboard: daemonize launch
Alexandre Belloni
alexandre.belloni at free-electrons.com
Sun Feb 16 14:13:51 UTC 2014
On 16/02/2014 at 14:46:12 +0100, Bernhard Reutner-Fischer wrote :
> On 15 February 2014 17:34:57 Alexandre Belloni
> <alexandre.belloni at free-electrons.com> wrote:
>
> >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.
>
> Maybe you could remove obsolescent test(1) usage while you touch it?
>
Hum, which usage is obsolete ?
> Also, why do you need another shell instance, out of curiosity. ISTM
> that only wastes RAM..
We create a shell and start in the background to wait for
matchbox-desktop to start. This allows X continue to start and run the
next Xsession scripts. And matchbox-desktop has to be the last started
program si we don't have any other way. Anyway, once the
matchbox-keyboard daemon starts, the shell will exit and not use ram
anymore.
> Thanks,
> >
> >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 at 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 at lists.openembedded.org
> >http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
>
> Sent with AquaMail for Android
> http://www.aqua-mail.com
>
>
--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the Openembedded-core
mailing list