Hi!

----

Attached is a small patch which introduces "oksh" to OS/Net.

The patch adds "oksh", "roksh" and "pfoksh" to the package database (as
hard link to /usr/bin/ksh), modifies getusershell.c to recognise these
new shell names as login shells by default (and adds "nksh" as another
option) and modifies wordexp.c to use "oksh" (this last item is a
blocker which prevents the OpenSolaris-based distributions to ship ksh93
as /usr/bin/ksh right now (I have another patch for fixing the
libc/wordexp() dependicy on the "old ksh" - but that requires
libast/libshell to be present in the system (e.g. is a ToDo item once
libast/libshell are present))).

The only remaining item missing in the patch is to adjust the old
Solaris ksh to recohnizse "roksh" the same was as "rksh" (e.g.
restricted korn shell mode) and "pfoksh" the same as "pfksh" (profile
mode korn shell).
Unfortunately I cannot do it myself since the sources for the "old korn
shell" are not available... ;-(

April: Do you have time to act as sponsor for this patch, please ?

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)
-------------- next part --------------
Index: src/pkgdefs/SUNWcsu/prototype_com
===================================================================
--- src/pkgdefs/SUNWcsu/prototype_com   (revision 187)
+++ src/pkgdefs/SUNWcsu/prototype_com   (working copy)
@@ -164,6 +164,7 @@
 f none usr/bin/keylogout 555 root bin
 l none usr/bin/kill=../../usr/bin/alias
 f none usr/bin/ksh 555 root bin
+l none usr/bin/oksh=../../usr/bin/ksh
 f none usr/bin/line 555 root bin
 f none usr/bin/listdgrp 555 root bin
 f none usr/bin/listusers 555 root bin
@@ -210,6 +211,7 @@
 f none usr/bin/pfexec 4555 root bin
 l none usr/bin/pfcsh=../../usr/bin/csh
 l none usr/bin/pfksh=../../usr/bin/ksh
+l none usr/bin/pfoksh=../../usr/bin/ksh
 s none usr/bin/pfsh=../../sbin/sh
 f none usr/bin/pg 555 root bin
 f none usr/bin/pgrep 555 root bin
@@ -230,6 +232,7 @@
 l none usr/bin/red=../../usr/bin/ed
 f none usr/bin/renice 555 root bin
 l none usr/bin/rksh=../../usr/bin/ksh
+l none usr/bin/roksh=../../usr/bin/ksh
 f none usr/bin/rm 555 root bin
 s none usr/bin/rmail=./mail
 f none usr/bin/rmdir 555 root bin
Index: src/lib/libc/port/gen/getusershell.c
===================================================================
--- src/lib/libc/port/gen/getusershell.c        (revision 187)
+++ src/lib/libc/port/gen/getusershell.c        (working copy)
@@ -36,6 +36,8 @@
        "/usr/bin/sh",
        "/usr/bin/csh",
        "/usr/bin/ksh",
+       "/usr/bin/oksh", /* Old Korn Shell (ksh88 bastard version) */
+       "/usr/bin/nksh", /* Korn Shell 93 */
        "/usr/bin/jsh",
        "/bin/sh",
        "/bin/csh",
@@ -46,12 +48,14 @@
        "/usr/bin/pfsh",
        "/usr/bin/pfcsh",
        "/usr/bin/pfksh",
+       "/usr/bin/pfoksh",
        "/usr/bin/bash",
        "/usr/bin/tcsh",
        "/usr/bin/zsh",
        "/bin/pfsh",
        "/bin/pfcsh",
        "/bin/pfksh",
+       "/bin/pfoksh",
        "/bin/bash",
        "/bin/tcsh",
        "/bin/zsh",
Index: src/lib/libc/port/regex/wordexp.c
===================================================================
--- src/lib/libc/port/regex/wordexp.c   (revision 187)
+++ src/lib/libc/port/regex/wordexp.c   (working copy)
@@ -90,7 +90,7 @@
        int serrno, tmpalloc;
        char *wd = NULL;
 
-       static const char *sun_path = "/bin/ksh";
+       static const char *sun_path = "/bin/oksh";
        static const char *xpg4_path = "/usr/xpg4/bin/sh";
 
        /*

Reply via email to