diff options
| author | Tudor Florea <tudor.florea@enea.com> | 2014-10-16 03:05:19 +0200 |
|---|---|---|
| committer | Tudor Florea <tudor.florea@enea.com> | 2014-10-16 03:05:19 +0200 |
| commit | c527fd1f14c27855a37f2e8ac5346ce8d940ced2 (patch) | |
| tree | bb002c1fdf011c41dbd2f0927bed23ecb5f83c97 /meta/classes/blacklist.bbclass | |
| download | poky-daisy-140929.tar.gz | |
initial commit for Enea Linux 4.0-140929daisy-140929
Migrated from the internal git server on the daisy-enea-point-release branch
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/classes/blacklist.bbclass')
| -rw-r--r-- | meta/classes/blacklist.bbclass | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/meta/classes/blacklist.bbclass b/meta/classes/blacklist.bbclass new file mode 100644 index 0000000000..a0141a82c0 --- /dev/null +++ b/meta/classes/blacklist.bbclass | |||
| @@ -0,0 +1,45 @@ | |||
| 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 | |||
| 15 | # Cope with PNBLACKLIST flags for multilib case | ||
| 16 | addhandler blacklist_multilib_eventhandler | ||
| 17 | blacklist_multilib_eventhandler[eventmask] = "bb.event.ConfigParsed" | ||
| 18 | python blacklist_multilib_eventhandler() { | ||
| 19 | multilibs = e.data.getVar('MULTILIBS', True) | ||
| 20 | if not multilibs: | ||
| 21 | return | ||
| 22 | |||
| 23 | # this block has been copied from base.bbclass so keep it in sync | ||
| 24 | prefixes = [] | ||
| 25 | for ext in multilibs.split(): | ||
| 26 | eext = ext.split(':') | ||
| 27 | if len(eext) > 1 and eext[0] == 'multilib': | ||
| 28 | prefixes.append(eext[1]) | ||
| 29 | |||
| 30 | blacklists = e.data.getVarFlags('PNBLACKLIST') or {} | ||
| 31 | for pkg, reason in blacklists.items(): | ||
| 32 | if pkg.endswith(("-native", "-crosssdk")) or pkg.startswith(("nativesdk-", "virtual/nativesdk-")) or 'cross-canadian' in pkg: | ||
| 33 | continue | ||
| 34 | for p in prefixes: | ||
| 35 | newpkg = p + "-" + pkg | ||
| 36 | if not e.data.getVarFlag('PNBLACKLIST', newpkg, True): | ||
| 37 | e.data.setVarFlag('PNBLACKLIST', newpkg, reason) | ||
| 38 | } | ||
| 39 | |||
| 40 | python () { | ||
| 41 | blacklist = d.getVarFlag('PNBLACKLIST', d.getVar('PN', True), True) | ||
| 42 | |||
| 43 | if blacklist: | ||
| 44 | raise bb.parse.SkipPackage("Recipe is blacklisted: %s" % (blacklist)) | ||
| 45 | } | ||
