/[ports]/head/mail/postfix/files/pkg-install.in
ViewVC logotype

Diff of /head/mail/postfix/files/pkg-install.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 405234 by ohauer, Mon Jan 4 10:33:26 2016 UTC revision 409551 by ohauer, Thu Feb 25 20:09:56 2016 UTC
# Line 16  PREFIX="%%PREFIX%%" Line 16  PREFIX="%%PREFIX%%"
16  ETCDIR="%%ETCDIR%%"  ETCDIR="%%ETCDIR%%"
17  DAEMONDIR="%%DAEMONDIR%%"  DAEMONDIR="%%DAEMONDIR%%"
18  READMEDIR="%%READMEDIR%%"  READMEDIR="%%READMEDIR%%"
19  MCP="%%DATADIR%%/mailer.conf.postfix"  MC_TEMPLATE="%%DATADIR%%/mailer.conf.postfix"
20  MC="/etc/mail/mailer.conf"  
21    # FreeBSD <= 10.3
22    MC_BASE="/etc/mail/mailer.conf"
23    # FreeBSD >= 10.3 (and current)
24    MC_LOCALBASE="%%LOCALBASE%%/etc/mail/mailer.conf"
25    USE_LOCALBASE_MAILER_CONF="%%USE_LOCALBASE_MAILER_CONF%%"
26    
27  if [ "${POSTFIX_DEFAULT_MTA}" = "no" ]; then  if [ "${POSTFIX_DEFAULT_MTA}" = "no" ]; then
28        DEFAULT_REPLACE_MAILERCONF=n        DEFAULT_REPLACE_MAILERCONF=n
# Line 54  yesno() { Line 59  yesno() {
59        done        done
60  }  }
61    
62  install_mailer_conf() {  # ==============================================================================
63          echo "Activate Postfix in ${MC}"  # Respect POSTFIX_DEFAULT_MTA, do not ask for confirmation!
64          /bin/mv -f ${MC} ${MC}.old  # (This helps tools like salt, ansible or puppet on new installations)
65          /usr/bin/install -m 644 ${MCP} ${MC}  # ==============================================================================
66    install_choise(){
67            local mailerconf
68            mailerconf=$1
69    
70            if [ "${DEFAULT_REPLACE_MAILERCONF}" = "y" ]; then
71                    install_mailer_conf ${mailerconf}
72            elif [ "${DEFAULT_REPLACE_MAILERCONF}" = "n" -a -t 0 ]; then
73                    if yesno "Would you like to activate Postfix in ${mailerconf}" ${DEFAULT_REPLACE_MAILERCONF:="n"}; then
74                            install_mailer_conf ${mailerconf}
75                    else
76                            show_not_activated_msg ${mailerconf}
77                    fi
78            else
79                    show_not_activated_msg ${mailerconf}
80            fi
81  }  }
82    
83  show_not_activated_msg() {  show_not_activated_msg() {
84            local mailerconf
85    
86            mailerconf=$1
87          echo          echo
88          echo "==============================================================="          echo "==============================================================="
89          echo "Postfix was *not* activated in /etc/mail/mailer.conf! "          echo "Postfix was *not* activated in ${mailerconf}! "
90          echo          echo
91          echo "To finish installation run the following commands:"          echo "To finish installation run the following commands:"
92          echo          echo
93          echo "  mv ${MC} ${MC}.old"          if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
94          echo "  install -m 0644 ${MCP} ${MC}"                  echo "  mkdir -p %%LOCALBASE%%/etc/mail"
95            else
96                    echo "  mv -f ${mailerconf} ${mailerconf}.old"
97            fi
98            echo "  install -m 0644 ${MC_TEMPLATE} ${mailerconf}"
99          echo "==============================================================="          echo "==============================================================="
100          echo          echo
101  }  }
102    
103    show_activated_msg() {
104            local mailerconf
105    
106            mailerconf=$1
107            echo "==============================================================="
108            echo "Postfix already activated in ${mailerconf}"
109            echo "==============================================================="
110    }
111    
112    cmp_mailer() {
113            local mailerconf
114    
115            mailerconf=$1
116            cmp -s ${mailerconf} ${MC_TEMPLATE}
117            return $?
118    }
119    
120    install_mailer_conf() {
121            local mailerconf
122    
123            mailerconf=$1
124            echo "Activate Postfix in ${mailerconf}"
125            if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
126                    [ -d %%LOCALBASE%%/etc/mail ] || mkdir -p %%LOCALBASE%%/etc/mail
127            fi
128            [ -f ${mailerconf} ] && mv -f ${mailerconf} ${mailerconf}.old
129            install -m 644 ${MC_TEMPLATE} ${mailerconf}
130    }
131    
132    # ==============================================================================
133    # Run postfix post-install to fix permissions and new config values
134    # ==============================================================================
135  if [ "$2" = "POST-INSTALL" ]; then  if [ "$2" = "POST-INSTALL" ]; then
136          /bin/sh ${DAEMONDIR}/post-install tempdir=/tmp \          /bin/sh ${DAEMONDIR}/post-install tempdir=/tmp \
137           daemon_directory=${DAEMONDIR} \           daemon_directory=${DAEMONDIR} \
# Line 81  if [ "$2" = "POST-INSTALL" ]; then Line 140  if [ "$2" = "POST-INSTALL" ]; then
140           upgrade-package           upgrade-package
141  fi  fi
142    
143  if [ "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}" -a -f "${MC}" ]; then  # ==============================================================================
144          egrep -q "^sendmail.*${PREFIX}/sbin/sendmail"    ${MC} && \  # If FreeBSD <= 10.2 is deprecated check only LOCALBASE and remove BASE checks,
145          egrep -q "^send-mail.*${PREFIX}/sbin/sendmail"   ${MC} && \  # regardless if installed in BASE or LOCALBASE
146          egrep -q "^mailq.*${PREFIX}/sbin/sendmail"       ${MC} && \  # Iff postfix is activated in BASE, also activate postfix in LOCALBASE!
147          egrep -q "^newaliases.*${PREFIX}/sbin/sendmail"  ${MC}  # ==============================================================================
148          ret=$?  if [ "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}" ]; then
149          if [ ${ret} -ne 0 ]; then  if [ -f "${MC_BASE}" ]; then
150                  # Respect POSTFIX_DEFAULT_MTA, do not ask for confirmation!          if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
151                  # (This helps tools like salt, ansible or puppet on new installations)                  cmp_mailer ${MC_BASE}
152                  if [ "${DEFAULT_REPLACE_MAILERCONF}" = "y" ]; then                  if [ $? -eq 0 ]; then
153                          install_mailer_conf                          show_activated_msg ${MC_BASE}
154                  elif [ "${DEFAULT_REPLACE_MAILERCONF}" = "n" -a -t 0 ]; then                          cmp_mailer ${MC_LOCALBASE} || install_mailer_conf ${MC_LOCALBASE}
                         if yesno "Would you like to activate Postfix in ${MC}" ${DEFAULT_REPLACE_MAILERCONF:="n"}; then  
                                 install_mailer_conf  
                         else  
                                 show_not_activated_msg  
                         fi  
155                  else                  else
156                          show_not_activated_msg                          cmp_mailer ${MC_LOCALBASE} || install_choise ${MC_LOCALBASE}
157                  fi                  fi
158          else          else
159                  echo "==============================================================="                  cmp_mailer ${MC_BASE}
160                  echo "Postfix already activated in ${MC}"                  if [ $? -ne 0 ]; then
161                  echo "==============================================================="                          install_choise ${MC_BASE}
162                    else
163                            show_activated_msg ${MC_BASE}
164                    fi
165          fi          fi
166  fi  
167    else
168            if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
169                    show_not_activated_msg ${MC_LOCALBASE}
170            else
171                    show_not_activated_msg ${MC_BASE}
172            fi
173    fi # -f "${MC_BASE}"
174    fi # "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}"

Legend:
Removed from v.405234  
changed lines
  Added in v.409551

  ViewVC Help
Powered by ViewVC 1.1.27