From: Juro Bystricky Date: Thu, 1 Mar 2018 22:53:18 +0000 (-0800) Subject: libjpeg-turbo: improve reproducibility X-Git-Tag: uninative-1.8~177 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=46a39fe9fa2bc8f58ec822434b9ace9ab5572c82;p=openembedded-core.git 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=". 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 Signed-off-by: Ross Burton --- 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 8809f2c7cc..50a5ae0850 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."