@@ -56,13 +56,14 @@ perform_groupmems () {
bbnote "${PN}: Performing groupmems with [$opts]"
local groupname=`echo "$opts" | awk '{ for (i = 1; i < NF; i++) if ($i == "-g" || $i == "--group") print $(i+1) }'`
local username=`echo "$opts" | awk '{ for (i = 1; i < NF; i++) if ($i == "-a" || $i == "--add") print $(i+1) }'`
- bbnote "${PN}: Running groupmems command with group $groupname and user $username"
+ local prefix=`echo "$opts" | awk '{ for (i = 1; i < NF; i++) if ($i == "--prefix") print $(i+1) }'`
+ bbnote "${PN}: Emulating groupmems command using usermod with group $groupname and user $username"
local mem_exists="`grep "^$groupname:[^:]*:[^:]*:\([^,]*,\)*$username\(,[^,]*\)*$" $rootdir/etc/group || true`"
if test "x$mem_exists" = "x"; then
- eval flock -x $rootdir${sysconfdir} -c \"$PSEUDO groupmems \$opts\" || true
+ eval flock -x $rootdir${sysconfdir} -c \"$PSEUDO usermod \${prefix:+--prefix \$prefix} --append --groups \$groupname \$username\" || true
mem_exists="`grep "^$groupname:[^:]*:[^:]*:\([^,]*,\)*$username\(,[^,]*\)*$" $rootdir/etc/group || true`"
if test "x$mem_exists" = "x"; then
- bbfatal "${PN}: groupmems command did not succeed."
+ bbfatal "${PN}: groupmems command (emulated using usermod) did not succeed."
fi
else
bbnote "${PN}: group $groupname already contains $username, not re-adding it"
The groupmems command does to support the --prefix option, which is being used since commit a7b846ba7d6d63a5e59939d75d9c5fe3e4cbb0e9. However, the groupmems command can easily be emulated using the usermod command. [YOCTO#16277] Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> --- meta/classes/useradd_base.bbclass | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)