#51 Record exact package versions satisfying BuildRequires in an rpm tag
Closed 2 years ago by matthickford. Opened 2 years ago by matthickford.

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).

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)

2 years ago

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.

Log in to comment on this ticket.

Metadata