build: Allow to override build date with SOURCE_DATE_EPOCH 19/23819/6
authorBernhard M. Wiedemann <bwiedemann@suse.de>
Thu, 5 Dec 2019 15:51:26 +0000 (16:51 +0100)
committerDamjan Marion <dmarion@me.com>
Tue, 17 Dec 2019 18:03:56 +0000 (18:03 +0000)
commit3d14f036199d9b3098268821424b4e6f5e8f46dc
tree82702aa36d6029f49a5d9e12a098f2619d1e6d58
parent62d9fda8e474f87459c6e24d13b09f7bfec146f3
build: Allow to override build date with SOURCE_DATE_EPOCH

and make host and user overridable
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Also switch to UTC to be independent of timezone.
Also use ISO 8601 date format to be easier to parse.
This is similar to c9f40227836b827b71a6cbc4744d4b7151b2fcef
and df82ec8fe7d91467c8b479bba74c761c0a6ffc59
which was lost in the move away from automake.

Note: This date call is designed to work with different flavors
of date (GNU, BSD and others).
If only GNU (Linux) support is needed, the patch can be simplified.

This PR was done while working on reproducible builds for openSUSE.

Type: fix

Change-Id: If4cab12320e6b5fcb1f2842fac5d745b33b01ed7
Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
src/scripts/generate_version_h