Patchwork [CONSOLIDATED,PULL,18/18] xserver-nodm-init: use useradd to create xuser

login
register
mail settings
Submitter Saul Wold
Date Oct. 27, 2011, 10:06 p.m.
Message ID <d8a6eb65b86bea7b1262748575a1609c664163ec.1319753141.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/13953/
State New, archived
Headers show

Comments

Saul Wold - Oct. 27, 2011, 10:06 p.m.
Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 .../x11-common/xserver-nodm-init.bb                |   26 ++++---------------
 1 files changed, 6 insertions(+), 20 deletions(-)
Richard Purdie - Oct. 28, 2011, 2:16 p.m.
On Fri, 2011-10-28 at 00:06 +0200, Saul Wold wrote:
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> ---
>  .../x11-common/xserver-nodm-init.bb                |   26 ++++---------------
>  1 files changed, 6 insertions(+), 20 deletions(-)
> 
> diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
> index ea4222d..33252cb 100644
> --- a/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
> +++ b/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
> @@ -2,11 +2,10 @@ DESCRIPTION = "Simple Xserver Init Script (no dm)"
>  LICENSE = "GPLv2"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
>  SECTION = "x11"
> -PR = "r26"
> +PR = "r27"
>  RDEPENDS_${PN} = "sudo"
>  
>  SRC_URI = "file://xserver-nodm \
> -           file://Xusername \
>             file://gplv2-license.patch"
>  
>  S = ${WORKDIR}
> @@ -19,27 +18,14 @@ do_install() {
>      install xserver-nodm ${D}/etc/init.d
>      if [ "${ROOTLESS_X}" = "1" ] ; then
>          install -d ${D}/etc/X11
> -        install Xusername ${D}/etc/X11
>      fi
>  }
>  
> -pkg_postinst_${PN} () {
> -    if [ "x$D" != "x" ] ; then
> -        exit 1
> -    fi
> -
> -    if [ -f /etc/X11/Xusername ]; then
> -        # create the rootless X user, and add user to group tty, video, audio
> -        username=`cat /etc/X11/Xusername`
> -        adduser --disabled-password $username
> -        # FIXME: use addgroup if busybox addgroup is ready
> -        sed -i -e "s/^video:.*/&${username}/g" /etc/group
> -        sed -i -e "s/^tty:.*/&${username}/g" /etc/group
> -        sed -i -e "s/^audio:.*/&${username}/g" /etc/group
> -    fi
> -}
> -
> -inherit update-rc.d
> +inherit update-rc.d useradd
>  
>  INITSCRIPT_NAME = "xserver-nodm"
>  INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
> +
> +USERADD_PACKAGES = "${PN}"
> +USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /etc/X11 --shell /bin/false --groups video,tty,audio --user-group xuser"

You've removed the Xusername file which is used by other parts of the
system. Its only enabled on x86 at this point iirc and will break
things :(. This patch therefore needs more work since the useradd need
to be conditional.

Cheers,

Richard

Patch

diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
index ea4222d..33252cb 100644
--- a/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
@@ -2,11 +2,10 @@  DESCRIPTION = "Simple Xserver Init Script (no dm)"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 SECTION = "x11"
-PR = "r26"
+PR = "r27"
 RDEPENDS_${PN} = "sudo"
 
 SRC_URI = "file://xserver-nodm \
-           file://Xusername \
            file://gplv2-license.patch"
 
 S = ${WORKDIR}
@@ -19,27 +18,14 @@  do_install() {
     install xserver-nodm ${D}/etc/init.d
     if [ "${ROOTLESS_X}" = "1" ] ; then
         install -d ${D}/etc/X11
-        install Xusername ${D}/etc/X11
     fi
 }
 
-pkg_postinst_${PN} () {
-    if [ "x$D" != "x" ] ; then
-        exit 1
-    fi
-
-    if [ -f /etc/X11/Xusername ]; then
-        # create the rootless X user, and add user to group tty, video, audio
-        username=`cat /etc/X11/Xusername`
-        adduser --disabled-password $username
-        # FIXME: use addgroup if busybox addgroup is ready
-        sed -i -e "s/^video:.*/&${username}/g" /etc/group
-        sed -i -e "s/^tty:.*/&${username}/g" /etc/group
-        sed -i -e "s/^audio:.*/&${username}/g" /etc/group
-    fi
-}
-
-inherit update-rc.d
+inherit update-rc.d useradd
 
 INITSCRIPT_NAME = "xserver-nodm"
 INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /etc/X11 --shell /bin/false --groups video,tty,audio --user-group xuser"
+