| 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 |
| 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} \ |
| 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}" |