Re: Let's talk about Fedora in the '20s!

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

 



On Tue, Jan 07, 2020 at 10:36:33AM +0100, Vít Ondruch wrote:
> 
> Dne 06. 01. 20 v 19:08 Nicolas Mailhot via devel napsal(a):
> > Le 2020-01-06 19:05, Nicolas Mailhot a écrit :
> >
> >> Handling those checks is where the packaging toil is (that is, as long
> >> as Fedora is a deployment project). It is not something the packaging
> >> format makes harder.
> >
> > However, because our packaging format streamlines those checks, and
> > forces to apply them, it is blamed by devs for the impedance mismatch
> > between dev and deployment requirements.

I think everyone is right ;)

It is pretty clear that we've simplified rpm packaging massively over the
last few years. It is enough to take a random spec file from 10 years ago,
with all the fragile manual steps and compare it with modern spec file
that is often just a bit of boilerplate to provide the name, version, license
and description, and then call some macros that do all the heavy lifting.

We've made great strides in making to bring rpm and upstream packaging
closer. And this has been an effort on both sides, both upstream to
accommodate workflows required by distros, and on the distro side to
wrap those workflows: automatically generated spec for rust packages,
pyproject macros, etc, etc. Also spdx licenses, automatic github tarballs…

But it is clear that this automatization process is far from complete.
And to stay relevant, we (and other distros) need to keep up this work.
Without that, we'll never keep up with the infinite supply of upstream
projects and we'll stop being useful to users.

> We're not adding meaningful end-user value by manually repackaging these in
> our own format. We _do_ add value by vetting licenses and insuring
> availability and consistency, but I think we can find better ways to do
> that.

Agreed, with the "manually" part. I think we need to streamline the
process, and only require manual operation when unavoidable.  I would
like to be in a state where "packaging" of various projects using
language-specific frameworks is as simple as flipping a switch in some
web interface.

Matthew Miller wrote:
> I think the "source git" project is an interesting step here.

OK, as long as we're "just" changing the delivery format (i.e. git archive
instead of a tarball), but not trying to package the master branches
of various projects. I.e. this must not be about absolving upstreams from
having to do releases, but just about cutting out the antiquated
intermediate tarball step.

> > But, this mismatch is not caused by our packaging format. It is caused
> > by devs taking shortcuts because their language packaging format lets
> > them.
> >
> 
> Well said Nicolas.
> 
> Embracing the "language-native packaging" and "git repos" is giving up
> on what Fedora maintainers have always did and that is kicking forward
> all the upstreams, because we force them to keep updating the
> dependencies (or to maintain compatibility with old versions of
> dependencies). Once we embrace "git repos" etc, we will lose our soul
> IMO. There won't be any collaboration between upstream projects, which
> was cultivated by distribution maintainers. Upstreams will sit in their
> silos and bundle everything.
> 
> Also, just today I had discussion if Ruby packages should be more Fedora
> tailored or more upstream like and there is no right way which could
> reasonably satisfy both worlds.
> 
> E.g. if upstream package has Windows specific dependencies, it is kind
> of natural to strip this dependency on Fedora. OTOH, it possibly breaks
> a dependency resolving on other platforms, if the project was created
> using Fedora packages. This is unfortunately the reason for devs to take
> some shortcut, probably to go with upstream way, because if nothing
> else, it is typically better documented.

I don't know anything about ruby packaging, but I assume that this
issue is similar in rust: a solution where upstream and the distro
cooperate is required. Dependencies need to be conditionalized by
architecture, and downstream packaging needs to use those conditionals
as appropriate. In rust, sadly, this is still not the case
(https://pagure.io/fedora-rust/rust2rpm/issue/2,
https://github.com/rust-lang/cargo/issues/5133). I'm sure we need to
and can "reasonably satisfy both worlds".

Zbyszek
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@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