Comment 11 for bug 529562

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

I think that the problem is rather a configuration issue than a missing dependency.

If you look at the upgrade log:
- The reporter installed odbcinst and libvirt 6.1.0-0ubuntu2 (pre-release version of Lucid)
- Then he removed odbcinst somewhere between 2010-02-15 and 2010-02-28.
- And finally upgraded to libvirt 6.1.0-0ubuntu3 resulting in the installation failure.
The debconf value libvirtodbc0/register-odbc-driver was set to 'true' during the first installation and remained 'true' after the removal of odbcinst breaking the postinst and prerm scripts.

There is a logical problem there:
- in libvirtodbc0.config, it tests if odbcinst exists to ask and set the debconf value libvirtodbc0/register-odbc-driver
- then the maintainer scripts use this debconf value to decide if it must register the driver with odbcinst.
- So, if odbcinst is removed, and libvirtodbc0 is removed or upgraded afterwards, the prerm or postinst script will fail.

Firstly, we should be consistent here, and the fix would be to use the same logic in the postinst and prerm than in the .config file. I mean testing the availability of odbcinst before calling it.
Secondly, odbcinst is just a helper and should be recommended rather than a strong dependency.