On 2017-08-28, Matthew Miller <mattdm@xxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx