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#