Go utilities for tracking build information

go get


Go build information utilities

These are some small build information utilities I wrote for tracking Go binary version information. Rather than trying to assign a linear version number to a binary, the tag names and version control commit hashes of all dependencies are tracked. This information is then burnt into the binary at build time.

You use the shell script gen, included, to generate the version information blob. It outputs arguments suitable for go build, so you can use it like go build ./... -ldflags "$($GOPATH/src/ ./...)".

For upstream packagers

OS upstream packagers which want to specify their own information may do so: simply set the string variable at build time, by passing -ldflags -X to go build. This expects base64-encoded data in a particular format.

If you want to specify an arbitrary freeform string instead, set BuildInfo instead of RawBuildInfo. The string you specify will be used verbatim without modification.


go install -ldflags '-X"Packaged by Distro X"' \ 

Previous location

This package was previously located at Packagers setting will need to change to