debian/masqmail-debian

annotate postinst @ 53:98e8aa5bd236

using scripts from autotools-dev to ensure recent config.{sub,guess} backporters to lenny need to do this manually
author meillo@marmaro.de
date Fri, 25 Jun 2010 14:08:56 +0200
parents 5ef519035828
children
rev   line source
meillo@51 1 #!/bin/sh
meillo@51 2 set -e
meillo@0 3
meillo@0 4 # source debconf library
meillo@0 5 . /usr/share/debconf/confmodule
meillo@0 6
meillo@0 7 CONFIGFILE=/etc/masqmail/masqmail.conf
meillo@0 8 WORKTMP=$CONFIGFILE.tmp
meillo@0 9 DEBCONFTMP=$CONFIGFILE.debconf
meillo@0 10
meillo@0 11 DEFAULTSFILE=/etc/default/masqmail
meillo@0 12 DEBDEFTMP=$DEFAULTSFILE.debconf
meillo@0 13
meillo@0 14 create_db_conf (){
meillo@0 15 rm -f $WORKTMP $DEBCONFTMP
meillo@0 16
meillo@0 17 cat >> $DEBCONFTMP << EOF
meillo@0 18 ### BEGIN DEBCONF SECTION
meillo@0 19 # Do not edit within this region if you want your changes to be preserved by
meillo@0 20 # debconf. Instead, make changes after the "### END DEBCONF SECTION" line.
meillo@0 21 EOF
meillo@0 22
meillo@0 23 db_get masqmail/host_name || true
meillo@0 24 echo "host_name=\"$RET\"" >> $DEBCONFTMP
meillo@0 25 db_get masqmail/local_hosts || true
meillo@0 26 echo "local_hosts=\"$RET\"" >> $DEBCONFTMP
meillo@0 27 db_get masqmail/local_nets || true
meillo@0 28 echo "local_nets=\"$RET\"" >> $DEBCONFTMP
meillo@0 29 db_get masqmail/listen_addresses || true
meillo@0 30 echo "listen_addresses=\"$RET\"" >> $DEBCONFTMP
meillo@0 31
meillo@0 32 echo "spool_dir=\"/var/spool/masqmail\"" >> $DEBCONFTMP
meillo@0 33 echo "mail_dir=\"/var/mail\"" >> $DEBCONFTMP
meillo@0 34 echo "log_dir=\"/var/log/masqmail\"" >> $DEBCONFTMP
meillo@0 35 echo "do_queue=false" >> $DEBCONFTMP
meillo@0 36
meillo@0 37 db_get masqmail/use_syslog || true
meillo@0 38 echo "use_syslog=$RET" >> $DEBCONFTMP
meillo@0 39
meillo@0 40 db_get masqmail/online_detect || true
meillo@0 41 echo "online_detect=$RET" >> $DEBCONFTMP
meillo@0 42 if [ "$RET" = "file" ] ; then
meillo@0 43 db_get masqmail/online_file || true
meillo@0 44 echo "online_file=\"$RET\"" >> $DEBCONFTMP
meillo@0 45 else
meillo@0 46 db_get masqmail/online_pipe || true
meillo@0 47 echo "online_pipe=\"$RET\"" >> $DEBCONFTMP
meillo@0 48 fi
meillo@0 49
meillo@0 50 db_get masqmail/mbox_default || true
meillo@0 51 echo "mbox_default=$RET" >> $DEBCONFTMP
meillo@0 52 db_get masqmail/mda || true
meillo@0 53 echo "mda=\"$RET\"" >> $DEBCONFTMP
meillo@0 54
meillo@0 55 echo "alias_file=/etc/aliases" >> $DEBCONFTMP
meillo@0 56 db_get masqmail/alias_local_caseless || true
meillo@0 57 echo "alias_local_caseless=\"$RET\"" >> $DEBCONFTMP
meillo@0 58
meillo@0 59 cat >> $DEBCONFTMP << EOF
meillo@0 60 ### END DEBCONF SECTION
meillo@0 61 EOF
meillo@0 62 }
meillo@0 63
meillo@0 64 write_db_conf (){
meillo@0 65
meillo@0 66 if [ -e $CONFIGFILE ]; then
meillo@0 67 # does the file have debconf markers in it?
meillo@0 68 if egrep -q '^### BEGIN DEBCONF SECTION' $CONFIGFILE && \
meillo@0 69 egrep -q '^### END DEBCONF SECTION' $CONFIGFILE; then
meillo@0 70 # see if the beginning of the file was left alone; sed cannot backtrack in
meillo@0 71 # an address range
meillo@0 72 if ! head -1 $CONFIGFILE | egrep -q '^### BEGIN DEBCONF SECTION'; then
meillo@0 73 # sick, sick, sick
meillo@0 74 LINES=$(sed -n '1,/^### BEGIN DEBCONF SECTION/p' < $CONFIGFILE | wc -l)
meillo@0 75 sed -n 1,$(( $LINES - 1 ))p < $CONFIGFILE > $WORKTMP
meillo@0 76 fi
meillo@0 77 cat $DEBCONFTMP >> $WORKTMP
meillo@0 78 sed -n '/^### END DEBCONF SECTION/,$p' < $CONFIGFILE | tail -n +2 >> $WORKTMP
meillo@0 79 else
meillo@0 80 echo "Existing $CONFIGFILE has missing or half-open debconf region;" >&2;
meillo@0 81 echo "not writing masqmail configuration file." >&2;
meillo@0 82 exit 1
meillo@0 83 fi
meillo@0 84 else
meillo@0 85 cat >> $DEBCONFTMP << EOF
meillo@0 86 #
meillo@0 87 # include the locations of your route and get configurations here.
meillo@0 88 # Examples:
meillo@0 89 # online_routes.default = "/etc/masqmail/default.route"
meillo@0 90 # online_gets.default = "/etc/masqmail/default.get"
meillo@0 91 # You can have more of those, with '.default' replaced with other
meillo@0 92 # names. See man 8 masqmail.conf.
meillo@0 93 #
meillo@0 94 EOF
meillo@0 95 cp $DEBCONFTMP $WORKTMP
meillo@0 96 fi
meillo@0 97
meillo@0 98 mv $WORKTMP $CONFIGFILE
meillo@0 99
meillo@0 100 # rm -f $WORKTMP $DEBCONFTMP
meillo@0 101 }
meillo@0 102
meillo@0 103 create_db_defaults () {
meillo@0 104 cat >> $DEBDEFTMP << EOF
meillo@0 105 #
meillo@0 106 # better use 'dpkg-reconfigure masqmail'
meillo@0 107 # instead of editing by hand
meillo@0 108 #
meillo@0 109 EOF
meillo@0 110
meillo@0 111 db_get masqmail/init_smtp_daemon || true
meillo@0 112 echo "INIT_SMTP_DAEMON=\"$RET\"" >> $DEBDEFTMP
meillo@0 113 db_get masqmail/init_queue_daemon || true
meillo@0 114 echo "INIT_QUEUE_DAEMON=\"$RET\"" >> $DEBDEFTMP
meillo@0 115 db_get masqmail/init_fetch_daemon || true
meillo@0 116 echo "INIT_FETCH_DAEMON=\"$RET\"" >> $DEBDEFTMP
meillo@0 117
meillo@0 118 echo "#" >> $DEBDEFTMP
meillo@0 119
meillo@0 120 db_get masqmail/queue_daemon_ival || true
meillo@0 121 echo "QUEUE_DAEMON_IVAL=\"$RET\"" >> $DEBDEFTMP
meillo@0 122 db_get masqmail/fetch_daemon_ival || true
meillo@0 123 echo "FETCH_DAEMON_IVAL=\"$RET\"" >> $DEBDEFTMP
meillo@0 124
meillo@0 125 echo "#" >> $DEBDEFTMP
meillo@0 126
meillo@0 127 db_get masqmail/ipup_runqueue || true
meillo@0 128 echo "IPUP_RUNQUEUE=\"$RET\"" >> $DEBDEFTMP
meillo@0 129 db_get masqmail/ipup_fetch || true
meillo@0 130 echo "IPUP_FETCH=\"$RET\"" >> $DEBDEFTMP
meillo@0 131
meillo@0 132 db_get masqmail/ifup_ifaces || true
meillo@0 133 echo "IFUP_IFACES=\"$RET\"" >> $DEBDEFTMP
meillo@0 134 }
meillo@0 135
meillo@0 136 write_db_defaults () {
meillo@0 137 mv $DEBDEFTMP $DEFAULTSFILE
meillo@0 138 }
meillo@0 139
meillo@0 140 case "$1" in
meillo@0 141 configure)
meillo@0 142
meillo@0 143 # Create spool and log directories
meillo@0 144 install -d -omail -gmail /var/log/masqmail
meillo@0 145 install -d -omail -gmail /var/spool/masqmail
meillo@0 146 install -d -omail -gmail /var/spool/masqmail/input
meillo@0 147 install -d -omail -gmail /var/spool/masqmail/lock
meillo@0 148 install -d -omail -gmail /var/spool/masqmail/popuidl
meillo@0 149
meillo@0 150 db_get masqmail/manage_config_with_debconf || true
meillo@0 151 if [ "$RET" = "true" ]; then
meillo@0 152 db_get masqmail/move_existing_nondebconf_config || true
meillo@0 153 if [ "$RET" = "true" ]; then
meillo@0 154 create_db_conf
meillo@0 155 write_db_conf
meillo@0 156 fi
meillo@0 157 create_db_defaults
meillo@0 158 write_db_defaults
meillo@0 159 fi
meillo@0 160
meillo@0 161 ;;
meillo@0 162
meillo@0 163 abort-upgrade|abort-remove|abort-deconfigure)
meillo@0 164 ;;
meillo@0 165 esac
meillo@0 166
meillo@0 167 #DEBHELPER#