[oe] [PATCH] perl: blacklist perl-module-cpanplus-internals-source-sqlite for perl-modules

Khem Raj raj.khem at gmail.com
Sat Jan 8 23:22:51 UTC 2011


On 1/8/2011 12:32 PM, Roman I Khimov wrote:
> 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>

Thanks for doing it. May be now distros can use 5.10.1 but 5.12.1 is 
already out :)

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-devel mailing list