Debian-Apt-PM
view release on metacpan or search on metacpan
patches/Distribution.pm.patch view on Meta::CPAN
diff -Naur orig/CPAN/Distribution.pm new/CPAN/Distribution.pm
--- orig/CPAN/Distribution.pm 2009-11-21 20:30:05.000000000 +0100
+++ new/CPAN/Distribution.pm 2009-12-01 13:40:17.000000000 +0100
@@ -3,6 +3,8 @@
use Cwd qw(chdir);
use CPAN::Distroprefs;
use CPAN::InfoObj;
+use Debian::Apt::PM;
+our $aptpm = Debian::Apt::PM->new();
@CPAN::Distribution::ISA = qw(CPAN::InfoObj);
use vars qw($VERSION);
$VERSION = "1.93";
@@ -2510,6 +2511,23 @@
my(@need);
my @merged = %merged;
CPAN->debug("all merged_prereqs[@merged]") if $CPAN::DEBUG;
+ my @debs;
+ my @build_dep;
+ while (my($need_module, $need_version) = each %merged) {
+ my $debs = $aptpm->find($need_module, $need_version);
+ if ($debs) {
+ if ($debs->{'min'}) {
+ push @debs, $debs->{'min'}->{'package'};
+ }
+ else {
+ push @build_dep, $debs->{'max'}->{'package'};
+ }
+ }
+ }
+ system('apt-get', 'build-dep', '--yes', @build_dep)
+ if @build_dep;
+ system('apt-get', 'install', '--yes', @debs)
+ if @debs;
NEED: while (my($need_module, $need_version) = each %merged) {
my($available_version,$available_file,$nmo);
if ($need_module eq "perl") {
( run in 0.522 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )