postinst is in citadel-server 8.24-1.
This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141  | #!/bin/sh
# postinst script for citadel-server
set -e
# source debconf stuff
. /usr/share/debconf/confmodule
db_version 2.0
RUNDIR=/var/run/citadel
move_file()
{
	[ ! -f $1 ] && return
	[ -f $2 ] && return
	mv -f $1 $2
}
fix_perm()
{
	[ ! -f $1 ] && return
	chmod og-w $1
}
case "$1" in
    configure)
	if test ! -d $RUNDIR; then
            mkdir -p $RUNDIR
        fi
        if ! getent group citadel >/dev/null; then 
            addgroup --system 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 --no-create-home --shell /bin/false citadel
        fi
        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
	# some old versions created world-writable files, let's fix that
	fix_perm /etc/citadel/citadel.control
	fix_perm /etc/citadel/netconfigs/7
	fix_perm /etc/citadel/refcount_adjustments.dat
        db_get citadel/Administrator &&		admin="$RET"
        db_get citadel/ServerIPAddress && 	ip_addr="$RET"
        db_get citadel/LoginType && 		deb_enable_unix_auth="$RET"
	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
        if test "$deb_enable_unix_auth" = "true"; then
            export ENABLE_UNIX_AUTH=yes
        else
            export ENABLE_UNIX_AUTH=no
	    # we're in a fresh install, so we have to set the password for the new user
            if test -z "$2"; then
        	db_get citadel/Password && pw="$RET"
        	export SYSADMIN_PW=$pw
	    fi
        fi
        db_stop
        export IP_ADDR="$ip_addr"
        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
    ;;
    abort-upgrade|abort-remove|abort-deconfigure)
    ;;
    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac
# Automatically added by dh_installinit
if [ -x "/etc/init.d/citadel" ] || [ -e "/etc/init/citadel.conf" ]; then
	if [ ! -e "/etc/init/citadel.conf" ]; then
		update-rc.d citadel defaults >/dev/null
	fi
	if [ -n "$2" ]; then
		_dh_action=restart
	else
		_dh_action=start
	fi
	invoke-rc.d citadel $_dh_action || exit $?
fi
# End automatically added section
if test x$1 = xconfigure; then
	sleep 1
	if test -S $RUNDIR/citadel-admin.socket; then
		echo "applying your settings."
		/usr/lib/citadel-server/setup -q
		# we're in a fresh install, so we send the welcome message.
		if test -z "$2"; then
		    export SUPPRESS_DBVERSION_CHECK=yes
		    /usr/lib/citadel-server/migrate_aliases.sh /etc/citadel/mail.aliases
		    i=0;
		    while test ! -S $RUNDIR/lmtp.socket -a "$i" -lt "10"; do
			sleep 1
			i=$(($i + 1))
		    done
		    if test -S $RUNDIR/lmtp.socket -a -x /usr/sbin/citmail ; then
			export SEPERATOR=2600908b3f21ae7f692b973ed26e212d
			export WELCOMEHTML=/usr/share/doc/citadel-server/welcomemail.html
			export WELCOMETXT=/usr/share/doc/citadel-server/welcomemail.txt
			export FROM=room_citadel_stats@uncensored.citadel.org
			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") | \
				citmail -bm -r "$FROM" "$TO"
		    fi
		fi
	fi
fi
exit 0
 |