[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