On Wed, Jun 24, 2020 at 12:03:05PM +0200, Nicolas Mailhot via devel wrote:
Le mercredi 24 juin 2020 à 11:56 +0200, Petr Pisar a écrit :
> I see. I focused on having the stream information on RPM level. Then the
> answer is no, the package name does not contain the information.
>
> My idea was that DNF could discriminate the same-name package using the
> ModularityLabel tag instead of relying on modulemd documents delivered in
> the repository metadata.
One problem of having it a tag (which we do not even have in Fedora)
I believe having it in Fedora is only a matter of changing MBS configuration.
is that it requires rewriting dependency resolution logic at dnf
level,
DNF has a steadfast idea that an upgrade path is only based on a package name.
Without changes in DNF, DNF will either switch a stream just because a package
from a concurrent stream has a higher version, or will complain that it cannot
upgrade to the lastest version. Neither of the options is a desired behavior.
Thus I believe that changing DNF is inevitable.
and a Tag does not come with all the dependency manipulation verbs
we
have evolved over the years for Provides and Requires.
ModularityLabel designates an affilation to a stream. That can be reduced to
"Requires: module(name:stream)" or "Requires: module(name) = stream".
I'm not
agaist abusing Requires for that purpose. But it alone won't fix the issue with
enforcing a presence of a stream I drafted above.
-- Petr