[gnome-continuous-yocto/gnomeostree-3.28-rocko: 8161/8267] useradd-staticids: skip recipes without static IDs



commit e4f256000f9c5b67e910244ff1175d31ce948cbf
Author: Patrick Ohly <patrick ohly intel com>
Date:   Tue Sep 26 09:29:47 2017 +0200

    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>

 meta/classes/useradd-staticids.bbclass |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/meta/classes/useradd-staticids.bbclass b/meta/classes/useradd-staticids.bbclass
index eb8e59e..3d0bc09 100644
--- a/meta/classes/useradd-staticids.bbclass
+++ b/meta/classes/useradd-staticids.bbclass
@@ -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):


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]