On 02/17/2011 01:19 PM, Justin Clift wrote:
On 18/02/2011, at 7:12 AM, Eric Blake wrote:
<snip>
>
> [note to self - it might be possible to drop the nc dependency in the
> future, once I finish my conversion from -migration exec: to -migration
> fd:, since the spec file only targets distros with new-enough qemu
> 0.12.0 or newer; nc would still be needed for qemu 0.10.0, though]
Does your conversion affect how libvirt uses ssh for general communication?
Pretty sure I've seen some part of libvirt (other than migration) use
nc + ssh for general communication to remote qemu (ie with qemu+ssh://).
git grep '"nc"' has two hits:
src/qemu/qemu_migration.c: const char *args[] = { "nc", "-U",
unixfile, NULL };
Will still need to exist for qemu 0.10.x and 0.11.x (so we'd need it for
RHEL 5.6, but not for Fedora or RHEL 6; we've already got other
RHEL-version-related checks in the specfile to make that a conditional
dependency).
src/remote/remote_driver.c: cmd_argv[j++] = strdup (netcat ?
netcat : "nc");
Oh wow - we need to convert remote_driver.c over to virCommand.
However, that's the only other use of "nc", and it involves running nc
on the remote host, not on the local host, so you _don't_ need to
'Requires: nc' just because you installed libvirt-client; rather, it
seems like it should be libvirt (the server package) that should be
requiring nc.
In other words, I think we have a missing dependency if you install
libvirt but not libvirt-client; the reality is that both packages should
require nc (and libvirt-client can make the dependency conditional if I
improve migration on newer qemu).
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org