After upgrading world virt-manager-0.9.0 fails with the message below and does not depend on the correct version of dev-libs/yajl. Downgrading to =dev-libs/yajl-1.0.11-r1 solves the problem. # virt-manager Traceback (most recent call last): File "/usr/share/virt-manager/virt-manager.py", line 383, in <module> main() File "/usr/share/virt-manager/virt-manager.py", line 246, in main from virtManager import cli File "/usr/share/virt-manager/virtManager/cli.py", line 29, in <module> import libvirt File "/usr/lib64/python2.6/site-packages/libvirt.py", line 25, in <module> raise lib_e ImportError: libyajl.so.1: cannot open shared object file: No such file or directory
Created attachment 281753 [details, diff] Patch to update dependencies of virt-manager-0.9.0 for virtinst and yajl Furthermore, app-emulation/virt-manager-0.9.0 needs to depend on app-emulation/virtinst-0.600.0 to run. Attached is a patch to update the dependencies of app-emulation/virt-manager-0.9.0 accordingly.
You just need to run revdep-rebuild and all is well. Unfortunately the maintainer of yajl didn't notate that. Hans: You should have a pkg_preinst() section that calls preserve_old_lib and pkg_postinst() that calls preserve_old_lib_notify. Check out dev-lib/openssl for an example.
FEATURES=preserve-libs is on now.