On Thu, Feb 19, 2009 at 6:21 PM, Alan Burlison <Alan.Burlison at sun.com> wrote: > Gavin Maltby wrote: > >> That won't eliminate issues such as the execname issue for pgrep, >> but we can confirm it's being about as honest and clean as >> a shell script can be. > > If we are replacing utilities like sleep(1) then we should be using the GNU > versions not the ksh93 versions, not least because the GNU versions increase > compatibility with Linux.
I cringe every time I hear that justification trotted out. If that is the end goal, we can fix things much easier and quicker -- stop all work on Solaris immediately, and ship Linux. That is the only way you'll have achieve Linux compatibility. The goal should be to have the best userland out there -- whether it's the current Solaris utility, a GNU utility, BSD, AST, etc. Being different isn't a bad thing -- IF there is a definite advantage. I don't see a lot of people complaining because of differences with OS X or the BSDs vs. Linux. > I'm also unclear at which point ksh93 was elevated to the level of primacy > that this change implies. It appears that this change is making Solaris > less rather than more shell-agnostic, and I'm failing to understand why that > is considered to be a good thing. Bugs aside, a binary is a binary. If /bin/sleep or /bin/printf happen to be symlinks to ksh93, how does this prevent you from doing anything in csh, zsh, bash, etc? It's a bit like saying Solaris is not language (programming) agnostic because libc is the primary stable API for developers. Yeah a lot of the stuff is written in C -- and a lot of the system stuff is written as sh or ksh scripts. It doesn't prevent anyone from using csh, zsh, ruby, python, java, C++, Ada, Fortran, or even Cobol on Solaris.