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

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

--=-cGTK6yTuKUFhn47pZAbF
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

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
> >=20
> >   FreeBSD src repository
> >=20
> >   Modified files:
> >     bin/sh               expand.c parser.c parser.h=20
> >   Log:
> >   Expand $LINENO to the current line number.  This is required by=20
> SUSv3's "User
> >   Portability Utilities" option.
> >  =20
> >   Often configure scripts generated by the autotools test if $LINENO wo=
rks=20
> and
> >   refuse to use /bin/sh if not.
> >  =20
> >   Package test run by:    pav
>=20
> This breaks the build of editors/openoffice-2
>=20
> Specifically, the libxslt configure script has two statements like this:
>=20
> if test "1" =3D=3D "1"
> then
> 	blah blah
> endif
>=20
> Specifically note the "=3D=3D" passed to test(1).  POSIX says this should=
 be "=3D",=20
> and that's all our test(1) implements.  The bash manpage for the builtin-=
test=20
> command says:
>=20
>        string1 =3D=3D string2
>               True if the strings are equal.  =3D may be used in place of=
 =3D=3D for
>               strict POSIX compliance.
>=20
> IOW, it encourages "=3D=3D".  I'm not sure if we want to force the use of=
 bash for=20
> certain ports or if we want to just implement bash'isms in our tools as w=
e=20
> encounter them (or patch the port?).  In this case the patch is not=20
> complicated (just replace the two '=3D=3D' with '=3D' in libxslt's config=
ure=20
> script).
>=20

This is annoying... I had to clean this behavior up once recently in
someone else's script. POSIX "test" syntax has been "=3D" and not "=3D=3D" =
for
a long time. Bash is not C... so I don't understand why the attempt to
document "=3D=3D" 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 "=3D=3D" by POSIX).

--=20
Coleman Kane

--=-cGTK6yTuKUFhn47pZAbF
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEABECAAYFAkhEXZ4ACgkQcMSxQcXat5couwCbBCocZx962/WVHo99eGJoWDoV
c5QAniYKfWzSvpl618aGGPqbYIXCElYc
=ntRZ
-----END PGP SIGNATURE-----

--=-cGTK6yTuKUFhn47pZAbF--




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