[SeaBIOS] [PATCH 3/3] build: Generate "reproducible" version strings on "clean" builds

Kevin O'Connor kevin at koconnor.net
Tue Oct 13 22:20:29 CEST 2015


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 <kevin at koconnor.net>
---
 scripts/buildversion.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/scripts/buildversion.py b/scripts/buildversion.py
index baaae57..d12d623 100644
--- 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.4.3




More information about the SeaBIOS mailing list