diff options
author | Mikko Ylinen <mikko.ylinen@intel.com> | 2016-10-21 10:05:45 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-10-28 16:15:20 +0100 |
commit | 661c855fd28be93d6e2c6086ae725f3264bfe6b3 (patch) | |
tree | f475dff7aa05f0441c0cbc3109d65fd0ff9e37de /meta | |
parent | f248db1972e165e007ce6377a7b1ddff336fbcbb (diff) | |
download | poky-661c855fd28be93d6e2c6086ae725f3264bfe6b3.tar.gz |
useradd-staticids.bbclass: catch missing uid/gid exceptions
The change to get rid of FuncFailed exceptions changed the behavior
of how missing uid/gid error are be handled. Instead of catching
the exception and handling that via bb.parse.SkipPackage(), a fatal
error was called.
This won't work with recipes that are unused and therefore do not have
UID/GIDs defined. The problem triggers when parsing all recipes (e.g.,
oe-selftest runs bitbake -p).
The right way to handle this is to raise bb.parse.SkipPackage(). This
will error correctly once the recipe is needed.
(From OE-Core rev: 55384cfc743a12a78bef736ee08ed453b6a6a21e)
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/useradd-staticids.bbclass | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/meta/classes/useradd-staticids.bbclass b/meta/classes/useradd-staticids.bbclass index afb580aedc..4162774e9c 100644 --- a/meta/classes/useradd-staticids.bbclass +++ b/meta/classes/useradd-staticids.bbclass | |||
@@ -53,8 +53,7 @@ def update_useradd_static_config(d): | |||
53 | def handle_missing_id(id, type, pkg): | 53 | def handle_missing_id(id, type, pkg): |
54 | # For backwards compatibility we accept "1" in addition to "error" | 54 | # For backwards compatibility we accept "1" in addition to "error" |
55 | if d.getVar('USERADD_ERROR_DYNAMIC', True) == 'error' or d.getVar('USERADD_ERROR_DYNAMIC', True) == '1': | 55 | if d.getVar('USERADD_ERROR_DYNAMIC', True) == 'error' or d.getVar('USERADD_ERROR_DYNAMIC', True) == '1': |
56 | #bb.error("Skipping recipe %s, package %s which adds %sname %s does not have a static ID defined." % (d.getVar('PN', True), pkg, type, id)) | 56 | raise NotImplementedError("%s - %s: %sname %s does not have a static ID defined. Skipping it." % (d.getVar('PN', True), pkg, type, id)) |
57 | bb.fatal("%s - %s: %sname %s does not have a static ID defined." % (d.getVar('PN', True), pkg, type, id)) | ||
58 | elif d.getVar('USERADD_ERROR_DYNAMIC', True) == 'warn': | 57 | elif d.getVar('USERADD_ERROR_DYNAMIC', True) == 'warn': |
59 | bb.warn("%s - %s: %sname %s does not have a static ID defined." % (d.getVar('PN', True), pkg, type, id)) | 58 | bb.warn("%s - %s: %sname %s does not have a static ID defined." % (d.getVar('PN', True), pkg, type, id)) |
60 | 59 | ||
@@ -323,7 +322,7 @@ python __anonymous() { | |||
323 | and not bb.data.inherits_class('native', d): | 322 | and not bb.data.inherits_class('native', d): |
324 | try: | 323 | try: |
325 | update_useradd_static_config(d) | 324 | update_useradd_static_config(d) |
326 | except bb.build.FuncFailed as f: | 325 | except NotImplementedError as f: |
327 | bb.debug(1, "Skipping recipe %s: %s" % (d.getVar('PN', True), f)) | 326 | bb.debug(1, "Skipping recipe %s: %s" % (d.getVar('PN', True), f)) |
328 | raise bb.parse.SkipPackage(f) | 327 | raise bb.parse.SkipPackage(f) |
329 | } | 328 | } |