summaryrefslogtreecommitdiff
path: root/lib/ExtUtils
diff options
context:
space:
mode:
authorSlaven Rezic <slaven@rezic.de>2003-04-24 02:42:11 +0200
committerJarkko Hietaniemi <jhi@iki.fi>2003-05-05 15:38:23 +0000
commitab00ffcda35bbed540111e6fb03a2770e637aa3f (patch)
treef5ca49b09f88971fd761a425af6631e347233e1f /lib/ExtUtils
parentdff1ecae838c4a648c236c7474f27a4f7e7defb6 (diff)
downloadperl-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.pm21
-rw-r--r--lib/ExtUtils/t/Install.t10
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',