diff options
Diffstat (limited to 'os2/diff.installperl')
-rw-r--r-- | os2/diff.installperl | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/os2/diff.installperl b/os2/diff.installperl new file mode 100644 index 0000000000..c94db2e464 --- /dev/null +++ b/os2/diff.installperl @@ -0,0 +1,248 @@ +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 (<CONFIG>) { +! 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) { +! $_ = <CONFIG>; +! 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 { |