Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 294179 - Libvirt-0.7.2/0.7.4 depend on blocking qemu/qemu-kvm-0.11.0
Summary: Libvirt-0.7.2/0.7.4 depend on blocking qemu/qemu-kvm-0.11.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: Lance Albertson (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-23 12:18 UTC by Reto Gantenbein (ganto)
Modified: 2009-12-23 06:02 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Reto Gantenbein (ganto) 2009-11-23 12:18:10 UTC
The new version of the libvirt-0.7.2 and 0.7.4 ebuilds depend on qemu and qemu-kvm which are mutually blocking. Cannot emerge libvirt due to unresolved dependencies. 

Reproducible: Always

Steps to Reproduce:
1. USE="qemu -kvm" emerge -av libvirt


Actual Results:  
Ebuild cannot be installed because it's pulling qemu and qemu-kvm which are mutually blocking.

Expected Results:  
It should install fine without any KVM support.

The ebuild can be fixed when changing the dependency information:

-qemu? ( app-emulation/qemu-kvm >=app-emulation/qemu-0.10.0 )
+qemu? ( !app-emulation/qemu-kvm >=app-emulation/qemu-0.10.0 )

I'm not sure if this is the desired result. At least it fixes the problem for me and still works as expected when running Qemu virtual machines
Comment 1 Reto Gantenbein (ganto) 2009-11-23 12:24:22 UTC
The proposed solution won't work if you have USE="kvm qemu" 

ebuild needs USE-flag clean up!

Important: Don't depend on KVM if not desired! I have a CPU without virtualization support therefore I don't want any KVM cruft in my virtualization environment.
Comment 2 Reto Gantenbein (ganto) 2009-11-23 13:06:36 UTC
Here a solution that should also work with USE="kvm qemu"

-qemu? ( app-emulation/qemu-kvm >=app-emulation/qemu-0.10.0 )
+qemu? ( !kvm? ( !app-emulation/qemu-kvm >=app-emulation/qemu-0.10.0 ) )

If you have USE="kvm qemu" it will pull qemu-kvm, if you have USE="-kvm qemu" it will pull only qemu
Comment 3 dacook 2009-11-23 15:01:58 UTC
The problem is that someone got sloppy in their hurry to abandon KVM.  Since abandoning the 'kvm' namespace, app-emulation/qemu-kvm now blocks app-emulation/qemu*, and the following broken dependency was introduced to app-emulation/libvirt:

  qemu? ( app-emulation/qemu-kvm >=app-emulation/qemu-0.10.0 )

Which _should_ have been

  qemu? || ( app-emulation/qemu-kvm app-emulation/qemu-0.10.0 )

10 seconds of QA, people.
Comment 4 dacook 2009-11-23 15:15:59 UTC
Meh, missed a set of parens:

  qemu? ( || ( app-emulation/qemu-kvm app-emulation/qemu-0.10.0 ) )
Comment 5 Lance Albertson (RETIRED) gentoo-dev 2009-12-23 06:02:51 UTC
(In reply to comment #4)
> Meh, missed a set of parens:
> 
>   qemu? ( || ( app-emulation/qemu-kvm app-emulation/qemu-0.10.0 ) )
> 

Fixed in portage. Sorry it took me so damn long to get this fixed.

23 Dec 2009; Lance Albertson <ramereth@gentoo.org> libvirt-0.7.2.ebuild,
libvirt-0.7.4.ebuild, libvirt-0.7.4-r1.ebuild, libvirt-0.7.4-r2.ebuild:
Fix qemu dep to resolve package blocking issue between qemu and qemu-kvm when
both qemu and kvm USE flags are enabled #294179