Message ID | 1294518772-24804-1-git-send-email-khimov@altell.ru |
---|---|
State | Accepted |
Headers | show |
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"
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@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@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"
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@altell.ru> --- recipes/perl/perl.inc | 2 +- recipes/perl/perl_5.10.1.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)