Wietse Venema:
> Rich Shepard:
> >    When upgrading to -2.11.4 (on Slackware-14.1), a message is displayed 
> > that
> > line 504 in /usr/libexec/postfix/post-install has too many arguments. Adding
> > double quotes to $path fixes this problem.
> 
> Maintainers sometimes make "improvements" and that can change line
> numbers. Just to be sure we are talking about the same thing, are
> you referring to the same line 504 that I have here:
> 
> 501   # Flag obsolete objects. XXX Solaris 2..9 does not have "test -e".
> 502   if [ -n "$obsolete_flag" ]
> 503   then
> 504       test -r $path -a "$type" != "d" && obsolete="$obsolete $path"
> 505       continue;
> 506   else
> 507       keep_list="$keep_list $path"
> 508   fi
> 
> What was the 100% exact text of the error message?

I can sort-of reproduce such an error with a test script:

    $ cat -n x.sh
    1  #!/bin/sh
    2
    3  path="foo bar"
    4  echo blah
    5  test -r $path -a "x" != "y" && echo foobar
    $ sh x.sh
    blah
    x.sh: line 5: test: too many arguments

In post-install. the path is evaluated thusly:

    480             # Expand $name, and canonicalize null fields.
    481             for name in path owner group flags
    482             do
    483                 eval junk=\${$name}
    484                 case $junk in
    485                 [$]*) eval $name=$junk;;
    486                    -) eval $name=;;
    487                    *) ;;
    488                 esac
    489             done

This suggests that you have a space in a pathname of some Postfix
configuration pathname parameters such as queue_directory,
command_directory, sendmail_path, and so on.

        Wietse

Reply via email to