Re: Orphaning js-jquery

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

 



On 2019-04-26, Miro Hrončok <mhroncok@xxxxxxxxxx> wrote:
> On 26. 04. 19 10:55, Vít Ondruch wrote:
>> How does modularity make it easier though?
>>>
>>> It seems to me that it does the exact opposite - instead of having
>>> one version of each package to maintain I now have multiple versions
>>> to worry about! I mean obviously I could convert to a module and
>>> only maintain one version but what would be the point?
>> 
>> Converting to module does not mean maintaining one version. It means
>> that you have to maintain the one version on multiple versions of
>> Fedora, where previously this was not needed.
>> 
>> E.g. if there is new OpenSSL in Rawhide and Ruby needs to be modified
>> somehow, then the modification has to be compatible with older Fedoras,
>> whereas previously you would do that change just for Rawhide.
>> 
>> TBH, keeping modules alive is much harder then it was without modules.
>> Not even mentioning the possibility of having multiple versions ...
>
> And yet somehow, somebody considers that easier.
> I still try to understand that and I always fail.
>
Modularity was designed to have a module life cycle independent from the
underlying distribution. I.e. having one stream built from one sources
for multiple Fedoras. This is a benefit for users. (If we assume that
users care what version of software they use. We could maybe consider
users as developers in this matter.)

Having the same sources on multiple Fedoras of course implies a packager
has to maintain compatibility across multiple Fedoras. In the end it's
exactly what an upstream struggles for. If you are an upstream then you
want to enable your users to build the same code for multiple
distributions. It makes packagers to produce more upstreamable patches.
Is it more labour for packagers? Yes, it is. But it frees the packager
from worrying Did I apply the fix for all supported Fedoras? Do I have
to resolve merge conflicts when backporting patches? I believe this is
what Mikołaj found attractive and why decided for modules. This is
especially true for closed ecosystems like Java packages that have
almost no dependencies on non-Java stuff. In this perspective modularity
can be beneficial for packagers too.

Controversial property of modules are private build-time dependencies.
Modularity allows packagers to hide them and to not to support them (to
the extend that they work in my module). However, this privatisation has
costs. It means duplication of work unless two packager realize they can
refer to the same package from their modules. But the common package is
whose responsibility now? And looking back at users, poor users won't
get that package for free. Yes, I agree that that this aspect of
modularity hinders an integration role of packaging. Integrating
thousounds of pieces of software, all of them as first-class citizens
and offering them to users makes distributions very attractive for
developers or anyone who wants to fork or spin of flavour or extend
the distribution.

One can dispute that now nobody, especially developers, needs
distributions with a wide selection of software because everybody uses
containers and installs software from upstream bypassing distributor's
packages. Well, that may be true for closed ecosystems (like Java maven
artifacts, Ruby gems etc.), however, look at any CI configuration files
(those foo.yml poluting roots for git repositories).  They start with
"dnf install openssl-devel"-like incantation.  Distributions are not
dead. They are still needed. And will be needed untill those fancy
upstream ecosystems (CPAN, PyPI etc.) gets to know how integrate with
foreign pieces (e.g. with C libraries).

In my humble opinion modularity would be more beneficial if every RPM
package gets it's own that-package-contained module by default. This
plethora of modules would of course demand appropriate tooling. Tooling
as we have around RPM (repositories, composes, package managers). Or
vice versa instead of reinventig weel enable Koji to expand-build one
SRPM for multiple Fedoras. And enable composes to contain multiple
version of packages. And having the build-only packages/modules
in a separate "unsupported" repository or just flagged in metadata as
unsupported.

The issue with modules in Fedora is that they look like aliens (metadata
and tooling), behave like aliens (dnf system-upgrade) and are born like
aliens (MBS above Koji).

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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux