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]