mirror of
https://git.yoctoproject.org/poky
synced 2026-04-18 12:32:12 +02:00
useradd-staticids: skip recipes without static IDs
When enabling useradd-staticids.bbclass, one has to define static IDs for all recipes in a world build, otherwise those without static IDs generate parse errors or warnings, depending on USERADD_ERROR_DYNAMIC. Defining unused IDs is a lot of work and clutters the passwd/group file of a distro. Distros which want to avoid this can now set USERADD_ERROR_DYNAMIC = "skip" and recipes which would have triggered a message then silently get disabled. Only trying to build them shows the error message: $ bitbake apt ... ERROR: Nothing PROVIDES 'apt' ERROR: apt was skipped: apt - apt: username _apt does not have a static ID defined. (From OE-Core rev: a2766b99a763874d469d34b84109553f68f5aaac) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
fbc12e0794
commit
e4f256000f
@@ -40,10 +40,14 @@ def update_useradd_static_config(d):
|
||||
|
||||
def handle_missing_id(id, type, pkg):
|
||||
# For backwards compatibility we accept "1" in addition to "error"
|
||||
if d.getVar('USERADD_ERROR_DYNAMIC') == 'error' or d.getVar('USERADD_ERROR_DYNAMIC') == '1':
|
||||
raise NotImplementedError("%s - %s: %sname %s does not have a static ID defined. Skipping it." % (d.getVar('PN'), pkg, type, id))
|
||||
elif d.getVar('USERADD_ERROR_DYNAMIC') == 'warn':
|
||||
bb.warn("%s - %s: %sname %s does not have a static ID defined." % (d.getVar('PN'), pkg, type, id))
|
||||
error_dynamic = d.getVar('USERADD_ERROR_DYNAMIC')
|
||||
msg = "%s - %s: %sname %s does not have a static ID defined." % (d.getVar('PN'), pkg, type, id)
|
||||
if error_dynamic == 'error' or error_dynamic == '1':
|
||||
raise NotImplementedError(msg)
|
||||
elif error_dynamic == 'warn':
|
||||
bb.warn(msg)
|
||||
elif error_dynamic == 'skip':
|
||||
raise bb.parse.SkipRecipe(msg)
|
||||
|
||||
# We parse and rewrite the useradd components
|
||||
def rewrite_useradd(params, is_pkg):
|
||||
|
||||
Reference in New Issue
Block a user