From a1b4dd09d73d34308435ce6e77c986e6e25ee737 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Tue, 13 Oct 2015 15:49:03 -0400 Subject: [PATCH] build: Generate "reproducible" version strings on "clean" builds If the build environment looks "clean" then don't add the build hostname or build time to the version string. This makes the default build string reproducible across builds. Signed-off-by: Kevin O'Connor --- scripts/buildversion.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/buildversion.py b/scripts/buildversion.py index 56bfcfa..c3a83b0 100755 --- a/scripts/buildversion.py +++ b/scripts/buildversion.py @@ -92,14 +92,16 @@ def main(): cleanbuild, toolstr = tool_versions(options.tools) ver = git_version() + cleanbuild = cleanbuild and ver and 'dirty' not in ver if not ver: ver = file_version() if not ver: ver = "?" - btime = time.strftime("%Y%m%d_%H%M%S") - hostname = socket.gethostname() - ver = "%s-%s-%s%s" % (ver, btime, hostname, options.extra) - write_version(outfile, ver, toolstr) + if not cleanbuild: + btime = time.strftime("%Y%m%d_%H%M%S") + hostname = socket.gethostname() + ver = "%s-%s-%s" % (ver, btime, hostname) + write_version(outfile, ver + options.extra, toolstr) if __name__ == '__main__': main() -- 2.39.5