FS#22691 - [postfix] doesn’t start when /bin/sh isn’t bash

Attached to Project: Arch Linux
Opened by Link Mauve (linkmauve) - Tuesday, 01 February 2011, 01:02 GMT
Last edited by Gaetan Bisson (vesath) - Tuesday, 01 February 2011, 07:54 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Paul Mattal (paul)
Gaetan Bisson (vesath)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No


The postfix package assumes that /bin/sh is bash, and so uses one of its features that isn’t Posix: the expansion of “a/{b,c}” into “a/b a/c”.
The shell then tries to changes the rights of the (of course) non existing file “a/{b,c}” and fails.
This problem can be found in the postfix.install file, and in the PKGBUILD of the [testing] version.

Additional info:
* package version(s)
[extra] 2.7.2 or [testing] 2.8.0 show the same bug

Steps to reproduce:
* Change the shell used for /bin/sh for one without non-Posix functionnalities, like zsh.
* Install the postfix package, either from [extra] or from [testing].
* Look at the errors in the install, then you won’t be able to run postfix.
This task depends upon

Closed by  Gaetan Bisson (vesath)
Tuesday, 01 February 2011, 07:54 GMT
Reason for closing:  Implemented
Additional comments about closing:  postfix-2.8.0-2 in [testing]
Comment by Gaetan Bisson (vesath) - Tuesday, 01 February 2011, 07:38 GMT
PKGBUILD are always written in bash: most fields are arrays...
As for the install scriptlet, okay, I'll expand the {,} expressions.