OK, AFAICS the following happens on the given installation sequence:
1. amule 2.1.1-3 gets installed, and makes the diversions:
/usr/bin/ed2k -> /usr/bin/ed2k.xmule
/usr/share/man/man1/ed2k.1.gz -> /usr/share/man/man1/ed2k.xmule.1.gz
The relevant installed files and symlinks now look like this, with the
owning packages written on:
/usr/bin/ed2k -> ed2k.wrapper [amule]
/usr/bin/ed2k.amule [amule-common]
/usr/bin/ed2k.wrapper [amule-common]
/usr/share/man/man1/ed2k.1.gz -> ed2k.wrapper.1.gz [amule]
/usr/share/man/man1/ed2k.amule.1.gz [amule-common]
/usr/share/man/man1/ed2k.wrapper.1.gz [amule-common]
/usr/share/man/man1/ed2k.xmule.1.gz -> ed2k.wrapper.1.gz
[amule-common?, diverted from ed2k.1.gz by
amule]
2. amule and amule-daemon get removed on upgrade to amule-utils/amule-common
2.1.2-2. However, due to a typo, the two diversions are again made in the
name of amule:
/usr/bin/ed2k -> /usr/bin/ed2k.xmule
/usr/share/man/man1/ed2k.1.gz -> /usr/share/man/man1/ed2k.xmule.1.gz
The current file situation is now this:
/usr/bin/ed2k.amule [amule-utils]
/usr/bin/ed2k.wrapper [amule-utils]
/usr/bin/ed2k.xmule -> ed2k.wrapper [amule-utils, diverted from ed2k by
amule]
/usr/share/man/man1/ed2k.1.gz -> ed2k.wrapper.1.gz [orphan!]
/usr/share/man/man1/ed2k.wrapper.1.gz [amule-utils]
/usr/share/man/man1/ed2k.xmule.1.gz -> ed2k.wrapper.1.gz
[amule-utils, diverted from ed2k.1.gz by amule]
So, amule-utils has effectively diverted away its own files. Why the
symlink remains is unknown to me; I wouldn't be surprised if it's a dpkg
bug somehow. It looks like others have also seen stray /usr/bin/ed2k
symlinks in the same fashion.
3. Upgrading to amule-utils/amule-common 2.1.2-3 tries to clean up the
mess. First, the /usr/bin/ed2k diversion is removed, which is okay.
Second, the /usr/share/man/man1/ed2k.1.gz diversion is attempted removed.
Then, it attempts to remove the orphan symlinks; however, it is too late,
since the un-diversion already failed (due to the orphan symlinks).
To me, it looks like the fixes are simply being done in the wrong order, but
we'll need some extra logic now that there are both broken and supposedly
right versions out there and hard to tell the difference.
What should be done for /usr/bin/ed2k (and analogously for the man page),
IMO, is:
1. Check if there is a diversion owned by amule of /usr/bin/ed2k, with,
say, "dpkg-divert --list /usr/bin/ed2k | grep -q 'by amule$'". If no,
skip points 2 and 3.
2. rm -f the /usr/bin/ed2k symlink; if it exists, it's obviously orphan
(as the only thing that could possibly own /usr/bin/ed2k while there
is a diversion by amule active, is amule itself, and that package
has already been removed).
3. Remove amule's diversion, leaving room for amule-utils' diversion
later.
Does this sound sane? If nobody objects, I'll probably go ahead with an NMU
in a couple ot days.
/* Steinar */
--
Homepage: http://www.sesse.net/
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]