On Mon, Mar 01, 2021 at 05:37:14PM +0300, Michael Tokarev wrote:
> So for now, if we drop this dependency of qemu-system-common on 
> qemu-system-foo,
> this issue should go away.

The satisfiability issue would go away, but then libvirt would use the
hosts' qemu-system-common, which cannot be run. So cross building would
continue to fail.

> Next, the question is why qemu-system-common is needed to BUILD libvirt.
> This is because libvirt's build system finds the path of qemu-bridge-helper
> (and uses default path which is not the one used on debian). Which immediately
> leads to the next question: why libvirt uses qemu-bridge-helper in the first
> place.

I think this is the right question to ask. I didn't go as far in the
submission and only asked for how it should express the dependency, but
clearly this one comes next.

> The thing is that on debian we still don't add set-uid bit to 
> qemu-bridge-helper,
> so this place in libvirt will never actually work. libvirt can manage network
> by its own, or, if run unprivileged (is it ever possible?), it will try to
> use qemu-bridge-helper, and that will fail too by default (unless the user
> explicitly enabled set-uid bit for qemu-bridge-helper.
> 
> I looked at where qemu-bridge-helper is located on debian. It is 
> /usr/lib/qemu/, -
> which is not commonly used path, the default is /usr/libexec/. Now there's 3rd
> question: what if we'll try to move this executable to the place where it is
> installed to by default? How we can change libvirt? Adding versioning breaks/
> requires seems to be the only way.
> 
> I think we should move qemu-bridge-helper to the default place, maybe even now
> before bullseye, and drop qemu-system-common from libvirt's build-depends. At
> the same time drop the fake versioned deps of qemu-system-common. And decide
> when/how we should use the bridge-helper in the first place.
> 
> What do you think?

This is lots of different but related pieces. I've not fully grasped the
implications, but the line of reasoning makes sense to me. I do wonder
though who "you" is here. I think it should mostly be the libvirt
maintainers (added to Cc). Any solution that includes dropping the
qemu-system-common build dependency from libvirt fully resolves this
issue from my pov.

Consequently, I propose:
retitle -1 libvirt should stop build-dependening on qemu-system-common and stop 
using qemu-bridge-helper
reassign -1 src:libvirt

All the proposed qemu changes may make sense of their own, but are
irrelevant to the satisfiability issue at hand if libvirt drops that
build dependency.

Helmut

Reply via email to