diff options
Diffstat (limited to 'debian/exim4-config.postinst')
-rw-r--r-- | debian/exim4-config.postinst | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/debian/exim4-config.postinst b/debian/exim4-config.postinst index 6034437..0424ac2 100644 --- a/debian/exim4-config.postinst +++ b/debian/exim4-config.postinst @@ -363,6 +363,32 @@ case "$1" in # If dpkg-reconfigure was used implement the changes by restarting # the daemon. if [ "${DEBCONF_RECONFIGURE}" = "1" ] ; then + if [ -x /usr/bin/smf_present ] && /usr/bin/smf_present ; then + db_stop + exim4_fmri='svc:/network/smtp:exim4' + # XXX we need a standalone helper for such things: + exim4_svcstatus=`svcstatus $exim4_fmri` + case $exim4_svcstatus in + online) + svcadm -v restart $exim4_fmri + ;; + offline) + svcadm -v refresh $exim4_fmri + ;; + disabled|temporary-disabled) + svcadm -v enable $exim4_fmri + ;; + maintenance) + svcadm -v clear $exim4_fmri + ;; + none) + echo "Service $exim4_fmri does not exist" >&2 + ;; + *) + echo "Unknown status of $exim4_fmri: \`$exim4_svcstatus'" >&2 + ;; + esac + fi if [ -x /etc/init.d/exim4 ]; then # use restart instead of reload, as changing listening # interfaces cannot be done with HUP. |