diff options
Diffstat (limited to 'poky/meta/classes/perl-version.bbclass')
-rw-r--r-- | poky/meta/classes/perl-version.bbclass | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/poky/meta/classes/perl-version.bbclass b/poky/meta/classes/perl-version.bbclass index bafd96518..84b67b818 100644 --- a/poky/meta/classes/perl-version.bbclass +++ b/poky/meta/classes/perl-version.bbclass @@ -1,4 +1,4 @@ -PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}" +PERL_OWN_DIR = "" # Determine the staged version of perl from the perl configuration file # Assign vardepvalue, because otherwise signature is changed before and after @@ -6,7 +6,7 @@ PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}" get_perl_version[vardepvalue] = "${PERL_OWN_DIR}" def get_perl_version(d): import re - cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh') + cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh') try: f = open(cfg, 'r') except IOError: @@ -22,3 +22,45 @@ def get_perl_version(d): PERLVERSION := "${@get_perl_version(d)}" PERLVERSION[vardepvalue] = "" + + +# Determine the staged arch 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). +def get_perl_arch(d): + import re + cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh') + try: + f = open(cfg, 'r') + except IOError: + return None + l = f.readlines(); + f.close(); + r = re.compile("^archname='([^']*)'") + for s in l: + m = r.match(s) + if m: + return m.group(1) + return None + +PERLARCH := "${@get_perl_arch(d)}" +PERLARCH[vardepvalue] = "" + +# Determine the staged arch of perl-native 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). +def get_perl_hostarch(d): + import re + cfg = d.expand('${STAGING_LIBDIR_NATIVE}/perl5/config.sh') + try: + f = open(cfg, 'r') + except IOError: + return None + l = f.readlines(); + f.close(); + r = re.compile("^archname='([^']*)'") + for s in l: + m = r.match(s) + if m: + return m.group(1) + return None |