summaryrefslogtreecommitdiff
path: root/morphlib/morphologyfactory.py
diff options
context:
space:
mode:
Diffstat (limited to 'morphlib/morphologyfactory.py')
-rw-r--r--morphlib/morphologyfactory.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/morphlib/morphologyfactory.py b/morphlib/morphologyfactory.py
index 6f9915fb..c84acd52 100644
--- a/morphlib/morphologyfactory.py
+++ b/morphlib/morphologyfactory.py
@@ -45,7 +45,18 @@ class MorphologyFactory(object):
text = self._cat_text(reponame, sha1, filename)
except:
text = self._autodetect_text(reponame, sha1, filename)
- return morphlib.morph2.Morphology(text)
+
+ morphology = morphlib.morph2.Morphology(text)
+ if morphology['kind'] == 'stratum': #pragma: no cover
+ for source in morphology['sources']:
+ if source.get('build-depends', None) is None:
+ name = source.get('name', source.get('repo', 'unknown'))
+ raise morphlib.Error('No build dependencies '
+ 'stratum %s for chunk %s '
+ '(build-depends is a mandatory '
+ 'field)' %
+ (filename, name))
+ return morphology
def _cat_text(self, reponame, sha1, filename):
if self._lrc.has_repo(reponame):