Remove duplicately applied patch shards.
[p5sagit/p5-mst-13.2.git] / installperl
index 4013740..eb2a31e 100755 (executable)
@@ -9,7 +9,7 @@ BEGIN {
 
 use strict;
 my ($Is_VMS, $Is_W32, $Is_OS2, $Is_Cygwin, $nonono, $dostrip,
-    $versiononly, $silent, $otherperls);
+    $versiononly, $silent, $verbose, $otherperls);
 use vars qw /$depth/;
 
 BEGIN {
@@ -56,6 +56,7 @@ while (@ARGV) {
     $versiononly = 1 if $ARGV[0] eq '-v';
     $silent = 1 if $ARGV[0] eq '-S';
     $otherperls = 0 if $ARGV[0] eq '-o';
+    $verbose = 1 if $ARGV[0] eq '-V';
     shift;
 }
 
@@ -459,7 +460,7 @@ if (!$versiononly && $otherperls) {
 }
 
 $packlist->write() unless $nonono;
-print "  Installation complete\n" unless $silent;
+print "  Installation complete\n" if $verbose;
 
 exit 0;
 
@@ -484,7 +485,7 @@ sub unlink {
     foreach my $name (@names) {
        next unless -e $name;
        chmod 0777, $name if ($Is_OS2 || $Is_W32 || $Is_Cygwin);
-       print "  unlink $name\n" unless $silent;
+       print "  unlink $name\n" if $verbose;
        ( CORE::unlink($name) and ++$cnt 
          or warn "Couldn't unlink $name: $!\n" ) unless $nonono;
     }
@@ -497,11 +498,11 @@ sub safe_unlink {
     foreach my $name (@names) {
        next unless -e $name;
        chmod 0777, $name if ($Is_OS2 || $Is_W32);
-       print "  unlink $name\n" unless $silent;
+       print "  unlink $name\n" if $verbose;
        next if CORE::unlink($name);
        warn "Couldn't unlink $name: $!\n";
        if ($! =~ /busy/i) {
-           print "  mv $name $name.old\n" unless $silent;
+           print "  mv $name $name.old\n" if $verbose;
            safe_rename($name, "$name.old")
                or warn "Couldn't rename $name: $!\n";
        }
@@ -526,7 +527,7 @@ sub link {
     my($from,$to) = @_;
     my($success) = 0;
 
-    print "  ln $from $to\n" unless $silent;
+    print $verbose ? "  ln $from $to\n" : "  $to\n" unless $silent;
     eval {
        CORE::link($from, $to)
            ? $success++
@@ -538,7 +539,7 @@ sub link {
     };
     if ($@) {
        warn $@;
-       print "  cp $from $to\n" unless $silent;
+        print $verbose ? "  cp $from $to\n" : "  $to\n" unless $silent;
        print "  creating new version of $to\n"
                  if $Is_VMS and -e $to and !$silent;
        File::Copy::copy($from, $to)
@@ -554,7 +555,7 @@ sub chmod {
     my($mode,$name) = @_;
 
     return if ($^O eq 'dos');
-    printf "  chmod %o %s\n", $mode, $name unless $silent;
+    printf "  chmod %o %s\n", $mode, $name if $verbose;
     CORE::chmod($mode,$name)
        || warn sprintf("Couldn't chmod %o %s: $!\n", $mode, $name)
       unless $nonono;
@@ -563,7 +564,7 @@ sub chmod {
 sub copy {
     my($from,$to) = @_;
 
-    print "  cp $from $to\n" unless $silent;
+    print $verbose ? "  cp $from $to\n" : "  $to\n" unless $silent;
     print "  creating new version of $to\n" if $Is_VMS and -e $to and !$silent;
     File::Copy::copy($from, $to)
        || warn "Couldn't copy $from to $to: $!\n"
@@ -682,10 +683,10 @@ sub strip
 
     foreach my $file (@args) {
         if (-f $file) {
-            print "  strip $file\n" unless $silent;
+            print "  strip $file\n" if $verbose;
             system("strip", @opts, $file);
         } else {
-            print "# file '$file' skipped\n" unless $silent;
+            print "# file '$file' skipped\n" if $verbose;
         }
     }
 }