[OE-core] [PATCH 2/4] useradd.bbclass: check if a group already exists manually
Scott Garman
scott.a.garman at intel.com
Fri Oct 21 03:41:52 UTC 2011
On 10/20/2011 08:31 PM, Otavio Salvador wrote:
> The use of groupadd -f makes much more difficult to figure when a
> group is not add. This was the case of the class not working for our
> usage and this being caused by the lack of '/etc/group' file but
> unnoticed as groupadd wasn't failing according.
>
> Signed-off-by: Otavio Salvador<otavio at ossystems.com.br>
Thanks for getting to the bottom of this!
Acked-by: Scott Garman <scott.a.garman at intel.com>
> ---
> meta/classes/useradd.bbclass | 8 +++++++-
> 1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
> index 1e03a04..fb70b3e 100644
> --- a/meta/classes/useradd.bbclass
> +++ b/meta/classes/useradd.bbclass
> @@ -37,7 +37,13 @@ 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
> - eval $PSEUDO groupadd -f $OPT $opts
> + groupname=`echo "$opts" | awk '{ print $NF }'`
> + group_exists=`grep "^$groupname:" $SYSROOT/etc/group || true`
> + if test "x$group_exists" = "x"; then
> + eval $PSEUDO groupadd $OPT $opts
> + else
> + echo "Note: group $groupname already exists, not re-creating it"
> + fi
>
> if test "x$opts" = "x$remaining"; then
> break
--
Scott Garman
Embedded Linux Engineer - Yocto Project
Intel Open Source Technology Center
More information about the Openembedded-core
mailing list