Casper.Dik at Sun.COM wrote:
>
> >I suggest to make /bin/ksh ksh93 from the beginning that you don't
> >have to deal with any backwards compatibility fuzz later
>
> If you want PowerPC Solaris and SPARC/x86 Solaris be that different,
> then yes; if you want scripts to be compatible I suggest not.
Note that until today (=Fri Jul 28 19:10:32 MEST 2006) no script in
Solaris was found which is incompatible to ksh93 ITSELF (see explanation
below when and why scripts failed during testing) when /usr/bin/ksh was
replaced by ksh93.
The only points of where we found scripts to fail are:
- Two scripts (from opensource projects) were found which simply failed
because they were using the the ksh93 builtin commands instead those
from /usr/bin/. This is a Solaris-specific issue as those scripts fail
because they depend on Solaris-specific features of the commands in
/usr/bin/ while the ksh93 builtin commands are a POSIX implementation.
This is clearly a portabilty issue in the script, however we fixed the
problem in the meantime in ksh93.
- We found another script which checked whether this is running on
Solaris ksh via examining the ksh version and then the script runs a
Solaris-specific codepath.
Basically in this case there is no real solution for this kind of
problem as the authors (Hi Irek! :-) ) added a broken check (and I
request that noone comes up with the idea to add an option to "fake" the
shell version to make that compatible to the old Solaris ksh - that will
be contraproductive). However the authors have promised to fix that
ASAP.
- Solaris |libc::wordexp()| does not work with ksh93 because Solaris ksh
has a "secret", nonstandard option ("-^E") to call into Solaris ksh
internal code. That has been addressed via creating a new version of
|libc::wordexp()| (which also addresses multiple bugs in the old version
of |libc::wordexp()|, including thread-safeness and improved security
(the ksh93 used by the new |libc::wordexp()| version is run in
restricted shell mode whzen doing the word expansion when WRE_NOCMD is
requested))
---> That is everything what breaks when /usr/bin/ksh was replaced by
ksh93. And we did lots of tests, including OS/Net, most of the GNU built
tools, Apache1, Mozilla, QT+KDE, Gnome, OpenOffice, Blast, Staden, TeX
etc. etc. <---
If you find a script (please not a specifically crafted one) which was
written before 2006-07-27 please let us know.
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)