On Thu, Feb 17, 2011 at 05:30:02PM -0700, Eric Blake wrote:
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).
libvirt requires libvirt-client, so its impossible to install
it without libvirt-client already present.
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|