Commit 4fb5f012 authored by iTitou's avatar iTitou

py/makeversionhdr: Honor SOURCE_DATE_EPOCH if present.

This environment variable, if defined during the build process,
indicates a fixed time that should be used in place of "now" when
such a time is explicitely referenced.

This allows for reproducible builds of micropython.
See https://reproducible-builds.org/specs/source-date-epoch/Signed-off-by: default avatariTitou <moiandme@gmail.com>
parent ef9fde73
......@@ -80,6 +80,12 @@ def make_version_header(filename):
git_tag, git_hash = info
build_date = datetime.date.today()
if "SOURCE_DATE_EPOCH" in os.environ:
build_date = datetime.datetime.utcfromtimestamp(
int(os.environ["SOURCE_DATE_EPOCH"])
).date()
# Generate the file with the git and version info
file_data = """\
// This file was generated by py/makeversionhdr.py
......@@ -89,7 +95,7 @@ def make_version_header(filename):
""" % (
git_tag,
git_hash,
datetime.date.today().strftime("%Y-%m-%d"),
build_date.strftime("%Y-%m-%d"),
)
# Check if the file contents changed from last time
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment