Hi Roland,
Thanks for the migration plan!
Regarding this part of the plan:
- Edit all existing scripts in the Solaris code base which use
/usr/bin/ksh to use /usr/bin/oksh instead until they have been tested
with ksh93.
A test in 2001 revealed that from 598 ksh scripts in a Solaris 8
installation 29 needed changes (unfortunately very prominent stuff like
"patchadd" / "patchrm" are on that list... ;-/ ) - that's AFAIK less
than 5%... :-)
Could you please send me a list of which scripts you found which needed
changes? This would be helpful, though I will still have to do
a current analysis of the latest Solaris scripts.
Some comments on this portion:
- Put ksh93 into /usr/bin/nksh ("new" korn shell. ksh93 MUST NOT be
placed to /usr/bin/ksh93 - arguments can be listed here but that is
AFAIK outside the scope of this mail))
An alternative may be to just stuff ksh93 to /usr/xpg4/bin/sh (instead
of creating /usr/bin/nksh (on the other side the creation of
/usr/bin/nksh may be better... it indicates that there is a "new" korn
shell... :-) ))
- /usr/bin/ksh then gets a link (hard-/softlink - whatever you prefer)
to the following positions:
Solaris 9: /usr/bin/ksh --> /usr/bin/oksh
Solaris 10: /usr/bin/ksh --> /usr/bin/oksh
OpenSolaris: /usr/bin/ksh --> /usr/bin/nksh
Solaris 11: /usr/bin/ksh --> /usr/bin/nksh
I know there is a lot of anxiety to get ksh93 integrated as /usr/bin/ksh
very soon, but I don't believe we should initially change /usr/bin/ksh to ksh93.
This will generate serious complaints from existing users, and there
are features in the existing /usr/bin/ksh which are needed before
we can replace it, including internationalization with the proper hooks
for all the Sun-supported locales and multibyte character handling.
I would like to advocate a gentler approach, for which we first integrate
ksh93 as /usr/bin/nksh and keep /usr/bin/ksh linked to oksh (ksh88).
However, we may be able to initially replace /usr/bin/ksh in OpenSolaris
with ksh93 but without the features I mentioned.
Thanks,
April