X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fdebian%2Fcitadel-server.postinst;h=b5227a4c2bf149b7efe2c3d15043aada8fa5f8f6;hb=cc6ff1d17f37d670330001a9d4dd91eef7044c9b;hp=ac5aa2d07021dbaa1f04253afbd84b0a24d789d9;hpb=878d338493decbf22249698a8cfe1268924c2210;p=citadel.git diff --git a/citadel/debian/citadel-server.postinst b/citadel/debian/citadel-server.postinst index ac5aa2d07..b5227a4c2 100644 --- a/citadel/debian/citadel-server.postinst +++ b/citadel/debian/citadel-server.postinst @@ -1,69 +1,95 @@ -#! /bin/sh -# citadel-server.postinst -# by Wilfried Goesgens & Fathi Boudra +#!/bin/sh +# postinst script for citadel-server set -e -# Use debconf. +# source debconf stuff . /usr/share/debconf/confmodule +db_version 2.0 +move_file() +{ + [ ! -f $1 ] && return + [ -f $2 ] && return + mv -f $1 $2 +} case "$1" in - configure) - if ! getent group citadel >/dev/null; then - groupadd citadel - fi - if ! getent passwd citadel >/dev/null; then - adduser --system --ingroup citadel --home /var/lib/citadel \ - --gecos "Citadel system user" --shell /bin/sh \ - --disabled-password citadel - fi - mkdir -p /etc/citadel - chown citadel:citadel /etc/citadel + configure) + chown -R citadel:citadel /etc/citadel + chown -R citadel:citadel /var/lib/citadel /var/spool/citadel + move_file /var/run/refcount_adjustments.dat /etc/citadel/data/refcount_adjustments.dat + move_file /etc/citadel/citadel.control /var/lib/citadel/data/citadel.control + move_file /etc/citadel/citadel.config /var/lib/citadel/data/citadel.config + invoke-rc.d citadel start - chown -R citadel:citadel /var/lib/citadel /var/spool/citadel + db_get citadel/Administrator && admin="$RET" + db_get citadel/ServerIPAddress && ip_addr="$RET" + db_get citadel/LoginType && ENABLE_UNIX_AUTH="$RET"; export ENABLE_UNIX_AUTH + db_get citadel/LDAPServer && LDAP_HOST="$RET"; export LDAP_HOST + db_get citadel/LDAPServerPort && LDAP_PORT="$RET"; export LDAP_PORT + db_get citadel/LDAPBaseDN && LDAP_BASE_DN="$RET"; export LDAP_BASE_DN + db_get citadel/LDAPBindDN && LDAP_BIND_DN="$RET"; export LDAP_BIND_DN + db_get citadel/LDAPBindDNPassword && LDAP_BIND_PW="$RET"; export LDAP_BIND_PW - chown root:root /usr/sbin/chkpwd - chmod 4755 /usr/sbin/chkpwd - db_get citadel/Administrator && admin="$RET" - db_get citadel/ServerIPAddress && ip_addr="$RET" - db_get citadel/LoginType && enable_unix_auth="$RET" - if test "$enable_unix_auth" = "true"; then - export ENABLE_UNIX_AUTH=yes - else - export ENABLE_UNIX_AUTH=no - fi - export IP_ADDR=$ip_addr - export CITADEL='' - export CITADEL_INSTALLER=yes - export ACT_AS_MTA=no - export SYSADMIN_NAME=$admin - export CREATE_XINETD_ENTRY=no - export CREATE_INITTAB_ENTRY=no - export NO_INIT_SCRIPTS=yes + export IP_ADDR=$ip_addr + export CITADEL='/var/run/citadel' + export CITADEL_PORT=504 + export CITADEL_INSTALLER=yes + export CITADEL_UID=`grep ^citadel: /etc/passwd | cut -d : -f 3` + export ACT_AS_MTA=no + export SYSADMIN_NAME=$admin + export CREATE_XINETD_ENTRY=no + export CREATE_INITTAB_ENTRY=no + export NO_INIT_SCRIPTS=yes - echo "applying your settings." - /usr/lib/citadel-server/setup -q + while test ! -S /var/run/citadel/citadel-admin.socket; do + sleep 1 + echo -n : + done - if test -S /var/run/citadel/citadel.socket; then - /usr/sbin/sendcommand "DOWN" + echo -n "applying your settings.... " + /usr/lib/citadel-server/setup -q + echo "done" + # we're in a fresh install, so we send the welcome message. + if test -z "$2"; then + echo "migrating mail aliases from other mailers" + /usr/lib/citadel-server/migrate_aliases.sh /etc/citadel/mail.aliases + i=0; + while test ! -S /var/run/citadel/lmtp.socket -a "$i" -lt "10"; do + sleep 1 + i=$(($i + 1)) + done + if test -S /var/run/citadel/lmtp.socket ; then + echo "sending welcome mail" + export SEPERATOR=2600908b3f21ae7f692b973ed26e212d + export WELCOMEHTML=/usr/share/doc/citadel-server/welcomemail.html + export WELCOMETXT=/usr/share/doc/citadel-server/welcomemail.txt + export FROM=nobody@example.com + export TO=room_lobby + ( + 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"; + cat $WELCOMETXT + printf "\r\n\r\n--$SEPERATOR\r\nContent-Type: text/html; charset=US-ASCII\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n" + cat $WELCOMEHTML; + printf "\r\n\r\n--$SEPERATOR--\r\n\r\n") | \ + /usr/sbin/citmail -bm -r "$FROM" "$TO" + fi fi - while test -S /var/run/citadel/citadel.socket; do - sleep 1 - done + db_stop + ;; - db_stop - - ;; - abort-upgrade|abort-remove|abort-deconfigure) + abort-upgrade|abort-remove|abort-deconfigure) ;; - *) echo "$0: didn't understand being called with \`$1'" 1>&2 - exit 1;; + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; esac - #DEBHELPER# +#DEBHELPER# exit 0