diff -cr ..\perl5os2.patch\perl5.001m.andy/installperl ./installperl *** ../perl5os2.patch/perl5.001m.andy/installperl Wed Jun 21 12:09:26 1995 --- ./installperl Thu Sep 28 00:00:20 1995 *************** *** 24,35 **** # Read in the config file. open(CONFIG, "config.sh") || die "You haven't run Configure yet!\n"; ! while () { ! if (s/^(\w+=)/\$$1/) { $accum =~ s/'undef'/undef/g; eval $accum; $accum = ''; } $accum .= $_; } close CONFIG; --- 24,37 ---- # Read in the config file. open(CONFIG, "config.sh") || die "You haven't run Configure yet!\n"; ! while (1) { ! $_ = ; ! if (s/^(\w+=)/\$$1/ or not defined $_) { $accum =~ s/'undef'/undef/g; eval $accum; $accum = ''; } + last unless defined $_; # To get the last two lines too $accum .= $_; } close CONFIG; *************** *** 50,57 **** -w $installbin || die "$installbin is not writable by you\n" unless $installbin =~ m#^/afs/# || $nonono; ! -x 'perl' || die "perl isn't executable!\n"; ! -x 'suidperl' || die "suidperl isn't executable!\n" if $d_dosuid; -x 't/TEST' || warn "WARNING: You've never run 'make test'!!!", " (Installing anyway.)\n"; --- 52,59 ---- -w $installbin || die "$installbin is not writable by you\n" unless $installbin =~ m#^/afs/# || $nonono; ! -x 'perl' . $exe_ext || die "perl isn't executable!\n"; ! -x 'suidperl' . $exe_ext|| die "suidperl isn't executable!\n" if $d_dosuid; -x 't/TEST' || warn "WARNING: You've never run 'make test'!!!", " (Installing anyway.)\n"; *************** *** 69,81 **** # First we install the version-numbered executables. ! &safe_unlink("$installbin/perl$ver"); ! &cmd("cp perl $installbin/perl$ver"); ! &safe_unlink("$installbin/sperl$ver"); if ($d_dosuid) { ! &cmd("cp suidperl $installbin/sperl$ver"); ! &chmod(04711, "$installbin/sperl$ver"); } exit 0 if $versiononly; --- 71,83 ---- # First we install the version-numbered executables. ! &safe_unlink("$installbin/perl$ver$exe_ext"); ! &cmd("cp perl$exe_ext $installbin/perl$ver$exe_ext"); ! &safe_unlink("$installbin/sperl$ver$exe_ext"); if ($d_dosuid) { ! &cmd("cp suidperl$exe_ext $installbin/sperl$ver$exe_ext"); ! &chmod(04711, "$installbin/sperl$ver$exe_ext"); } exit 0 if $versiononly; *************** *** 83,97 **** # Make links to ordinary names if installbin directory isn't current directory. if (! &samepath($installbin, '.')) { ! &safe_unlink("$installbin/perl", "$installbin/suidperl"); ! &link("$installbin/perl$ver", "$installbin/perl"); ! &link("$installbin/sperl$ver", "$installbin/suidperl") if $d_dosuid; } if (! &samepath($installbin, 'x2p')) { ! &safe_unlink("$installbin/a2p"); ! &cmd("cp x2p/a2p $installbin/a2p"); ! &chmod(0755, "$installbin/a2p"); } # Install scripts. --- 85,100 ---- # Make links to ordinary names if installbin directory isn't current directory. if (! &samepath($installbin, '.')) { ! &safe_unlink("$installbin/perl$exe_ext", "$installbin/suidperl$exe_ext"); ! &link("$installbin/perl$ver$exe_ext", "$installbin/perl$exe_ext"); ! &link("$installbin/sperl$ver$exe_ext", "$installbin/suidperl$exe_ext") ! if $d_dosuid; } if (! &samepath($installbin, 'x2p')) { ! &safe_unlink("$installbin/a2p$exe_ext"); ! &cmd("cp x2p/a2p$exe_ext $installbin/a2p$exe_ext"); ! &chmod(0755, "$installbin/a2p$exe_ext"); } # Install scripts. *************** *** 174,187 **** if (-w $mainperldir && ! &samepath($mainperldir, $installbin) && !$nonono) { # First make sure $mainperldir/perl is not already the same as # the perl we just installed ! if (-x "$mainperldir/perl") { # Try to be clever about mainperl being a symbolic link # to binexp/perl if binexp and installbin are different. $mainperl_is_instperl = ! &samepath("$mainperldir/perl", "$installbin/perl") || (($binexp ne $installbin) && ! (-l "$mainperldir/perl") && ! ((readlink "$mainperldir/perl") eq "$binexp/perl")); } if ((! $mainperl_is_instperl) && (&yn("Many scripts expect perl to be installed as " . --- 177,190 ---- if (-w $mainperldir && ! &samepath($mainperldir, $installbin) && !$nonono) { # First make sure $mainperldir/perl is not already the same as # the perl we just installed ! if (-x "$mainperldir/perl$exe_ext") { # Try to be clever about mainperl being a symbolic link # to binexp/perl if binexp and installbin are different. $mainperl_is_instperl = ! &samepath("$mainperldir/perl$exe_ext", "$installbin/perl$exe_ext") || (($binexp ne $installbin) && ! (-l "$mainperldir/perl$exe_ext") && ! ((readlink "$mainperldir/perl$exe_ext") eq "$binexp/perl$exe_ext")); } if ((! $mainperl_is_instperl) && (&yn("Many scripts expect perl to be installed as " . *************** *** 189,198 **** "Do you wish to have $mainperldir/perl be the same as\n" . "$binexp/perl? [y] "))) { ! unlink("$mainperldir/perl"); ! eval 'link("$installbin/perl", "$mainperldir/perl")' || ! eval 'symlink("$binexp/perl", "$mainperldir/perl")' || ! &cmd("cp $installbin/perl $mainperldir"); $mainperl_is_instperl = 1; } } --- 192,201 ---- "Do you wish to have $mainperldir/perl be the same as\n" . "$binexp/perl? [y] "))) { ! unlink("$mainperldir/perl$exe_ext"); ! eval 'link("$installbin/perl$exe_ext", "$mainperldir/perl$exe_ext")' || ! eval 'symlink("$binexp/perl$exe_ext", "$mainperldir/perl$exe_ext")' || ! &cmd("cp $installbin/perl$exe_ext $mainperldir$exe_ext"); $mainperl_is_instperl = 1; } } *************** *** 203,209 **** # Also skip $mainperl if the user opted to have it be a link to the # installed perl. ! @path = split(/:/, $ENV{"PATH"}); @otherperls = (); for (@path) { next unless m,^/,; --- 206,214 ---- # Also skip $mainperl if the user opted to have it be a link to the # installed perl. ! $dirsep = ($osname =~ m:^os/?2$:i) ? ';' : ':' ; ! ($path = $ENV{"PATH"}) =~ s:\\:/:g ; ! @path = split(/$dirsep/, $path); @otherperls = (); for (@path) { next unless m,^/,; *************** *** 211,217 **** # Use &samepath here because some systems have other dirs linked # to $mainperldir (like SunOS) next if ($mainperl_is_instperl && &samepath($_, $mainperldir)); ! push(@otherperls, "$_/perl") if (-x "$_/perl" && ! -d "$_/perl"); } if (@otherperls) { print STDERR "\nWarning: perl appears in your path in the following " . --- 216,223 ---- # Use &samepath here because some systems have other dirs linked # to $mainperldir (like SunOS) next if ($mainperl_is_instperl && &samepath($_, $mainperldir)); ! push(@otherperls, "$_/perl$exe_ext") ! if (-x "$_/perl$exe_ext" && ! -d "$_/perl$exe_ext"); } if (@otherperls) { print STDERR "\nWarning: perl appears in your path in the following " . *************** *** 244,249 **** --- 250,256 ---- foreach $name (@names) { next unless -e $name; print STDERR " unlink $name\n"; + chmod 0777, $name if $osname =~ m:^os/?2$:i ; unlink($name) || warn "Couldn't unlink $name: $!\n" unless $nonono; } } *************** *** 255,260 **** --- 262,268 ---- next unless -e $name; print STDERR " unlink $name\n"; next if $nonono; + chmod 0777, $name if $osname =~ m:^os/?2$:i ; next if unlink($name); warn "Couldn't unlink $name: $!\n"; if ($! =~ /busy/i) { *************** *** 290,296 **** local($from,$to) = @_; print STDERR " ln $from $to\n"; ! link($from,$to) || warn "Couldn't link $from to $to: $!\n" unless $nonono; } sub chmod { --- 298,310 ---- local($from,$to) = @_; print STDERR " ln $from $to\n"; ! eval { ! link($from,$to) || warn "Couldn't link $from to $to: $!\n" unless $nonono; ! }; ! if ($@) { ! system( $cp, $from, $to ) ! && warn "Couldn't copy $from to $to: $!\n" unless $nonono; ! } } sub chmod {