Re: Proposed official change to EPEL guidelines: modules and RHEL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Feb 15, 2020 at 07:15:55PM -0700, Ken Dreyer wrote:
> On Thu, Feb 13, 2020 at 5:54 AM Matthew Miller <mattdm@xxxxxxxxxxxxxxxxx> wrote:
> >
> >   In EPEL 8 or later, it is permitted to have module streams which contain
> >   packages with alternate versions to those provided in RHEL. These packages
> >   may be newer, built with different options, or even older to serve
> >   compatibility needs. These MUST NOT be the default stream -- in every
> >   case, explicit user action must be required to opt in to these versions.
> 
> Is there any chance that a module in EPEL 8 will be named identically
> to a module in RHEL 8? If that happens, what is the process to choose
> between RHEL's module and EPEL's module?
> 
> This is not entirely hypothetical :) We face this situation if we
> consider putting Ceph into a module in RHEL 8 and a module in EPEL 8.
> 
This was discussed in fall last year without any conclusion. There was
a proposal force all EPEL streams having a prefix (e.g "epel-") to prevent
from clashes.

In my opinion the situation with same named streams is similar to situation
with same named packages. If RHEL is going to add new package that already
exists in EPEL, RHEL uses an higher NEVRA of the package and EPEL will remove
the package later. You can do the same with module streams.

Module streams also have versions. The version is based on a RHEL version and
a time when the module was built. That itself ensures incrasing stream
versions. But that's not enough to ensure an upgrade path on package level.

The reason is that if a stream is enabled, all of its versions that exist in
the repositories are inspected and all of their packages are made available. That
means that if a RHEL repository contains multiple versions of a stream, then
DNF will see all the historical packages. That would apply to EPEL
repositories too.

A solution is that RHEL will ensurure that each package of the stream will
have an higher NEVRA than the EPEL one. See it's the same as with non-modular
packages. The only difference is that you need account more packages than the
usual one.

The only remaining issue is what to do with packages that existed in EPEL
repository but were not added into RHEL repository. Well, technically it does
not matter that there is an old package.

When it would matter is when RHEL decided to add the package as non-modular
one and at the same time the RHEL stream would be a default one. Then DNF
would prefer the old modular package because the stream is default now. EPEL
could solve it by removing the old module from its repositories. But what if
the the user had already have the package from EPEL stream installed. In that
case, I believe, I'm not sure how exactly DNF implements it, DNF would kept
considering the package as modular because DNF cashes modular metadata of
installed packages for the case when a repository becomes unavailable.

A long term solution is DNF to support obsoleting modular packages by
non-modular packages or handling end-of-life streams better. As far as I know
this has not yet been designed, neither implemented.

So the bottom line is: Prefixed streams should provide a bullet proof
mitigation. Until DNF gains the ability to obsolete a stream, there will be
slight risk of creeping out-dated EPEL content into the installation.

-- Petr

Attachment: signature.asc
Description: PGP signature

_______________________________________________
epel-devel mailing list -- epel-devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to epel-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/epel-devel@xxxxxxxxxxxxxxxxxxxxxxx

[Index of Archives]     [Fedora Announce]     [Fedora News]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Announce]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora QA]     [Fedora Triage]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Linux Apps]     [Gnome Users]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Maemo Users]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Fedora ARM]

  Powered by Linux