On 2017-08-28, Matthew Miller <mat...@fedoraproject.org> wrote:
>> > Modularity will allowing *us* at the packaging end to separate source 
>> > and spec lifecycle from binary and artifact lifecycle.
>> That, by itself, is not a goal. It is a way to achieve an unspecified goal.
>
> Sure, that's fair. Here's the goal: users will have more options
> without exponentially increasing work for packagers and
> distro-creators.
>
This is not currently true. Actually the reality is opposite.

If a module needs a build-time dependency, the packager must add it
including all recursive dependencies into the module's modulemd file. If
another packager wants to create another module with the same build-time
dependency, he needs to do it again. So now you have to maintain the
same thing twice.

Pure theoratically that could have been resolved by creating a new
module with the common dependency, but that means we would have to
create a module for every package.

And that's very labor intensive. And it cannot be automated because
Fedora packages constitute a graph. Not a tree. A packager must come and cut
build cycles or optional features to make the dependency chain sane and
buildable. And such a common dependency module cannot satisfy everybody
because it will be missing the required optional features that were
removed.

Traditional Fedora manages the enormous work of maintanance by
distributing it among packagers so that everybody cares only about her
packages. If we want to create modular Fedora comparable in feature sets
with the traditional Fedora, we must levarage this technique.

Each source package must declare its dependencies and set of optional
features so that it will be possible to compute minimal dependency tree
for a given package programatically.

RPM cannot do it now. We only have build conditions (%bcond_without)
that cannot be handled programatcially. We must change it, oterwise
modular Fedora is doomed.

-- Petr
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org

Reply via email to