From 55384cfc743a12a78bef736ee08ed453b6a6a21e Mon Sep 17 00:00:00 2001 From: Mikko Ylinen Date: Fri, 21 Oct 2016 10:05:45 +0300 Subject: 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. Signed-off-by: Mikko Ylinen Signed-off-by: Ross Burton --- meta/classes/useradd-staticids.bbclass | 5 ++--- 1 file 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): def handle_missing_id(id, type, pkg): # For backwards compatibility we accept "1" in addition to "error" if d.getVar('USERADD_ERROR_DYNAMIC', True) == 'error' or d.getVar('USERADD_ERROR_DYNAMIC', True) == '1': - #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)) - bb.fatal("%s - %s: %sname %s does not have a static ID defined." % (d.getVar('PN', True), pkg, type, id)) + raise NotImplementedError("%s - %s: %sname %s does not have a static ID defined. Skipping it." % (d.getVar('PN', True), pkg, type, id)) elif d.getVar('USERADD_ERROR_DYNAMIC', True) == 'warn': bb.warn("%s - %s: %sname %s does not have a static ID defined." % (d.getVar('PN', True), pkg, type, id)) @@ -323,7 +322,7 @@ python __anonymous() { and not bb.data.inherits_class('native', d): try: update_useradd_static_config(d) - except bb.build.FuncFailed as f: + except NotImplementedError as f: bb.debug(1, "Skipping recipe %s: %s" % (d.getVar('PN', True), f)) raise bb.parse.SkipPackage(f) } -- cgit 1.2.3-korg