summaryrefslogtreecommitdiffstats
path: root/meta/classes/cpan-base.bbclass
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2017-06-11 12:36:31 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-12 14:08:31 (GMT)
commit329f602c30bca560e95e1f2ea25b7045153166d3 (patch)
tree1065c8ea79e154d7f57f115e61383bb9ad4511e2 /meta/classes/cpan-base.bbclass
parent00e83cb02954b61ecfa9f30f6779ec323b95197c (diff)
downloadpoky-329f602c30bca560e95e1f2ea25b7045153166d3.tar.gz
cpan-base.bbclass: Move PERLVERSION and get_perl_version to a new file
It is possible for non-CPAN recipes to contain perl modules. These perl modules must reside in the versioned perl library directory in order to work in normal circumstances.. Export this logic to a separate class so that it can be reused without the rest of the cpan logic. Without this, dpkg will not export its perl code to the correct location and will not be found by utilities that expect to use it. (From OE-Core rev: f4edc200d3a9645f9674eae0f8d10926680ba4f8) Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/cpan-base.bbclass')
-rw-r--r--meta/classes/cpan-base.bbclass24
1 files changed, 1 insertions, 23 deletions
diff --git a/meta/classes/cpan-base.bbclass b/meta/classes/cpan-base.bbclass
index 55ac052..577fcd6 100644
--- a/meta/classes/cpan-base.bbclass
+++ b/meta/classes/cpan-base.bbclass
@@ -7,27 +7,7 @@ FILES_${PN} += "${libdir}/perl ${datadir}/perl"
7DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}" 7DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}"
8RDEPENDS_${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}" 8RDEPENDS_${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}"
9 9
10PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}" 10inherit perl-version
11
12# Determine the staged version of perl from the perl configuration file
13# Assign vardepvalue, because otherwise signature is changed before and after
14# perl is built (from None to real version in config.sh).
15get_perl_version[vardepvalue] = "${PERL_OWN_DIR}"
16def get_perl_version(d):
17 import re
18 cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh')
19 try:
20 f = open(cfg, 'r')
21 except IOError:
22 return None
23 l = f.readlines();
24 f.close();
25 r = re.compile("^version='(\d*\.\d*\.\d*)'")
26 for s in l:
27 m = r.match(s)
28 if m:
29 return m.group(1)
30 return None
31 11
32def is_target(d): 12def is_target(d):
33 if not bb.data.inherits_class('native', d): 13 if not bb.data.inherits_class('native', d):
@@ -36,5 +16,3 @@ def is_target(d):
36 16
37PERLLIBDIRS = "${libdir}/perl" 17PERLLIBDIRS = "${libdir}/perl"
38PERLLIBDIRS_class-native = "${libdir}/perl-native" 18PERLLIBDIRS_class-native = "${libdir}/perl-native"
39PERLVERSION := "${@get_perl_version(d)}"
40PERLVERSION[vardepvalue] = ""