From 77647ac478c07d55179ce539039cc6bc07cce19b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kalu=C5=BEa?= Date: Mon, 26 Aug 2019 05:52:27 +0000 Subject: [PATCH] Set the "virtual_streams" for platform modules in MBS. By grouping the platform modules together using the "virtual_streams", we can allow a module built against platform:f30 to buildrequire module built against platform:f29 (if that module "requires: platform: []"). This fixes https://pagure.io/fm-orchestrator/issue/1243. More info: - https://pagure.io/fm-orchestrator/pull-request/1281 - https://pagure.io/fm-orchestrator/blob/master/f/docs/DEPENDENCY_RESOLUTION.rst - https://pagure.io/fm-orchestrator/blob/master/f/docs/VIRTUAL_MODULES.rst --- .../files/default-modules.production/platform-f29.yaml | 1 + .../files/default-modules.production/platform-f30.yaml | 1 + .../files/default-modules.production/platform-f31.yaml | 1 + .../files/default-modules.production/platform-f32.yaml | 1 + .../files/default-modules.staging/platform-f29.yaml | 1 + .../files/default-modules.staging/platform-f30.yaml | 1 + roles/mbs/common/templates/config.py | 9 +++++++++ 7 files changed, 15 insertions(+) diff --git a/roles/mbs/common/files/default-modules.production/platform-f29.yaml b/roles/mbs/common/files/default-modules.production/platform-f29.yaml index fabc655efc..2b15205d6a 100644 --- a/roles/mbs/common/files/default-modules.production/platform-f29.yaml +++ b/roles/mbs/common/files/default-modules.production/platform-f29.yaml @@ -22,6 +22,7 @@ data: requires: {} koji_tag: module-f29-build mse: TRUE + virtual_streams: [fedora] document: modulemd version: 1 diff --git a/roles/mbs/common/files/default-modules.production/platform-f30.yaml b/roles/mbs/common/files/default-modules.production/platform-f30.yaml index dab5957257..06080054c0 100644 --- a/roles/mbs/common/files/default-modules.production/platform-f30.yaml +++ b/roles/mbs/common/files/default-modules.production/platform-f30.yaml @@ -22,6 +22,7 @@ data: requires: {} koji_tag: module-f30-build mse: TRUE + virtual_streams: [fedora] document: modulemd version: 1 diff --git a/roles/mbs/common/files/default-modules.production/platform-f31.yaml b/roles/mbs/common/files/default-modules.production/platform-f31.yaml index 087ea146e9..0608f93b59 100644 --- a/roles/mbs/common/files/default-modules.production/platform-f31.yaml +++ b/roles/mbs/common/files/default-modules.production/platform-f31.yaml @@ -22,6 +22,7 @@ data: requires: {} koji_tag: module-f31-build mse: TRUE + virtual_streams: [fedora] document: modulemd version: 1 diff --git a/roles/mbs/common/files/default-modules.production/platform-f32.yaml b/roles/mbs/common/files/default-modules.production/platform-f32.yaml index 09e4872531..d1405fbed3 100644 --- a/roles/mbs/common/files/default-modules.production/platform-f32.yaml +++ b/roles/mbs/common/files/default-modules.production/platform-f32.yaml @@ -22,6 +22,7 @@ data: requires: {} koji_tag: module-f32-build mse: TRUE + virtual_streams: [fedora] document: modulemd version: 1 diff --git a/roles/mbs/common/files/default-modules.staging/platform-f29.yaml b/roles/mbs/common/files/default-modules.staging/platform-f29.yaml index fabc655efc..2b15205d6a 100644 --- a/roles/mbs/common/files/default-modules.staging/platform-f29.yaml +++ b/roles/mbs/common/files/default-modules.staging/platform-f29.yaml @@ -22,6 +22,7 @@ data: requires: {} koji_tag: module-f29-build mse: TRUE + virtual_streams: [fedora] document: modulemd version: 1 diff --git a/roles/mbs/common/files/default-modules.staging/platform-f30.yaml b/roles/mbs/common/files/default-modules.staging/platform-f30.yaml index d40fb4c60a..edac4343a5 100644 --- a/roles/mbs/common/files/default-modules.staging/platform-f30.yaml +++ b/roles/mbs/common/files/default-modules.staging/platform-f30.yaml @@ -22,6 +22,7 @@ data: requires: {} koji_tag: module-f30-build mse: TRUE + virtual_streams: [fedora] document: modulemd version: 1 diff --git a/roles/mbs/common/templates/config.py b/roles/mbs/common/templates/config.py index 4eec1e18a9..a3e1e6007e 100644 --- a/roles/mbs/common/templates/config.py +++ b/roles/mbs/common/templates/config.py @@ -207,3 +207,12 @@ class ProdConfiguration(BaseConfiguration): KOJI_CG_DEVEL_MODULE = False MODULES_ALLOW_SCRATCH = True + + # By default, MBS allows buildrequiring only modules built against + # compatible version of platform base module. By compatible, we mean + # less or equal minor number of "stream_version". For example, when building module + # against platform:f30, it wouldn't be possible to buildrequire a module + # built against platform:f29. This is not intended behaviour in Fedora + # and therefore we want to turn this feature off. + ALLOW_ONLY_COMPATIBLE_BASE_MODULE = False +