Patchwork cpan-base: Add vardepvalue to get_perl_version function

login
register
mail settings
Submitter Martin Jansa
Date Nov. 29, 2013, 10:52 p.m.
Message ID <1385765549-20934-1-git-send-email-Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/62637/
State New
Headers show

Comments

Martin Jansa - Nov. 29, 2013, 10:52 p.m.
* without this bitbake -S perf shows following error:
  ERROR: Bitbake's cached basehash does not match the one we just generated
    (/OE/oe-core/meta/recipes-kernel/perf/perf.bb.do_package)!
  if you run it twice, once without perl in sysroot and once with perl
  already built

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/classes/cpan-base.bbclass | 3 +++
 1 file changed, 3 insertions(+)
Martin Jansa - Dec. 3, 2013, 3:55 p.m.
On Fri, Nov 29, 2013 at 11:52:29PM +0100, Martin Jansa wrote:
> * without this bitbake -S perf shows following error:
>   ERROR: Bitbake's cached basehash does not match the one we just generated
>     (/OE/oe-core/meta/recipes-kernel/perf/perf.bb.do_package)!
>   if you run it twice, once without perl in sysroot and once with perl
>   already built
> 
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  meta/classes/cpan-base.bbclass | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/meta/classes/cpan-base.bbclass b/meta/classes/cpan-base.bbclass
> index 7e1e8d0..609fde6 100644
> --- a/meta/classes/cpan-base.bbclass
> +++ b/meta/classes/cpan-base.bbclass
> @@ -10,6 +10,9 @@ RDEPENDS_${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}"
>  PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}"
>  
>  # Determine the staged version of perl from the perl configuration file
> +# Assign vardepvalue, because otherwise signature is changed before and after
> +# perl is built (from None to real version in config.sh).
> +get_perl_version[vardepvalue] = "${STAGING_LIBDIR}${PERL_OWN_DIR}"

Sorry, this isn't correct, it includes whole path to STAGING_LIBDIR in
signature (different for each MACHINE).

v2 coming soon

>  def get_perl_version(d):
>      import re
>      cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh')
> -- 
> 1.8.4.3
>

Patch

diff --git a/meta/classes/cpan-base.bbclass b/meta/classes/cpan-base.bbclass
index 7e1e8d0..609fde6 100644
--- a/meta/classes/cpan-base.bbclass
+++ b/meta/classes/cpan-base.bbclass
@@ -10,6 +10,9 @@  RDEPENDS_${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}"
 PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}"
 
 # Determine the staged version of perl from the perl configuration file
+# Assign vardepvalue, because otherwise signature is changed before and after
+# perl is built (from None to real version in config.sh).
+get_perl_version[vardepvalue] = "${STAGING_LIBDIR}${PERL_OWN_DIR}"
 def get_perl_version(d):
     import re
     cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh')