[oe-commits] Roman I Khimov : perl: blacklist perl-module-cpanplus-internals-source-sqlite for perl-modules

git version control git at git.openembedded.org
Sun Jan 9 04:21:28 UTC 2011


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 3d030ffa57af27275fbb42eaa0fcd611f4925348
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=3d030ffa57af27275fbb42eaa0fcd611f4925348

Author: Roman I Khimov <khimov at altell.ru>
Date:   Sat Jan  8 22:38:28 2011 +0300

perl: blacklist perl-module-cpanplus-internals-source-sqlite for perl-modules

It has runtime dependencies on libdbd-sqlite-perl and libdbix-simple-perl
which doesn't get built automatically if not required as build time dependency
for something.

It's not possible to add them as build time dependencies for
perl itself since they're in turn depend on perl making a circular dependency
(and they _really_ depend on perl because they build binaries, so no way to
cheat by making this recipes not to depend on perl).

It's also not correct to downgrade this runtime dependency to recommendation,
since the module is really unusable without its dependencies.

The most annoying thing about all this is that this dependency situation renders
perl-modules package uninstallable by itself, failing with something like:

 Collected errors:
  * satisfy_dependencies_for: Cannot satisfy the following dependencies for
 task-sdk-native:
  *    libdbd-sqlite-perl *    libdbix-simple-perl *

So the best way to solve it IMO is to just blacklist it from perl-modules
since the value of this module is questionable. It's experimental CPANPLUS
backend that's not used by default, you have to specifically configure your
perl to use it. And if you _really_ want to use it - the module package itself
will still contain proper dependencies, you just need to get them built and
installed.

The problem only exists in perl 5.10.1, but 5.8.8 doesn't have this module, so
blacklisting in common .inc doesn't hurt.

Signed-off-by: Roman I Khimov <khimov at altell.ru>
Acked-by: Khem Raj <raj.khem at gmail.com>

---

 recipes/perl/perl.inc       |    2 +-
 recipes/perl/perl_5.10.1.bb |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes/perl/perl.inc b/recipes/perl/perl.inc
index ddde0b8..3d8b9bb 100644
--- a/recipes/perl/perl.inc
+++ b/recipes/perl/perl.inc
@@ -1,7 +1,7 @@
 # helper functions for perl
 def all_perl_packages(d):
     depchains = (d.getVar("DEPCHAIN_POST", True) or "").split()
-    blacklist = ["perl-modules", "perl-misc", "perl-pod", "perl-doc"]
+    blacklist = ["perl-modules", "perl-misc", "perl-pod", "perl-doc", "perl-module-cpanplus-internals-source-sqlite", "perl-module-cpanplus-internals-source-sqlite-tie"]
     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
diff --git a/recipes/perl/perl_5.10.1.bb b/recipes/perl/perl_5.10.1.bb
index 4e6bc33..33ddffe 100644
--- a/recipes/perl/perl_5.10.1.bb
+++ b/recipes/perl/perl_5.10.1.bb
@@ -5,7 +5,7 @@ LICENSE = "Artistic|GPLv1+"
 PRIORITY = "optional"
 # We need gnugrep (for -I)
 DEPENDS = "virtual/db perl-native grep-native"
-PR = "r19"
+PR = "r20"
 
 # 5.10.1 has Module::Build built-in
 PROVIDES += "libmodule-build-perl"





More information about the Openembedded-commits mailing list