summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorJuro Bystricky <juro.bystricky@intel.com>2018-03-20 15:34:19 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-25 09:40:42 +0100
commitcf6f3c023cfa731ce061949135e255458d474964 (patch)
treedd569929bfc225460f0c845b7d887c82a030bd8a /meta/recipes-devtools
parent7cd6442613353b93ab6a2fe8f0dd6f2c9fa18afb (diff)
downloadpoky-cf6f3c023cfa731ce061949135e255458d474964.tar.gz
reproducible_build.bbclass: support for binary reproducibility
Setup environment for builds requiring binary reproducibility. Determine and export SOURCE_DATE_EPOCH per each recipe. This is a crucial step to achieve binary reproducibility. The value for this variable (timestamp) is obtained after source code for a recipe has been unpacked, but before it is patched. If the code sources come from a GIT repo, we get the timestamp from the top commit. (GIT repo does not preserve file mktime timestamps). Otherwise, if GIT repo is not present, we try to get mtime from known files such as NEWS, ChangeLog, etc. If this also fails, we go through all files and get the timestamp from the youngest one. We create an individual timestamp for each recipe. The timestamp is stored in the file '__source_date_epoch.txt' (in the folder source-date-epoch_). Later on, each task reads this file and sets the exported value of SOURCE_DATE_EPOCH to the value found in the file. Uasge: INHERIT += "reproducible_build" [YOCTO#11178] [YOCTO#11179] (From OE-Core rev: cc438ac7711dedbe05d654e99af9316c9215b02e) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
0 files changed, 0 insertions, 0 deletions