diff --git a/meta/classes/cpan-base.bbclass b/meta/classes/cpan-base.bbclass index 55ac052695..577fcd63ce 100644 --- a/meta/classes/cpan-base.bbclass +++ b/meta/classes/cpan-base.bbclass @@ -7,27 +7,7 @@ FILES_${PN} += "${libdir}/perl ${datadir}/perl" DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}" 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] = "${PERL_OWN_DIR}" -def get_perl_version(d): - import re - cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh') - try: - f = open(cfg, 'r') - except IOError: - return None - l = f.readlines(); - f.close(); - r = re.compile("^version='(\d*\.\d*\.\d*)'") - for s in l: - m = r.match(s) - if m: - return m.group(1) - return None +inherit perl-version def is_target(d): if not bb.data.inherits_class('native', d): @@ -36,5 +16,3 @@ def is_target(d): PERLLIBDIRS = "${libdir}/perl" PERLLIBDIRS_class-native = "${libdir}/perl-native" -PERLVERSION := "${@get_perl_version(d)}" -PERLVERSION[vardepvalue] = "" diff --git a/meta/classes/perl-version.bbclass b/meta/classes/perl-version.bbclass new file mode 100644 index 0000000000..fafe68a775 --- /dev/null +++ b/meta/classes/perl-version.bbclass @@ -0,0 +1,24 @@ +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] = "${PERL_OWN_DIR}" +def get_perl_version(d): + import re + cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh') + try: + f = open(cfg, 'r') + except IOError: + return None + l = f.readlines(); + f.close(); + r = re.compile("^version='(\d*\.\d*\.\d*)'") + for s in l: + m = r.match(s) + if m: + return m.group(1) + return None + +PERLVERSION := "${@get_perl_version(d)}" +PERLVERSION[vardepvalue] = ""