diff options
author | Bill Richardson <wfrichar@chromium.org> | 2015-02-24 08:55:01 -0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-02-25 03:33:18 +0000 |
commit | 8a94ea4fbd7ef283af35ec5aa472a819f5a2a337 (patch) | |
tree | de0e2c69572363eefb20665d1a1cddccdbca8fcd /util | |
parent | e20d019fc4494d2340b227ed0c42c29ca39c85d3 (diff) | |
download | chrome-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-x | util/getversion.sh | 7 |
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" |