[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