[OE-core] [oe-core][PATCH 1/1] blacklist: add BPNBLACKLIST support

Joe Slater jslater at windriver.com
Wed Jun 22 21:59:24 UTC 2016


PNBLACKLIST[pn] in a recipe does not work for multilib.
Add BPNBLACKLIST specifically for use in recipes.

Signed-off-by: Joe Slater <jslater at windriver.com>
---
 meta/classes/blacklist.bbclass |   24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/meta/classes/blacklist.bbclass b/meta/classes/blacklist.bbclass
index a0141a8..d92b0bc 100644
--- a/meta/classes/blacklist.bbclass
+++ b/meta/classes/blacklist.bbclass
@@ -8,9 +8,20 @@
 #
 # Features:
 #
-# * To add a package to the blacklist, set:
+# * To add a recipe to the blacklist, set:
 #   PNBLACKLIST[pn] = "message"
 #
+#   This blacklist works by matching 'pn' to the exact 'PN' of
+#   a recipe.  The 'PN' of a recipe may be influenced by the recipe
+#   itself, multilib and classextensions.
+#
+# * Another way to blacklist a recipe, set:
+#   BPNBLACKLIST[bpn] = "message"
+#
+#   This blacklist works by matching 'bpn' to the exact 'BPN' set by
+#   a recipe.  While unusual, a recipe may modify the BPN, but multilib
+#   and classextensions generally do not.
+
 
 # Cope with PNBLACKLIST flags for multilib case
 addhandler blacklist_multilib_eventhandler
@@ -38,8 +49,13 @@ python blacklist_multilib_eventhandler() {
 }
 
 python () {
-    blacklist = d.getVarFlag('PNBLACKLIST', d.getVar('PN', True), True)
+    reason = d.getVarFlag('BPNBLACKLIST', d.getVar('BPN', True), True)
+
+    if reason:
+        raise bb.parse.SkipRecipe("BPN is blacklisted: %s" % (reason))
+
+    reason = d.getVarFlag('PNBLACKLIST', d.getVar('PN', True), True)
 
-    if blacklist:
-        raise bb.parse.SkipPackage("Recipe is blacklisted: %s" % (blacklist))
+    if reason:
+        raise bb.parse.SkipRecipe("PN is blacklisted: %s" % (reason))
 }
-- 
1.7.9.5




More information about the Openembedded-core mailing list