summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaul Wold <Saul.Wold@windriver.com>2022-02-04 09:01:40 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-02-21 23:37:27 +0000
commit297def3be506ad974bde896768c2abb7c5264749 (patch)
tree3ca7e025790687b0d13e1cab9596b87f793330cc
parented198efba4832f96e6835d0d6700b0408b0c2d43 (diff)
downloadpoky-297def3be506ad974bde896768c2abb7c5264749.tar.gz
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. (From OE-Core rev: a5f735746cba6af41a25aa2aa121453a8bc363b4) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/base.bbclass8
-rw-r--r--meta/classes/blacklist.bbclass20
-rw-r--r--meta/conf/bitbake.conf2
-rw-r--r--meta/conf/distro/defaultsetup.conf3
-rw-r--r--meta/conf/documentation.conf2
5 files changed, 12 insertions, 23 deletions
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 () {
438 if os.path.normpath(d.getVar("WORKDIR")) != os.path.normpath(d.getVar("B")): 438 if os.path.normpath(d.getVar("WORKDIR")) != os.path.normpath(d.getVar("B")):
439 d.appendVar("PSEUDO_IGNORE_PATHS", ",${B}") 439 d.appendVar("PSEUDO_IGNORE_PATHS", ",${B}")
440 440
441 # To add a recipe to the skip list , set:
442 # SKIP_RECIPE[pn] = "message"
443 pn = d.getVar('PN')
444 skip_msg = d.getVarFlag('SKIP_RECIPE', pn)
445 if skip_msg:
446 bb.debug(1, "Skipping %s %s" % (pn, skip_msg))
447 raise bb.parse.SkipRecipe("Recipe will be skipped because: %s" % (skip_msg))
448
441 # Handle PACKAGECONFIG 449 # Handle PACKAGECONFIG
442 # 450 #
443 # These take the form: 451 # 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 @@
1# anonymous support class from originally from angstrom
2#
3# To use the blacklist, a distribution should include this
4# class in the INHERIT_DISTRO
5#
6# No longer use ANGSTROM_BLACKLIST, instead use a table of
7# recipes in PNBLACKLIST
8#
9# Features:
10#
11# * To add a package to the blacklist, set:
12# PNBLACKLIST[pn] = "message"
13#
14
15python () {
16 blacklist = d.getVarFlag('PNBLACKLIST', d.getVar('PN'))
17
18 if blacklist:
19 raise bb.parse.SkipRecipe("Recipe is blacklisted: %s" % (blacklist))
20}
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"
90# If set to boolean false ('no', 'n', 'false', 'f', '0'), /var/log is on persistent storage. 90# If set to boolean false ('no', 'n', 'false', 'f', '0'), /var/log is on persistent storage.
91VOLATILE_LOG_DIR ?= "yes" 91VOLATILE_LOG_DIR ?= "yes"
92 92
93BB_RENAMED_VARIABLES[PNBLACKLIST] = "SKIP_RECIPE"
94
93################################################################## 95##################################################################
94# Architecture-dependent build variables. 96# Architecture-dependent build variables.
95################################################################## 97##################################################################
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}"
14 14
15USER_CLASSES ?= "" 15USER_CLASSES ?= ""
16PACKAGE_CLASSES ?= "package_ipk" 16PACKAGE_CLASSES ?= "package_ipk"
17INHERIT_BLACKLIST = "blacklist"
18INHERIT_DISTRO ?= "debian devshell sstate license remove-libtool" 17INHERIT_DISTRO ?= "debian devshell sstate license remove-libtool"
19INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO} ${INHERIT_BLACKLIST}" 18INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO}"
20 19
21INIT_MANAGER ??= "none" 20INIT_MANAGER ??= "none"
22require conf/distro/include/init-manager-${INIT_MANAGER}.inc 21require 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
331PKGDEST[doc] = "Points to the parent directory for files to be packaged after they have been split into individual packages." 331PKGDEST[doc] = "Points to the parent directory for files to be packaged after they have been split into individual packages."
332PKGDESTWORK[doc] = "Points to a temporary work area used by the do_package task to write output from the do_packagedata task." 332PKGDESTWORK[doc] = "Points to a temporary work area used by the do_package task to write output from the do_packagedata task."
333PN[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." 333PN[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."
334PNBLACKLIST[doc] = "Lists recipes you do not want the OpenEmbedded build system to build."
335PR[doc] = "The revision of the recipe. The default value for this variable is 'r0'." 334PR[doc] = "The revision of the recipe. The default value for this variable is 'r0'."
336PREFERRED_PROVIDER[doc] = "If multiple recipes provide an item, this variable determines which recipe should be given preference." 335PREFERRED_PROVIDER[doc] = "If multiple recipes provide an item, this variable determines which recipe should be given preference."
337PREFERRED_VERSION[doc] = "If there are multiple versions of recipes available, this variable determines which recipe should be given preference." 336PREFERRED_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
385SIGGEN_EXCLUDERECIPES_ABISAFE[doc] = "A list of recipes that are completely stable and will never change." 384SIGGEN_EXCLUDERECIPES_ABISAFE[doc] = "A list of recipes that are completely stable and will never change."
386SITEINFO_BITS[doc] = "Specifies the number of bits for the target system CPU." 385SITEINFO_BITS[doc] = "Specifies the number of bits for the target system CPU."
387SITEINFO_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'." 386SITEINFO_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'."
387SKIP_RECIPE[doc] = "Lists recipes you do not want the OpenEmbedded build system to build."
388SOC_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." 388SOC_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."
389SOLIBS[doc] = "Defines the suffix for shared libraries used on the target platform." 389SOLIBS[doc] = "Defines the suffix for shared libraries used on the target platform."
390SOLIBSDEV[doc] = "Defines the suffix for the development symbolic link (symlink) for shared libraries on the target platform." 390SOLIBSDEV[doc] = "Defines the suffix for the development symbolic link (symlink) for shared libraries on the target platform."