Patchwork [1/4] mini-x-session: Add this recipe as the session file for mini X

login
register
mail settings
Submitter Zhai, Edwin
Date Dec. 22, 2011, 12:16 p.m.
Message ID <3aa9dedc61c1abc64e19d07e51714e3f883e313b.1324555824.git.edwin.zhai@intel.com>
Download mbox | patch
Permalink /patch/17461/
State Accepted
Commit 43c2d366622ea52cba8a5b727d723c8ec30bd44b
Headers show

Comments

Zhai, Edwin - Dec. 22, 2011, 12:16 p.m.
From: Zhai Edwin <edwin.zhai@intel.com>

mini-x-session runs session files on behalf of file owner, so that no rootless X
required.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
---
 .../mini-x-session/files/mini-x-session            |   32 ++++++++++++++++++++
 .../mini-x-session/mini-x-session_0.1.bb           |   24 +++++++++++++++
 2 files changed, 56 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-graphics/mini-x-session/files/mini-x-session
 create mode 100644 meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb

Patch

diff --git a/meta/recipes-graphics/mini-x-session/files/mini-x-session b/meta/recipes-graphics/mini-x-session/files/mini-x-session
new file mode 100644
index 0000000..1940e27
--- /dev/null
+++ b/meta/recipes-graphics/mini-x-session/files/mini-x-session
@@ -0,0 +1,32 @@ 
+#!/bin/sh
+#
+# Very simple session manager for Mini X
+#
+
+# Uncomment below to enable parsing of debian menu entrys
+# export MB_USE_DEB_MENUS=1 
+
+if [ -e $HOME/.mini_x/session ]
+then
+exec $HOME/.mini_x/session
+fi
+
+if [ -e /etc/mini_x/session ]
+then
+exec /etc/mini_x/session
+fi
+
+MINI_X_SESSION_DIR=/etc/mini_x/session.d
+
+# Execute session file on behalf of file owner
+for SESSIONFILE in $MINI_X_SESSION_DIR/*; do
+    set +e
+    USERNAME=`stat -c %U $SESSIONFILE`
+    sudo -b -i -u $USERNAME $SESSIONFILE& 
+    set -e
+done
+# Default files to run if $HOME/.mini_x/session or /etc/mini_x/session
+# dont exist. 
+
+matchbox-terminal&
+exec matchbox-window-manager
diff --git a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb
new file mode 100644
index 0000000..3818d16
--- /dev/null
+++ b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb
@@ -0,0 +1,24 @@ 
+DESCRIPTION = "Mini X session files for poky"
+HOMEPAGE = "http://www.yoctoproject.org"
+BUGTRACKER = "http://bugzilla.pokylinux.org"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487"
+
+SECTION = "x11"
+RCONFLICTS = "matchbox-common"
+
+SRC_URI = "file://mini-x-session"
+S = "${WORKDIR}"
+
+inherit update-alternatives
+
+ALTERNATIVE_NAME = "x-session-manager"
+ALTERNATIVE_LINK = "${bindir}/x-session-manager"
+ALTERNATIVE_PATH = "${bindir}/mini-x-session"
+ALTERNATIVE_PRIORITY = "10"
+
+do_install() {
+	install -d ${D}/${bindir}
+	install -m 0755 ${S}/mini-x-session ${D}/${bindir}
+}