[CentOS] Oracle Linux - oracle-epel vs epel - dnf priority

Mon Dec 14 18:41:11 UTC 2020
Frank Cox <theatre at sasktel.net>

I'd like to run this by you guys and get your opinion.

For those of us who are considering moving to Oracle Linux (or at least doing some experimenting with it), I just had an idea for dealing with the fact that the oracle-el-epel apparently doesn't have all of the packages that are in the fedora-el-epel that we all know and love.

It makes sense to me to use the oracle epel with OL to the greatest extent possible simply because it's part of OL.

To get around the missing package issue, what about setting up both oracle-epel and fedora-epel, and then using the dnf priorities to pick the stuff from oracle-epel first and if it's not there then grab it from fedora-epel.

One issue that I can see (though it may not be an actual issue) is the way the priorities setting works:

QUOTE:
priority
    integer
    The priority value of this repository, default is 99. If there is more than one candidate package for a particular operation, the one from a repo with the lowest priority value is picked, possibly despite being less convenient otherwise (e.g. by being a lower version).
END OF QUOTE

By setting fedora-epel to a lower priority, the if a package we want is only in fedora-epel, we'll grab it from there.  But if that package has a dependency on another package version X  that can be found in fedora-epel and for some reason oracle-epel supplies only package version X-1, what happens then?  Is dnf smart enough to pick the higher-versioned (and required) package from fedora-epel even though it has a lower priority.

I'll try to explain that again.

I want to install Foo, which is only in fedora-epel.

Foo requires Bar version 2.0.

Bar 2.0 exists in fedora-epel, but oracle-epel has only Bar version 1.0.

What happens then?  Does dnf see that Foo requires Bar-2.0 and get it from fedora-epel even though it has a lower priority?

-- 
MELVILLE THEATRE ~ Real D 3D Digital Cinema ~ www.melvilletheatre.com