summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorMikko Ylinen <mikko.ylinen@intel.com>2016-10-21 10:05:45 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-10-28 16:15:20 +0100
commit661c855fd28be93d6e2c6086ae725f3264bfe6b3 (patch)
treef475dff7aa05f0441c0cbc3109d65fd0ff9e37de /meta
parentf248db1972e165e007ce6377a7b1ddff336fbcbb (diff)
downloadpoky-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.bbclass5
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}