X-Git-Url: https://git.distorted.org.uk/~mdw/qmail/blobdiff_plain/2117e02ec495fdfd6e96b39778b701a5bcff8aa5..9312c29dd4ff4591809c01f71361d8cfe92db67c:/debian/prerm diff --git a/debian/prerm b/debian/prerm new file mode 100644 index 0000000..fa2406e --- /dev/null +++ b/debian/prerm @@ -0,0 +1,49 @@ +#!/usr/bin/perl + +require DebianNet; + +$| = 1; + +$action = shift; + +if ( $action eq 'failed-upgrade' ) { + exit 1; +} + +if ( $action eq 'upgrade' or $action eq 'deconfigure' ) { + system("/etc/init.d/qmail stop"); + exit $? if $?; + DebianNet::disable_service('smtp'); + exit 0; +} + +if ( $action eq 'remove' ) { + # Ask for confirmation if there are still messages in qmail's queue. + $mesg_inqueue = `find /var/qmail/queue/mess -type f -print | wc -l`; + $mesg_inqueue =~ s/\s//g; + $mesg_unprocessed = `find /var/qmail/queue/todo -type f -print | wc -l`; + $mesg_unprocessed =~ s/\s//g; + + if ( $mesg_inqueue != 0 || $mesg_unprocessed != 0 ) { + print STDERR <; + exit 1 unless $answer =~ /^\s*[yY]/; + } + + # Remove qmail-smtpd from inetd.conf + DebianNet::remove_service('smtp\s+stream\s+tcp\s+nowait\s+qmaild.*/usr/sbin/qmail-smtpd'); + + # Stop qmail process. + system("/etc/init.d/qmail stop"); + exit $? if $?; +} + +exit 0;