tags 413397 patch thanks Hi Marco,
Ok, the attached patch has the following properties: - local admin changes are preserved by only removing the entry on package purge - we assume (with reason) that if update-inetd is not present, we're no longer responsible for removing any entries from inetd.conf - the service is disabled on postrm remove. - the service is /also/ disabled if postrm is called with any other options, with unconditional enabling in the postinst; this has the effect of making the current version of the package wholly responsible for enabling/disabling the service, so that any future version of the package which drops support for these particular ports doesn't have to bear the responsibility of cleaning up and/or re-adding the service in the event of a failed upgrade. (It should, however, still take responsibility for the "purge" handling.) - by using the postrm instead of the prerm, downtime for the service during upgrade is kept to a bare mininum within the above constraints. - the --comment-chars handling for any pre-existing entries for this service is preserved; between this and the use of postrm instead of prerm for the disabling, this means that the postinst is *not* idempotent with respect to dpkg-reconfigure (which calls prerm and postinst only), dpkg -B, or failures later in the postinst. This is not what I would consider ideal update-inetd handling, but it fixes all of the overt bugs and retains the status quo where any tradeoffs are concerned. If it were up to me, I would do away with the special handling of pre-existing tfido/fido entries in inetd.conf since it seems pretty improbable to me that a user would have some other version of this service running, and that would immediately remove all of the idempotency concerns here. But I don't think that's a change I should make in an NMU here -- and as I plan to NMU shortly with this patch, there you have it. :) -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/
diff -u ifmail-2.14tx8.10/debian/changelog ifmail-2.14tx8.10/debian/changelog --- ifmail-2.14tx8.10/debian/changelog +++ ifmail-2.14tx8.10/debian/changelog @@ -1,3 +1,13 @@ +ifmail (2.14tx8.10-19.2) unstable; urgency=high + + * Non-maintainer upload. + * High-urgency upload for RC bugfix. + * Add missing dependency on update-inetd to ifcico, and fix the + maintainer script handling to only add entries on a new install and + only remove them on purge. Closes: #413397. + + -- Steve Langasek <[EMAIL PROTECTED]> Sun, 18 Mar 2007 01:42:26 -0700 + ifmail (2.14tx8.10-19.1) unstable; urgency=high * Non-maintainer upload. diff -u ifmail-2.14tx8.10/debian/control ifmail-2.14tx8.10/debian/control --- ifmail-2.14tx8.10/debian/control +++ ifmail-2.14tx8.10/debian/control @@ -23,7 +23,7 @@ Package: ifcico Architecture: any -Depends: ${shlibs:Depends}, ifmail +Depends: ${shlibs:Depends}, ifmail, update-inetd Conflicts: suidmanager (<< 0.50) Description: Fidonet Technology transport package Ifcico is a FidoTech mailer for connecting to other nodes via the phone diff -u ifmail-2.14tx8.10/debian/ifcico.postrm ifmail-2.14tx8.10/debian/ifcico.postrm --- ifmail-2.14tx8.10/debian/ifcico.postrm +++ ifmail-2.14tx8.10/debian/ifcico.postrm @@ -1,13 +1,17 @@ #!/bin/sh -e -update-inetd --remove "^tfido" -update-inetd --comment-chars "#disabled#" --enable tfido -update-inetd --remove "^fido" -update-inetd --comment-chars "#disabled#" --enable fido - if [ "$1" = "purge" ]; then + if which update-inetd >/dev/null 2>&1; then + update-inetd --remove "^tfido.*/usr/lib/ifmail/ifcico" + update-inetd --comment-chars "#disabled#" --enable tfido + update-inetd --remove "^fido.*/usr/lib/ifmail/ifcico" + update-inetd --comment-chars "#disabled#" --enable fido + fi rm -rf /var/spool/ftn/nl.d/index.dir \ /var/spool/ftn/nl.d/index.pag >/dev/null +else if which update-inetd >/dev/null 2>&1; then + update-inetd --disable "^tfido.*/usr/lib/ifmail/ifcico" + update-inetd --disable "^fido.*/usr/lib/ifmail/ifcico" fi #DEBHELPER#