Bug 13606

Summary: perl isn't always reproducible
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Ross Burton <ross.burton>
Component: devtools / tool chainAssignee: Joshua Watt <JPEWhacker>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: High CC: akuster, JPEWhacker, meta.mr.watcher, meta.watcher, randy.macleod, richard.purdie
Version: 3.0   
Target Milestone: 3.1 M2   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Ross Burton 2019-10-21 16:49:54 UTC
The reproducible QA test fails for the following packages:

perl-dbg_5.30.0-r0_amd64.deb
perl-module-config-heavy_5.30.0-r0_amd64.deb
perl-module-digest-md5_5.30.0-r0_amd64.deb
perl-module-encode-byte_5.30.0-r0_amd64.deb
perl-module-encode-cn_5.30.0-r0_amd64.deb
perl-module-encode-ebcdic_5.30.0-r0_amd64.deb
perl-module-encode-jp_5.30.0-r0_amd64.deb
perl-module-encode-kr_5.30.0-r0_amd64.deb
perl-module-encode-symbol_5.30.0-r0_amd64.deb
perl-module-encode-tw_5.30.0-r0_amd64.deb
perl-module-encode_5.30.0-r0_amd64.deb
perl-module-tie-hash-namedcapture_5.30.0-r0_amd64.deb
perl-ptest_5.30.0-r0_amd64.deb
perl-src_5.30.0-r0_amd64.deb

Looks like this might be Fedora-as-host specific.
Comment 1 Ross Burton 2019-11-14 15:48:08 UTC
So one reason is that pod2man embeds the version in generated documentation, and if the pod2man version in two otherwise identical builds is different then the manpages change.

https://github.com/rossburton/meta-ross/blob/master/classes/insanitier.bbclass#L115 is a QA test to warn if manpages contain pod2man versions.

poky-contrib:ross/pod is a WIP branch that:
1) patches out the version number from perl-native, so builds using pod2man or the Pod module directly from perl-native don't embed the version
2) had a pod2man wrapper in HOSTTOOLS which removes the version from manpages written using host pod2man.  This should potentially be rewritten to use scripts/native-intercepts, which I forgot existed

However this doesn't remove all versions.  I suspect the remaining versions come from builds that are using the host perl and the Pod module directly instead of pod2man.  I'm not sure how to solve this.
Comment 2 Ross Burton 2019-11-28 16:44:04 UTC
*** Bug 13661 has been marked as a duplicate of this bug. ***
Comment 3 Ross Burton 2019-11-28 16:44:35 UTC
*** Bug 13633 has been marked as a duplicate of this bug. ***
Comment 4 Ross Burton 2019-12-19 16:01:29 UTC
Looks like we fixed this with e3d5f55c3e07eb6f99f25f25885a45c495b6647a which removes the reproducible problems in pod2man.