]> code.ossystems Code Review - openembedded-core.git/commitdiff
systemd: allow add users to groups in rootfs postprocess
authorStephano Cetola <stephano.cetola@linux.intel.com>
Thu, 14 Jul 2016 18:12:40 +0000 (11:12 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 21 Jul 2016 06:45:01 +0000 (07:45 +0100)
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.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/rootfs-postcommands.bbclass

index db8b551533d4e36b7e213dfdc6b1dd4692d44859..b38b6a50c5f415700d6d5a2cfdc4555400a67375 100644 (file)
@@ -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