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

login
register
mail settings
Submitter Zhai, Edwin
Date Dec. 21, 2011, 8:18 a.m.
Message ID <bb425c648fb30fa14fe5981b5c8bba8e8cf6ba5d.1324454963.git.edwin.zhai@intel.com>
Download mbox | patch
Permalink /patch/17363/
State New
Headers show

Comments

Zhai, Edwin - Dec. 21, 2011, 8:18 a.m.
From: Zhai Edwin <edwin.zhai@intel.com>

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

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
---
 .../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
Paul Eggleton - Dec. 21, 2011, 10:36 a.m.
Hi Edwin,

On Wednesday 21 December 2011 16:18:05 edwin.zhai@intel.com wrote:
> From: Zhai Edwin <edwin.zhai@intel.com>
> 
> 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
Saul Wold - Dec. 21, 2011, 7:38 p.m.
On 12/21/2011 12:18 AM, edwin.zhai@intel.com wrote:
> From: Zhai Edwin<edwin.zhai@intel.com>
>
> minix-session runs session files on behalf of file owner, so that no rootless X
> required.
>
> Signed-off-by: Zhai Edwin<edwin.zhai@intel.com>
> ---
>   .../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
>
> diff --git a/meta/recipes-graphics/minix-session/files/minix-session b/meta/recipes-graphics/minix-session/files/minix-session
> new file mode 100644
> index 0000000..c28d537
> --- /dev/null
> +++ b/meta/recipes-graphics/minix-session/files/minix-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/.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
> diff --git a/meta/recipes-graphics/minix-session/minix-session_0.1.bb b/meta/recipes-graphics/minix-session/minix-session_0.1.bb
> new file mode 100644
> index 0000000..2e912c6
> --- /dev/null
> +++ b/meta/recipes-graphics/minix-session/minix-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 = "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!

> +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}
> +}
Otavio Salvador - Dec. 21, 2011, 7:42 p.m.
On Wed, Dec 21, 2011 at 08:36, Paul Eggleton
<paul.eggleton@linux.intel.com>wrote:

> Hi Edwin,
>
> On Wednesday 21 December 2011 16:18:05 edwin.zhai@intel.com wrote:
> > From: Zhai Edwin <edwin.zhai@intel.com>
> >
> > 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.
Zhai, Edwin - Dec. 22, 2011, 12:49 a.m.
On 12/21/2011 06:36 PM, Paul Eggleton wrote:
> Hi Edwin,
>
> On Wednesday 21 December 2011 16:18:05 edwin.zhai@intel.com wrote:
>> From: Zhai Edwin<edwin.zhai@intel.com>
>>
>> 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,

>
> Cheers,
> Paul
>
Zhai, Edwin - Dec. 22, 2011, 12:52 a.m.
On 12/22/2011 03:38 AM, Saul Wold wrote:
>> diff --git a/meta/recipes-graphics/minix-session/minix-session_0.1.bb b/meta/recipes-graphics/minix-session/minix-session_0.1.bb
>> >  new file mode 100644
>> >  index 0000000..2e912c6
>> >  --- /dev/null
>> >  +++ b/meta/recipes-graphics/minix-session/minix-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 = "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?

I derived it from matchbox-session and inherited "GPL". Maybe GPLv2 is 
more reasonable?

Thanks,
Edwin

>
> Sau!
>
Saul Wold - Dec. 22, 2011, 1:04 a.m.
On 12/21/2011 04:52 PM, Zhai, Edwin wrote:
> On 12/22/2011 03:38 AM, Saul Wold wrote:
>>> diff --git a/meta/recipes-graphics/minix-session/minix-session_0.1.bb
>>> b/meta/recipes-graphics/minix-session/minix-session_0.1.bb
>>> > new file mode 100644
>>> > index 0000000..2e912c6
>>> > --- /dev/null
>>> > +++ b/meta/recipes-graphics/minix-session/minix-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 = "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?
>
> I derived it from matchbox-session and inherited "GPL". Maybe GPLv2 is
> more reasonable?
>
Yes

> Thanks,
> Edwin
>
>>
>> Sau!
>>
>
>

Patch

diff --git a/meta/recipes-graphics/minix-session/files/minix-session b/meta/recipes-graphics/minix-session/files/minix-session
new file mode 100644
index 0000000..c28d537
--- /dev/null
+++ b/meta/recipes-graphics/minix-session/files/minix-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/.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
diff --git a/meta/recipes-graphics/minix-session/minix-session_0.1.bb b/meta/recipes-graphics/minix-session/minix-session_0.1.bb
new file mode 100644
index 0000000..2e912c6
--- /dev/null
+++ b/meta/recipes-graphics/minix-session/minix-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 = "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}
+}