cvs commit: src/bin/sh expand.c parser.c parser.h

John Baldwin jhb at freebsd.org
Mon Jun 2 20:37:58 UTC 2008


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).

-- 
John Baldwin


More information about the cvs-src mailing list