]> git.vpit.fr Git - perl/modules/CPANPLUS-Dist-Gentoo.git/commitdiff
Better handling of the run of emerge --info
authorVincent Pit <vince@profvince.com>
Sat, 20 Dec 2008 18:40:59 +0000 (19:40 +0100)
committerVincent Pit <vince@profvince.com>
Sat, 20 Dec 2008 18:40:59 +0000 (19:40 +0100)
lib/CPANPLUS/Dist/Gentoo.pm

index e0e6bb883e3849518370bae988ffe8ab6355a81c..7f138049d1e21dc72a317d52e20a18292c729d9a 100644 (file)
@@ -66,17 +66,19 @@ sub format_available {
  }
 
  if (IPC::Cmd->can_capture_buffer) {
-  my $output = '';
-  my $success = run command => [ qw/emerge --info/ ],
-                    verbose => 0,
-                    buffer  => \$output;
-  if ($success and $output) {
-   if ($output =~ /^PORTDIR_OVERLAY=(.*)$/m) {
-    my $o = $1;
-    $o =~ s/^["']*//;
-    $o =~ s/["']*$//;
-    $overlays = [ map abs_path($_), grep length, split /:/, $o ];
+  my ($success, $errmsg, $output) = run command => [ qw/emerge --info/ ],
+                                        verbose => 0;
+  if ($success) {
+   for (@{$output || []}) {
+    if (/^PORTDIR_OVERLAY=(.*)$/m) {
+     my $o = $1;
+     $o =~ s/^["']*//;
+     $o =~ s/["']*$//;
+     $overlays = [ map abs_path($_), grep length, split /:/, $o ];
+    }
    }
+  } else {
+   error $errmsg;
   }
  }