bash only attempts to be posix conforming when run with the --posix option
without --posix it is cafeteria conforming depending on gnu's whims
in a manner similar to the gnu $POSIXLY_CORRECT and getopts(3)
as noted installing in
/usr/bin
will fix the problem, and is probably the correct solution, because on solaris
/bin is a symlink and /lib is not
/bin => /usr/bin
/lib
/usr/lib
and the firefox executable resides in /usr/lib
/usr/lib/firefox/firefox
On Tue, 22 Jul 2008 06:41:40 -0700 (PDT) bugzilla-daemon at np.grommit.com
wrote:
> http://bugs.grommit.com/show_bug.cgi?id=559
> ------- Comment #11 from roland.mainz at nrubsig.org 2008-07-22 06:41 PDT
> -------
> I did some investigation and looked at the Linux packages (SuSE, Ubuntu,
> Debian, RedHat, Mandrake) to figure out why /bin/sh is a POSIX shell (e.g.
> "bash" in POSIX mode or "dash") but doesn't hit the problem. After some
> searching I realised that:
> 1. The script works when running as /usr/bin/firefox
> 2. /bin/ and /usr/bin are different directiries with different content on
> Linux
> 3. Linux distributions install this stuff in /usr/bin/ and not /bin/
> ... so technicially we have a Solaris-specific problem caused by switching
> /usr/bin/sh from original Bourne to a POSIX-conformant shell... ;-(
> As solution I'd propose to apply the proposed patch from comment #10 and push
> this fix upstrean (mozilla.org), too...