From 1ecf38cb2fa82ccbfdcb60fd4115e494feda2733 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Sun, 5 Nov 2017 10:14:56 +0100 Subject: [PATCH] core/reproducible: do not override SOURCE_DATE_EPOCH MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SOURCE_DATE_EPOCH is currently forcibly set (to either the git commit date, or the last release date). However, the spec mandates that it should not be modified if already set: https://reproducible-builds.org/specs/source-date-epoch/ Build systems MUST NOT overwrite this variable for child processes to consume if it is already present. Abide by the rule, and only set it if not already set. This will allow users to pass it from an upper-layer buildsystem (e.g. a jenkins or gitlab-ci job, for example), when they have a reson to do so. Reported-by: Peter Korsgaard Reported-by: Einar Jón Gunnarsson Signed-off-by: "Yann E. MORIN" Cc: Peter Korsgaard Cc: Einar Jón Gunnarsson Cc: Thomas Petazzoni Cc: Arnout Vandecappelle Signed-off-by: Peter Korsgaard (cherry picked from commit 0437d2f8f6ef8c10b529c154f4534453ce34607b) Signed-off-by: Peter Korsgaard --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index eb02092d15..39db0c1240 100644 --- a/Makefile +++ b/Makefile @@ -254,7 +254,7 @@ export LANG = C export LC_ALL = C export GZIP = -n BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at) -export SOURCE_DATE_EPOCH = $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH)) +export SOURCE_DATE_EPOCH ?= $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH)) DEPENDENCIES_HOST_PREREQ += host-fakedate endif