summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorBill Richardson <wfrichar@chromium.org>2015-02-24 08:55:01 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-02-25 03:33:18 +0000
commit8a94ea4fbd7ef283af35ec5aa472a819f5a2a337 (patch)
treede0e2c69572363eefb20665d1a1cddccdbca8fcd /util
parente20d019fc4494d2340b227ed0c42c29ca39c85d3 (diff)
downloadchrome-ec-8a94ea4fbd7ef283af35ec5aa472a819f5a2a337.tar.gz
Add USE_GIT_DATE=1 to make args to build repeatable images
Up until now, every image includes the time of compilation in the build information. This makes it impossible to verify that a particular image came from a particular source code snapshot. With this change, specifying USE_GIT_DATE=1 to the make command will use the author date of HEAD as the timestamp. That means that successive builds from the same source will produce bitwise-identical output (assuming the same toolchain, of course). BUG=none BRANCH=none TEST=manual Do this twice: \rm -rf build make BOARD=cr50 USE_GIT_DATE=1 md5sum build/cr50/ec.bin The md5sum should be the same for both runs. Change-Id: If64307101a453cb13c62fa003f1bf432f4998273 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/252751 Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'util')
-rwxr-xr-xutil/getversion.sh7
1 files changed, 7 insertions, 0 deletions
diff --git a/util/getversion.sh b/util/getversion.sh
index c1da044690..798bb51448 100755
--- a/util/getversion.sh
+++ b/util/getversion.sh
@@ -31,6 +31,8 @@ fi
ver="${BOARD}_${vbase}"
+gitdate=$(git log -1 --format='%ai' HEAD | cut -d ' ' -f '1 2')
+
echo "/* This file is generated by util/getversion.sh */"
echo "/* Version string for use by common/version.c */"
@@ -47,3 +49,8 @@ echo "/* Sub-fields for use in Makefile.rules and to form build info string"
echo " * in common/version.c. */"
echo "#define VERSION \"${ver}\""
echo "#define BUILDER \"${USER}@`hostname`\""
+
+echo "/* Author date of last commit, in case compile-time is not used. */"
+echo "#ifndef DATE"
+echo "#define DATE \"${gitdate}\""
+echo "#endif"