#1321 repo_include_all does not work with external repos
Closed: Fixed 4 years ago by jkaluza. Opened 4 years ago by mizdebsk.

Consider the following scenario:

  • module A contains artifact rpm-a build from component comp
  • module B contains artifact rpm-b build from component comp
  • module C buildrequires modules A and B
  • module C specifies xmd: mbs_options: repo_include_all: True in its modulemd

Expected behaviour:

  • both rpm-a and rpm-b are available in buildroots of module C component builds

Actual behaviour:

  • only one of rpm-a and rpm-b are available in buildroots of module C component builds

When Koji generates build repos for tag with external repos, it first generates "pre-merge" repo from the tag. Pre-merge repo includes RPMs from all inherited builds. When repo_include_all=True is set for the tag, all RPMs are included, not only from latest builds. However, when external repos are merged with pre-merge repo, duplicate RPMs are discarded and only some of them are kept.


Possible alternative solutions:

  • specify a different repo merge mode ("bare" or "simple") when repo_include_all is True
  • don't use external repos (fallback to the old implementation with tag inheritance) when repo_include_all is True

@mizdebsk, Is this blocking something or causing real issues right now?

Yes, this is blocking maven:3.6 module development.

Oh I guess this also blocks Eclipse module

@jkaluza where are we on this?

I know this PR was made to support "bare" merge mode:
https://pagure.io/fm-orchestrator/pull-request/1403

What other steps are there?

@mprahl, we should be ready to set "bare" merge mode for external repos. This needs to be done by Mohan (or some other person maintaining the platform Koji tags).

Info how to do that can be found in https://docs.pagure.org/koji/release_notes_1.17/#system-changes.

@jkaluza could you please reach out to Mohan or Fedora Infra after we deploy v2.28.3+ in Fedora Infra?

Is there any progress here? We already have module-build-service-2.29.1-1.el7.infra.noarch deployed in production.

@mprahl, so, in theory, we could configure "bare" merge repo mode in the koji_tag_extra_opts and together with the change we did in MBS recently add "Conflict" for non-modular packages, this should start working. Am I right?

If you give me +1, I would setup Koji in Fedora staging like that to test it.

We tested this in Fedora staging today and @mizdebsk verified it fixes this issue for him.

From upstream side, this is fixed I think.

We will need Mohan or Mikolaj to change Koji prod configuration after the fedora infra freeze, but no MBS change is needed for that.

I'm closing this as Fixed based on the discussion I've just had on IRC with @mizdebsk.

Metadata Update from @jkaluza:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

4 years ago

Login to comment on this ticket.

Metadata