diff options
Diffstat (limited to 'lib/ExtUtils/Install.pm')
-rw-r--r-- | lib/ExtUtils/Install.pm | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/lib/ExtUtils/Install.pm b/lib/ExtUtils/Install.pm index 5763f1bb97..68fe343ba2 100644 --- a/lib/ExtUtils/Install.pm +++ b/lib/ExtUtils/Install.pm @@ -108,13 +108,20 @@ sub install { for (readdir DIR) { next if $_ eq $Curdir || $_ eq $Updir || $_ eq ".exists"; my $targetdir = install_rooted_dir($from_to{$source_dir_or_file}); - if (-w $targetdir || - mkpath($targetdir)) { + if ($nonono) { + if (!-w $targetdir) { + print "mkpath($targetdir)\n" if $verbose>1; + } last; } else { - warn "Warning: You do not have permissions to " . - "install into $from_to{$source_dir_or_file}" - unless $warn_permissions++; + if (-w $targetdir || + mkpath($targetdir)) { + last; + } else { + warn "Warning: You do not have permissions to " . + "install into $from_to{$source_dir_or_file}" + unless $warn_permissions++; + } } } closedir DIR; @@ -203,9 +210,9 @@ sub install { } if ($pack{'write'}) { $dir = install_rooted_dir(dirname($pack{'write'})); - mkpath($dir,0,0755); + mkpath($dir,0,0755) unless $nonono; print "Writing $pack{'write'}\n"; - $packlist->write(install_rooted_file($pack{'write'})); + $packlist->write(install_rooted_file($pack{'write'})) unless $nonono; } } |