ALERT!! Error in Inn-CURRENT-20090412

Julien ÉLIE julien at trigofacile.com
Sun Apr 12 14:17:58 UTC 2009


Hi The Doctor,

> /var/news/lib/innshellvars: 1: Syntax error: ";" unexpected
> eval: 1: Syntax error: ";" unexpected

It looks like you are running the standard Bourne shell.
Hmmm...  It does not recognize list values!

gallifrey% echo "EXTRAOVERVIEWADVERTISED=( ); export EXTRAOVERVIEWADVERTISED;" | sh
Syntax error: ";" unexpected

gallifrey% echo "EXTRAOVERVIEWADVERTISED=( ); export EXTRAOVERVIEWADVERTISED;" | bash

bash recognizes them.
If you put "#!/bin/bash" at the beginning of /var/news/lib/innshellvars,
doesn't it work better?



Well, I do not know what to do.
Bourne shell does not understand arrays, as far as I know.

The problem comes from "innconfval -s".  Should we just drop the output of parameters
which expect list values as it is not portable for all existings shells?

However, I think there is a more major issue because I see that Makefile.global.in
defines an hard-coded shell:

    SHELL=/bin/sh

There is also innd/site.c with:

    static char SITEshell[] = "/bin/sh";

and the test suite (but it will not impact how INN works).


On your system, I see that configure finds /bin/bash, so it would be fine.
Nonetheless, I see that on another system, it finds a wrong /bin/sh
(not aliased to /bin/bash) which does not understand arrays...

Difficult to do then...

The wisest thing would be not to advertise arrays in "innconfval -s".
As for the SHELL variable, we could also use the one of configure.
Should we do that?  (but still without advertising arrays)

-- 
Julien ÉLIE

« Un clavier azerty en vaut deux. »




More information about the inn-workers mailing list