Hello,
for reasons beyond my understanding, when
* building the ngircd Debian package (on Linux at least) and
* using the sbuild build system,
the command "ps -af" does not include the commands running inside the
sbuild system. Therefore, start-server.sh will report a fail as
getpid.sh cannot not find the ./T-ngircd1 just started although it's
actually running. This results in a funny build log ...
starting server 1 ... failure!
FAIL: start-server1
running connect-test ... ok.
PASS: connect-test
The self-test of getpid.sh however will likely succeed as it's happy
if it sees any process with "sh" somewhere in the name. Things go
downhill from there.
The confusing things are:
* The alternative cowbuilder/pbuilder does not have this problem.
* The alternative usage "ps ax" does fine.
This took a few days to track down.
So, as a quick hack, the patch attached adds another switch to
getpid.sh. It's already included in the Debian package ngircd-19-1
uploaded a few hours ago.
As briefly discussed in IRC, the whole start-server/getpid thingie is
very fragile and needs a cleanup. Unfortunately, any solution has to
keep in mind ngircd aims to be portable so we cannot use advanced
solutions for the problem of sane daemon starting/stopping like
start-stop-daemon.
Cheers,
Christoph
diff --git a/src/testsuite/getpid.sh b/src/testsuite/getpid.sh
index fd3b342..19ced76 100755
--- a/src/testsuite/getpid.sh
+++ b/src/testsuite/getpid.sh
@@ -13,6 +13,8 @@ elif [ $UNAME = "A/UX" ]; then
PS_FLAGS="-ae"; PS_PIDCOL="1"; HEAD_FLAGS="-1"
elif [ $UNAME = "GNU" ]; then
PS_FLAGS="-ax"; PS_PIDCOL="2"; HEAD_FLAGS="-n 1"
+elif [ $UNAME = "Linux" ]; then
+ PS_FLAGS="ax"; PS_PIDCOL="1"; HEAD_FLAGS="-n 1"
elif [ $UNAME = "SunOS" ]; then
PS_FLAGS="-af"; PS_PIDCOL=2; HEAD_FLAGS="-n 1"
else