[OE-core] [PATCH] useradd-staticids.bbclass: Support recipes specifying static IDs

Mark Hatle mark.hatle at windriver.com
Mon Mar 13 13:55:59 UTC 2017


On 3/10/17 11:27 PM, Peter Kjellerstedt wrote:
> If this bblcass is used and a recipe specifies a static ID for a
> user/group as part of the USERADD_PARAM_${PN} or GROUPADD_PARAM_${PN},
> the build would fail with and error like this if there was no
> corresponding ID in the passwd/group files specified via
> USERADD_UID_TABLES/USERADD_GID_TABLES:

If the system is set in warning mode, it should warn if this is done (but allow it).

If the system is set to error mode, it should error.

The useradd-staticids class is expecting the files (tables) to contain all of
the entries.  This is specifically to avoid the situation where a new recipe is
introduced that adds a new user or group (dynamic or static -- static because it
could conflict with one of your existing static entries.)

I agree the error message below looks wrong, do the existing warning/error
messages about it not being defined int he useradd tables still occur with this
patch?

--Mark

>   ERROR: meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb:
>   meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb inherits
>   useradd but doesn't set USERADD_PARAM, GROUPADD_PARAM or
>   GROUPMEMS_PARAM for package postgresql
> 
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
> ---
>  meta/classes/useradd-staticids.bbclass | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/meta/classes/useradd-staticids.bbclass b/meta/classes/useradd-staticids.bbclass
> index a65c3f69cb..9b194df490 100644
> --- a/meta/classes/useradd-staticids.bbclass
> +++ b/meta/classes/useradd-staticids.bbclass
> @@ -125,6 +125,7 @@ def update_useradd_static_config(d):
>              if uaargs.LOGIN not in users:
>                  if not uaargs.uid or not uaargs.uid.isdigit() or not uaargs.gid:
>                      handle_missing_id(uaargs.LOGIN, 'user', pkg)
> +                newparams.append(param)
>                  continue
>  
>              field = users[uaargs.LOGIN]
> @@ -260,6 +261,7 @@ def update_useradd_static_config(d):
>              if gaargs.GROUP not in groups:
>                  if not gaargs.gid or not gaargs.gid.isdigit():
>                      handle_missing_id(gaargs.GROUP, 'group', pkg)
> +                newparams.append(param)
>                  continue
>  
>              field = groups[gaargs.GROUP]
> 




More information about the Openembedded-core mailing list