Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: Robert Yang <liezhi.yang@windriver.com>
Cc: openembedded-core@lists.openembedded.org,
	openembedded-devel@lists.openembedded.org,
	openembedded-commits@lists.openembedded.org
Subject: Re: [oe-commits] Robert Yang : perl: fix dependecies
Date: Mon, 22 Oct 2012 10:34:41 +0200	[thread overview]
Message-ID: <20121022083441.GA3269@jama.jama.net> (raw)
In-Reply-To: <20121019163541.436A0103AB@opal>

[-- Attachment #1: Type: text/plain, Size: 5707 bytes --]

On Fri, Oct 19, 2012 at 04:35:40PM +0000, git@git.openembedded.org 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 <liezhi.yang@windriver.com>
> 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 <kai.kang@windriver.com>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> 
> ---
> 
>  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
> Openembedded-commits@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

       reply	other threads:[~2012-10-22  8:47 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20121019163541.436A0103AB@opal>
2012-10-22  8:34 ` Martin Jansa [this message]
2012-10-22 10:49   ` [oe-commits] Robert Yang : perl: fix dependecies Richard Purdie
2012-10-22 11:01     ` Martin Jansa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121022083441.GA3269@jama.jama.net \
    --to=martin.jansa@gmail.com \
    --cc=liezhi.yang@windriver.com \
    --cc=openembedded-commits@lists.openembedded.org \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox