Comment 3 for bug 727211

Revision history for this message
Martin Pitt (pitti) wrote :

I checked the terminal log files, and everything looks expected: the preinst adds the diversion, the postinst tries to remove it again, but dpkg doesn't like it for some reason.

This seems to be a regression with the new dpkg. If I install new dpkg first, and then udev, things work fine. But if dpkg gets upgraded after udev gets unpacked (and thus the preinst runs with adding the diversion), but before udev gets configured (and the diversion gets removed again), things blow up. I reproduced that in a maverick pbuilder with:

# update apt sources to natty

root@donald:/# apt-get install -d dpkg udev
root@donald:/# cd /var/cache/apt/archives/

root@donald:/var/cache/apt/archives# dpkg --unpack udev_166-0ubuntu2_amd64.deb
(Reading database ... 13308 files and directories currently installed.)
Preparing to replace udev 162-2.2 (using udev_166-0ubuntu2_amd64.deb) ...
Adding 'local diversion of /sbin/udevadm to /sbin/udevadm.upgrade'
Unpacking replacement udev ...

root@donald:/var/cache/apt/archives# dpkg-divert --list
diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash
local diversion of /sbin/udevadm to /sbin/udevadm.upgrade
diversion of /bin/sh to /bin/sh.distrib by dash

root@donald:/var/cache/apt/archives# dpkg -i dpkg_1.16.0~ubuntu2_amd64.deb
(Reading database ... 13313 files and directories currently installed.)
Preparing to replace dpkg 1.15.8.4ubuntu3.1 (using dpkg_1.16.0~ubuntu2_amd64.deb) ...
Unpacking replacement dpkg ...
Setting up dpkg (1.16.0~ubuntu2) ...

root@donald:/var/cache/apt/archives# dpkg --configure -a
Setting up udev (166-0ubuntu2) ...
udev start/running, process 955
dpkg-divert: error: mismatch on package
  when removing `diversion of /sbin/udevadm to /sbin/udevadm.upgrade by udev'
  found `local diversion of /sbin/udevadm to /sbin/udevadm.upgrade'
dpkg: error processing udev (--configure):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 udev