'Network User' is now 'Normal User'
[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 move_file()
11 {
12         [ ! -f $1 ] && return
13         [ -f $2 ] && return
14         mv -f $1 $2
15 }
16
17 case "$1" in
18     configure)
19         chown -R citadel:citadel /etc/citadel
20         chown -R citadel:citadel /var/lib/citadel /var/spool/citadel
21         move_file /var/run/refcount_adjustments.dat /etc/citadel/data/refcount_adjustments.dat
22         move_file /etc/citadel/citadel.control /var/lib/citadel/data/citadel.control
23         move_file /etc/citadel/citadel.config /var/lib/citadel/data/citadel.config
24         invoke-rc.d citadel start
25
26         db_get citadel/Administrator &&      admin="$RET"
27         db_get citadel/ServerIPAddress &&    ip_addr="$RET"
28         db_get citadel/LoginType &&          ENABLE_UNIX_AUTH="$RET"; export ENABLE_UNIX_AUTH
29         db_get citadel/LDAPServer &&         LDAP_HOST="$RET"; export LDAP_HOST
30         db_get citadel/LDAPServerPort &&     LDAP_PORT="$RET"; export LDAP_PORT
31         db_get citadel/LDAPBaseDN &&         LDAP_BASE_DN="$RET"; export LDAP_BASE_DN
32         db_get citadel/LDAPBindDN &&         LDAP_BIND_DN="$RET"; export LDAP_BIND_DN
33         db_get citadel/LDAPBindDNPassword && LDAP_BIND_PW="$RET"; export LDAP_BIND_PW
34
35
36         export IP_ADDR=$ip_addr
37         export CITADEL='/var/run/citadel'
38         export CITADEL_PORT=504
39         export CITADEL_INSTALLER=yes
40         export CITADEL_UID=`grep ^citadel: /etc/passwd | cut -d :  -f 3`
41         export ACT_AS_MTA=no
42         export SYSADMIN_NAME=$admin
43         export CREATE_XINETD_ENTRY=no
44         export CREATE_INITTAB_ENTRY=no
45         export NO_INIT_SCRIPTS=yes
46
47         while test ! -S /var/run/citadel/citadel-admin.socket; do
48                 sleep 1
49                 echo -n :
50         done
51
52         echo -n "applying your settings.... "
53         /usr/lib/citadel-server/setup -q
54         echo "done"
55         # this is a new installation
56         if test -z "$2"; then
57             i=0;
58             while test ! -S /var/run/citadel/lmtp.socket -a "$i" -lt "10"; do
59                 sleep 1
60                 i=$(($i + 1))
61             done
62             if test -S /var/run/citadel/lmtp.socket ; then
63                 echo "sending welcome mail"
64                 export SEPERATOR=2600908b3f21ae7f692b973ed26e212d
65                 export WELCOMEHTML=/usr/share/doc/citadel-server/welcomemail.html
66                 export WELCOMETXT=/usr/share/doc/citadel-server/welcomemail.txt
67                 export FROM=nobody@example.com
68                 export TO=room_lobby
69                 (
70                     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"; 
71                     cat $WELCOMETXT
72                     printf "\r\n\r\n--$SEPERATOR\r\nContent-Type: text/html; charset=US-ASCII\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n"
73                     cat $WELCOMEHTML; 
74                     printf "\r\n\r\n--$SEPERATOR--\r\n\r\n") | \
75                         /usr/sbin/citmail -bm -r "$FROM" "$TO"
76             fi
77         fi
78
79         db_stop
80     ;;
81
82     abort-upgrade|abort-remove|abort-deconfigure)
83     ;;
84
85     *)
86         echo "postinst called with unknown argument \`$1'" >&2
87         exit 1
88     ;;
89 esac
90
91 #DEBHELPER#
92
93 exit 0