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