Bug 13200

Summary: perl-rdepends.txt missing many dependencies for perl-module-test-more
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Tim Orling <tim.orling>
Component: coreAssignee: Tim Orling <tim.orling>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: meta.mr.watcher, meta.watcher, richard.purdie, ross.burton
Version: 2.7   
Target Milestone: 2.8 M2   
Hardware: x86   
OS: Multiple   
Whiteboard: Backport to 2.7
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know
Attachments:
Description Flags
Required dependencies to make perl-module-test-more functional none

Description Tim Orling 2019-02-24 06:21:56 UTC
Created attachment 4444 [details]
Required dependencies to make perl-module-test-more functional

The code to generate perl-rdepends.txt is missing a lot of dependencies for Test::More (and almost certainly other modules, but this is the one that blocks some ptest enablements I am working on). I believe that the auto builder jobs are including perl-modules and masking the missing dependencies. That is a not a solution for all use-cases (especially resource limited systems).

The attached diff is what is required to be able to actually make perl-module-test-more functional (as tested by `perl -MTest::More` in qemux86). This took hours of build-test-fix-repeat. Not sure what the _right_ way to fix this is, nor how we can be smarter about the dependencies. Even with some intelligence to look at the dependencies reported on metacpan.org will not be enough, as not all modules have accurate/complete reporting of dependencies. It has to be runtime tested. Unfortunately, the effort to generate this diff is not scalable.
Comment 1 Alexander Kanavin 2019-02-24 13:44:39 UTC
perl-rdepends.txt is in fact auto-generated by this monstrosity:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb#n257

So I'd suggest you figure out why it doesn't pick up the dependencies from the attached diff (yes I know it's an awful write-only hack - I didn't write it). Better yet, rewrite it as a proper script, like we have in python recipes.

Just to make it clear, even though I did the perl version upgrade, I am not maintaining the recipe going forward. The job has to be taken by people with an actual interest in perl :)
Comment 2 Richard Purdie 2019-02-27 08:19:11 UTC
I wonder if /usr/lib/rpm/perl.req from rpm-native would do any better job of finding deps?

At the every least we should split that code fragment Alex linked to out and try and clean it up into something readable/maintainable...
Comment 3 Tim Orling 2019-05-31 19:19:17 UTC
/usr/lib/rpm/perl.req helps, but is still missing dependencies.

For now, following RP's lead earlier this month, I am simply hand coding the dependencies in perl-rdepends.txt. In particular, quilt-ptest and libxml-parser-perl are failing spectacularly on ptest dependencies.

Patches in review:
https://patchwork.openembedded.org/series/17926/