aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--classes/kernel.bbclass3
-rw-r--r--recipes/perl/perl_5.10.1.bb9
-rw-r--r--recipes/perl/perl_5.8.8.bb9
3 files changed, 18 insertions, 3 deletions
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
index b0c65346f0..9555f30a30 100644
--- a/classes/kernel.bbclass
+++ b/classes/kernel.bbclass
@@ -476,6 +476,7 @@ python populate_packages_prepend () {
bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d)
bb.data.setVar('FILES_' + metapkg, "", d)
blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux' ]
+ depchains = (d.getVar("DEPCHAIN_POST", True) or "").split()
for l in module_deps.values():
for i in l:
pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1))
@@ -483,7 +484,7 @@ python populate_packages_prepend () {
metapkg_rdepends = []
packages = bb.data.getVar('PACKAGES', d, 1).split()
for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends:
+ if not pkg in blacklist and not pkg in metapkg_rdepends and not any(pkg.endswith(post) for post in depchains):
metapkg_rdepends.append(pkg)
bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d)
bb.data.setVar('DESCRIPTION_' + metapkg, 'Kernel modules meta package', d)
diff --git a/recipes/perl/perl_5.10.1.bb b/recipes/perl/perl_5.10.1.bb
index c469cf961e..75993b519a 100644
--- a/recipes/perl/perl_5.10.1.bb
+++ b/recipes/perl/perl_5.10.1.bb
@@ -210,11 +210,18 @@ FILES_${PN}-doc = "${datadir}/perl/${PV}/*/*.txt \
RPROVIDES_perl-lib = "perl-lib"
+def all_perl_packages(d):
+ depchains = (d.getVar("DEPCHAIN_POST", True) or "").split()
+ blacklist = ["perl-modules", "perl-misc", "perl-pod", "perl-doc"]
+ for pkg in d.getVar("PACKAGES", True).split():
+ if not pkg in blacklist and not any(pkg.endswith(post) for post in depchains):
+ yield pkg
+
# Create a perl-modules package recommending all the other perl
# packages (actually the non modules packages and not created too)
ALLOW_EMPTY_perl-modules = "1"
PACKAGES_append = " perl-modules "
-RRECOMMENDS_perl-modules = "${@bb.data.getVar('PACKAGES', d, 1).replace('perl-modules ', '').replace('perl-dbg ', '').replace('perl-misc ', '').replace('perl-dev ', '').replace('perl-pod ', '').replace('perl-doc ', '')}"
+RRECOMMENDS_perl-modules = "${@' '.join(all_perl_packages(d))}"
python populate_packages_prepend () {
libdir = bb.data.expand('${libdir}/perl/${PV}', d)
diff --git a/recipes/perl/perl_5.8.8.bb b/recipes/perl/perl_5.8.8.bb
index 0b9135d0d2..ed489f4ac5 100644
--- a/recipes/perl/perl_5.8.8.bb
+++ b/recipes/perl/perl_5.8.8.bb
@@ -210,11 +210,18 @@ FILES_${PN}-doc = "${datadir}/perl/${PV}/*/*.txt \
RPROVIDES_perl-lib = "perl-lib"
+def all_perl_packages(d):
+ depchains = (d.getVar("DEPCHAIN_POST", True) or "").split()
+ blacklist = ["perl-modules", "perl-misc", "perl-pod", "perl-doc"]
+ for pkg in d.getVar("PACKAGES", True).split():
+ if not pkg in blacklist and not any(pkg.endswith(post) for post in depchains):
+ yield pkg
+
# Create a perl-modules package recommending all the other perl
# packages (actually the non modules packages and not created too)
ALLOW_EMPTY_perl-modules = "1"
PACKAGES_append = " perl-modules "
-RRECOMMENDS_perl-modules = "${@bb.data.getVar('PACKAGES', d, 1).replace('perl-modules ', '').replace('perl-dbg ', '').replace('perl-misc ', '').replace('perl-dev ', '').replace('perl-pod ', '').replace('perl-doc ', '')}"
+RRECOMMENDS_perl-modules = "${@' '.join(all_perl_packages(d))}"
python populate_packages_prepend () {
libdir = bb.data.expand('${libdir}/perl/${PV}', d)