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.
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
[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
@@ -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
[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
@@ -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
Re: [Pull v2 2/4] xserver-nodm-init: Add xuser (hardcoded)
Hi Saul,
Quoted 19 lines · Saul Wold
Signed-off-by Saul Wold<[email protected]>--- .../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@@ -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
-17fi } -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" +
Re: [Pull v2 2/4] xserver-nodm-init: Add xuser (hardcoded)
Quoted 20 lines · Lauri Hintsala
Hi Saul,
Quoted 17 lines · Saul Wold
Signed-off-by Saul Wold<[email protected]>--- .../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@@ -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
-1SRC_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/X11Is this indentation change a typo?
Saul fixed this in the v3 which I've taken.
Cheers,
Richard
[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
@@ -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
[Pull v2 3/4] connman: create xuser
In reply to Saul WoldWe 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
@@ -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
@@ -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
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
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!
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