Add mini X for self-hosted
cover Add mini X for self-hosted
From: Zhai Edwin <[email protected]>
All,
These patches add mini X, who will execute session files on behalf of file
owner without rootless X. By this way, a minimal X enviroment including matchbox-wm is availale for the "builder" user to start auto-run apps.
Pls. help to review.
Thanks,
Edwin
The following changes since commit 4648aadfe161d2e0ec51408f35fdf8996727bd22:
ui/crumbs/hobprefs: trigger a reparse after changing IMAGE_FSTYPES (2011-12-20 13:15:54 +0000)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib gzhai/build-appliance2
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=gzhai/build-appliance2
Zhai Edwin (4):
minix-session: Add this recipe as the session file for mini X Add mini X core tasks
Add "builder" user for specific purpose.
self-hosted-image: Add builder user and mini X
meta/classes/core-image.bbclass | 2 + meta/recipes-core/images/self-hosted-image.bb | 4 +- meta/recipes-core/tasks/task-self-hosted.bb | 3 +- meta/recipes-graphics/builder/builder_0.1.bb | 27 ++++++++++++ meta/recipes-graphics/builder/files/auto_start.sh | 11 +++++ .../minix-session/files/minix-session | 32 ++++++++++++++ .../minix-session/minix-session_0.1.bb | 24 ++++++++++ meta/recipes-sato/tasks/task-core-x11-mini.bb | 45 ++++++++++++++++++++ 8 files changed, 146 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-graphics/builder/builder_0.1.bb create mode 100644 meta/recipes-graphics/builder/files/auto_start.sh create mode 100644 meta/recipes-graphics/minix-session/files/minix-session create mode 100644 meta/recipes-graphics/minix-session/minix-session_0.1.bb create mode 100644 meta/recipes-sato/tasks/task-core-x11-mini.bb
PATCH 1/4 minix-session: Add this recipe as the session file for mini X
From: Zhai Edwin <[email protected]>
minix-session runs session files on behalf of file owner, so that no rootless X required.
--- .../minix-session/files/minix-session | 32 ++++++++++++++++++++ .../minix-session/minix-session_0.1.bb | 24 +++++++++++++++ 2 files changed, 56 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-graphics/minix-session/files/minix-session create mode 100644 meta/recipes-graphics/minix-session/minix-session_0.1.bb
meta/recipes-graphics/minix-session/files/minix-session new file +32 -0
@@ -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/.minix/session ] +then +exec $HOME/.minix/session +fi + +if [ -e /etc/minix/session ] +then +exec /etc/minix/session +fi + +MINIX_SESSION_DIR=/etc/minix/session.d + +# Execute session file on behalf of file owner +for SESSIONFILE in $MINIX_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/.minix/session or /etc/minix/session +# dont exist. + +matchbox-terminal& +exec matchbox-window-manager
meta/recipes-graphics/minix-session/minix-session_0.1.bb new file +24 -0
@@ -0,0 +1,24 @@ +DESCRIPTION = "Mini X session files for poky" +HOMEPAGE = "http://www.yoctoproject.org" +BUGTRACKER = "http://bugzilla.pokylinux.org" + +LICENSE = "GPL" +LIC_FILES_CHKSUM = "file://minix-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487" + +SECTION = "x11" +RCONFLICTS = "matchbox-common" + +SRC_URI = "file://minix-session" +S = "${WORKDIR}" + +inherit update-alternatives + +ALTERNATIVE_NAME = "x-session-manager" +ALTERNATIVE_LINK = "${bindir}/x-session-manager" +ALTERNATIVE_PATH = "${bindir}/minix-session" +ALTERNATIVE_PRIORITY = "10" + +do_install() { + install -d ${D}/${bindir} + install -m 0755 ${S}/minix-session ${D}/${bindir} +}
Signature · 1 line
1.7.1
Re: [PATCH 1/4] minix-session: Add this recipe as the session file for mini X
Hi Edwin,
Quoted 4 lines · On Wednesday 21 December 2011 16:18:05 [email protected] wrote:
From: Zhai Edwin <[email protected]>
minix-session runs session files on behalf of file owner, so that no rootless X required.
A bit of a minor nitpick I know, but since "minix" is already the name of a well-known operating system I would suggest changing this to mini-x-session or similar.
Cheers,
Paul
Signature · 2 lines
Paul Eggleton Intel Open Source Technology Centre
Re: [PATCH 1/4] minix-session: Add this recipe as the session file for mini X
Quoted 5 lines · Paul Eggleton
Hi Edwin,
Quoted 2 lines · On Wednesday 21 December 2011 16:18:05 [email protected] wrote:
From: Zhai Edwin <[email protected]>
Quoted 8 lines
Quoted 2 lines
minix-session runs session files on behalf of file owner, so that no rootless X required.
A bit of a minor nitpick I know, but since "minix" is already the name of a well-known operating system I would suggest changing this to mini-x-session or
similar.
Agreed; minix is too confusing for this context.
Signature · 3 lines
Otavio Salvador O.S. Systems E-mail: [email protected] http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
Re: [PATCH 1/4] minix-session: Add this recipe as the session file for mini X
In reply to Paul EggletonQuoted 11 lines · Paul Eggleton
Hi Edwin,
Quoted 4 lines · On Wednesday 21 December 2011 16:18:05 [email protected] wrote:
From: Zhai Edwin<[email protected]>
minix-session runs session files on behalf of file owner, so that no rootless X required.
A bit of a minor nitpick I know, but since "minix" is already the name of a well-known operating system I would suggest changing this to mini-x-session or similar.
Good point! I'll change it.
Thanks,
Quoted 4 lines
Cheers,
Paul
Re: [PATCH 1/4] minix-session: Add this recipe as the session file for mini X
In reply to [email protected]Quoted 57 lines · On 12/21/2011 12:18 AM, [email protected] wrote:
From: Zhai Edwin<[email protected]>
minix-session runs session files on behalf of file owner, so that no rootless X required.
Signed-off-by Zhai Edwin<[email protected]>--- .../minix-session/files/minix-session | 32 ++++++++++++++++++++ .../minix-session/minix-session_0.1.bb | 24 +++++++++++++++ 2 files changed, 56 insertions(+), 0 deletions(-)create mode 100644 meta/recipes-graphics/minix-session/files/minix-session create mode 100644 meta/recipes-graphics/minix-session/minix-session_0.1.bb
meta/recipes-graphics/minix-session/files/minix-session new file +32
-0@@ -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/.minix/session ] +then +exec $HOME/.minix/session +fi + +if [ -e /etc/minix/session ] +then +exec /etc/minix/session +fi + +MINIX_SESSION_DIR=/etc/minix/session.d + +# Execute session file on behalf of file owner +for SESSIONFILE in $MINIX_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/.minix/session or /etc/minix/session +# dont exist. + +matchbox-terminal& +exec matchbox-window-managermeta/recipes-graphics/minix-session/minix-session_0.1.bb new file +0
-0
meta/recipes-graphics/minix-session/minix-session_0.1.bb line 7
Quoted 7 lines
meta/recipes-graphics/minix-session/minix-session_0.1.bb new file +7
-0@@ -0,0 +1,24 @@ +DESCRIPTION = "Mini X session files for poky" +HOMEPAGE = "http://www.yoctoproject.org" +BUGTRACKER = "http://bugzilla.pokylinux.org" + +LICENSE = "GPL" +LIC_FILES_CHKSUM = "file://minix-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487" +
Is this really GPL? MIT maybe?
And if it is GPL then what version?
Sau!
Quoted 17 lines
meta/recipes-graphics/minix-session/minix-session_0.1.bb new file +17
-0+SECTION = "x11" +RCONFLICTS = "matchbox-common" + +SRC_URI = "file://minix-session" +S = "${WORKDIR}" + +inherit update-alternatives + +ALTERNATIVE_NAME = "x-session-manager" +ALTERNATIVE_LINK = "${bindir}/x-session-manager" +ALTERNATIVE_PATH = "${bindir}/minix-session" +ALTERNATIVE_PRIORITY = "10" + +do_install() { + install -d ${D}/${bindir} + install -m 0755 ${S}/minix-session ${D}/${bindir} +}
Re: [PATCH 1/4] minix-session: Add this recipe as the session file for mini X
Quoted 13 lines · Saul Wold
Quoted 5 lines
meta/recipes-graphics/minix-session/minix-session_0.1.bb +0
-0Quoted 4 lines
new file mode 100644
index 0000000..2e912c6
---/dev/null
+++ b/meta/recipes-graphics/minix-session/minix-session_0.1.bbQuoted 8 lines
Quoted 8 lines
@@ -0,0 +1,24 @@
+DESCRIPTION = "Mini X session files for poky"
+HOMEPAGE ="http://www.yoctoproject.org"
+BUGTRACKER ="http://bugzilla.pokylinux.org"
+
+LICENSE = "GPL"
+LIC_FILES_CHKSUM ="file://minix-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487" +
Quoted 3 lines
Is this really GPL? MIT maybe?
And if it is GPL then what version?
I derived it from matchbox-session and inherited "GPL". Maybe GPLv2 is more reasonable?
Thanks,
Edwin
Quoted 3 lines
Sau!
Re: [PATCH 1/4] minix-session: Add this recipe as the session file for mini X
Quoted 15 lines · Edwin
Quoted 14 lines · Saul Wold
Quoted 14 lines
meta/recipes-graphics/minix-session/minix-session_0.1.bb +0
-0meta/recipes-graphics/minix-session/minix-session_0.1.bb line 6
Quoted 11 lines
new file mode 100644
index 0000000..2e912c6meta/recipes-graphics/minix-session/minix-session_0.1.bb new file +6
-0@@ -0,0 +1,24 @@ +DESCRIPTION = "Mini X session files for poky" +HOMEPAGE ="http://www.yoctoproject.org" +BUGTRACKER ="http://bugzilla.pokylinux.org" + +LICENSE = "GPL" +LIC_FILES_CHKSUM="file://minix-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487"
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
meta/recipes-graphics/minix-session/minix-session_0.1.bb line 7
Quoted 1 line
meta/recipes-graphics/minix-session/minix-session_0.1.bb new file +1
-0+Is this really GPL? MIT maybe?
And if it is GPL then what version?
I derived it from matchbox-session and inherited "GPL". Maybe GPLv2 is more reasonable?
Yes
Quoted 8 lines
Thanks,
EdwinQuoted 3 lines
Sau!
PATCH 2/4 Add mini X core tasks
In reply to [email protected]From: Zhai Edwin <[email protected]>
--- meta/classes/core-image.bbclass | 2 + meta/recipes-sato/tasks/task-core-x11-mini.bb | 45 +++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-sato/tasks/task-core-x11-mini.bb
meta/classes/core-image.bbclass +2 -0
@@ -13,6 +13,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3 # Available IMAGE_FEATURES: # # - apps-console-core +# - x11-mini - minimal environment for X11 server # - x11-base - X11 server + minimal desktop # - x11-sato - OpenedHand Sato environment # - x11-netbook - Metacity based environment for netbooks
@@ -29,6 +30,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3 # - debug-tweaks - makes an image suitable for development # PACKAGE_GROUP_apps-console-core = "task-core-apps-console" +PACKAGE_GROUP_x11-mini = "task-core-x11-mini" PACKAGE_GROUP_x11-base = "task-core-x11-base" PACKAGE_GROUP_x11-sato = "task-core-x11-sato" PACKAGE_GROUP_x11-netbook = "task-core-x11-netbook"
meta/recipes-sato/tasks/task-core-x11-mini.bb new file +45 -0
45 lines not on this page · raw message
Signature · 1 line
1.7.1
PATCH 3/4 Add "builder" user for specific purpose.
In reply to [email protected]From: Zhai Edwin <[email protected]>
"builder" can start some auto stuff by mini X session.
--- meta/recipes-graphics/builder/builder_0.1.bb | 27 +++++++++++++++++++++ meta/recipes-graphics/builder/files/auto_start.sh | 11 ++++++++ 2 files changed, 38 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-graphics/builder/builder_0.1.bb create mode 100644 meta/recipes-graphics/builder/files/auto_start.sh
meta/recipes-graphics/builder/builder_0.1.bb new file +27 -0
@@ -0,0 +1,27 @@ +SUMMARY = "New user to do specific job" +DESCRIPTION = "This recipe create a new user named ${PN}, who is used for specific jobs like building. The task can be auto started via mini X" +SECTION = "x11" +PR = "r0" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://auto_start.sh;endline=5;md5=66d6c43a8b2583e3bd70c6b020f679a4" + +SRC_URI = "file://auto_start.sh" + +S = "${WORKDIR}" + +RDEPENDS_${PN} = "minix-session" + +inherit useradd + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --create-home \ + --groups video,tty,audio \ + --user-group ${PN}" + +do_install () { + install -d -m 755 ${D}/etc/minix/session.d + install -p -m 755 auto_start.sh ${D}/etc/minix/session.d/ + + chown ${PN}.${PN} ${D}/etc/minix/session.d/auto_start.sh +} +
meta/recipes-graphics/builder/files/auto_start.sh new file +11 -0
@@ -0,0 +1,11 @@ +#!/bin/sh +#This script will be called via minix X session on behalf of file owner, after +#installed in /etc/minix/session.d/. Any auto start jobs including X apps can +#be put here + +# start hob here +#cd /intel/poky/poky +#. ./oe-init-build-env +#../scripts/hob + +matchbox-terminal&
Signature · 1 line
1.7.1
Re: [PATCH 3/4] Add "builder" user for specific purpose.
Quoted 8 lines · On 12/21/2011 12:18 AM, [email protected] wrote:
From: Zhai Edwin<[email protected]>
"builder" can start some auto stuff by mini X session.
Signed-off-by Zhai Edwin<[email protected]>--- meta/recipes-graphics/builder/builder_0.1.bb | 27 +++++++++++++++++++++ meta/recipes-graphics/builder/files/auto_start.sh | 11 ++++++++
auto_start is a pretty generic script name, might be better to call it soemthing like builder_hob_start.sh or something more unique.
Sau!
Quoted 54 lines
2 files changed, 38 insertions(+), 0 deletions(-)create mode 100644 meta/recipes-graphics/builder/builder_0.1.bb create mode 100644
meta/recipes-graphics/builder/files/auto_start.shmeta/recipes-graphics/builder/builder_0.1.bb new file +27
-0@@ -0,0 +1,27 @@ +SUMMARY = "New user to do specific job" +DESCRIPTION = "This recipe create a new user named ${PN}, who is used for specific jobs like building. The task can be auto started via mini X" +SECTION = "x11" +PR = "r0" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://auto_start.sh;endline=5;md5=66d6c43a8b2583e3bd70c6b020f679a4" + +SRC_URI = "file://auto_start.sh" + +S = "${WORKDIR}" + +RDEPENDS_${PN} = "minix-session" + +inherit useradd + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --create-home \ + --groups video,tty,audio \ + --user-group ${PN}" + +do_install () { + install -d -m 755 ${D}/etc/minix/session.d + install -p -m 755 auto_start.sh ${D}/etc/minix/session.d/ + + chown ${PN}.${PN} ${D}/etc/minix/session.d/auto_start.sh +} +meta/recipes-graphics/builder/files/auto_start.sh new file +11
-0@@ -0,0 +1,11 @@ +#!/bin/sh +#This script will be called via minix X session on behalf of file owner, after +#installed in /etc/minix/session.d/. Any auto start jobs including X apps can +#be put here + +# start hob here +#cd /intel/poky/poky +#. ./oe-init-build-env +#../scripts/hob + +matchbox-terminal&
PATCH 4/4 self-hosted-image: Add builder user and mini X
In reply to [email protected]From: Zhai Edwin <[email protected]>
--- meta/recipes-core/images/self-hosted-image.bb | 4 +++- meta/recipes-core/tasks/task-self-hosted.bb | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-)
meta/recipes-core/images/self-hosted-image.bb +3 -1
@@ -4,6 +4,8 @@ POKY_EXTRA_INSTALL = "\ task-self-hosted \ " +IMAGE_FEATURES += "x11-mini" + inherit core-image -PR = "r1" +PR = "r2"
meta/recipes-core/tasks/task-self-hosted.bb +2 -1
@@ -3,7 +3,7 @@ # DESCRIPTION = "Create Basic Image Tasks" -PR = "r2" +PR = "r3" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
@@ -190,4 +190,5 @@ RDEPENDS_task-self-hosted-graphics = "\ libsdl \ libsdl-dev \ libx11-dev \ + builder \ "
Signature · 1 line
1.7.1