[oe] chown problem in the dbus package

Boszormenyi Zoltan zboszor at pr.hu
Thu Jul 30 07:10:37 UTC 2015


Hi,

I wanted to build a new image in a new empty buildroot, with our
Yocto 1.6 based custom distro that started off of Angstrom 2014.06.
The build failed with this:

| chown: invalid group: 'messagebus:messagebus'
| WARNING:
/data/OE/setup-scripts/build/tmp-angstrom_v2014_06-eglibc/work/core2-64-sicom-linux/dbus/1.6.18-r0/temp/run.do_install.6837:1
exit 1 from
|   chown messagebus:messagebus
/data/OE/setup-scripts/build/tmp-angstrom_v2014_06-eglibc/work/core2-64-sicom-linux/dbus/1.6.18-r0/image/var/lib/dbus
| ERROR: Function failed: do_install (log file is located at
/data/OE/setup-scripts/build/tmp-angstrom_v2014_06-eglibc/work/core2-64-sicom-linux/dbus/1.6.18-r0/temp/log.do_install.6837)
ERROR: Task 2
(/data/OE/setup-scripts/sources/openembedded-core/meta/recipes-core/dbus/dbus_1.6.18.bb,
do_install) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1241 tasks of which 1234 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
No currently running tasks (1241 of 1248)

Summary: 1 task failed:
  /data/OE/setup-scripts/sources/openembedded-core/meta/recipes-core/dbus/dbus_1.6.18.bb,
do_install
Summary: There were 19 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

"bitbake -c cleansstate dbus" or "bitbake -c cleanall dbus" didn't help.

Our distro uses useradd-staticids with these set in conf/layer.conf:

USERADDEXTENSION = "useradd-staticids"
USERADD_UID_TABLES = "files/passwd"
USERADD_GID_TABLES = "files/group"
USERADD_ERROR_DYNAMIC = "1"

The messagebus user and group are defined with UID==81 and GID==81:

$ grep messagebus files/passwd files/group
files/passwd:messagebus:x:81:81::/var/lib/dbus:/bin/false
files/group:messagebus:x:81:

They also ended up in the sysroot's files:

$ grep messagebus
/data/OE/setup-scripts/build/tmp-angstrom_v2014_06-eglibc/sysroots/*/etc/{passwd,group}
/data/OE/setup-scripts/build/tmp-angstrom_v2014_06-eglibc/sysroots/genericx86-64/etc/passwd:messagebus:!:81:81::/var/lib/dbus:/bin/false
/data/OE/setup-scripts/build/tmp-angstrom_v2014_06-eglibc/sysroots/genericx86-64/etc/group:messagebus:x:81:

The USERADD_ERROR_DYNAMIC="1" setting would throw an error with
an obvious error message, but the above quoted message is not that one.

"bitbake -c devshell dbus" gives me a (pseudo?) root shell but /etc points
to the real /etc where the messagebus user and the messagebus and
netdev groups are not present and also, chown is /usr/sbin/chown.

Can this be the cause of the problem? If yes, how can I solve it without
modifying the host's passwd and group files?

The "pseudo-native" package was already built implicitly.
Installing fakeroot on the host (CentOS 7) didn't help.

Thanks in advance,
Zoltán Böszörményi




More information about the Openembedded-devel mailing list