[OE-core] [PATCH v2] perl: Set build date to SOURCE_DATE_EPOCH
Joshua Watt
jpewhacker at gmail.com
Fri May 31 13:59:53 UTC 2019
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 <JPEWhacker at gmail.com>
---
meta/recipes-devtools/perl-sanity/perl_5.28.2.bb | 10 ++++++++++
1 file changed, 10 insertions(+)
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 f175e87a12e..540b9f2df3b 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
}
--
2.21.0
More information about the Openembedded-core
mailing list