diff options
Diffstat (limited to 'morphlib/morphologyfactory.py')
-rw-r--r-- | morphlib/morphologyfactory.py | 13 |
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): |