Hi Christian,

On 07/18/11 04:56, Christian Lohmaier wrote:

Hi MIke, *,

On Fri, Jul 15, 2011 at 9:34 PM, Mike Eberdt<libr...@comcast.net>  wrote:

Configure.in eventually gets parsed by /bin/sh, and on Free/Net/OpenBSD
/bin/sh is not synonymous with bash.  Therefore, bash-isms in configure.in
can be problematic.

Oops, I mistyped; I meant to say that it is 'configure' (not 'configure.in') that's getting parsed by /bin/sh.

I don't understand your patch then.
-if test "$EUID" -eq "0"  -a "z`uname -o 2>/dev/null`" = "zCygwin" ; then
+# $EUID is a bash-ism, so we can't assume its existence.
[...]
+if test "z`uname -o 2>/dev/null`" = "zCygwin"&&  test "$EUID" -eq 0; then

So while you converted test "and" link to&&, the $EUID that according
to your comment is a bashism still is used. So how does this solve
anything?

While /bin/sh on FreeBSD always evaluates both X and Y in "if test X -a Y", it does correctly skip Y when X is false in "if X && Y". So as long as the OS check is first, we don't evaluate $EUID except on Cygwin.

However, the form that Michael Meeks checked in is much better, since it avoids the subtlety in the ordering of the 2 tests, while still using "test -a" like in the rest of the file.


(Besides that, configure is created with shebang of /bin/bash here)

Hmm. For me, 'configure' begins with #!/bin/sh on Linux as well as on FreeBSD.

ME
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to