[OE-core] Perl CPAN module install path bug in cpan_build.bbclass?

Richard Purdie richard.purdie at linuxfoundation.org
Fri Nov 29 14:40:45 UTC 2013


On Fri, 2013-11-29 at 14:47 +0100, Koen Kooi wrote:
> Op 29 nov. 2013, om 09:45 heeft Koen Kooi <koen at dominion.thruhere.net> het volgende geschreven:
> 
> > Hi,
> > 
> > I've been working on perl modules and I noticed some of them don't work properly and nearly all of the non-working ones are Build.PL based and use cpan_build.bbclass. 
> > 
> > A working module looks like this:
> > 	[koen at rrmbp v2013.06]$ dpkg-deb -c deploy/eglibc/ipk/armv7ahf-vfp-neon/perl-module-test-differences_0.61-r0.1_armv7ahf-vfp-neon.ipk
> > 	-r--r--r-- root/root     19567 2013-11-28 15:20 ./usr/lib/perl/vendor_perl/5.14.3/Test/Differences.pm
> > 
> > A non-working one looks like this:
> > 	[koen at rrmbp v2013.06]$ dpkg-deb -c deploy/eglibc/ipk/armv7ahf-vfp-neon/perl-module-build-withxspp_0.14-r0.0_armv7ahf-vfp-neon.ipk
> > 	-rw-r--r-- root/root       361 2013-11-28 16:50 ./usr/lib/perl/auto/Module/Build/WithXSpp/.packlist
> > 	-r--r--r-- root/root     22557 2013-11-28 16:50 ./usr/share/perl/Module/Build/WithXSpp.pm
> > 
> > Looking through the git logs it looks like Nitin tried to fix it, but stopped halfway and only did cpan.bbclass properly:
> > 
> > 	https://github.com/openembedded/oe-core/commit/83796edd29561f02b6f7b036351711f8def77a4f
> > 
> > Since I don't know anything about perl, should cpan_build.bbclass be changes to install into /usr/lib/perl/vendor_perl/5.14.3 as well or are Build.PL based modules 'special' and need a lot more work? This is what I had in mind:
> > 
> > -        --install_path lib="${datadir}/perl" \
> > +        --install_path lib="${libdir}/perl/vendor_perl/${@get_perl_version(d)}" \
> 
> Thinking "less is more", this seems to work:
> 
> diff --git a/meta/classes/cpan_build.bbclass b/meta/classes/cpan_build.bbclass
> index eaba40a..5b0ad61 100644
> --- a/meta/classes/cpan_build.bbclass
> +++ b/meta/classes/cpan_build.bbclass
> @@ -32,7 +32,6 @@ cpan_build_do_configure () {
>  
>         perl Build.PL --installdirs vendor \
>                                 --destdir ${D} \
> -                               --install_path lib="${datadir}/perl" \
>                                 --install_path arch="${libdir}/perl" \
>                                 --install_path script=${bindir} \
>                                 --install_path bin=${bindir} \
> 
> [koen at rrmbp v2013.06]$ dpkg-deb -c deploy/eglibc/ipk/armv7ahf-vfp-neon/perl-module-build-withxspp_0.14-r*.ipk
> -rw-r--r-- root/root       378 2013-11-29 14:44 ./usr/lib/perl/auto/Module/Build/WithXSpp/.packlist
> -r--r--r-- root/root     22557 2013-11-28 17:22 ./usr/lib/perl/vendor_perl/5.14.3/Module/Build/WithXSpp.pm
> 
> opinions, flames, etc?

What does buildhistory say to that change on a larger set of perl
modules? I have to admit I'm out of touch with perl packaging but this
would seem ok, if the default setting is sane. Does it affect native and
target or just target?

Cheers,

Richard




More information about the Openembedded-core mailing list