summaryrefslogtreecommitdiffstats
path: root/scripts/lib/compatlayer/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/compatlayer/__init__.py')
-rw-r--r--scripts/lib/compatlayer/__init__.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/scripts/lib/compatlayer/__init__.py b/scripts/lib/compatlayer/__init__.py
index 0d6f4e9c3b..e35f8c0d32 100644
--- a/scripts/lib/compatlayer/__init__.py
+++ b/scripts/lib/compatlayer/__init__.py
@@ -233,9 +233,21 @@ def get_signatures(builddir, failsafe=False, machine=None):
233 if failsafe: 233 if failsafe:
234 cmd += '-k ' 234 cmd += '-k '
235 cmd += '-S none world' 235 cmd += '-S none world'
236 check_command('Generating signatures failed. This might be due to some parse error and/or general layer incompatibilities.',
237 cmd)
238 sigs_file = os.path.join(builddir, 'locked-sigs.inc') 236 sigs_file = os.path.join(builddir, 'locked-sigs.inc')
237 if os.path.exists(sigs_file):
238 os.unlink(sigs_file)
239 try:
240 check_command('Generating signatures failed. This might be due to some parse error and/or general layer incompatibilities.',
241 cmd)
242 except RuntimeError as ex:
243 if failsafe and os.path.exists(sigs_file):
244 # Ignore the error here. Most likely some recipes active
245 # in a world build lack some dependencies. There is a
246 # separate test_machine_world_build which exposes the
247 # failure.
248 pass
249 else:
250 raise
239 251
240 sig_regex = re.compile("^(?P<task>.*:.*):(?P<hash>.*) .$") 252 sig_regex = re.compile("^(?P<task>.*:.*):(?P<hash>.*) .$")
241 tune_regex = re.compile("(^|\s)SIGGEN_LOCKEDSIGS_t-(?P<tune>\S*)\s*=\s*") 253 tune_regex = re.compile("(^|\s)SIGGEN_LOCKEDSIGS_t-(?P<tune>\S*)\s*=\s*")