+#!/bin/sh -e
+
+set -e
+
+[ "$1" = "configure" ] || exit 0
+
+# Load CARNet tools
+. /usr/share/carnet-tools/functions.sh
+# Load Debconf
+. /usr/share/debconf/confmodule
+
+# Fri, 18 Feb 2005 11:48:51 +0100
+MM_CFG="/etc/mailman/mm_cfg.py"
+
+if [ ! -L /usr/lib/mailman/Mailman/mm_cfg.py -a -f /usr/lib/mailman/Mailman/mm_cfg.py ]; then
+ mv /usr/lib/mailman/Mailman/mm_cfg.py /usr/lib/mailman/Mailman/mm_cfg.py.cn-bak
+ ln -sf /etc/mailman/mm_cfg.py /usr/lib/mailman/Mailman/mm_cfg.py
+fi
+
+if [ ! -L /etc/apache2/conf.d/mailman-cn.conf -a ! -f /etc/apache2/conf.d/mailman-cn.conf ]; then
+ ln -sf /etc/mailman/apache.conf /etc/apache2/conf.d/mailman-cn.conf
+fi
+
+HOSTNAME="`hostname --fqdn`"
+
+mmcfg_add () {
+ opt="$1"
+ val="$2"
+ if ( grep -E -q "^$opt " $MM_CFG && ! grep -E -q "^$opt = $val$" $MM_CFG ) || grep -E -q "^#$opt " $MM_CFG; then
+ perl -ne \
+"if (/^#?$opt /) {
+ if (! \$found) {
+ \$found = 1;
+ \$_ = \"$opt = $val\\n\";
+ } else {
+ next;
+ }
+ }
+ print \$_;
+" < $MM_CFG > ${MM_CFG}.$$
+ if ! cmp -s $MM_CFG ${MM_CFG}.$$; then
+ cp_mv ${MM_CFG}.$$ $MM_CFG
+ restart=yes
+ else
+ rm -f ${MM_CFG}.$$
+ exit 1 # shouldn't happen
+ fi
+ elif ! grep -E -q "^$opt = $val$" $MM_CFG; then
+ echo "$opt = $val" >> $MM_CFG
+ restart=yes
+ fi
+}
+
+cp_backup_conffile -p -d mailman $MM_CFG || true
+
+# ocisti smece od prosle verzije
+if dpkg --compare-versions "$2" lt 2:2.1.5-9; then
+ HN="'$HOSTNAME'"
+ grep -v -E 'DEFAULT_(URL_PATTERN|URL_HOST|EMAIL_HOST) =' $MM_CFG | \
+ awk '/^# Default host for web interface of newly created MLs/ { print $0; print "DEFAULT_EMAIL_HOST = '$HN'"; getline } { print $0 }' | \
+ awk '/^# Default domain for email addresses of newly created MLs/ { print $0; print "DEFAULT_URL_HOST = '$HN'"; getline } { print $0 }' \
+ > ${MM_CFG}.$$
+ cp_mv ${MM_CFG}.$$ $MM_CFG
+fi
+
+# stavi hrvatski kao jezik
+mmcfg_add "DEFAULT_SERVER_LANGUAGE" "'hr'"
+
+# sredi DEFAULT_URL_PATTERN
+mmcfg_add "DEFAULT_URL_PATTERN" "'http://%s/mailman/'"
+
+# sredi VIRTUAL_HOST_OVERVIEW
+mmcfg_add "VIRTUAL_HOST_OVERVIEW" "Off"
+
+# sredi DEFAULT_URL_HOST
+mmcfg_add "DEFAULT_URL_HOST" "'$HOSTNAME'"
+
+# sredi DEFAULT_EMAIL_HOST
+mmcfg_add "DEFAULT_EMAIL_HOST" "'$HOSTNAME'"
+
+# sredi PRIVATE_ARCHIVE_URL
+mmcfg_add "PRIVATE_ARCHIVE_URL" "'/mailman/private'"
+
+# kreirati link za smrsh
+if [ -d /etc/mail/smrsh/ ]; then
+ ln -sf /var/lib/mailman/mail/mailman /etc/mail/smrsh/mailman
+fi
+
+# zakomentiraj prastare opcije
+if [ -f $MM_CFG ]; then
+ cp_check_and_sed '^DEFAULT_MAIL_HOST ' \
+ 's/^DEFAULT_MAIL_HOST .*/d' \
+ $MM_CFG || true
+ cp_check_and_sed '^DEFAULT_URL ' \
+ 's/^\(DEFAULT_URL .*\)/#\1/g' \
+ $MM_CFG || true
+fi
+
+# kreirati mailman listu
+if [ -z "`list_lists | grep -i mailman`" ]; then
+ newlist -q mailman mailman@$HOSTNAME `pwgen 8 1` > /dev/null
+fi
+
+# kreirati aliase
+if ! grep -q "mailman.*/var/lib/mailman/mail/mailman" /etc/aliases; then
+ cat >> /etc/aliases <<EOF
+## mailman mailing list
+mailman: "|/var/lib/mailman/mail/mailman post mailman"
+mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
+mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
+mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
+mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
+mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
+mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
+mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
+mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
+mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
+EOF
+ newaliases > /dev/null
+fi
+
+withlist mailman > /dev/null 2> /dev/null << EOF
+m.advertised = False
+m.Lock()
+m.Save()
+m.Unlock()
+EOF
+
+# dodati roota na mailman listu:
+if [ ! "`list_members mailman | wc -l`" -ge 1 ]; then
+ add_members -r - mailman <<EOF
+root@$HOSTNAME
+EOF
+fi
+
+# sredi debconf da site bude na hrvatskom
+db_get mailman/site_languages || true
+site_languages="$RET"
+if ! echo $site_languages | grep -q 'hr'; then
+ site_languages="$site_languages, hr"
+ db_set mailman/site_languages "$site_languages" || true
+ db_go || true
+fi
+db_set mailman/default_server_language "hr" || true
+db_go || true
+db_stop || true
+
+site_languages="`echo $site_languages | tr -d ','`"
+mm_etc=/etc/mailman
+mm_dist=/usr/share/mailman
+
+for lang in ${site_languages}; do
+ [ -d "${mm_dist}/${lang}" ] || break
+ echo -n "Installing site language ${lang} " >&2
+ mkdir -p ${mm_etc}/${lang}
+ for file in $(ls ${mm_dist}/${lang}); do
+ echo -n . >&2
+ langfile=${lang}/${file}
+ ucf --debconf-ok --three-way ${mm_dist}/${langfile} ${mm_etc}/${langfile} 2>/dev/null
+ # Upon install ucf leaves a duplicate in .dpkg-dist (Bug #238730), remove it
+ cmp -s ${mm_etc}/${langfile} ${mm_etc}/${langfile}.dpkg-dist \
+ && rm ${mm_etc}/${langfile}.dpkg-dist
+ done
+ echo " done." >&2
+done
+
+
+# restart mailman
+if [ "$restart" = "yes" -a -x /etc/init.d/mailman ]; then
+ /etc/init.d/mailman stop
+ /etc/init.d/mailman start
+fi
+
+# restartat apache2
+if [ -x /etc/init.d/apache2 ]; then
+ /etc/init.d/apache2 reload || true
+fi
+
+# promjena passworda
+echo
+if [ ! -f /var/lib/mailman/data/adm.pw ]; then
+ echo "CN: IMPORTANT: Change your site administrator password using the command:"
+ echo "CN:"
+ echo "CN: # mmsitepass"
+ echo "CN:"
+fi
+echo "CN: Web interface is at http://$HOSTNAME/mailman/admin/"