Say why we allow override of build timestamp

It's for reproducible builds.

Also, fix Python formatting.
This commit is contained in:
David Neto 2017-01-17 15:41:23 -05:00
parent 29b37fb310
commit 699943d297
2 changed files with 11 additions and 3 deletions

View File

@ -3,6 +3,8 @@ Revision history for SPIRV-Tools
v2016.7-dev 2017-01-06
- Add build target spirv-tools-vimsyntax to generate spvasm.vim, a SPIR-V
assembly syntax file for Vim.
- Version string: Allow overriding of wall clock timestamp with contents
of environment variable SOURCE_DATE_EPOCH.
- Fixes:
#508: Support compilation under CYGWIN
#517: Fix validation when continue (or case) contstruct is also the head of a

View File

@ -110,9 +110,15 @@ def describe(directory):
return command_output(
['git', 'rev-parse', 'HEAD'], directory).rstrip().decode()
except:
return 'unknown hash, {}'.format(datetime.date.fromtimestamp(
int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))
).isoformat())
# This is the fallback case where git gives us no information,
# e.g. because the source tree might not be in a git tree.
# In this case, usually use a timestamp. However, to ensure
# reproducible builds, allow the builder to override the wall
# clock time with enviornment variable SOURCE_DATE_EPOCH
# containing a (presumably) fixed timestamp.
timestamp = int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))
formatted = datetime.date.fromtimestamp(timestamp).isoformat()
return 'unknown hash, {}'.format(formatted)
def main():