The shell script that supervise uses to start qmail-smtpd (/var/qmail/supervise/qmail-smtpd/run) uses the "source" keyword to extract values from several configuration files. This is a valid keyword in Bash, but the standard Bourne shell keyword is "." (dot). The script has an interpreter trigger of "#!/bin/sh", so it does not extract the configuration values if /bin/sh is not Bash and the service doesn't start. Reproducible: Always Steps to Reproduce: 1. merge net-mail/qmail-1.03-r13 and app-shells/ash-1.6 2. make /bin/sh a link to ash 3. attempt to start qmail-smtpd Actual Results: The qmail-smtpd service will not start and there are lines like the following in /var/log/qmail/qmail-smtpd/current: 4000000040b2cdb1368ffabc tcpserver: usage: tcpserver [ -461UXpPhHrRoOdDqQv ] [ -c limit ] [ -x rules.cdb ] [ -B banner ] [ -g gid ] [ -u uid ] [ -b b acklog ] [ -l localname ] [ -t timeout ] [ -I interface ] host port program Expected Results: The qmail-smtpd service should have started.
Created attachment 31978 [details, diff] A patch to /var/qmail/supervise/qmail-smtpd/run to replace "source" with "." This patch seems to make the script work properly with ash installed as /bin/sh. An alternative would be to simply change the "#!/bin/sh" to "#!/bin/bash"
i'm going to change to doing /bin/bash, as I do use a lot of other bashisms in some of the scripts.
clearing up my bug tracking
Fixed in CVS, could you test it, please?
Closing