summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2014-10-17 10:53:03 +0100
committerSam Thursfield <sam.thursfield@codethink.co.uk>2014-10-17 10:53:03 +0100
commit7ec6c09f1cfe109f1a6b4a080504a2f6a1b159da (patch)
tree6d26d3576c32bff4a51bce31861734b36063f85c
parent61291bd59fcefdbfcbaf0a50e46e071ccee52fcf (diff)
parent422653c3e599932b8d9f7ad6c7f10479d437468c (diff)
downloadmorph-7ec6c09f1cfe109f1a6b4a080504a2f6a1b159da.tar.gz
Merge remote-tracking branch 'origin/sam/validation-fixes'
Reviewed-By: Richard Ipsum <richard.ipsum@codethink.co.uk> Reviewed-By: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk>
-rw-r--r--morphlib/buildcommand.py12
1 files changed, 4 insertions, 8 deletions
diff --git a/morphlib/buildcommand.py b/morphlib/buildcommand.py
index 2aec5e08..7eb6c0ab 100644
--- a/morphlib/buildcommand.py
+++ b/morphlib/buildcommand.py
@@ -184,7 +184,7 @@ class BuildCommand(object):
def _validate_cross_morphology_references(self, srcpool):
'''Perform validation across all morphologies involved in the build'''
- stratum_names = []
+ stratum_names = {}
for src in srcpool:
kind = src.morphology['kind']
@@ -208,15 +208,11 @@ class BuildCommand(object):
# and Ref specified.
if src.morphology['kind'] == 'stratum':
name = src.name
- ref = src.sha1[:7]
- self.app.status(msg='Stratum [%(name)s] version is %(ref)s',
- name=name, ref=ref)
if name in stratum_names:
raise morphlib.Error(
- "Conflicting versions of stratum '%s' appear in the "
- "build. Check the contents of the system against the "
- "build-depends of the strata." % name)
- stratum_names.append(name)
+ "Multiple strata produce a '%s' artifact: %s and %s" %
+ (name, stratum_names[name].filename, src.filename))
+ stratum_names[name] = src
def _validate_cross_refs_for_system(self, src, srcpool):
self._validate_cross_refs_for_xxx(