On Fri, Jun 21, 2019, 00:55 Adam Williamson <adamwill@fedoraproject.org> wrote:
On Thu, 2019-06-20 at 23:48 +0200, Igor Gnatenko wrote:
> Hello,
>
> I just wanted to give you an update from my last discussions on
> #fedora-modularity and other places.
>
> # Problems definition
>
> * Default modules can't have conflicting dependenices
> * Changing dependencies in a stream is not supported
>
> # Why does libgit2 has to be a module?
>
> libgit2 is not just one package. It is an ecosystem.
>
> Right now libgit2 module provides libgit2 itself and python bindings.
> While we can obviously provide libgit2_0.26, libgit2_0.27 and such,
> this does not help us with python packages. Nobody in sane mind will rename them
> and make them conflict (because they are not parallel-installable).
>
> I wanted to also add ruby bindings to a module, but I never got time
> to actually do it.
>
> # What about dependencies change?
>
> Let's not lock ourselves into libgit2 story, just take an abstract names.
>
> Module foo:rolling depends on bar:1. Name of stream "rolling" means to serve
> purpose of "user-focused content meant for general use". That means,
> if foo's upstream decided to update their bar dependency to a new version,
> foo:rolling maintainer would just switch dependency to bar:2.

AIUI, the issue here is that *there should not be* bar:1 and bar:2.
Module streams are supposed to be 'functional' (as in your 'rolling'
example). They are not supposed to be version numbers. This needs to be
more clearly explained in the guidelines and enforced, but the way the
modularity concept turned out, version-based module streams are *wrong*
and should not exist. I recall earlier designs along the way actually
sort of envisaged version-based module streams, but that is not how
it's supposed to work in the final design.

But ... if it's not for different version streams, then what *is it* for? 🤔
(What about the plans to offer different versions of e.g. NodeJS via streams? Is that wrong then, too?)

Being able to offer different versions is the only useful use-case I can think of, and if that's not the intended usage ... I don't know why we need it, or why somebody should use it at all ...

Fabio

--
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-leave@lists.fedoraproject.org
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/devel@lists.fedoraproject.org