Mercurial > masqmail-0.2
diff debian/postinst @ 0:08114f7dcc23 0.2.21
this is masqmail-0.2.21 from oliver kurth
author | meillo@marmaro.de |
---|---|
date | Fri, 26 Sep 2008 17:05:23 +0200 |
parents | |
children | af25f5c39d90 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debian/postinst Fri Sep 26 17:05:23 2008 +0200 @@ -0,0 +1,166 @@ +#!/bin/sh -e + +# source debconf library +. /usr/share/debconf/confmodule + +CONFIGFILE=/etc/masqmail/masqmail.conf +WORKTMP=$CONFIGFILE.tmp +DEBCONFTMP=$CONFIGFILE.debconf + +DEFAULTSFILE=/etc/default/masqmail +DEBDEFTMP=$DEFAULTSFILE.debconf + +create_db_conf (){ + rm -f $WORKTMP $DEBCONFTMP + + cat >> $DEBCONFTMP << EOF +### BEGIN DEBCONF SECTION +# Do not edit within this region if you want your changes to be preserved by +# debconf. Instead, make changes after the "### END DEBCONF SECTION" line. +EOF + + db_get masqmail/host_name || true + echo "host_name=\"$RET\"" >> $DEBCONFTMP + db_get masqmail/local_hosts || true + echo "local_hosts=\"$RET\"" >> $DEBCONFTMP + db_get masqmail/local_nets || true + echo "local_nets=\"$RET\"" >> $DEBCONFTMP + db_get masqmail/listen_addresses || true + echo "listen_addresses=\"$RET\"" >> $DEBCONFTMP + + echo "spool_dir=\"/var/spool/masqmail\"" >> $DEBCONFTMP + echo "mail_dir=\"/var/mail\"" >> $DEBCONFTMP + echo "log_dir=\"/var/log/masqmail\"" >> $DEBCONFTMP + echo "do_queue=false" >> $DEBCONFTMP + + db_get masqmail/use_syslog || true + echo "use_syslog=$RET" >> $DEBCONFTMP + + db_get masqmail/online_detect || true + echo "online_detect=$RET" >> $DEBCONFTMP + if [ "$RET" = "file" ] ; then + db_get masqmail/online_file || true + echo "online_file=\"$RET\"" >> $DEBCONFTMP + else + db_get masqmail/online_pipe || true + echo "online_pipe=\"$RET\"" >> $DEBCONFTMP + fi + + db_get masqmail/mbox_default || true + echo "mbox_default=$RET" >> $DEBCONFTMP + db_get masqmail/mda || true + echo "mda=\"$RET\"" >> $DEBCONFTMP + + echo "alias_file=/etc/aliases" >> $DEBCONFTMP + db_get masqmail/alias_local_caseless || true + echo "alias_local_caseless=\"$RET\"" >> $DEBCONFTMP + + cat >> $DEBCONFTMP << EOF +### END DEBCONF SECTION +EOF +} + +write_db_conf (){ + + if [ -e $CONFIGFILE ]; then + # does the file have debconf markers in it? + if egrep -q '^### BEGIN DEBCONF SECTION' $CONFIGFILE && \ + egrep -q '^### END DEBCONF SECTION' $CONFIGFILE; then + # see if the beginning of the file was left alone; sed cannot backtrack in + # an address range + if ! head -1 $CONFIGFILE | egrep -q '^### BEGIN DEBCONF SECTION'; then + # sick, sick, sick + LINES=$(sed -n '1,/^### BEGIN DEBCONF SECTION/p' < $CONFIGFILE | wc -l) + sed -n 1,$(( $LINES - 1 ))p < $CONFIGFILE > $WORKTMP + fi + cat $DEBCONFTMP >> $WORKTMP + sed -n '/^### END DEBCONF SECTION/,$p' < $CONFIGFILE | tail +2 >> $WORKTMP + else + echo "Existing $CONFIGFILE has missing or half-open debconf region;" >&2; + echo "not writing masqmail configuration file." >&2; + exit 1 + fi + else + cat >> $DEBCONFTMP << EOF +# +# include the locations of your route and get configurations here. +# Examples: +# online_routes.default = "/etc/masqmail/default.route" +# online_gets.default = "/etc/masqmail/default.get" +# You can have more of those, with '.default' replaced with other +# names. See man 8 masqmail.conf. +# +EOF + cp $DEBCONFTMP $WORKTMP + fi + + mv $WORKTMP $CONFIGFILE + +# rm -f $WORKTMP $DEBCONFTMP +} + +create_db_defaults () { + cat >> $DEBDEFTMP << EOF +# +# better use 'dpkg-reconfigure masqmail' +# instead of editing by hand +# +EOF + + db_get masqmail/init_smtp_daemon || true + echo "INIT_SMTP_DAEMON=\"$RET\"" >> $DEBDEFTMP + db_get masqmail/init_queue_daemon || true + echo "INIT_QUEUE_DAEMON=\"$RET\"" >> $DEBDEFTMP + db_get masqmail/init_fetch_daemon || true + echo "INIT_FETCH_DAEMON=\"$RET\"" >> $DEBDEFTMP + + echo "#" >> $DEBDEFTMP + + db_get masqmail/queue_daemon_ival || true + echo "QUEUE_DAEMON_IVAL=\"$RET\"" >> $DEBDEFTMP + db_get masqmail/fetch_daemon_ival || true + echo "FETCH_DAEMON_IVAL=\"$RET\"" >> $DEBDEFTMP + + echo "#" >> $DEBDEFTMP + + db_get masqmail/ipup_runqueue || true + echo "IPUP_RUNQUEUE=\"$RET\"" >> $DEBDEFTMP + db_get masqmail/ipup_fetch || true + echo "IPUP_FETCH=\"$RET\"" >> $DEBDEFTMP + + db_get masqmail/ifup_ifaces || true + echo "IFUP_IFACES=\"$RET\"" >> $DEBDEFTMP +} + +write_db_defaults () { + mv $DEBDEFTMP $DEFAULTSFILE +} + +case "$1" in + configure) + + # Create spool and log directories + install -d -omail -gmail /var/log/masqmail + install -d -omail -gmail /var/spool/masqmail + install -d -omail -gmail /var/spool/masqmail/input + install -d -omail -gmail /var/spool/masqmail/lock + install -d -omail -gmail /var/spool/masqmail/popuidl + + db_get masqmail/manage_config_with_debconf || true + if [ "$RET" = "true" ]; then + db_get masqmail/move_existing_nondebconf_config || true + if [ "$RET" = "true" ]; then + create_db_conf + write_db_conf + fi + create_db_defaults + write_db_defaults + fi + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; +esac + +#DEBHELPER#