#1336 RFC: Dropping Koji's mergerepos program and hard depending on createrepo_c for Koji 1.19
Closed: Dropped 4 years ago by tkopecek. Opened 5 years ago by ngompa.

I'd like to propose dropping /usr/libexec/kojid/mergerepos from Koji and making a hard dependency on createrepo_c since it's available in EL6 and up with the requisite Koji behavior. This eliminates the only remaining hard Python 2 dependency in Koji, and drops the only hard YUM dependency in Koji too.

Moreoever, Fedora's Koji instance already uses createrepo_c across the board, and the patch in #1278 is applied to the Fedora and Mageia Koji packages to remove the default requirement for YUM.

I've got a patch in the works for doing this, but I am interested in feedback.

I'm contemplating a couple of approaches for the configuration in kojid for this:

  • Stubbing out the option to use createrepo_c (to not break backwards compatibility on config files) and ignoring it
  • Flat out removing support for the option

I'm not sure what our compatibility guideline is for this, but on the most conservative side, I'd just stub the option so that it has no effect. I don't think kojid would choke if I fully removed its ability to parse that option, but I'm not sure yet.


createrepo_c lacks behavior that mergerepos requires in some cases. We can't drop it.

@mikem This is news to me. My understanding is that mergerepo_c --koji implements the behavior we need.

What behavior is missing?

(cc: @dmach)

@mikem Also note, YUM has been retired in Fedora Rawhide, so this is already broken...

Sorry guys, I'm not familiar with the mergerepo_c --koji option at all. I only learned about its existence from this issue. Seems like it was introduced in 2012:

commit 68eb78a458dee078260aaf98ee1b4849b2c67622
Author: Tomas Mlcoch <tmlcoch@redhat.com>
Date:   Wed Nov 7 16:21:33 2012 +0100

    Mergerepo support (koji) mergerepos behaviour

diff --git a/src/mergerepo_c.c b/src/mergerepo_c.c
index 02535e2..6c3c2b3 100644
--- a/src/mergerepo_c.c
+++ b/src/mergerepo_c.c

@tmlcoch, any idea?

I agree with @ngompa , mergerepo_c --koji should provide equal functionality.
IIRC it was designed to replace mergerepos.
It should be supported already: https://pagure.io/koji/pull-request/1#

If you find any incompatibilities, please file a bug on createrepo_c and we'll fix it as soon as possible.

mergerepo_c (and mergerepo) do not support the recently added simple merge mode. That is only in mergerepos

@tkopecek, @mikem: createrepo_c 0.13.0 has been released with support for Koji's simple merge mode.

Could we now consider ripping out Koji's own mergerepos?

I would like to, but #1404 arrived meanwhile, so maybe we will need to wait a bit before it will arrive there also.

@tkopecek That's already supported in createrepo_c 0.13.0 too.

Metadata Update from @dgregor:
- Custom field Size adjusted to None
- Issue set to the milestone: 1.19

4 years ago

It was agreed (see discussion in PR), that we will support our mergerepo for some longer time (+- aligned to RHEL6 support) as some features we have internaly (e.g. --bare merge mode) will not be backported to RHEL6-compatible mergerepo_c.

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

4 years ago

Metadata Update from @tkopecek:
- Issue set to the milestone: None (was: 1.19)

4 years ago

some features we have internaly (e.g. --bare merge mode) will not be backported to RHEL6-compatible mergerepo_c.

Who agreed to that?

Login to comment on this ticket.

Metadata
Related Pull Requests
  • #1615 Closed 4 years ago