Subject: | CPANPLUS aborts the install of a module if it requires a perl-core module |
Hello,
I'm helping the CPANTesters 2.0 effort by installing the new Metabase
transport and smoking perls with it. However, trying to install
Metabase::Fact::Hash on an old perl install will cause CPANPLUS to abort
the entire install. Trying to do it with "--force" made no difference.
I tried to install it via CPAN.pm and it worked! It simply printed a
warning about the perl-core module and skipped it as a prereq. I decided
to make CPANPLUS behave the same way, and attached is the patch.
Running [/home/cpan/perls/perl-5.8.9-default/bin/perl
/home/cpan/CPANPLUS-0.9002/bin/cpanp-run-perl
/home/cpan/CPANPLUS-0.9002/.cpanplus/cpan/5.8.9/build/Metabase-Fact-0.003002/Makefile.PL]...
Checking if your kit is complete...
Looks good
Warning: prerequisite overload 1.07 not found. We have 1.06.
Writing Makefile for Metabase::Fact
[MSG] Module 'Metabase::Fact::Hash' requires 'overload' version '1.07'
to be installed
[ERROR] Prerequisite 'overload' is perl-core (perl-5.10.1.tar.gz) -- not
installing that. Aborting install
[ERROR] Unable to satisfy prerequisites for 'Metabase::Fact::Hash' --
aborting install
[ERROR] Unable to create a new distribution object for
'Metabase::Fact::Hash' -- cannot continue
[ERROR] Failed to install 'Metabase::Fact::Hash' as prerequisite for
'CPAN::Testers::Report'
[ERROR] Unable to satisfy prerequisites for 'CPAN::Testers::Report' --
aborting install
[ERROR] Unable to create a new distribution object for
'CPAN::Testers::Report' -- cannot continue
[ERROR] Failed to install 'CPAN::Testers::Report' as prerequisite for
'Test::Reporter::Transport::Metabase'
[ERROR] Unable to satisfy prerequisites for
'Test::Reporter::Transport::Metabase' -- aborting install
[ERROR] Unable to create a new distribution object for
'Test::Reporter::Transport::Metabase' -- cannot continue
--
~Apocalypse
Subject: | cpanplus.patch |
--- lib/CPANPLUS/Dist.pm.orig 2010-03-13 19:43:13.000000000 -0700
+++ lib/CPANPLUS/Dist.pm 2010-03-13 19:46:03.000000000 -0700
@@ -611,10 +611,10 @@
### part of core?
if( $modobj->package_is_perl_core ) {
error(loc("Prerequisite '%1' is perl-core (%2) -- not ".
- "installing that. Aborting install",
+ "installing that. -- Note that the overall ".
+ "install may fail due to this.",
$modobj->module, $modobj->package ) );
- $flag++;
- last;
+ next;
}
### circular dependency code ###