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
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 apt/archives/
root@donald:/# cd /var/cache/
root@donald: /var/cache/ apt/archives# dpkg --unpack udev_166- 0ubuntu2_ amd64.deb 0ubuntu2_ amd64.deb) ... upgrade'
(Reading database ... 13308 files and directories currently installed.)
Preparing to replace udev 162-2.2 (using udev_166-
Adding 'local diversion of /sbin/udevadm to /sbin/udevadm.
Unpacking replacement udev ...
root@donald: /var/cache/ apt/archives# dpkg-divert --list man/man1/ sh.1.gz to /usr/share/ man/man1/ sh.distrib. 1.gz by dash upgrade
diversion of /usr/share/
local diversion of /sbin/udevadm to /sbin/udevadm.
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 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.
Unpacking replacement dpkg ...
Setting up dpkg (1.16.0~ubuntu2) ...
root@donald: /var/cache/ apt/archives# dpkg --configure -a upgrade by udev' upgrade'
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.
found `local diversion of /sbin/udevadm to /sbin/udevadm.
dpkg: error processing udev (--configure):
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
udev