Ben Rosser wrote:
Only if you consider packaging metadata to be part of "the code
I guess that's the crux of the issue, some people want to treat it
this way and others don't.
Packaging metadata has no business being part of the upstream code. Even for
code bases where I am both the upstream developer and the downstream
packager, experience has taught me to keep them separate.
The main issue with including the specfile in the upstream repository is
release timing: The right time to update the downstream package is
immediately AFTER the upstream release. (Before that, you don't even have a
valid Source URL to point to.) But then if you need to change the specfile
for whatever reason, the tarball will contain an outdated specfile (unless
you respin it in place, which is heavily frowned upon). Hence, a tarball
should NEVER contain the specfile.
I keep my specfiles for official Fedora packages in Fedora dist-git, and any
other specfiles in dedicated specfile repositories, but NEVER in the
upstream source tree. The only case where there is only one repository is
packages that are so trivial that there is no source tarball at all, e.g.,
kannolo-release. But those are technically downstream-only packages, not