Bug 13200 - perl-rdepends.txt missing many dependencies for perl-module-test-more
Summary: perl-rdepends.txt missing many dependencies for perl-module-test-more
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 2.7
Hardware: x86 Multiple
: Medium+ normal
Target Milestone: 2.8 M2
Assignee: Tim Orling
QA Contact:
URL:
Whiteboard: Backport to 2.7
Depends on:
Blocks:
 
Reported: 2019-02-24 06:21 UTC by Tim Orling
Modified: 2019-06-01 14:08 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Don't know


Attachments
Required dependencies to make perl-module-test-more functional (3.81 KB, application/octet-stream)
2019-02-24 06:21 UTC, Tim Orling
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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/