Zbigniew Jędrzejewski-Szmek wrote: > On Mon, Nov 16, 2020 at 09:01:15AM -0800, Adam Williamson wrote: >> On Mon, 2020-11-16 at 09:22 +0000, Zbigniew Jędrzejewski-Szmek wrote: >>> >>> (More generally: what would the point of keeping an "upstream" spec >>> file be? >> >> One common reason is to integrate maintenance and testing with code >> maintenance and testing, particularly to include package builds in CI >> runs. > > That argument does sound somewhat reasonable, but I don't think it > actually holds much water. > > Essentially, packages which do CI are packages which use modern build > systems. And with the modern build systems the spec file doesn't need to > be tweaked after each version bump. If a "modern" package needs the spec > file to be constantly adjusted just to build than something is very wrong. > > I expect that the great majority of projects that do CI are just fine > with using the "downstream" spec file, which can be easily pulled in > from dist-git for the build. Doing this also has the obvious advantage > that you can do CI on more than one downstream platform, using different > spec files or debian control files or whatever arch has, as appropriate, > without polluting the upstream repo with a dozen of downstream-specific > build instructions. > > Buuuut, even if it turns out that it's easier to keep the spec file in > upstream, the upstream can have copy of the spec file and that spec > file can diverge from the Fedora version. All that needs to happen is > that the changes are periodically synchronized (e.g. right before the > version bump in Fedora).
What you're missing with your "modern" build system argument is that the spec doesn't have to "constantly" be updated, but it is often ahead of downstream due to new files and dependencies. I can't speak for all maintainers but I do exactly what you propose: re-sync before each downstream package release. Differences are purposely kept to a minimum for this reason, so that diffs are easy to understand to limit mistakes. My project uses an upstream spec file for CI exactly as Adam describes. rob _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org 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@lists.fedoraproject.org