]> code.ossystems Code Review - openembedded-core.git/commitdiff
perl: improve reproducibility
authorRoss Burton <ross.burton@intel.com>
Fri, 10 Jan 2020 17:24:21 +0000 (17:24 +0000)
committerArmin Kuster <akuster808@gmail.com>
Sun, 23 Feb 2020 17:34:04 +0000 (09:34 -0800)
Occasionally the reproducibility selftest fails because perl-pod differs,
specifically that the perltoc.pod file was sometimes missing modules.

Debugging revealed that there are missing dependencies so there is a build race:
building perltoc.pod from an clean build tree results in no modules being listed
at all.

A bug has been filed at https://github.com/arsv/perl-cross/issues/86 to solve
this properly, but for now we can just delete perltoc.pod after make has
finished and re-generate it.

[ YOCTO #13726 ]

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7e0f6c9ea4f824f29dc30c6631fd8039ebe83a0b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/recipes-devtools/perl/perl_5.30.1.bb

index c68ffb1376ca155351e2bb08e5b163e4aca160a6..15bc5a43fed2c2b8c92bb7c00d1489d7ba449b20 100644 (file)
@@ -112,6 +112,14 @@ print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %
 
 do_compile() {
     oe_runmake
+    # This isn't generated reliably so delete and re-generate.
+    # https://github.com/arsv/perl-cross/issues/86
+
+    if [ -e pod/perltoc.pod ]; then
+        bbnote Rebuilding perltoc.pod
+        rm -f pod/perltoc.pod
+        oe_runmake pod/perltoc.pod
+    fi
 }
 
 do_install() {