Add missing syms to global.sym; update magic doc
[p5sagit/p5-mst-13.2.git] / installperl
index a9082df..c9913ca 100755 (executable)
@@ -1,6 +1,7 @@
 #!./perl
 BEGIN { @INC=('./lib', '../lib') }
 use File::Find;
+use File::Compare;
 use File::Path ();
 use Config;
 use subs qw(unlink rename link chmod);
@@ -23,7 +24,7 @@ while (@ARGV) {
 umask 022;
 
 @scripts = qw( utils/c2ph utils/h2ph utils/h2xs
-               utils/perlbug utils/perldoc utils/pl2pm
+               utils/perlbug utils/perldoc utils/pl2pm utils/splain
                x2p/s2p x2p/find2perl
                pod/pod2man pod/pod2html pod/pod2latex pod/pod2text);
 
@@ -73,6 +74,7 @@ if ($d_dosuid && $>) { die "You must run as root to install suidperl\n"; }
 
 &safe_unlink("$installbin/perl$ver$exe_ext");
 &cmd("cp perl$exe_ext $installbin/perl$ver$exe_ext");
+&chmod(0755, "$installbin/perl$ver$exe_ext");
 
 &safe_unlink("$installbin/sperl$ver$exe_ext");
 if ($d_dosuid) {
@@ -343,7 +345,7 @@ sub installlib {
     $name = "$dir/$name" if $dir ne '';
 
     my $installlib = $installprivlib;
-    if ((substr($dir, 0, 4) eq 'auto') || ($name eq 'Config.pm')) {
+    if ($dir =~ /^auto/ || $name =~ /^(Config|FileHandle|Safe)\.pm$/) {
         $installlib = $installarchlib;
        return unless $do_installarchlib;
     } else {
@@ -359,8 +361,7 @@ sub installlib {
            #This might not work because $archname might have changed.
            &unlink("$installarchlib/$name");
        }
-       system "cmp", "-s", $_, "$installlib/$name";
-       if ($? || $nonono) {
+       if (compare($_, "$installlib/$name") || $nonono) {
            &unlink("$installlib/$name");
            mkpath("$installlib/$dir", 1, 0777);
            cp_if_diff($_, "$installlib/$name");
@@ -389,8 +390,7 @@ sub installlib {
 sub cp_if_diff {
     my($from,$to)=@_;
     -f $from || die "$0: $from not found";
-    system "cmp", "-s", $from, $to;
-    if ($? || $nonono) {
+    if (compare($from, $to) || $nonono) {
        my ($atime, $mtime);
        unlink($to);   # In case we don't have write permissions.
         if ($nonono) {