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