mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 17:19:20 +00: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: 9113928cea88c2187e8640ac489671cb81f58103) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
7179878b28
commit
9c22707122
@@ -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