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