This file is indexed.

postinst is in citadel-server 917-2.

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
142
#!/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 citadel:citadel /etc/citadel/ /etc/citadel/citadel_urlshorteners.rc /etc/citadel/mail.aliases /etc/citadel/messages/ /etc/citadel/messages/changepw /etc/citadel/messages/goodbye /etc/citadel/messages/hello /etc/citadel/messages/newuser /etc/citadel/messages/register /etc/citadel/messages/roomaccess /etc/citadel/messages/unlisted /etc/citadel/public_clients
        chown citadel:citadel /var/lib/citadel/ /var/lib/citadel/bio/ /var/lib/citadel/bitbucket/ /var/lib/citadel/data/ /var/lib/citadel/files/ /var/lib/citadel/images/ /var/lib/citadel/info/ /var/lib/citadel/userpics/ /var/spool/citadel/ /var/spool/citadel/network/ /var/spool/citadel/network/spoolin/ /var/spool/citadel/network/spoolout/

	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
	export CITADEL_UID=`grep ^citadel: /etc/passwd | cut -d :  -f 3`

    ;;

    abort-upgrade|abort-remove|abort-deconfigure)
    ;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

# Automatically added by dh_installinit/11.1.4ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	if [ -x "/etc/init.d/citadel" ]; then
		update-rc.d citadel defaults >/dev/null
		if [ -n "$2" ]; then
			_dh_action=restart
		else
			_dh_action=start
		fi
		invoke-rc.d citadel $_dh_action || exit 1
	fi
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