#971 Remove yum dependence
Closed: Fixed 3 years ago by dgregor. Opened 5 years ago by mikem.

It should be possible to run any part of Koji without yum present, possibly with reduced functionality.

Here are the places we are currently importing yum:

  • In the cli: yum.comps
    • this one is ok, we try libcomps first and do not require the import to work
  • In builder/mergerepos
    • we import yum and yum.misc
    • this code can be avoided with use_createrepo_c, so this is less of a priority
  • in builder/kojid, for dist repos
    • we import yum.packages and yum.Errors
    • yum.Errors appears to be unused
    • yum.packages is only used for dist repos, so as a temporary step, we could make this a
      soft dep and disable multilib distrepo functionality
  • in builder/koji to find the pkgorigin data added to the repo by mergerepos
    • used any time a task generates a buildroot that involves an external repo
    • not really feasible to make this a soft dep

kojid also uses repoMDObject from yum for external repo processing.

The drop-in alternative for this is pyrpmmd.

An alternative module (that offers a different API and is Python 3 only) is repomd from @carlwgeorge.

I'm also using librepo from dnf in my testing branch for kojid conversion to py3.

kojid also uses repoMDObject from yum for external repo processing.

That is the fourth case, i.e. finding pkgorigin data.

The multilib logic should be ported to python-multilib. That's the module used for multilibbing in Pungi, and it should suffice for Koji's needs too.

Hey guys, what's the status of this one? Please note we really are going to drop YUM-3 from Fedora soon.

@mdomonko Poke someone with a really pointy stick about https://pagure.io/koji/pull-request/1117

That's that PR that fixes this issue.

Is anything left to do for this issue? https://pagure.io/koji/pull-request/1117 was merged a while back and included in 1.17

Metadata Update from @dgregor:
- Custom field Size adjusted to None

4 years ago

#1117 didn't list this issue, so it wasn't auto-closed.

We do still have the mergerepos script that imports yum, but it is only run if:

  • merge_mode=simple is used for an external repo
  • use_createrepo_c is set to False (default is now True)

I don't know if that part is worth holding this bug up over.

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

3 years ago

Login to comment on this ticket.