diff options
Diffstat (limited to 'meta/classes/cpan-base.bbclass')
-rw-r--r-- | meta/classes/cpan-base.bbclass | 54 |
1 files changed, 13 insertions, 41 deletions
diff --git a/meta/classes/cpan-base.bbclass b/meta/classes/cpan-base.bbclass index d9817ba6b6..93d11e1bee 100644 --- a/meta/classes/cpan-base.bbclass +++ b/meta/classes/cpan-base.bbclass @@ -2,54 +2,26 @@ # cpan-base providers various perl related information needed for building # cpan modules # -FILES_${PN} += "${libdir}/perl ${datadir}/perl" +FILES:${PN} += "${libdir}/perl5 ${datadir}/perl5" DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}" -RDEPENDS_${PN} += "${@["perl", ""][(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 - -# Determine where the library directories are -def perl_get_libdirs(d): - libdir = d.getVar('libdir', True) - if is_target(d) == "no": - libdir += '/perl-native' - libdir += '/perl' - return libdir +inherit perl-version def is_target(d): if not bb.data.inherits_class('native', d): return "yes" return "no" -PERLLIBDIRS := "${@perl_get_libdirs(d)}" -PERLVERSION := "${@get_perl_version(d)}" -PERLVERSION[vardepvalue] = "" +PERLLIBDIRS = "${libdir}/perl5" +PERLLIBDIRS:class-native = "${libdir}/perl5" + +def cpan_upstream_check_pattern(d): + for x in (d.getVar('SRC_URI') or '').split(' '): + if x.startswith("https://cpan.metacpan.org"): + _pattern = x.split('/')[-1].replace(d.getVar('PV'), r'(?P<pver>\d+.\d+)') + return _pattern + return '' -FILES_${PN}-dbg += "${PERLLIBDIRS}/auto/*/.debug \ - ${PERLLIBDIRS}/auto/*/*/.debug \ - ${PERLLIBDIRS}/auto/*/*/*/.debug \ - ${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/.debug \ - ${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/.debug \ - ${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/*/.debug \ - " +UPSTREAM_CHECK_REGEX ?= "${@cpan_upstream_check_pattern(d)}" |