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
[-- Attachment #1 --] 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). -- Coleman Kane [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEABECAAYFAkhEXZ4ACgkQcMSxQcXat5couwCbBCocZx962/WVHo99eGJoWDoV c5QAniYKfWzSvpl618aGGPqbYIXCElYc =ntRZ -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1212439968.3115.53.camel>
