Skip to contentSkip to conversation

convert these recipes to adduser bbclass

PATCH In review Saul Wold 3 participants 7 messages Nov 1, 2011

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

cover convert these recipes to adduser bbclass

Richard,

So I ended up just hardcoding the xuser and unconditionally creating that user in xserver and connman recipes. There might be an alternative, but it will require more time to devlop.

Sau!

The following changes since commit d0a2c87d068f2d769d47c8455bb1434b90a7a844:

Fix HOMEPAGE values in libzypp and sat-solver .bb files (2011-11-01 18:28:06 +0000)

are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/fix
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/fix

Saul Wold (4):
avahi: use useradd to create user
xserver-nodm-init: Add xuser (hardcoded)
connman: create xuser
dbus: fix up ADDUSER_PARAMS

 meta/recipes-connectivity/avahi/avahi.inc          |   13 ++++----
 meta/recipes-connectivity/connman/connman.inc      |    5 ++-
 meta/recipes-core/dbus/dbus.inc                    |    3 +-
 .../x11-common/xserver-nodm-init.bb                |   30 +++++++------------
 4 files changed, 24 insertions(+), 27 deletions(-)
Signature · 1 line
1.7.6.4
author
#1 lore raw

PATCH 1/4 avahi: use useradd to create user

---
 meta/recipes-connectivity/avahi/avahi.inc |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)
meta/recipes-connectivity/avahi/avahi.inc +7 -6
index 5ad9db0..09228a9 100644
@@ -23,7 +23,12 @@ SRC_URI = "http://avahi.org/download/avahi-${PV}.tar.gz \
           file://99avahi-autoipd \
           file://initscript.patch"
 
-inherit autotools pkgconfig update-rc.d gettext
+USERADD_PACKAGES = "${PN}-daemon"
+USERADD_PARAM_${PN}-daemon = "--system --home /var/run/avahi-daemon \
+                              --no-create-home --shell /bin/false \
+                              --user-group avahi"
+
+inherit autotools pkgconfig update-rc.d gettext useradd
 
 EXTRA_OECONF = "--with-distro=debian \
              --disable-introspection \
@@ -116,15 +121,11 @@ do_install_avahi-autoipd() {
 	install ${WORKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d
 }
 
-# At the time the postinst runs, dbus might not be setup so only restart if running
-
 pkg_postinst_avahi-daemon () {
 	# can't do this offline
 	if [ "x$D" != "x" ]; then
-		exit 1
+		exit 0
 	fi
-	grep "^avahi:" /etc/group > /dev/null || addgroup avahi
-	grep "^avahi:" /etc/passwd > /dev/null || adduser --disabled-password --system --home /var/run/avahi-daemon --no-create-home avahi --ingroup avahi -g Avahi
 
 	DBUSPID=`pidof dbus-daemon`
 
Signature · 1 line
1.7.6.4
author
#2 lore raw

PATCH 2/4 xserver-nodm-init: Add xuser (hardcoded)

In reply to Saul Wold
---
 .../x11-common/xserver-nodm-init.bb                |   30 +++++++------------
 1 files changed, 11 insertions(+), 19 deletions(-)
meta/recipes-graphics/x11-common/xserver-nodm-init.bb +11 -19
index ea4222d..1183f0e 100644
@@ -2,7 +2,7 @@ DESCRIPTION = "Simple Xserver Init Script (no dm)"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 SECTION = "x11"
-PR = "r26"
+PR = "r28"
 RDEPENDS_${PN} = "sudo"
 
 SRC_URI = "file://xserver-nodm \
@@ -19,27 +19,19 @@ do_install() {
     install xserver-nodm ${D}/etc/init.d
     if [ "${ROOTLESS_X}" = "1" ] ; then
         install -d ${D}/etc/X11
-        install Xusername ${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 ."
+
+# Use fixed Xusername of xuser for now, this will need to be
+# fixed if the Xusername changes from xuser
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home \
+                       --shell /bin/false --groups video,tty,audioi \
+                       --user-group xuser"
+
Signature · 1 line
1.7.6.4
author
#5 lore raw

PATCH 3/4 connman: create xuser

In reply to Saul Wold

We create xuser here as a backup incase that xerver-nodm-init is not on the system.

---
 meta/recipes-connectivity/connman/connman.inc |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
meta/recipes-connectivity/connman/connman.inc +4 -1
index ae1b725..4dd4efc 100644
@@ -18,7 +18,10 @@ DEPENDS  = "libgdbus dbus glib-2.0 iptables"
 INITSCRIPT_NAME = "connman"
 INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
 
-inherit autotools pkgconfig update-rc.d
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --groups video,tty,audio --user-group xuser"
+
+inherit autotools pkgconfig update-rc.d useradd
 
 do_install_append() {
     install -d ${D}${sysconfdir}/init.d/
Signature · 1 line
1.7.6.4
author
#6 lore raw

PATCH 4/4 dbus: fix up ADDUSER_PARAMS

In reply to Saul Wold
---
 meta/recipes-core/dbus/dbus.inc |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-core/dbus/dbus.inc +2 -1
index 5028310..caa781c 100644
@@ -22,7 +22,8 @@ INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
 USERADD_PACKAGES = "${PN}"
 GROUPADD_PARAM_${PN} = "-r netdev"
 USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \
-                       --no-create-home --user-group messagebus"
+                       --no-create-home --shell /bin/false \
+                       --user-group messagebus"
 
 CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
 
Signature · 1 line
1.7.6.4
#3 lore raw

Re: [PATCH 2/4] xserver-nodm-init: Add xuser (hardcoded)

In reply to Saul Wold
Quoted 44 lines · Saul Wold
---
 .../x11-common/xserver-nodm-init.bb                |   30 +++++++------------
 1 files changed, 11 insertions(+), 19 deletions(-)
meta/recipes-graphics/x11-common/xserver-nodm-init.bb +2 -19
index ea4222d..1183f0e 100644
@@ -2,7 +2,7 @@ DESCRIPTION = "Simple Xserver Init Script (no dm)"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 SECTION = "x11"
-PR = "r26"
+PR = "r28"
 RDEPENDS_${PN} = "sudo"
 
 SRC_URI = "file://xserver-nodm \
@@ -19,27 +19,19 @@ do_install() {
     install xserver-nodm ${D}/etc/init.d
     if [ "${ROOTLESS_X}" = "1" ] ; then
         install -d ${D}/etc/X11
-        install Xusername ${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

meta/recipes-graphics/x11-common/xserver-nodm-init.bb do_install() { · line 35

Quoted 10 lines
meta/recipes-graphics/x11-common/xserver-nodm-init.bb +7 -0
+inherit update-rc.d useradd
 
 INITSCRIPT_NAME = "xserver-nodm"
 INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
+
+# Use fixed Xusername of xuser for now, this will need to be
+# fixed if the Xusername changes from xuser
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home \
+                       --shell /bin/false --groups video,tty,audioi \

audioi?

I guess you're also using vim :)

Cheers,

Quoted 10 lines
meta/recipes-graphics/x11-common/xserver-nodm-init.bb +2 -0
+                       --user-group xuser"
+
Signature · 7 lines
1.7.6.4


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#4 lore raw

Re: [PATCH 2/4] xserver-nodm-init: Add xuser (hardcoded)

Quoted 58 lines · Martin Jansa
Quoted 44 lines · Saul Wold
---
  .../x11-common/xserver-nodm-init.bb                |   30 +++++++------------
  1 files changed, 11 insertions(+), 19 deletions(-)
meta/recipes-graphics/x11-common/xserver-nodm-init.bb +2 -19
index ea4222d..1183f0e 100644
@@ -2,7 +2,7 @@ DESCRIPTION = "Simple Xserver Init Script (no dm)"
  LICENSE = "GPLv2"
  LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
  SECTION = "x11"
-PR = "r26"
+PR = "r28"
  RDEPENDS_${PN} = "sudo"
 
  SRC_URI = "file://xserver-nodm \
@@ -19,27 +19,19 @@ do_install() {
      install xserver-nodm ${D}/etc/init.d
      if [ "${ROOTLESS_X}" = "1" ] ; then
          install -d ${D}/etc/X11
-        install Xusername ${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

meta/recipes-graphics/x11-common/xserver-nodm-init.bb do_install() { · line 35

Quoted 10 lines
meta/recipes-graphics/x11-common/xserver-nodm-init.bb +7 -0
+inherit update-rc.d useradd
 
  INITSCRIPT_NAME = "xserver-nodm"
  INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
+
+# Use fixed Xusername of xuser for now, this will need to be
+# fixed if the Xusername changes from xuser
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home \
+                       --shell /bin/false --groups video,tty,audioi \

audioi?

Quoted 1 line

I guess you're also using vim :)

i
good catch (fixed in the branch)
:w
:q
:-)

Sau!

Quoted 20 lines

Cheers,

Quoted 10 lines
meta/recipes-graphics/x11-common/xserver-nodm-init.bb +2 -1
+                       --user-group xuser"
+
--

1.7.6.4

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core