summaryrefslogtreecommitdiff
path: root/os2/diff.installperl
diff options
context:
space:
mode:
Diffstat (limited to 'os2/diff.installperl')
-rw-r--r--os2/diff.installperl248
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 {