diff options
-rw-r--r-- | classes/kernel.bbclass | 3 | ||||
-rw-r--r-- | recipes/perl/perl_5.10.1.bb | 9 | ||||
-rw-r--r-- | recipes/perl/perl_5.8.8.bb | 9 |
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) |