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;)