aboutsummaryrefslogtreecommitdiffstats
path: root/debian/config
diff options
context:
space:
mode:
Diffstat (limited to 'debian/config')
-rwxr-xr-xdebian/config20
1 files changed, 13 insertions, 7 deletions
diff --git a/debian/config b/debian/config
index 3a04813d..9bb78237 100755
--- a/debian/config
+++ b/debian/config
@@ -1,17 +1,23 @@
#!/bin/sh -e
. /usr/share/debconf/confmodule
+[ -f /etc/default/bitlbee ] && . /etc/default/bitlbee
db_title BitlBee
-db_get bitlbee/serveport
-if [ "$RET" = "stillhavetoask" ]; then
- if netstat -ltn | grep ':6667' 2> /dev/null > /dev/null; then
- port=6668;
- else
- port=6667;
+if [ -n "$BITLBEE_PORT" ]; then
+ db_set bitlbee/serveport "$BITLBEE_PORT"
+else
+ db_get bitlbee/serveport
+ if [ "$RET" = "stillhavetoask" ]; then
+ listens=$(netstat -ltn | awk '{print $4}')
+ for port in 6667 6666 6668 6669; do
+ if [ $(expr "$listens " : ".*:$port\s") = "0" ]; then
+ break
+ fi
+ done
+ db_set bitlbee/serveport $port;
fi
- db_set bitlbee/serveport $port;
fi
if db_input medium bitlbee/serveport; then