From: Joshua Watt Date: Fri, 31 May 2019 13:59:53 +0000 (-0500) Subject: perl: Set build date to SOURCE_DATE_EPOCH X-Git-Tag: uninative-2.6~216 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=0ab44c72d0fb9b1d110ba975273b520cea5bf29f;p=openembedded-core.git perl: Set build date to SOURCE_DATE_EPOCH Perl uses an internal #define called PERL_BUILD_DATE as the string for the date when perl was built. If undefined, it defaults to using __DATE__ and __TIME__, which is not reproducible. If SOURCE_DATE_EPOCH is set at do_configure time, use it to generate a reproducible string for PERL_BUILD_DATE. Signed-off-by: Joshua Watt Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb b/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb index f175e87a12..540b9f2df3 100644 --- a/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb +++ b/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb @@ -90,6 +90,16 @@ do_configure_class-native() { -Ui_xlocale } +do_configure_append() { + if [ -n "$SOURCE_DATE_EPOCH" ]; then + PERL_BUILD_DATE="$(${PYTHON} -c "\ +from datetime import datetime, timezone; \ +print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %d %H:%M:%S %Y')) \ + ")" + echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h + fi +} + do_compile() { oe_runmake }