Running dpkg in debug mode, I see:
root@stgraber-upgrade:/var/cache/apt/archives# dpkg -D10 -i 
udev_167-0ubuntu1_amd64.deb 2>&1 | grep udevadm
Adding 'diversion of /sbin/udevadm to /sbin/udevadm.upgrade by udev'
D000010: tarobject ti->name='./sbin/udevadm' mode=100755 owner=0.0 type=48(-) 
ti->linkname='' namenode='/sbin/udevadm' flags=2 instead='/sbin/udevadm.upgrade'
D000010: namenodetouse namenode=`/sbin/udevadm' pkg=udev
D000010: namenodetouse ... useinstead=/sbin/udevadm.upgrade camefrom=<none> 
pkg=udev return /sbin/udevadm
D000010: ensure_pathname_nonexisting `/sbin/udevadm.dpkg-tmp'
D000010: ensure_pathname_nonexisting `/sbin/udevadm.dpkg-new'
D000010: tarobject ti->name='./usr/share/man/man8/udevadm.8.gz' mode=100644 
owner=0.0 type=48(-) ti->linkname='' 
namenode='/usr/share/man/man8/udevadm.8.gz' flags=2 instead='<none>'
D000010: ensure_pathname_nonexisting `/usr/share/man/man8/udevadm.8.gz.dpkg-tmp'
D000010: ensure_pathname_nonexisting `/usr/share/man/man8/udevadm.8.gz.dpkg-new'
D000010: namenodetouse namenode=`/sbin/udevadm' pkg=udev
D000010: namenodetouse ... useinstead=/sbin/udevadm.upgrade camefrom=<none> 
pkg=udev return /sbin/udevadm
D000010: deferred extract of '/sbin/udevadm'
D000010: namenodetouse namenode=`/sbin/udevadm' pkg=udev
D000010: namenodetouse ... useinstead=/sbin/udevadm.upgrade camefrom=<none> 
pkg=udev return /sbin/udevadm
D000010: deferred extract of '/usr/share/man/man8/udevadm.8.gz'
D000010: process_archive not overwriting any `/sbin/udevadm' (overriding, 
`/sbin/udevadm.upgrade')
D000010: process_archive looking for overwriting 
`/usr/share/man/man8/udevadm.8.gz'
D000010: namenodetouse namenode=`/sbin/udevadm' pkg=udev
D000010: namenodetouse ... useinstead=/sbin/udevadm.upgrade camefrom=<none> 
pkg=udev return /sbin/udevadm
D000010: namenodetouse namenode=`/sbin/udevadm' pkg=udev
D000010: namenodetouse ... useinstead=/sbin/udevadm.upgrade camefrom=<none> 
pkg=udev return /sbin/udevadm
D000010: ensure_pathname_nonexisting `//sbin/udevadm.dpkg-tmp'
D000010: ensure_pathname_nonexisting 
`//usr/share/man/man8/udevadm.8.gz.dpkg-tmp'
Removing 'diversion of /sbin/udevadm to /sbin/udevadm.upgrade by udev'


The above shows that the diversion is indeed probably registered but that for 
some reason it still returns the old path instead of "useinstead".

The condition that's producing this result is:

  r=
    (namenode->divert->useinstead && namenode->divert->pkgset != pkg->set)
      ? namenode->divert->useinstead : namenode;

I tried adding the following to the namenodetouse() function in help.c:
printf("divert_useinstead=%s, divert_pkgset=%s, pkgset=%s, namenode=%s, 
using=%s\n",namenode->divert->useinstead,namenode->divert->pkgset,pkg->set,namenode,r);

That would have given me more details on exactly what's going on but
dpkg doesn't seem to build today because of another unrelated issue:
https://launchpad.net/~stgraber/+archive/foundation-
build/+buildjob/2427483

>From the debug output we get, the "useinstead" is set properly, so the
issue is with the pkgset part of that check.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/745011

Title:
  "info: unrecognized option '--convert-db'" on upgrade

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to