So, it seems that this was caused by an incorrect fix for 390808 in byobu:
* debian/postinst, debian/screen-profiles.postinst: ensure that
/usr/bin/screen doesn't disappear, which causes the dpkg-divert
removal to fail; LP: #390808
But just the opposite is true. dpkg-divert fails *if* /usr/bin/screen exists, not if it doesn't.
root@sphinx:~# dpkg-divert --package screen-profiles --rename --remove /usr/bin/screen
Removing `diversion of /usr/bin/screen to /usr/bin/screen.real by screen-profiles'
dpkg-divert: rename involves overwriting `/usr/bin/screen' with
different file `/usr/bin/screen.real', not allowed
It seems to me that the real cause of 390808 is that the wrong package name was used to remove the diversion:
> dpkg-divert: mismatch on package when removing `diversion of /usr/bin/screen by byobu'
> found `diversion of /usr/bin/screen to /usr/bin/screen.real by screen-profiles'
So, it seems that this was caused by an incorrect fix for 390808 in byobu:
* debian/postinst, debian/ screen- profiles. postinst: ensure that
/usr/bin/screen doesn't disappear, which causes the dpkg-divert
removal to fail; LP: #390808
But just the opposite is true. dpkg-divert fails *if* /usr/bin/screen exists, not if it doesn't.
root@sphinx:~# dpkg-divert --package screen-profiles --rename --remove /usr/bin/screen screen. real by screen-profiles' screen. real', not allowed
Removing `diversion of /usr/bin/screen to /usr/bin/
dpkg-divert: rename involves overwriting `/usr/bin/screen' with
different file `/usr/bin/
It seems to me that the real cause of 390808 is that the wrong package name was used to remove the diversion:
> dpkg-divert: mismatch on package when removing `diversion of /usr/bin/screen by byobu' screen. real by screen-profiles'
> found `diversion of /usr/bin/screen to /usr/bin/