[19a8088] | 1 | #!/bin/sh -e |
---|
| 2 | |
---|
| 3 | . /usr/share/debconf/confmodule |
---|
| 4 | |
---|
| 5 | db_get bitlbee/serveport |
---|
| 6 | PORT="$RET" |
---|
| 7 | |
---|
| 8 | CONFDIR=/var/lib/bitlbee/ |
---|
| 9 | |
---|
| 10 | update-rc.d bitlbee defaults > /dev/null 2>&1 |
---|
| 11 | |
---|
| 12 | ## Load default option. Don't want to put this in debconf (yet?) |
---|
| 13 | BITLBEE_OPTS=-F |
---|
| 14 | BITLBEE_DISABLED=0 |
---|
| 15 | BITLBEE_UPGRADE_DONT_RESTART=0 |
---|
[fcd5003] | 16 | [ -r /etc/default/bitlbee ] && . /etc/default/bitlbee |
---|
[19a8088] | 17 | |
---|
[fcd5003] | 18 | if [ "$BITLBEE_DISABLED" = "0" ] && type update-inetd > /dev/null 2> /dev/null && |
---|
| 19 | ( expr "$2" : '0\..*' > /dev/null || expr "$2" : '1\.0\..*' > /dev/null ); then |
---|
| 20 | ## Make sure the inetd entry is gone (can still be there from a |
---|
| 21 | ## previous version. |
---|
[19a8088] | 22 | update-inetd --remove '.*/usr/sbin/bitlbee' |
---|
[379c08a] | 23 | if grep -q /usr/sbin/bitlbee /etc/inetd.conf 2> /dev/null; then |
---|
| 24 | # Thanks for breaking update-inetd! (bugs.debian.org/311111) |
---|
| 25 | # I hope that it works at least with xinetd, because this |
---|
| 26 | # emergency hack doesn't: |
---|
| 27 | perl -pi -e 's:^[^#].*/usr/sbin/bitlbee$:## Now using daemon mode\: # $&:' /etc/inetd.conf |
---|
[fcd5003] | 28 | killall -HUP inetd || true |
---|
[379c08a] | 29 | fi |
---|
[19a8088] | 30 | fi |
---|
| 31 | |
---|
| 32 | cat<<EOF>/etc/default/bitlbee |
---|
| 33 | ## /etc/default/bitlbee: Auto-generated/updated script. |
---|
| 34 | ## |
---|
[25dfb16] | 35 | ## If running in (fork)daemon mode, listen on this TCP port. |
---|
[19a8088] | 36 | BITLBEE_PORT="$PORT" |
---|
| 37 | |
---|
| 38 | ## Use single-process or forking daemon mode? Can't be changed from debconf, |
---|
| 39 | ## but maintainer scripts will save your changes here. |
---|
| 40 | BITLBEE_OPTS="$BITLBEE_OPTS" |
---|
| 41 | |
---|
| 42 | ## In case you want to stick with inetd mode (or if you just want to disable |
---|
| 43 | ## the init scripts for some other reason), you can disable the init script |
---|
| 44 | ## here. (Just set it to 1) |
---|
| 45 | BITLBEE_DISABLED=$BITLBEE_DISABLED |
---|
| 46 | |
---|
| 47 | ## As a server operator, you can use the RESTART command to restart only the |
---|
| 48 | ## master process while keeping all the child processes and their IPC |
---|
| 49 | ## connections. By enabling this, the maintainer scripts won't restart |
---|
| 50 | ## BitlBee during upgrades so you can restart the master process by hand. |
---|
| 51 | BITLBEE_UPGRADE_DONT_RESTART=$BITLBEE_UPGRADE_DONT_RESTART |
---|
| 52 | EOF |
---|
| 53 | |
---|
| 54 | ## Bye-bye DebConf, we don't need you anymore. |
---|
| 55 | db_stop |
---|
| 56 | |
---|
[7448e1b] | 57 | ## Restore the helpfile in case we weren't upgrading but just reconfiguring: |
---|
| 58 | if [ -e /usr/share/bitlbee/help.upgrading ]; then |
---|
| 59 | if [ -e /usr/share/bitlbee/help.txt ]; then |
---|
| 60 | rm -f /usr/share/bitlbee/help.upgrading |
---|
| 61 | else |
---|
| 62 | mv /usr/share/bitlbee/help.upgrading /usr/share/bitlbee/help.txt |
---|
| 63 | fi |
---|
| 64 | fi |
---|
| 65 | |
---|
[19a8088] | 66 | if [ -n "$2" -a "$BITLBEE_UPGRADE_DONT_RESTART" != "1" ]; then |
---|
[59c84c2] | 67 | if which invoke-rc.d >/dev/null 2>&1; then |
---|
| 68 | invoke-rc.d bitlbee restart |
---|
| 69 | else |
---|
| 70 | /etc/init.d/bitlbee restart |
---|
| 71 | fi |
---|
[19a8088] | 72 | fi |
---|
| 73 | |
---|
| 74 | ## If we're upgrading, we'll probably skip this next part |
---|
[d301872] | 75 | if [ -d $CONFDIR ] && chown -R bitlbee: $CONFDIR; then |
---|
[19a8088] | 76 | echo 'BitlBee (probably) already installed, skipping user/configdir installation' |
---|
| 77 | exit 0 |
---|
| 78 | fi |
---|
| 79 | |
---|
[628e601] | 80 | adduser --system --group --disabled-login --disabled-password --home /var/lib/bitlbee/ bitlbee |
---|
[19a8088] | 81 | chmod 700 /var/lib/bitlbee/ |
---|
| 82 | |
---|
| 83 | ## Can't do this in packaging phase: Don't know the UID yet. Access to |
---|
[628e601] | 84 | ## the file should be limited, now that it stores passwords. Added |
---|
| 85 | ## --group later for a little more security, but have to see if I can |
---|
| 86 | ## apply this change to existing installations on upgrades. Will think |
---|
| 87 | ## about that later. |
---|
| 88 | if getent group bitlbee > /dev/null; then |
---|
| 89 | chmod 640 /etc/bitlbee/bitlbee.conf |
---|
| 90 | chown root:bitlbee /etc/bitlbee/bitlbee.conf |
---|
| 91 | else |
---|
| 92 | chmod 600 /etc/bitlbee/bitlbee.conf |
---|
| 93 | chown bitlbee /etc/bitlbee/bitlbee.conf |
---|
| 94 | fi |
---|
[19a8088] | 95 | |
---|
| 96 | if [ -z "$2" ]; then |
---|
[59c84c2] | 97 | if which invoke-rc.d >/dev/null 2>&1; then |
---|
| 98 | invoke-rc.d bitlbee start |
---|
| 99 | else |
---|
| 100 | /etc/init.d/bitlbee start |
---|
| 101 | fi |
---|
[19a8088] | 102 | fi |
---|