From: Chen Qi qi.c...@windriver.com
The basic functions have moved to useradd_base.bbclass. So this class
only needs to inherit useradd_base.bbclass and use the functions defined
there. The reason is to avoid code duplication with extrausers.bbclass.
[YOCTO #4074]
Signed-off-by: Chen Qi qi.c...@windriver.com
---
meta/classes/useradd.bbclass | 99 --
1 file changed, 8 insertions(+), 91 deletions(-)
diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
index 3fe011d..9b3ac25 100644
--- a/meta/classes/useradd.bbclass
+++ b/meta/classes/useradd.bbclass
@@ -1,3 +1,5 @@
+inherit useradd_base
+
# base-passwd-cross provides the default passwd and group files in the
# target sysroot, and shadow -native and -sysroot provide the utilities
# and support files needed to add and modify user and group accounts
@@ -44,30 +46,7 @@ if test x$GROUPADD_PARAM != x; then
opts=`echo $GROUPADD_PARAM | cut -d ';' -f 1`
remaining=`echo $GROUPADD_PARAM | cut -d ';' -f 2-`
while test x$opts != x; do
- groupname=`echo $opts | awk '{ print $NF }'`
- group_exists=`grep ^$groupname: $SYSROOT/etc/group || true`
- if test x$group_exists = x; then
- count=1
- while true; do
- eval $PSEUDO groupadd $OPT $opts || true
- group_exists=`grep ^$groupname:
$SYSROOT/etc/group || true`
- if test x$group_exists = x; then
- # File locking issues can require us to
retry the command
- echo WARNING: groupadd command did not
succeed. Retrying...
- sleep 1
- else
- break
- fi
- count=`expr $count + 1`
- if test $count = 11; then
- echo ERROR: tried running groupadd
command 10 times without success, giving up
- exit 1
- fi
- done
- else
- echo Note: group $groupname already exists, not
re-creating it
- fi
-
+ perform_groupadd $SYSROOT $OPT $opts 10
if test x$opts = x$remaining; then
break
fi
@@ -83,32 +62,7 @@ if test x$USERADD_PARAM != x; then
opts=`echo $USERADD_PARAM | cut -d ';' -f 1`
remaining=`echo $USERADD_PARAM | cut -d ';' -f 2-`
while test x$opts != x; do
- # useradd does not have a -f option, so we have to check if the
- # username already exists manually
- username=`echo $opts | awk '{ print $NF }'`
- user_exists=`grep ^$username: $SYSROOT/etc/passwd || true`
- if test x$user_exists = x; then
- count=1
- while true; do
- eval $PSEUDO useradd $OPT $opts || true
- user_exists=`grep ^$username:
$SYSROOT/etc/passwd || true`
- if test x$user_exists = x; then
- # File locking issues can require us to
retry the command
- echo WARNING: useradd command did not
succeed. Retrying...
- sleep 1
- else
- break
- fi
- count=`expr $count + 1`
- if test $count = 11; then
- echo ERROR: tried running useradd
command 10 times without success, giving up
- exit 1
- fi
- done
- else
- echo Note: username $username already exists, not
re-creating it
- fi
-
+ perform_useradd $SYSROOT $OPT $opts 10
if test x$opts = x$remaining; then
break
fi
@@ -119,58 +73,18 @@ fi
if test x$GROUPMEMS_PARAM != x; then
echo Running groupmems commands...
- # groupmems fails if /etc/gshadow does not exist
- if [ -f $SYSROOT${sysconfdir}/gshadow ]; then
- gshadow=yes
- else
- gshadow=no
- touch $SYSROOT${sysconfdir}/gshadow
- fi
# Invoke multiple instances of groupmems for parameter lists
# separated by ';'
opts=`echo $GROUPMEMS_PARAM | cut -d ';' -f 1`
remaining=`echo $GROUPMEMS_PARAM | cut -d ';' -f 2-`
while test x$opts != x; do
-