aboutsummaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorJuro Bystricky <juro.bystricky@intel.com>2018-03-01 14:53:18 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-03 17:08:32 +0000
commit46a39fe9fa2bc8f58ec822434b9ace9ab5572c82 (patch)
treee3d9962ce2cab7163a715e6cd798f6e079774242 /meta
parentf1f09f16911c4d9c6510aaa0acf88b100a08fa27 (diff)
downloadopenembedded-core-contrib-46a39fe9fa2bc8f58ec822434b9ace9ab5572c82.tar.gz
libjpeg-turbo: improve reproducibility
Build date ends up embbedded in binary images, breaking reproducibility of jpeg-tools and libturbojpeg. To enable reproducible builds, build date can be specified during configuration, via "--with_build_date=<date>". If SOURCE_DATE_EPOCH is specified we configure libjpeg-turbo with this value as build date. Although the build date is a generic string, we keep it in the same format YYYYMMDD. [YOCTO #12526] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.3.bb8
1 files changed, 8 insertions, 0 deletions
diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.3.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.3.bb
index 8809f2c7cc3..50a5ae08507 100644
--- a/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.3.bb
+++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.3.bb
@@ -40,6 +40,14 @@ EXTRA_OECONF_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf
EXTRA_OECONF_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "--without-simd", d)}"
EXTRA_OECONF_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "--without-simd", d)}"
+def get_build_time(d):
+ if d.getVar('SOURCE_DATE_EPOCH') != None:
+ import datetime
+ return " --with-build-date="+ datetime.datetime.fromtimestamp(float(d.getVar('SOURCE_DATE_EPOCH'))).strftime("%Y%m%d")
+ return ""
+
+EXTRA_OECONF_append_class-target = "${@get_build_time(d)}"
+
PACKAGES =+ "jpeg-tools libturbojpeg"
DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."