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>