On Fri, Oct 19, 2012 at 04:35:40PM +0000, [email protected] wrote: > Module: openembedded-core.git > Branch: master > Commit: d50be1876f7a41822ef7e73207fdf8cccd39e400 > URL: > http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=d50be1876f7a41822ef7e73207fdf8cccd39e400 > > Author: Robert Yang <[email protected]> > Date: Fri Oct 19 19:22:04 2012 +0800 > > perl: fix dependecies > > This patch fixes 2 problems. > > The first one is that when run "perl -V" on target, it fails with lack > of some .pm files. So add these perl module files to package perl itself > to fix this failure. > > The second problem is that package nativesdk-perl-modules doesn't depends > on the single perl modules. > > In the .bb file, dependencies of perl-modules are set by: > > RRECOMMENDS_perl-modules = "${@d.getVar('PACKAGES', True)...}" > > The PACKAGES would be reset by do_split_packages since: > > PACKAGES_DYNAMIC = "perl-module-*" > PACKAGES_DYNAMIC_virtclass-nativesdk = "nativesdk-perl-module-*" > > Then: > 1) The target perl-modules RRECOMMENDS on perl-module-*, this is what > we expect. > > 2) But the nativesdk-perl-modules doesn't RRECOMMENDS on > nativesdk-perl-module-*, this is not what we expect. > > The value of PACKAGES after do_split_packages has been set correctly (it > contains the nativesdk-perl-module-* packages) > > But the: > > RRECOMMENDS_perl-modules = "${@d.getVar('PACKAGES', True)...}" > > doesn't work correctly for nativesdk, the > > d.getVar('RRECOMMENDS_perl-modules', True) > > doesn't get the new value of the PACKAGES, it gets the value of PACKAGES > before the do_split_packages. > > This patch will fix the problem. > > Signed-off-by: Kang Kai <[email protected]> > Signed-off-by: Richard Purdie <[email protected]> > > --- > > meta/recipes-devtools/perl/perl_5.14.2.bb | 12 +++++++++--- > 1 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/meta/recipes-devtools/perl/perl_5.14.2.bb > b/meta/recipes-devtools/perl/perl_5.14.2.bb > index d9206d8..d566a79 100644 > --- a/meta/recipes-devtools/perl/perl_5.14.2.bb > +++ b/meta/recipes-devtools/perl/perl_5.14.2.bb > @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = > "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ > # We need gnugrep (for -I) > DEPENDS = "virtual/db grep-native" > DEPENDS += "gdbm zlib" > -PR = "r11" > +PR = "r12" > > # 5.10.1 has Module::Build built-in > PROVIDES += "libmodule-build-perl" > @@ -243,7 +243,13 @@ perl_package_preprocess () { > > PACKAGES = "perl-dbg perl perl-misc perl-dev perl-pod perl-doc perl-lib \ > perl-module-cpan perl-module-cpanplus perl-module-unicore" > -FILES_${PN} = "${bindir}/perl ${bindir}/perl${PV}" > +FILES_${PN} = "${bindir}/perl ${bindir}/perl${PV} \ > + ${libdir}/perl/${PV}/Config.pm \ > + ${libdir}/perl/${PV}/strict.pm \ > + ${libdir}/perl/${PV}/warnings.pm \ > + ${libdir}/perl/${PV}/warnings \ > + ${libdir}/perl/${PV}/vars.pm \ > + "
I think this breaks at least automake, tiobench and libtimedate-perl
OE @ ~/openembedded-core $ git grep perl-module-strict
meta/recipes-devtools/automake/automake_1.12.3.bb: perl-module-strict \
meta/recipes-extended/perl/libtimedate-perl_1.20.bb:RDEPENDS_${PN} +=
"perl-module-carp perl-module-exporter perl-module-strict
perl-module-time-local"
OE @ ~/meta-openembedded $ git grep perl-module-strict
meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb: perl-module-strict \
OE @ ~/openembedded-core $ git grep perl-module-vars
meta/recipes-devtools/automake/automake_1.12.3.bb: perl-module-vars "
perl-module-strict and perl-module-vars are not created now, probably empty.
> FILES_${PN}-dev = "${libdir}/perl/${PV}/CORE"
> FILES_${PN}-lib = "${libdir}/libperl.so* \
> ${libdir}/perl5 \
> @@ -294,7 +300,6 @@ FILES_perl-module-unicore +=
> "${libdir}/perl/${PV}/unicore"
> # packages (actually the non modules packages and not created too)
> ALLOW_EMPTY_perl-modules = "1"
> PACKAGES_append = " perl-modules "
> -RRECOMMENDS_perl-modules = "${@d.getVar('PACKAGES',
> True).replace('${PN}-modules ', '').replace('${PN}-dbg ',
> '').replace('${PN}-misc ', '').replace('${PN}-dev ', '').replace('${PN}-pod
> ', '').replace('${PN}-doc ', '')}"
>
> python populate_packages_prepend () {
> libdir = d.expand('${libdir}/perl/${PV}')
> @@ -302,6 +307,7 @@ python populate_packages_prepend () {
> do_split_packages(d, libdir, 'auto/([^/]*)/.*', 'perl-module-%s', 'perl
> module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
> do_split_packages(d, libdir, 'Module/([^\/]*).*', 'perl-module-%s',
> 'perl module %s', recursive=True, allow_dirs=False, match_path=True,
> prepend=False)
> do_split_packages(d, libdir,
> '(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/|auto\/)[^\/]).*)\.(pm|pl|e2x)',
> 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False,
> match_path=True, prepend=False)
> + d.setVar("RRECOMMENDS_${PN}-modules", d.getVar('PACKAGES',
> True).replace('${PN}-modules ', '').replace('${PN}-dbg ',
> '').replace('${PN}-misc ', '').replace('${PN}-dev ', '').replace('${PN}-pod
> ', '').replace('${PN}-doc ', ''))
> }
>
> PACKAGES_DYNAMIC = "perl-module-*"
>
>
> _______________________________________________
> Openembedded-commits mailing list
> [email protected]
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits
--
Martin 'JaMa' Jansa jabber: [email protected]
signature.asc
Description: Digital signature
_______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
