debian/masqmail-debian
diff postinst @ 0:5ef519035828
debian directory of masqmail-0.2.21-4
author | meillo@marmaro.de |
---|---|
date | Fri, 26 Sep 2008 21:25:48 +0200 |
parents | |
children | 845b243eb46f |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/postinst Fri Sep 26 21:25:48 2008 +0200 1.3 @@ -0,0 +1,166 @@ 1.4 +#!/bin/sh -e 1.5 + 1.6 +# source debconf library 1.7 +. /usr/share/debconf/confmodule 1.8 + 1.9 +CONFIGFILE=/etc/masqmail/masqmail.conf 1.10 +WORKTMP=$CONFIGFILE.tmp 1.11 +DEBCONFTMP=$CONFIGFILE.debconf 1.12 + 1.13 +DEFAULTSFILE=/etc/default/masqmail 1.14 +DEBDEFTMP=$DEFAULTSFILE.debconf 1.15 + 1.16 +create_db_conf (){ 1.17 + rm -f $WORKTMP $DEBCONFTMP 1.18 + 1.19 + cat >> $DEBCONFTMP << EOF 1.20 +### BEGIN DEBCONF SECTION 1.21 +# Do not edit within this region if you want your changes to be preserved by 1.22 +# debconf. Instead, make changes after the "### END DEBCONF SECTION" line. 1.23 +EOF 1.24 + 1.25 + db_get masqmail/host_name || true 1.26 + echo "host_name=\"$RET\"" >> $DEBCONFTMP 1.27 + db_get masqmail/local_hosts || true 1.28 + echo "local_hosts=\"$RET\"" >> $DEBCONFTMP 1.29 + db_get masqmail/local_nets || true 1.30 + echo "local_nets=\"$RET\"" >> $DEBCONFTMP 1.31 + db_get masqmail/listen_addresses || true 1.32 + echo "listen_addresses=\"$RET\"" >> $DEBCONFTMP 1.33 + 1.34 + echo "spool_dir=\"/var/spool/masqmail\"" >> $DEBCONFTMP 1.35 + echo "mail_dir=\"/var/mail\"" >> $DEBCONFTMP 1.36 + echo "log_dir=\"/var/log/masqmail\"" >> $DEBCONFTMP 1.37 + echo "do_queue=false" >> $DEBCONFTMP 1.38 + 1.39 + db_get masqmail/use_syslog || true 1.40 + echo "use_syslog=$RET" >> $DEBCONFTMP 1.41 + 1.42 + db_get masqmail/online_detect || true 1.43 + echo "online_detect=$RET" >> $DEBCONFTMP 1.44 + if [ "$RET" = "file" ] ; then 1.45 + db_get masqmail/online_file || true 1.46 + echo "online_file=\"$RET\"" >> $DEBCONFTMP 1.47 + else 1.48 + db_get masqmail/online_pipe || true 1.49 + echo "online_pipe=\"$RET\"" >> $DEBCONFTMP 1.50 + fi 1.51 + 1.52 + db_get masqmail/mbox_default || true 1.53 + echo "mbox_default=$RET" >> $DEBCONFTMP 1.54 + db_get masqmail/mda || true 1.55 + echo "mda=\"$RET\"" >> $DEBCONFTMP 1.56 + 1.57 + echo "alias_file=/etc/aliases" >> $DEBCONFTMP 1.58 + db_get masqmail/alias_local_caseless || true 1.59 + echo "alias_local_caseless=\"$RET\"" >> $DEBCONFTMP 1.60 + 1.61 + cat >> $DEBCONFTMP << EOF 1.62 +### END DEBCONF SECTION 1.63 +EOF 1.64 +} 1.65 + 1.66 +write_db_conf (){ 1.67 + 1.68 + if [ -e $CONFIGFILE ]; then 1.69 + # does the file have debconf markers in it? 1.70 + if egrep -q '^### BEGIN DEBCONF SECTION' $CONFIGFILE && \ 1.71 + egrep -q '^### END DEBCONF SECTION' $CONFIGFILE; then 1.72 + # see if the beginning of the file was left alone; sed cannot backtrack in 1.73 + # an address range 1.74 + if ! head -1 $CONFIGFILE | egrep -q '^### BEGIN DEBCONF SECTION'; then 1.75 + # sick, sick, sick 1.76 + LINES=$(sed -n '1,/^### BEGIN DEBCONF SECTION/p' < $CONFIGFILE | wc -l) 1.77 + sed -n 1,$(( $LINES - 1 ))p < $CONFIGFILE > $WORKTMP 1.78 + fi 1.79 + cat $DEBCONFTMP >> $WORKTMP 1.80 + sed -n '/^### END DEBCONF SECTION/,$p' < $CONFIGFILE | tail -n +2 >> $WORKTMP 1.81 + else 1.82 + echo "Existing $CONFIGFILE has missing or half-open debconf region;" >&2; 1.83 + echo "not writing masqmail configuration file." >&2; 1.84 + exit 1 1.85 + fi 1.86 + else 1.87 + cat >> $DEBCONFTMP << EOF 1.88 +# 1.89 +# include the locations of your route and get configurations here. 1.90 +# Examples: 1.91 +# online_routes.default = "/etc/masqmail/default.route" 1.92 +# online_gets.default = "/etc/masqmail/default.get" 1.93 +# You can have more of those, with '.default' replaced with other 1.94 +# names. See man 8 masqmail.conf. 1.95 +# 1.96 +EOF 1.97 + cp $DEBCONFTMP $WORKTMP 1.98 + fi 1.99 + 1.100 + mv $WORKTMP $CONFIGFILE 1.101 + 1.102 +# rm -f $WORKTMP $DEBCONFTMP 1.103 +} 1.104 + 1.105 +create_db_defaults () { 1.106 + cat >> $DEBDEFTMP << EOF 1.107 +# 1.108 +# better use 'dpkg-reconfigure masqmail' 1.109 +# instead of editing by hand 1.110 +# 1.111 +EOF 1.112 + 1.113 + db_get masqmail/init_smtp_daemon || true 1.114 + echo "INIT_SMTP_DAEMON=\"$RET\"" >> $DEBDEFTMP 1.115 + db_get masqmail/init_queue_daemon || true 1.116 + echo "INIT_QUEUE_DAEMON=\"$RET\"" >> $DEBDEFTMP 1.117 + db_get masqmail/init_fetch_daemon || true 1.118 + echo "INIT_FETCH_DAEMON=\"$RET\"" >> $DEBDEFTMP 1.119 + 1.120 + echo "#" >> $DEBDEFTMP 1.121 + 1.122 + db_get masqmail/queue_daemon_ival || true 1.123 + echo "QUEUE_DAEMON_IVAL=\"$RET\"" >> $DEBDEFTMP 1.124 + db_get masqmail/fetch_daemon_ival || true 1.125 + echo "FETCH_DAEMON_IVAL=\"$RET\"" >> $DEBDEFTMP 1.126 + 1.127 + echo "#" >> $DEBDEFTMP 1.128 + 1.129 + db_get masqmail/ipup_runqueue || true 1.130 + echo "IPUP_RUNQUEUE=\"$RET\"" >> $DEBDEFTMP 1.131 + db_get masqmail/ipup_fetch || true 1.132 + echo "IPUP_FETCH=\"$RET\"" >> $DEBDEFTMP 1.133 + 1.134 + db_get masqmail/ifup_ifaces || true 1.135 + echo "IFUP_IFACES=\"$RET\"" >> $DEBDEFTMP 1.136 +} 1.137 + 1.138 +write_db_defaults () { 1.139 + mv $DEBDEFTMP $DEFAULTSFILE 1.140 +} 1.141 + 1.142 +case "$1" in 1.143 + configure) 1.144 + 1.145 + # Create spool and log directories 1.146 + install -d -omail -gmail /var/log/masqmail 1.147 + install -d -omail -gmail /var/spool/masqmail 1.148 + install -d -omail -gmail /var/spool/masqmail/input 1.149 + install -d -omail -gmail /var/spool/masqmail/lock 1.150 + install -d -omail -gmail /var/spool/masqmail/popuidl 1.151 + 1.152 + db_get masqmail/manage_config_with_debconf || true 1.153 + if [ "$RET" = "true" ]; then 1.154 + db_get masqmail/move_existing_nondebconf_config || true 1.155 + if [ "$RET" = "true" ]; then 1.156 + create_db_conf 1.157 + write_db_conf 1.158 + fi 1.159 + create_db_defaults 1.160 + write_db_defaults 1.161 + fi 1.162 + 1.163 + ;; 1.164 + 1.165 + abort-upgrade|abort-remove|abort-deconfigure) 1.166 + ;; 1.167 +esac 1.168 + 1.169 +#DEBHELPER#