Currently the functionality checks for the "u" and "g" flags to create users and
groups, but not the "m" flag to add users to groups. This change first checks to
be sure that the users and groups are created, creates them if necessary, then
adds the user to the group.

Signed-off-by: Stephano Cetola <stephano.cet...@linux.intel.com>
---
 meta/classes/rootfs-postcommands.bbclass | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/meta/classes/rootfs-postcommands.bbclass 
b/meta/classes/rootfs-postcommands.bbclass
index db8b551..b38b6a5 100644
--- a/meta/classes/rootfs-postcommands.bbclass
+++ b/meta/classes/rootfs-postcommands.bbclass
@@ -45,6 +45,15 @@ systemd_create_users () {
                        [ "$id" != "-" ] && groupadd_params="$groupadd_params 
--gid $id"
                        groupadd_params="$groupadd_params --system $name"
                        eval groupadd --root ${IMAGE_ROOTFS} $groupadd_params 
|| true
+               elif [ "$type" = "m" ]; then
+                       group=$id
+                       if [ ! `grep -q "^${group}:" 
${IMAGE_ROOTFS}${sysconfdir}/group` ]; then
+                               eval groupadd --root ${IMAGE_ROOTFS} --system 
$group
+                       fi
+                       if [ ! `grep -q "^${name}:" 
${IMAGE_ROOTFS}${sysconfdir}/passwd` ]; then
+                               eval useradd --root ${IMAGE_ROOTFS} --shell 
/sbin/nologin --system $name
+                       fi
+                       eval usermod --root ${IMAGE_ROOTFS} -a -G $group $name
                fi
                done
        done
-- 
2.9.0

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to