+ correct FS-flags on citadel.co* on startup
[citadel.git] / citadel / debian / citadel-server.postinst
1 #!/bin/sh
2 # postinst script for citadel-server
3
4 set -e
5
6 # source debconf stuff
7 . /usr/share/debconf/confmodule
8 db_version 2.0
9
10 # glitch: this mustn't be in /var/run/
11 if test -f /var/run/refcount_adjustments.dat; then
12     mv /var/run/refcount_adjustments.dat /etc/citadel/
13 fi
14 case "$1" in
15     configure)
16         chown -R citadel:citadel /etc/citadel
17         chown -R citadel:citadel /var/lib/citadel /var/spool/citadel
18
19         db_get citadel/Administrator && admin="$RET"
20         db_get citadel/ServerIPAddress && ip_addr="$RET"
21         db_get citadel/LoginType && deb_enable_unix_auth="$RET"
22
23         if test "$deb_enable_unix_auth" = "true"; then
24             export ENABLE_UNIX_AUTH=yes
25         else
26             export ENABLE_UNIX_AUTH=no
27         fi
28
29         export IP_ADDR=$ip_addr
30         export CITADEL='/var/run/citadel'
31         export CITADEL_PORT=504
32         export CITADEL_INSTALLER=yes
33         export CITADEL_UID=`grep citadel /etc/passwd | cut -d :  -f 3`
34         export ACT_AS_MTA=no
35         export SYSADMIN_NAME=$admin
36         export CREATE_XINETD_ENTRY=no
37         export CREATE_INITTAB_ENTRY=no
38         export NO_INIT_SCRIPTS=yes
39
40 #This is not debian conformant, and uniq to the citadel.org debs.
41         export ALTER_ETC_SERVICES=yes
42 #
43         if test -S /var/run/citadel/citadel.socket; then 
44             /usr/sbin/sendcommand "DOWN"
45         fi
46         while test -S /var/run/citadel/citadel.socket; do 
47             sleep 1
48         done
49         if test ! -f /var/lib/citadel/data/citadel.control -a -f /etc/citadel/citadel.control; then
50             mv /etc/citadel/citadel.control /var/lib/citadel/data/
51             mv /etc/citadel/citadel.config /var/lib/citadel/data/
52         fi
53
54         echo -n "applying your settings.... "
55         /usr/lib/citadel-server/setup -q
56         echo "done"
57         # we're in a fresh install, so we send the welcome message.
58         if test -z "$2"; then
59             echo "migrating mail aliases from other mailers"
60             /usr/lib/citadel-server/migrate_aliases.sh /etc/citadel/mail.aliases
61             i=0;
62             while test ! -S /var/run/citadel/lmtp.socket -a "$i" -lt "10"; do
63                 sleep 1
64                 i=$(($i + 1))
65             done
66             if test -S /var/run/citadel/lmtp.socket ; then
67                 echo "sending welcome mail"
68                 export SEPERATOR=2600908b3f21ae7f692b973ed26e212d
69                 export WELCOMEHTML=/usr/share/doc/citadel-server/welcomemail.html
70                 export WELCOMETXT=/usr/share/doc/citadel-server/welcomemail.txt
71                 export FROM=room_citadel_stats@uncensored.citadel.org
72                 export TO=room_lobby
73                 (
74                     printf "MIME-Version: 1.0\r\nContent-Type: multipart/alternative; \r\n boundary=$SEPERATOR\r\n\r\nThis is a multi-part message in MIME format.\r\n\r\n--$SEPERATOR\r\nContent-Type: text/plain; charset=utf-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n"; 
75                     cat $WELCOMETXT
76                     printf "\r\n\r\n--$SEPERATOR\r\nContent-Type: text/html; charset=US-ASCII\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n"
77                     cat $WELCOMEHTML; 
78                     printf "\r\n\r\n--$SEPERATOR--\r\n\r\n") | \
79                         /usr/sbin/citmail -bm -r "$FROM" "$TO"
80             fi
81         fi
82
83         if test -S /var/run/citadel/citadel.socket; then 
84             /usr/sbin/sendcommand "DOWN"
85         fi
86
87         while test -S /var/run/citadel/citadel.socket; do 
88             sleep 1
89         done
90
91         db_stop
92     ;;
93
94     abort-upgrade|abort-remove|abort-deconfigure)
95     ;;
96
97     *)
98         echo "postinst called with unknown argument \`$1'" >&2
99         exit 1
100     ;;
101 esac
102
103 #DEBHELPER#
104
105 exit 0