Hi,
I accidentally realized today (in [1]), that RPM has a VCS tag. 396 Fedora packages use it, yay \o/
The tag is described (at [2]) as:
""" (Public) upstream source code VCS location. Format <vcs>:<address> with <vcs> being the VCS command used (e.g. git, svn, hg, …) and <address> being the location of the repository as used by the VCS tool to clone/checkout the repository (e.g. https://github.com/rpm-software-management/rpm.git). """
My understanding is the tag should look like this:
VCS: git:https://github.com/fedora-python/marshalparser.git
However, the 396 Fedora packages use it very weirdly.
268 packages omit the <vcs>: prefix (and the .git suffix, but most of the forges redirect without it, so it's likely moot):
VCS: https://github.com/zenon-prover/zenon
or
VCS: %{forgeurl}
109 packages add an extra scm: prefix (why?):
VCS: scm:git:https://github.com/SIPp/sipp.git
5 packages use git+ssh://:
VCS: git+git@github.com:ryncsn/memstrack.git
4 of them with a hardcoded commit hash:
VCS: git+https://pagure.io/rpm-git-tag-sort.git#0b8afd628229a41858f24692946e3b905d6e4...:
2 packages use git://:
VCS: git://git.kernel.org/pub/scm/linux/kernel/git/colyli/bcache-tools.git
Only 11 packages use git:, all of them with %{forgeurl0}:
VCS: git:%{forgeurl0}
or
Vcs: git:%{forgeurl0}
Are the 396-11 packages wrong?
[1] https://src.fedoraproject.org/rpms/python-BTrees/c/b13e97f40b840a21efddfa3f9... [2] https://rpm-software-management.github.io/rpm/manual/tags.html
On Mon, Jun 10, 2024 at 10:25 PM Miro Hrončok mhroncok@redhat.com wrote:
Hi,
I accidentally realized today (in [1]), that RPM has a VCS tag. 396 Fedora packages use it, yay \o/
The tag is described (at [2]) as:
""" (Public) upstream source code VCS location. Format <vcs>:<address> with <vcs> being the VCS command used (e.g. git, svn, hg, …) and <address> being the location of the repository as used by the VCS tool to clone/checkout the repository (e.g. https://github.com/rpm-software-management/rpm.git). """
(snip)
Are the 396-11 packages wrong?
I encountered this a few weeks ago too (due to https://pagure.io/fedora-rust/rust2rpm/pull-request/274).
Short answer to your question: As far as I can tell, yes. Apparently 396-11 packages that use this tag in Fedora do it in a way that does *not* match what is documented in the RPM docs.
Maybe there should be a discussion around deprecating the tag and removing it from packages, similar to what happened to Group tags?
Fabio
On 6/10/24 23:30, Fabio Valentini wrote:
On Mon, Jun 10, 2024 at 10:25 PM Miro Hrončok mhroncok@redhat.com wrote:
Hi,
I accidentally realized today (in [1]), that RPM has a VCS tag. 396 Fedora packages use it, yay \o/
The tag is described (at [2]) as:
""" (Public) upstream source code VCS location. Format <vcs>:<address> with <vcs> being the VCS command used (e.g. git, svn, hg, …) and <address> being the location of the repository as used by the VCS tool to clone/checkout the repository (e.g. https://github.com/rpm-software-management/rpm.git). """
(snip)
Are the 396-11 packages wrong?
I encountered this a few weeks ago too (due to https://pagure.io/fedora-rust/rust2rpm/pull-request/274).
Short answer to your question: As far as I can tell, yes. Apparently 396-11 packages that use this tag in Fedora do it in a way that does *not* match what is documented in the RPM docs.
The docs were added years after the tag itself, and there's zero enforcing on the format, so it's no wonder usage commonly doesn't match up with the description.
Maybe there should be a discussion around deprecating the tag and removing it from packages, similar to what happened to Group tags?
The VCS tag was one of the most popular requests at the time. I'd maybe try pointing people to the intended format instead, now that it's at least loosely documented.
- Panu -
On Mon, Jun 10, 2024 at 10:25:19PM +0200, Miro Hrončok wrote:
268 packages omit the <vcs>: prefix (and the .git suffix, but most of the forges redirect without it, so it's likely moot): VCS: https://github.com/zenon-prover/zenon or VCS: %{forgeurl}
At least github,gitlab,pagure do, so in practice this works.
2 packages use git://: VCS: git://git.kernel.org/pub/scm/linux/kernel/git/colyli/bcache-tools.git
This actually works too!
Only 11 packages use git:, all of them with %{forgeurl0}: VCS: git:%{forgeurl0} or Vcs: git:%{forgeurl0} Are the 396-11 packages wrong?
I think it'd be nice to have a prover packager "fix" those tags to conform to the current documentation. I think they _are_ useful for the case where upstream has a site which is suitable for humans and can go in URL: and then we can use the VCS: tag to link to the repo.
Zbyszek
packaging@lists.fedoraproject.org