summaryrefslogtreecommitdiffstats
path: root/import-layers/yocto-poky/bitbake/lib/bblayers
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2018-02-01 10:27:11 -0500
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-03-12 22:51:39 -0400
commit6e60e8b2b2bab889379b380a28a167a0edd9d1d3 (patch)
treef12f54d5ba8e74e67e5fad3651a1e125bb8f4191 /import-layers/yocto-poky/bitbake/lib/bblayers
parent509842add85b53e13164c1569a1fd43d5b8d91c5 (diff)
downloadtalos-openbmc-6e60e8b2b2bab889379b380a28a167a0edd9d1d3.tar.gz
talos-openbmc-6e60e8b2b2bab889379b380a28a167a0edd9d1d3.zip
Yocto 2.3
Move OpenBMC to Yocto 2.3(pyro). Tested: Built and verified Witherspoon and Palmetto images Change-Id: I50744030e771f4850afc2a93a10d3507e76d36bc Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Resolves: openbmc/openbmc#2461
Diffstat (limited to 'import-layers/yocto-poky/bitbake/lib/bblayers')
-rw-r--r--import-layers/yocto-poky/bitbake/lib/bblayers/action.py2
-rw-r--r--import-layers/yocto-poky/bitbake/lib/bblayers/common.py2
-rw-r--r--import-layers/yocto-poky/bitbake/lib/bblayers/layerindex.py10
-rw-r--r--import-layers/yocto-poky/bitbake/lib/bblayers/query.py52
4 files changed, 28 insertions, 38 deletions
diff --git a/import-layers/yocto-poky/bitbake/lib/bblayers/action.py b/import-layers/yocto-poky/bitbake/lib/bblayers/action.py
index 739ae27b9..cf9470427 100644
--- a/import-layers/yocto-poky/bitbake/lib/bblayers/action.py
+++ b/import-layers/yocto-poky/bitbake/lib/bblayers/action.py
@@ -180,7 +180,7 @@ build results (as the layer priority order has effectively changed).
if first_regex:
# Find the BBFILES entries that match (which will have come from this conf/layer.conf file)
- bbfiles = str(self.tinfoil.config_data.getVar('BBFILES', True)).split()
+ bbfiles = str(self.tinfoil.config_data.getVar('BBFILES')).split()
bbfiles_layer = []
for item in bbfiles:
if first_regex.match(item):
diff --git a/import-layers/yocto-poky/bitbake/lib/bblayers/common.py b/import-layers/yocto-poky/bitbake/lib/bblayers/common.py
index b10fb4cea..98515ced4 100644
--- a/import-layers/yocto-poky/bitbake/lib/bblayers/common.py
+++ b/import-layers/yocto-poky/bitbake/lib/bblayers/common.py
@@ -12,7 +12,7 @@ class LayerPlugin():
def tinfoil_init(self, tinfoil):
self.tinfoil = tinfoil
- self.bblayers = (self.tinfoil.config_data.getVar('BBLAYERS', True) or "").split()
+ self.bblayers = (self.tinfoil.config_data.getVar('BBLAYERS') or "").split()
layerconfs = self.tinfoil.config_data.varhistory.get_variable_items_files('BBFILE_COLLECTIONS', self.tinfoil.config_data)
self.bbfile_collections = {layer: os.path.dirname(os.path.dirname(path)) for layer, path in layerconfs.items()}
diff --git a/import-layers/yocto-poky/bitbake/lib/bblayers/layerindex.py b/import-layers/yocto-poky/bitbake/lib/bblayers/layerindex.py
index 10ad718eb..506c1109d 100644
--- a/import-layers/yocto-poky/bitbake/lib/bblayers/layerindex.py
+++ b/import-layers/yocto-poky/bitbake/lib/bblayers/layerindex.py
@@ -56,7 +56,7 @@ class LayerIndexPlugin(ActionPlugin):
r = conn.getresponse()
if r.status != 200:
raise Exception("Failed to read " + path + ": %d %s" % (r.status, r.reason))
- return json.loads(r.read())
+ return json.loads(r.read().decode())
def get_layer_deps(self, layername, layeritems, layerbranches, layerdependencies, branchnum, selfname=False):
def layeritems_info_id(items_name, layeritems):
@@ -151,7 +151,7 @@ class LayerIndexPlugin(ActionPlugin):
def do_layerindex_fetch(self, args):
"""Fetches a layer from a layer index along with its dependent layers, and adds them to conf/bblayers.conf.
"""
- apiurl = self.tinfoil.config_data.getVar('BBLAYERS_LAYERINDEX_URL', True)
+ apiurl = self.tinfoil.config_data.getVar('BBLAYERS_LAYERINDEX_URL')
if not apiurl:
logger.error("Cannot get BBLAYERS_LAYERINDEX_URL")
return 1
@@ -173,8 +173,8 @@ class LayerIndexPlugin(ActionPlugin):
return 1
ignore_layers = []
- for collection in self.tinfoil.config_data.getVar('BBFILE_COLLECTIONS', True).split():
- lname = self.tinfoil.config_data.getVar('BBLAYERS_LAYERINDEX_NAME_%s' % collection, True)
+ for collection in self.tinfoil.config_data.getVar('BBFILE_COLLECTIONS').split():
+ lname = self.tinfoil.config_data.getVar('BBLAYERS_LAYERINDEX_NAME_%s' % collection)
if lname:
ignore_layers.append(lname)
@@ -225,7 +225,7 @@ class LayerIndexPlugin(ActionPlugin):
printedlayers.append(dependency)
if repourls:
- fetchdir = self.tinfoil.config_data.getVar('BBLAYERS_FETCH_DIR', True)
+ fetchdir = self.tinfoil.config_data.getVar('BBLAYERS_FETCH_DIR')
if not fetchdir:
logger.error("Cannot get BBLAYERS_FETCH_DIR")
return 1
diff --git a/import-layers/yocto-poky/bitbake/lib/bblayers/query.py b/import-layers/yocto-poky/bitbake/lib/bblayers/query.py
index ee1e7c8a1..bef3af31a 100644
--- a/import-layers/yocto-poky/bitbake/lib/bblayers/query.py
+++ b/import-layers/yocto-poky/bitbake/lib/bblayers/query.py
@@ -5,8 +5,6 @@ import sys
import os
import re
-import bb.cache
-import bb.providers
import bb.utils
from bblayers.common import LayerPlugin
@@ -62,7 +60,7 @@ are overlayed will also be listed, with a " (skipped)" suffix.
# factor - however, each layer.conf is free to either prepend or append to
# BBPATH (or indeed do crazy stuff with it). Thus the order in BBPATH might
# not be exactly the order present in bblayers.conf either.
- bbpath = str(self.tinfoil.config_data.getVar('BBPATH', True))
+ bbpath = str(self.tinfoil.config_data.getVar('BBPATH'))
overlayed_class_found = False
for (classfile, classdirs) in classes.items():
if len(classdirs) > 1:
@@ -114,7 +112,7 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_multi_provider_only, inherits):
if inherits:
- bbpath = str(self.tinfoil.config_data.getVar('BBPATH', True))
+ bbpath = str(self.tinfoil.config_data.getVar('BBPATH'))
for classname in inherits:
classfile = 'classes/%s.bbclass' % classname
if not bb.utils.which(bbpath, classfile, history=False):
@@ -122,15 +120,13 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
sys.exit(1)
pkg_pn = self.tinfoil.cooker.recipecaches[''].pkg_pn
- (latest_versions, preferred_versions) = bb.providers.findProviders(self.tinfoil.config_data, self.tinfoil.cooker.recipecaches[''], pkg_pn)
- allproviders = bb.providers.allProviders(self.tinfoil.cooker.recipecaches[''])
+ (latest_versions, preferred_versions) = self.tinfoil.find_providers()
+ allproviders = self.tinfoil.get_all_providers()
# Ensure we list skipped recipes
# We are largely guessing about PN, PV and the preferred version here,
# but we have no choice since skipped recipes are not fully parsed
skiplist = list(self.tinfoil.cooker.skiplist.keys())
- skiplist.sort( key=lambda fileitem: self.tinfoil.cooker.collection.calc_bbfile_priority(fileitem) )
- skiplist.reverse()
for fn in skiplist:
recipe_parts = os.path.splitext(os.path.basename(fn))[0].split('_')
p = recipe_parts[0]
@@ -158,7 +154,7 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
logger.plain("%s:", pn)
logger.plain(" %s %s%s", layer.ljust(20), ver, skipped)
- global_inherit = (self.tinfoil.config_data.getVar('INHERIT', True) or "").split()
+ global_inherit = (self.tinfoil.config_data.getVar('INHERIT') or "").split()
cls_re = re.compile('classes/')
preffiles = []
@@ -246,17 +242,22 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
Lists recipes with the bbappends that apply to them as subitems.
"""
-
- logger.plain('=== Appended recipes ===')
+ if args.pnspec:
+ logger.plain('=== Matched appended recipes ===')
+ else:
+ logger.plain('=== Appended recipes ===')
pnlist = list(self.tinfoil.cooker_data.pkg_pn.keys())
pnlist.sort()
appends = False
for pn in pnlist:
+ if args.pnspec and pn != args.pnspec:
+ continue
+
if self.show_appends_for_pn(pn):
appends = True
- if self.show_appends_for_skipped():
+ if not args.pnspec and self.show_appends_for_skipped():
appends = True
if not appends:
@@ -265,10 +266,7 @@ Lists recipes with the bbappends that apply to them as subitems.
def show_appends_for_pn(self, pn):
filenames = self.tinfoil.cooker_data.pkg_pn[pn]
- best = bb.providers.findBestProvider(pn,
- self.tinfoil.config_data,
- self.tinfoil.cooker_data,
- self.tinfoil.cooker_data.pkg_pn)
+ best = self.tinfoil.find_best_provider(pn)
best_filename = os.path.basename(best[3])
return self.show_appends_output(filenames, best_filename)
@@ -319,12 +317,12 @@ NOTE: .bbappend files can impact the dependencies.
ignore_layers = (args.ignore or '').split(',')
pkg_fn = self.tinfoil.cooker_data.pkg_fn
- bbpath = str(self.tinfoil.config_data.getVar('BBPATH', True))
+ bbpath = str(self.tinfoil.config_data.getVar('BBPATH'))
self.require_re = re.compile(r"require\s+(.+)")
self.include_re = re.compile(r"include\s+(.+)")
self.inherit_re = re.compile(r"inherit\s+(.+)")
- global_inherit = (self.tinfoil.config_data.getVar('INHERIT', True) or "").split()
+ global_inherit = (self.tinfoil.config_data.getVar('INHERIT') or "").split()
# The bb's DEPENDS and RDEPENDS
for f in pkg_fn:
@@ -336,10 +334,7 @@ NOTE: .bbappend files can impact the dependencies.
deps = self.tinfoil.cooker_data.deps[f]
for pn in deps:
if pn in self.tinfoil.cooker_data.pkg_pn:
- best = bb.providers.findBestProvider(pn,
- self.tinfoil.config_data,
- self.tinfoil.cooker_data,
- self.tinfoil.cooker_data.pkg_pn)
+ best = self.tinfoil.find_best_provider(pn)
self.check_cross_depends("DEPENDS", layername, f, best[3], args.filenames, ignore_layers)
# The RDPENDS
@@ -352,14 +347,11 @@ NOTE: .bbappend files can impact the dependencies.
sorted_rdeps[k2] = 1
all_rdeps = sorted_rdeps.keys()
for rdep in all_rdeps:
- all_p = bb.providers.getRuntimeProviders(self.tinfoil.cooker_data, rdep)
+ all_p, best = self.tinfoil.get_runtime_providers(rdep)
if all_p:
if f in all_p:
# The recipe provides this one itself, ignore
continue
- best = bb.providers.filterProvidersRunTime(all_p, rdep,
- self.tinfoil.config_data,
- self.tinfoil.cooker_data)[0][0]
self.check_cross_depends("RDEPENDS", layername, f, best, args.filenames, ignore_layers)
# The RRECOMMENDS
@@ -372,14 +364,11 @@ NOTE: .bbappend files can impact the dependencies.
sorted_rrecs[k2] = 1
all_rrecs = sorted_rrecs.keys()
for rrec in all_rrecs:
- all_p = bb.providers.getRuntimeProviders(self.tinfoil.cooker_data, rrec)
+ all_p, best = self.tinfoil.get_runtime_providers(rrec)
if all_p:
if f in all_p:
# The recipe provides this one itself, ignore
continue
- best = bb.providers.filterProvidersRunTime(all_p, rrec,
- self.tinfoil.config_data,
- self.tinfoil.cooker_data)[0][0]
self.check_cross_depends("RRECOMMENDS", layername, f, best, args.filenames, ignore_layers)
# The inherit class
@@ -493,7 +482,8 @@ NOTE: .bbappend files can impact the dependencies.
parser_show_recipes.add_argument('-i', '--inherits', help='only list recipes that inherit the named class', metavar='CLASS', default='')
parser_show_recipes.add_argument('pnspec', nargs='?', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
- self.add_command(sp, 'show-appends', self.do_show_appends)
+ parser_show_appends = self.add_command(sp, 'show-appends', self.do_show_appends)
+ parser_show_appends.add_argument('pnspec', nargs='?', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
parser_show_cross_depends = self.add_command(sp, 'show-cross-depends', self.do_show_cross_depends)
parser_show_cross_depends.add_argument('-f', '--filenames', help='show full file path', action='store_true')
OpenPOWER on IntegriCloud