Merge #990 Allow overriding the name and stream from scm repos.

This commit is contained in:
Matt Prahl
2018-08-14 13:03:52 +00:00
2 changed files with 17 additions and 5 deletions

View File

@@ -197,6 +197,16 @@ class Config(object):
'default': True,
'desc': 'Enable or disable imports to koji using content '
'generator api'},
'allow_name_override_from_scm': {
'type': bool,
'default': False,
'desc': 'Allow modulemd files to override the module name '
'if different from the scm repo name.'},
'allow_stream_override_from_scm': {
'type': bool,
'default': False,
'desc': 'Allow modulemd files to override the module stream '
'if different from the scm repo branch.'},
'allow_custom_scmurls': {
'type': bool,
'default': False,

View File

@@ -418,17 +418,19 @@ def _fetch_mmd(url, branch=None, allow_local_url=False, whitelist_url=False):
# If the name was set in the modulemd, make sure it matches what the scmurl
# says it should be
if mmd.get_name() and mmd.get_name() != scm.name:
raise ValidationError('The name "{0}" that is stored in the modulemd '
'is not valid'.format(mmd.get_name()))
if not conf.allow_name_override_from_scm:
raise ValidationError('The name "{0}" that is stored in the modulemd '
'is not valid'.format(mmd.get_name()))
else:
mmd.set_name(scm.name)
# If the stream was set in the modulemd, make sure it matches what the repo
# branch is
if mmd.get_stream() and mmd.get_stream() != scm.branch:
raise ValidationError('The stream "{0}" that is stored in the modulemd '
'does not match the branch "{1}"'.format(
mmd.get_stream(), scm.branch))
if not conf.allow_stream_override_from_scm:
raise ValidationError('The stream "{0}" that is stored in the modulemd '
'does not match the branch "{1}"'.format(
mmd.get_stream(), scm.branch))
else:
mmd.set_stream(str(scm.branch))