> Expect serious opposition to any notion of putting it in either /sbin/sh
> or
> /usr/bin/sh (see below).


If Solaris had a true (Setup-tool as) installer, such a decision could be made 
by the user during installation, under her/his full responsibility.

> 
> > #1) its dependencies go into /lib.
> 
> This is already the case - do an ldd /usr/bin/bash
> on Solaris 10 or later, and you should see all the libs are in /lib.

I didn't look, because no Solaris box was in reach from where I typed that 
message.

Ok, then it is even better.

> 
[...]
> 
> Scripts that require /bin/sh == bash don't already exist on Solaris.
> They should remain in the hell that spawned them, or have the
> first line
> #! /usr/bin/bash

Certainly, in good theory books.

But the BourneAgain_sh to sit under /bin/sh and /sbin/sh has become a defacto 
industry standard over time.
Whether one likes it or not.
I never came across a script from the GNU-world that uses the (actually much 
more correct) 

#!/usr/bin/bash 
as its first line.

Always just 
#!/usr/bin/sh

Because those guys *expect* /usr/bin/sh to be a bash.
Whether that's a good habit or not, they did it, they do it, and probably won't 
change their behaviour.
Such a thing isn't a problem if you know which exact scripts you're going to 
run (just correct the top line or run them explicitly with bash).
However, the situation looks more confusing, if you don't precisely know why 
the build of a huge system (such as Xorg) fails at one point (in a recent 
scenario MESA-libs under sparc-Nevada_b60).

> and any other changes needed to free them of that evil assumption.
> Or alternatively, they should be rewritten to work using the least common
> denominator of /bin/sh functionality among various vaguely Bourne shell
> like variants and clones.  

Maybe it is time for a Bourne_vs._bash hybrid, yes: A modern bash with backward 
compatibility mode.
Any scripts that are part of Nevada should also be updated, anyways.

> That is, they're already non-portable, and
> that's
> not _our_ problem.  If you want to blame someone, blame the POSIX folks
> for not having a magic non-pathname token to use with #! to get a real
> (i.e. POSIX compliant) shell (which arguably bash isn't entirely, although
> it's probably closer than Bourne).

The market cares less and less about good standards conformity, unfortunately.
The traditional UNIX market continues to shrink, quarter over quarter.
[Google for the raw numbers from misc. analysts, they don't look as rosy as one 
might have expected  :-( ]

> 
> Scripts that would be broken by /bin/sh == bash already exist on Solaris.
> That's enough reason to forbid that change, IMO.

Wrong: It's time to correct those scripts!
Or do you continue to travel by horse, just because you don't feel comfortable 
with using Highways?

BTW, please show me a specific example (just curious how one could fix that).

Regards,
Martin
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to