| Summary: | systemd: "Create missing sysusers offline" commit causes a bitbake build failure at do_install stage | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Joe Konno <joe.konno> | ||||||
| Component: | core | Assignee: | Armin Kuster <akuster> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | major | ||||||||
| Priority: | High | CC: | akuster, meta.mr.watcher, meta.watcher, richard.purdie, ross.burton | ||||||
| Version: | 2.1.2 | ||||||||
| Target Milestone: | 2.1.2 | ||||||||
| Hardware: | All | ||||||||
| OS: | x86_64 | ||||||||
| Whiteboard: | |||||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||||
| Verified: | Documentation change: | Don't know | |||||||
| Attachments: |
|
||||||||
Created attachment 3440 [details]
'bitbake -DDD -v systemd' failure
Attached build log.
Created attachment 3441 [details]
'bitbake -v systemd'
I cherry picked http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/classes/useradd.bbclass?id=1e244471d08c8426466d4e6591ec75478791fe5d and the build error went away. pulled this one in too. http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/classes/useradd.bbclass?id=553fa35147adb996d515c3d27f62555d9c969cd8 Oh, krogoth, whoopss. Reassigning to Armin. I believe this is now fixed on the krogoth branch: http://git.yoctoproject.org/cgit.cgi/poky/commit/?h=krogoth&id=06ed5c5a1024131d2ff15394dd6fcaf55b599bbc http://git.yoctoproject.org/cgit.cgi/poky/commit/?h=krogoth&id=2ea93e2b1db4a825543e37e68121d63a71c7d6b3 |
All layers, including poky, have the 'krogoth' branch checked out. When I attempted to build an image this morning, I hit a snag building systemd. Here is the do_install step output: """ DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc', 'bit-64', 'x86_64-linux', 'common'] DEBUG: Executing shell function useradd_sysroot Running groupadd commands... NOTE: systemd: Performing groupadd with [--root /home/jbkonno/eywa/poky/build/tmp/sysroots/intel-internal-corei7-64 -r lock] NOTE: systemd: Performing groupadd with [--root /home/jbkonno/eywa/poky/build/tmp/sysroots/intel-internal-corei7-64 -r systemd-journal] Running useradd commands... NOTE: systemd: Performing useradd with [--root /home/jbkonno/eywa/poky/build/tmp/sysroots/intel-internal-corei7-64 --system -d / -M --shell /bin/nologin systemd-timesync] NOTE: systemd: Performing useradd with [--root /home/jbkonno/eywa/poky/build/tmp/sysroots/intel-internal-corei7-64 ] Usage: useradd [options] LOGIN useradd -D useradd -D [options] Options: -b, --base-dir BASE_DIR base directory for the home directory of the new account -c, --comment COMMENT GECOS field of the new account -d, --home-dir HOME_DIR home directory of the new account -D, --defaults print or change default useradd configuration -e, --expiredate EXPIRE_DATE expiration date of the new account -f, --inactive INACTIVE password inactivity period of the new account -g, --gid GROUP name or ID of the primary group of the new account -G, --groups GROUPS list of supplementary groups of the new account -h, --help display this help message and exit -k, --skel SKEL_DIR use this alternative skeleton directory -K, --key KEY=VALUE override /etc/login.defs defaults -l, --no-log-init do not add the user to the lastlog and faillog databases -m, --create-home create the user's home directory -M, --no-create-home do not create the user's home directory -N, --no-user-group do not create a group with the same name as the user -o, --non-unique allow to create users with duplicate (non-unique) UID -p, --password PASSWORD encrypted password of the new account -P, --clear-password PASSWORD clear password of the new account -r, --system create a system account -R, --root CHROOT_DIR directory to chroot into -s, --shell SHELL login shell of the new account -u, --uid UID user ID of the new account -U, --user-group create a group with the same name as the user ERROR: systemd: useradd command did not succeed. """ Note: the last useradd command lacks a LOGIN argument, causing the command to fail. I reverted the following commit, and the package built without issue: commit 66a4366e8fb4077a375e71c2169f3307254a36aa Author: Khem Raj <raj.khem@gmail.com> AuthorDate: Tue Aug 9 13:48:35 2016 +0200 Commit: Richard Purdie <richard.purdie@linuxfoundation.org> CommitDate: Fri Sep 23 15:27:03 2016 +0100 systemd: Create missing sysusers offline Some system users which are needed by systemd components were missing create these users knobbed with relevant packageconfig (From OE-Core rev: d18957925c6c073b7194e3a233efea24e436f74e) (From OE-Core rev: 901a6dbe420eb3f76503871ca3ccfe544b9b3b57) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit fd36a447d0da53e713d992b17ce86dd31ea63c67) Signed-off-by: Kristian Amlie <kristian.amlie@mender.io> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> I've been scratching my head all afternoon trying to find the bug in the recipe, but to no avail, so I'm filing this bug.