[gnome-continuous-yocto/gnomeostree-3.28-rocko: 5621/8267] yocto-compat-layer: also determine tune flags for each task
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 5621/8267] yocto-compat-layer: also determine tune flags for each task
- Date: Sun, 17 Dec 2017 03:41:49 +0000 (UTC)
commit e93a2ab3e300bb861cf6cc83716f93d671ff80f4
Author: Patrick Ohly <patrick ohly intel com>
Date: Tue Apr 11 20:38:40 2017 +0200
yocto-compat-layer: also determine tune flags for each task
locked-sigs.inc groups tasks according to their tune flags (allarch,
i586, etc.). Also retrieve that information while getting signatures,
it will be needed to determine when setting a machine changes tasks
that aren't machine-specific.
(From OE-Core rev: 67f9a8759f47680dbf349797801b2a1e8d149377)
Signed-off-by: Patrick Ohly <patrick ohly intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
scripts/lib/compatlayer/__init__.py | 9 ++++++++-
scripts/lib/compatlayer/cases/common.py | 2 +-
scripts/yocto-compat-layer.py | 2 +-
3 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/scripts/lib/compatlayer/__init__.py b/scripts/lib/compatlayer/__init__.py
index b46527a..6130b85 100644
--- a/scripts/lib/compatlayer/__init__.py
+++ b/scripts/lib/compatlayer/__init__.py
@@ -224,6 +224,7 @@ def get_signatures(builddir, failsafe=False):
exclude_recipes = ('meta-world-pkgdata',)
sigs = {}
+ tune2tasks = {}
cmd = 'bitbake '
if failsafe:
@@ -234,9 +235,14 @@ def get_signatures(builddir, failsafe=False):
sigs_file = os.path.join(builddir, 'locked-sigs.inc')
sig_regex = re.compile("^(?P<task>.*:.*):(?P<hash>.*) .$")
+ tune_regex = re.compile("(^|\s)SIGGEN_LOCKEDSIGS_t-(?P<tune>\S*)\s*=\s*")
+ current_tune = None
with open(sigs_file, 'r') as f:
for line in f.readlines():
line = line.strip()
+ t = tune_regex.search(line)
+ if t:
+ current_tune = t.group('tune')
s = sig_regex.match(line)
if s:
exclude = False
@@ -249,11 +255,12 @@ def get_signatures(builddir, failsafe=False):
continue
sigs[s.group('task')] = s.group('hash')
+ tune2tasks.setdefault(current_tune, []).append(s.group('task'))
if not sigs:
raise RuntimeError('Can\'t load signatures from %s' % sigs_file)
- return sigs
+ return (sigs, tune2tasks)
def get_depgraph(targets=['world']):
'''
diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py
index a4c2a51..8eeada9 100644
--- a/scripts/lib/compatlayer/cases/common.py
+++ b/scripts/lib/compatlayer/cases/common.py
@@ -33,7 +33,7 @@ class CommonCompatLayer(OECompatLayerTestCase):
# task -> (old signature, new signature)
sig_diff = {}
- curr_sigs = get_signatures(self.td['builddir'], failsafe=True)
+ curr_sigs, _ = get_signatures(self.td['builddir'], failsafe=True)
for task in self.td['sigs']:
if task in curr_sigs and \
self.td['sigs'][task] != curr_sigs[task]:
diff --git a/scripts/yocto-compat-layer.py b/scripts/yocto-compat-layer.py
index 22c0c2d..2ebddb6 100755
--- a/scripts/yocto-compat-layer.py
+++ b/scripts/yocto-compat-layer.py
@@ -139,7 +139,7 @@ def main():
td['bbvars'] = get_bb_vars()
logger.info('Getting initial signatures ...')
td['builddir'] = builddir
- td['sigs'] = get_signatures(td['builddir'])
+ td['sigs'], td['tunetasks'] = get_signatures(td['builddir'])
if not add_layer(bblayersconf, layer, dep_layers, logger):
logger.info('Skipping %s ???.' % layer['name'])
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]