Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 02 Jun 2008 17:07:25 -0400
From:      Joe Marcus Clarke <marcus@marcuscom.com>
To:        Coleman Kane <cokane@freebsd.org>
Cc:        cvs-src@freebsd.org, Stefan Farfeleder <stefanf@freebsd.org>, src-committers@freebsd.org, cvs-all@freebsd.org, John Baldwin <jhb@freebsd.org>
Subject:   Re: cvs commit: src/bin/sh expand.c parser.c parser.h
Message-ID:  <1212440845.18384.49.camel@shumai.marcuscom.com>
In-Reply-To: <1212439968.3115.53.camel@localhost>
References:  <200805151955.m4FJtRMb099378@repoman.freebsd.org> <200806021445.15974.jhb@freebsd.org> <1212439968.3115.53.camel@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Mon, 2008-06-02 at 16:52 -0400, Coleman Kane wrote:
> On Mon, 2008-06-02 at 14:45 -0400, John Baldwin wrote:
> > On Thursday 15 May 2008 03:55:27 pm Stefan Farfeleder wrote:
> > > stefanf     2008-05-15 19:55:27 UTC
> > > 
> > >   FreeBSD src repository
> > > 
> > >   Modified files:
> > >     bin/sh               expand.c parser.c parser.h 
> > >   Log:
> > >   Expand $LINENO to the current line number.  This is required by 
> > SUSv3's "User
> > >   Portability Utilities" option.
> > >   
> > >   Often configure scripts generated by the autotools test if $LINENO works 
> > and
> > >   refuse to use /bin/sh if not.
> > >   
> > >   Package test run by:    pav
> > 
> > This breaks the build of editors/openoffice-2
> > 
> > Specifically, the libxslt configure script has two statements like this:
> > 
> > if test "1" == "1"
> > then
> > 	blah blah
> > endif
> > 
> > Specifically note the "==" passed to test(1).  POSIX says this should be "=", 
> > and that's all our test(1) implements.  The bash manpage for the builtin-test 
> > command says:
> > 
> >        string1 == string2
> >               True if the strings are equal.  = may be used in place of == for
> >               strict POSIX compliance.
> > 
> > IOW, it encourages "==".  I'm not sure if we want to force the use of bash for 
> > certain ports or if we want to just implement bash'isms in our tools as we 
> > encounter them (or patch the port?).  In this case the patch is not 
> > complicated (just replace the two '==' with '=' in libxslt's configure 
> > script).
> > 
> 
> This is annoying... I had to clean this behavior up once recently in
> someone else's script. POSIX "test" syntax has been "=" and not "==" for
> a long time. Bash is not C... so I don't understand why the attempt to
> document "==" as the "proper" operator. My thinking is the offending
> script should be fixed with a patch that gets forwarded upstream to the
> libxslt team (including a mention that /bin/sh and /bin/test are not
> documented to support "==" by POSIX).

This is one of the most pervasive bashisms around.  We (gnome@)
typically fix the script to use "=" then forward the information
upstream.  Solaris is also bit by this, so it's usually not a big deal
to get upstream vendors to fix their scripts.

Joe

> 
-- 
PGP Key : http://www.marcuscom.com/pgp.asc

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEABECAAYFAkhEYQ0ACgkQb2iPiv4Uz4cCZgCeLHIqNb+vFUE+r6clpJesSRSm
5+0An3LAyflwLYSGa1l3bDruddCVaOkA
=bATg
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1212440845.18384.49.camel>