Skip to contentSkip to conversation

convert these recipes to adduser bbclass

GIT PULL Saul Wold 5 participants 10 messages Nov 1, 2011 – Nov 3, 2011

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

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.

V2: Fixed audioi -> audio (per Martin's email)
PR Bumps updated

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          |   15 +++++----
 meta/recipes-connectivity/connman/connman.inc      |    7 ++++-
 meta/recipes-connectivity/connman/connman_0.75.bb  |    2 +-
 meta/recipes-core/dbus/dbus.inc                    |    3 +-
 .../x11-common/xserver-nodm-init.bb                |   30 +++++++------------
 5 files changed, 28 insertions(+), 29 deletions(-)
Signature · 1 line
1.7.6.4
author
#1 lore raw

[Pull v2 1/4] avahi: use useradd to create user

---
 meta/recipes-connectivity/avahi/avahi.inc |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)
meta/recipes-connectivity/avahi/avahi.inc +8 -7
index 5ad9db0..4ab9f07 100644
@@ -14,7 +14,7 @@ SECTION = "network"
 # python scripts are under GPLv2+
 LICENSE = "GPLv2+ & LGPLv2.1+"
 
-INC_PR = "r8"
+INC_PR = "r9"
 
 DEPENDS = "expat libcap libdaemon dbus glib-2.0"
 
@@ -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

[Pull v2 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..5b06bc6 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,audio \
+                       --user-group xuser"
+
Signature · 1 line
1.7.6.4
#3 lore raw

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

Hi Saul,

Quoted 19 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 +1 -1
index ea4222d..5b06bc6 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 \

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

Quoted 5 lines
meta/recipes-graphics/x11-common/xserver-nodm-init.bb +1 -1
@@ -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

Is this indentation change a typo?

Lauri

Quoted 32 lines
meta/recipes-graphics/x11-common/xserver-nodm-init.bb +9 -17
      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,audio \
+                       --user-group xuser"
+
#4 lore raw

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

Quoted 20 lines · Lauri Hintsala

Hi Saul,

Quoted 17 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 +1 -1
index ea4222d..5b06bc6 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"
 
Quoted 9 lines

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

Quoted 7 lines
meta/recipes-graphics/x11-common/xserver-nodm-init.bb +1 -1
  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

Is this indentation change a typo?

Saul fixed this in the v3 which I've taken.

Cheers,

Richard

author
#5 lore raw

[Pull v2 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
author
#6 lore raw

[Pull v2 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     |    7 ++++++-
 meta/recipes-connectivity/connman/connman_0.75.bb |    2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)
meta/recipes-connectivity/connman/connman.inc +6 -1
index ae1b725..480b59c 100644
@@ -18,7 +18,12 @@ 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/
meta/recipes-connectivity/connman/connman_0.75.bb +1 -1
index 8a02753..78f2199 100644
@@ -1,5 +1,5 @@
 require connman.inc
-PR = "r2"
+PR = "r3"
 
 EXTRA_OECONF += "\
   ac_cv_path_WPASUPPLICANT=/usr/sbin/wpa_supplicant \
Signature · 1 line
1.7.6.4
#7 lore raw

Re: [Pull v2 3/4] connman: create xuser

Quoted 2 lines · Saul Wold

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

This is wrong. If xserver-nodm-init (btw, there's a typo on the commit message) is not in the image user is suppose to know what he/she is doing so we shouldn't add users not required to make their life easier.

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
#8 lore raw

Re: [Pull v2 3/4] connman: create xuser

Quoted 9 lines · Otavio Salvador
Quoted 2 lines · Saul Wold

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

This is wrong. If xserver-nodm-init (btw, there's a typo on the commit message) is not in the image user is suppose to know what he/she is doing so we shouldn't add users not required to make their life easier.

Otavio,

The situation is that when xserver-nodm-init is not installed or this is not a ROOTLESS_X, dbus still requires the xuser be available for connmand to run correctly.

Sau!

#9 lore raw

Re: [Pull v2 3/4] connman: create xuser

Quoted 11 lines · Saul Wold
Quoted 10 lines · Otavio Salvador
Quoted 3 lines · Saul Wold

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

This is wrong. If xserver-nodm-init (btw, there's a typo on the commit message) is not in the image user is suppose to know what he/she is doing so we shouldn't add users not required to make their life easier.

...

Quoted 3 lines

The situation is that when xserver-nodm-init is not installed or this is not a ROOTLESS_X, dbus still requires the xuser be available for connmand to run correctly.

Something is wrong here; or it is being handled on the wrong package or the design is wrong.

Shouldn't it be in base-passwd then?

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