diff options
author | Slaven Rezic <slaven@rezic.de> | 2003-04-24 02:42:11 +0200 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2003-05-05 15:38:23 +0000 |
commit | ab00ffcda35bbed540111e6fb03a2770e637aa3f (patch) | |
tree | f5ca49b09f88971fd761a425af6631e347233e1f /lib/ExtUtils | |
parent | dff1ecae838c4a648c236c7474f27a4f7e7defb6 (diff) | |
download | perl-ab00ffcda35bbed540111e6fb03a2770e637aa3f.tar.gz |
ExtUtils::Install and the don't-really-do-it switch
Message-Id: <200304232242.h3NMgBqD028515@vran.herceg.de>
p4raw-id: //depot/perl@19421
Diffstat (limited to 'lib/ExtUtils')
-rw-r--r-- | lib/ExtUtils/Install.pm | 21 | ||||
-rw-r--r-- | lib/ExtUtils/t/Install.t | 10 |
2 files changed, 23 insertions, 8 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; } } diff --git a/lib/ExtUtils/t/Install.t b/lib/ExtUtils/t/Install.t index c9463e7f6c..c628333a13 100644 --- a/lib/ExtUtils/t/Install.t +++ b/lib/ExtUtils/t/Install.t @@ -17,7 +17,7 @@ use TieOut; use File::Path; use File::Spec; -use Test::More tests => 18; +use Test::More tests => 21; BEGIN { use_ok('ExtUtils::Install') } @@ -46,6 +46,14 @@ ok( -r 'blib/lib/Big/Dummy.pm', ' .pm file still there' ); ok( -r 'blib/lib/auto', ' autosplit still there' ); is( $stdout->read, "Skip blib/lib/Big/Dummy.pm (unchanged)\n" ); +install( { 'blib/lib' => 'install-test/lib/perl', + read => 'install-test/packlist', + write => 'install-test/packlist' + }, + 0, 1); +ok( ! -d 'install-test/lib/perl', 'install made dir - dry run' ); +ok( ! -r 'install-test/lib/perl/Big/Dummy.pm', ' .pm file installed - dry run' ); +ok( ! -r 'install-test/packlist', ' packlist exists - dry run' ); install( { 'blib/lib' => 'install-test/lib/perl', read => 'install-test/packlist', |