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 |
---|
16 | [ -r /etc/default/bitlbee ] && . /etc/default/bitlbee |
---|
17 | |
---|
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. |
---|
22 | update-inetd --remove '.*/usr/sbin/bitlbee' |
---|
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 |
---|
28 | killall -HUP inetd || true |
---|
29 | fi |
---|
30 | fi |
---|
31 | |
---|
32 | cat<<EOF>/etc/default/bitlbee |
---|
33 | ## /etc/default/bitlbee: Auto-generated/updated script. |
---|
34 | ## |
---|
35 | ## If running in (fork)daemon mode, listen on this TCP port. |
---|
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 | |
---|
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 | |
---|
66 | if [ -n "$2" -a "$BITLBEE_UPGRADE_DONT_RESTART" != "1" ]; then |
---|
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 |
---|
72 | fi |
---|
73 | |
---|
74 | ## If we're upgrading, we'll probably skip this next part |
---|
75 | if [ -d $CONFDIR ] && chown -R bitlbee: $CONFDIR; then |
---|
76 | echo 'BitlBee (probably) already installed, skipping user/configdir installation' |
---|
77 | exit 0 |
---|
78 | fi |
---|
79 | |
---|
80 | adduser --system --group --disabled-login --disabled-password --home /var/lib/bitlbee/ bitlbee |
---|
81 | chmod 700 /var/lib/bitlbee/ |
---|
82 | |
---|
83 | ## Can't do this in packaging phase: Don't know the UID yet. Access to |
---|
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 |
---|
95 | |
---|
96 | if [ -z "$2" ]; then |
---|
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 |
---|
102 | fi |
---|