From a5f735746cba6af41a25aa2aa121453a8bc363b4 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Fri, 4 Feb 2022 09:01:40 -0800 Subject: [PATCH] blacklist: Replace class with SKIP_RECIPE variable Remove the old class and rename VarFlag to SKIP_RECIPE, handling this in base.bbclass for efficiency. This means a separate inherit is no longer needed. This change better describes what the VarFlag is doing since it is implemeted with the SkipRecipe() function. By moving this into base.bbclass we simplify the distro inherit. Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 8 ++++++++ meta/classes/blacklist.bbclass | 20 -------------------- meta/conf/bitbake.conf | 2 ++ meta/conf/distro/defaultsetup.conf | 3 +-- meta/conf/documentation.conf | 2 +- 5 files changed, 12 insertions(+), 23 deletions(-) delete mode 100644 meta/classes/blacklist.bbclass diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index de5135cf6b..87a4cb5fc7 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -438,6 +438,14 @@ python () { if os.path.normpath(d.getVar("WORKDIR")) != os.path.normpath(d.getVar("B")): d.appendVar("PSEUDO_IGNORE_PATHS", ",${B}") + # To add a recipe to the skip list , set: + # SKIP_RECIPE[pn] = "message" + pn = d.getVar('PN') + skip_msg = d.getVarFlag('SKIP_RECIPE', pn) + if skip_msg: + bb.debug(1, "Skipping %s %s" % (pn, skip_msg)) + raise bb.parse.SkipRecipe("Recipe will be skipped because: %s" % (skip_msg)) + # Handle PACKAGECONFIG # # These take the form: diff --git a/meta/classes/blacklist.bbclass b/meta/classes/blacklist.bbclass deleted file mode 100644 index dc794228ff..0000000000 --- a/meta/classes/blacklist.bbclass +++ /dev/null @@ -1,20 +0,0 @@ -# anonymous support class from originally from angstrom -# -# To use the blacklist, a distribution should include this -# class in the INHERIT_DISTRO -# -# No longer use ANGSTROM_BLACKLIST, instead use a table of -# recipes in PNBLACKLIST -# -# Features: -# -# * To add a package to the blacklist, set: -# PNBLACKLIST[pn] = "message" -# - -python () { - blacklist = d.getVarFlag('PNBLACKLIST', d.getVar('PN')) - - if blacklist: - raise bb.parse.SkipRecipe("Recipe is blacklisted: %s" % (blacklist)) -} diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 7faf6f05f4..d60f6facd6 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -90,6 +90,8 @@ ROOT_HOME ??= "/home/root" # If set to boolean false ('no', 'n', 'false', 'f', '0'), /var/log is on persistent storage. VOLATILE_LOG_DIR ?= "yes" +BB_RENAMED_VARIABLES[PNBLACKLIST] = "SKIP_RECIPE" + ################################################################## # Architecture-dependent build variables. ################################################################## diff --git a/meta/conf/distro/defaultsetup.conf b/meta/conf/distro/defaultsetup.conf index b36a4ffffe..f6894f3ab5 100644 --- a/meta/conf/distro/defaultsetup.conf +++ b/meta/conf/distro/defaultsetup.conf @@ -14,9 +14,8 @@ TMPDIR .= "${TCLIBCAPPEND}" USER_CLASSES ?= "" PACKAGE_CLASSES ?= "package_ipk" -INHERIT_BLACKLIST = "blacklist" INHERIT_DISTRO ?= "debian devshell sstate license remove-libtool" -INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO} ${INHERIT_BLACKLIST}" +INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO}" INIT_MANAGER ??= "none" require conf/distro/include/init-manager-${INIT_MANAGER}.inc diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf index 6b50ad08a8..9614448a1f 100644 --- a/meta/conf/documentation.conf +++ b/meta/conf/documentation.conf @@ -331,7 +331,6 @@ PKGDATA_DIR[doc] = "Points to a shared, global-state directory that holds data g PKGDEST[doc] = "Points to the parent directory for files to be packaged after they have been split into individual packages." PKGDESTWORK[doc] = "Points to a temporary work area used by the do_package task to write output from the do_packagedata task." PN[doc] = "PN refers to a recipe name in the context of a file used by the OpenEmbedded build system as input to create a package. It refers to a package name in the context of a file created or produced by the OpenEmbedded build system." -PNBLACKLIST[doc] = "Lists recipes you do not want the OpenEmbedded build system to build." PR[doc] = "The revision of the recipe. The default value for this variable is 'r0'." PREFERRED_PROVIDER[doc] = "If multiple recipes provide an item, this variable determines which recipe should be given preference." PREFERRED_VERSION[doc] = "If there are multiple versions of recipes available, this variable determines which recipe should be given preference." @@ -385,6 +384,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS[doc] = "A list of recipe dependencies that shoul SIGGEN_EXCLUDERECIPES_ABISAFE[doc] = "A list of recipes that are completely stable and will never change." SITEINFO_BITS[doc] = "Specifies the number of bits for the target system CPU." SITEINFO_ENDIANNESS[doc] = "Specifies the endian byte order of the target system. The value should be either 'le' for 'little-endian' or 'be' for 'big-endian'." +SKIP_RECIPE[doc] = "Lists recipes you do not want the OpenEmbedded build system to build." SOC_FAMILY[doc] = "Groups together machines based upon the same family of SOC (System On Chip). You typically set this variable in a common .inc file that you include in the configuration files of all the machines." SOLIBS[doc] = "Defines the suffix for shared libraries used on the target platform." SOLIBSDEV[doc] = "Defines the suffix for the development symbolic link (symlink) for shared libraries on the target platform." -- 2.40.1