tools/cpan2ips.pl
changeset 448 11a4d6c5b270
parent 447 f1790f276df9
child 449 2a36deca4819
equal deleted inserted replaced
447:f1790f276df9 448:11a4d6c5b270
    36     } else {
    36     } else {
    37         mkdir $path
    37         mkdir $path
    38             or fatal "Can't create dir `$path': $!";
    38             or fatal "Can't create dir `$path': $!";
    39     }
    39     }
    40 }
    40 }
       
    41 sub uniq {
       
    42     my ($array_ref) = @_;
       
    43     my %hash = map { $_, 1 } @$array_ref;
       
    44     @$array_ref = keys %hash;
       
    45 }
    41 
    46 
    42 sub shell_exec {
    47 sub shell_exec {
    43     my ($cmd) = @_;
    48     my ($cmd) = @_;
    44     blab "executing `$cmd'";
    49     blab "executing `$cmd'";
    45     system($cmd);
    50     system($cmd);
   176     my @pkg_deps = ();
   181     my @pkg_deps = ();
   177     foreach (@mod_deps) {
   182     foreach (@mod_deps) {
   178         my $dep_pkg_name = do_package($_);
   183         my $dep_pkg_name = do_package($_);
   179         push @pkg_deps, $dep_pkg_name if $dep_pkg_name;
   184         push @pkg_deps, $dep_pkg_name if $dep_pkg_name;
   180     }
   185     }
       
   186     uniq \@pkg_deps;
   181     blab "Required for `$pkg_name' packages: ", (join ', ', @pkg_deps);
   187     blab "Required for `$pkg_name' packages: ", (join ', ', @pkg_deps);
   182 
   188 
   183 
   189 
   184     my $tmp_dest_dir = "/tmp/cpan2ips-$pkg_name";
   190     my $tmp_dest_dir = "/tmp/cpan2ips-$pkg_name";
   185     my $pack_dir = $pack->dir();
   191     my $pack_dir = $pack->dir();