I want to find out the exact versions of dependencies a Go rpm package was built against. This would be useful information to record in an rpm tag.
Currently you can only find this information in the build root.log. Example for package hugo: build.log:
golang-github-afex-hystrix-devel-0-0.10.20190622gitfa1af6a.fc37.noarch golang-github-agext-levenshtein-devel-1.2.3-8.fc38.noarch golang-github-ahmetb-linq-3-devel-3.2.0-1.fc38.noarch golang-github-akavel-rsrc-devel-0.10.2-6.fc37.noarch golang-github-alcortesm-tgz-devel-0-0.14.20180405git9c5fe88.fc37.noarch golang-github-alecthomas-chroma-2-devel-2.3.0-2.fc38.noarch
Debian go packages record the exact versions of dependencies the package was built against in a Static-Built-Using tag, which can be queried with apt show or dpkg-deb -I (see https://manpages.debian.org/unstable/dh-golang/dh_golang.1p.en.html for further detail).
apt show
dpkg-deb -I
via https://lists.fedoraproject.org/archives/list/golang@lists.fedoraproject.org/thread/ZRMHIBP3CATMNI6JNJL3BLHZD2M6MKGW/
You cannot cannot set arbitrary RPM tags.
This is a general problem that's not specific to Go. This would be better to take up with RPM itself.
Thanks. I'll consider reporting upstream at rpm.
Metadata Update from @matthickford: - Issue status updated to: Closed (was: Open)
Well ... it would be possible to record it in Provides tag, which is already used for similar things like bundled(foo). We were thinking about adding Provides generator for Rust packages that would add something like Provides: builtwith(crate(regex)) = 1.7.0, but due to lack of time, that wasn't explored further.
Provides
bundled(foo)
Provides: builtwith(crate(regex)) = 1.7.0
Log in to comment on this ticket.