* fixed setup.c to accept our environment variables
[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 case "$1" in
11     configure)
12         chown -R citadel:citadel /etc/citadel
13         chown -R citadel:citadel /var/lib/citadel /var/spool/citadel
14
15         # we're a bit paranoid here,
16         # because of this gave us many errors in the past.
17         chown root:root /usr/sbin/chkpwd
18         chmod 4755 /usr/sbin/chkpwd
19
20         db_get citadel/Administrator && admin="$RET"
21         db_get citadel/ServerIPAddress && ip_addr="$RET"
22         db_get citadel/LoginType && deb_enable_unix_auth="$RET"
23
24         if test "$deb_enable_unix_auth" = "true"; then
25             export ENABLE_UNIX_AUTH=yes
26         else
27             export ENABLE_UNIX_AUTH=no
28         fi
29
30         export IP_ADDR=$ip_addr
31         export CITADEL=''
32         export CITADEL_PORT=504
33         export CITADEL_INSTALLER=yes
34         export CITADEL_UID=`grep citadel /etc/passwd | cut -d :  -f 3`
35         export ACT_AS_MTA=no
36         export SYSADMIN_NAME=$admin
37         export CREATE_XINETD_ENTRY=no
38         export CREATE_INITTAB_ENTRY=no
39         export NO_INIT_SCRIPTS=yes
40 set >/tmp/citsetup
41         echo "applying your settings."
42         /usr/lib/citadel-server/setup -q
43
44         # we're in a fresh install, so we send the welcome message.
45         if test -z "$2"; then
46             export SEPERATOR=2600908b3f21ae7f692b973ed26e212d
47             export WELCOMEHTML=/usr/share/doc/citadel-server/welcomemail.html
48             export WELCOMETXT=/usr/share/doc/citadel-server/welcomemail.txt
49             export FROM=room_citadel_stats@uncensored.citadel.org
50             export TO=room_lobby
51             (
52                 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"; 
53                 cat $WELCOMETXT
54                 printf "\r\n\r\n--$SEPERATOR\r\nContent-Type: text/html; charset=US-ASCII\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n"
55                 cat $WELCOMEHTML; 
56                 printf "\r\n\r\n--$SEPERATOR--\r\n\r\n") | \
57                     /usr/sbin/citmail -bm -r "$FROM" "$TO"
58         fi
59
60         if test -S /var/run/citadel/citadel.socket; then 
61             /usr/sbin/sendcommand "DOWN"
62         fi
63
64         while test -S /var/run/citadel/citadel.socket; do 
65             sleep 1
66         done
67
68         db_stop
69     ;;
70
71     abort-upgrade|abort-remove|abort-deconfigure)
72     ;;
73
74     *)
75         echo "postinst called with unknown argument \`$1'" >&2
76         exit 1
77     ;;
78 esac
79
80 #DEBHELPER#
81
82 exit 0