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

Reply via email to