[libvirt] [PATCH] Look in /usr/libexec for the qemu-kvm binary.

On RHEL-5 the qemu-kvm binary is located in /usr/libexec. To reduce confusion for people trying to run upstream libvirt on RHEL-5 machines, make the qemu driver look in /usr/libexec for the qemu-kvm binary. Signed-off-by: Chris Lalancette <clalance@redhat.com> --- src/qemu/qemu_conf.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index c227fe1..2ba8366 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -797,7 +797,8 @@ qemudCapsInitGuest(virCapsPtr caps, */ if (STREQ(info->arch, hostmachine) || (STREQ(hostmachine, "x86_64") && STREQ(info->arch, "i686"))) { - const char *const kvmbins[] = { "/usr/bin/qemu-kvm", /* Fedora */ + const char *const kvmbins[] = { "/usr/libexec/qemu-kvm", /* RHEL */ + "/usr/bin/qemu-kvm", /* Fedora */ "/usr/bin/kvm" }; /* Upstream .spec */ for (i = 0; i < ARRAY_CARDINALITY(kvmbins); ++i) { -- 1.6.6

2010/1/25 Chris Lalancette <clalance@redhat.com>:
On RHEL-5 the qemu-kvm binary is located in /usr/libexec. To reduce confusion for people trying to run upstream libvirt on RHEL-5 machines, make the qemu driver look in /usr/libexec for the qemu-kvm binary.
Signed-off-by: Chris Lalancette <clalance@redhat.com> --- src/qemu/qemu_conf.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index c227fe1..2ba8366 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -797,7 +797,8 @@ qemudCapsInitGuest(virCapsPtr caps, */ if (STREQ(info->arch, hostmachine) || (STREQ(hostmachine, "x86_64") && STREQ(info->arch, "i686"))) { - const char *const kvmbins[] = { "/usr/bin/qemu-kvm", /* Fedora */ + const char *const kvmbins[] = { "/usr/libexec/qemu-kvm", /* RHEL */ + "/usr/bin/qemu-kvm", /* Fedora */ "/usr/bin/kvm" }; /* Upstream .spec */
for (i = 0; i < ARRAY_CARDINALITY(kvmbins); ++i) { -- 1.6.6
Is /usr/libexec in PATH? Then the following patch will solve this problem too: https://www.redhat.com/archives/libvir-list/2010-January/msg00603.html Matthias

On Mon, Jan 25, 2010 at 08:38:26PM +0100, Matthias Bolte wrote:
2010/1/25 Chris Lalancette <clalance@redhat.com>:
On RHEL-5 the qemu-kvm binary is located in /usr/libexec. To reduce confusion for people trying to run upstream libvirt on RHEL-5 machines, make the qemu driver look in /usr/libexec for the qemu-kvm binary.
Signed-off-by: Chris Lalancette <clalance@redhat.com> --- src/qemu/qemu_conf.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index c227fe1..2ba8366 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -797,7 +797,8 @@ qemudCapsInitGuest(virCapsPtr caps, */ if (STREQ(info->arch, hostmachine) || (STREQ(hostmachine, "x86_64") && STREQ(info->arch, "i686"))) { - const char *const kvmbins[] = { "/usr/bin/qemu-kvm", /* Fedora */ + const char *const kvmbins[] = { "/usr/libexec/qemu-kvm", /* RHEL */ + "/usr/bin/qemu-kvm", /* Fedora */ "/usr/bin/kvm" }; /* Upstream .spec */
for (i = 0; i < ARRAY_CARDINALITY(kvmbins); ++i) { -- 1.6.6
Is /usr/libexec in PATH? Then the following patch will solve this problem too:
No, its not in the $PATH in this case. The RHEL packaging puts KVM in the /usr/libexec hierarchy explicitly because it is not intended to be run directly by end users. In any case, can you apply your patch, and then we can re-do Chris' patch on top of it. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On 01/25/2010 02:44 PM, Daniel P. Berrange wrote:
On Mon, Jan 25, 2010 at 08:38:26PM +0100, Matthias Bolte wrote:
2010/1/25 Chris Lalancette <clalance@redhat.com>:
On RHEL-5 the qemu-kvm binary is located in /usr/libexec. To reduce confusion for people trying to run upstream libvirt on RHEL-5 machines, make the qemu driver look in /usr/libexec for the qemu-kvm binary.
Signed-off-by: Chris Lalancette <clalance@redhat.com> --- src/qemu/qemu_conf.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index c227fe1..2ba8366 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -797,7 +797,8 @@ qemudCapsInitGuest(virCapsPtr caps, */ if (STREQ(info->arch, hostmachine) || (STREQ(hostmachine, "x86_64") && STREQ(info->arch, "i686"))) { - const char *const kvmbins[] = { "/usr/bin/qemu-kvm", /* Fedora */ + const char *const kvmbins[] = { "/usr/libexec/qemu-kvm", /* RHEL */ + "/usr/bin/qemu-kvm", /* Fedora */ "/usr/bin/kvm" }; /* Upstream .spec */
for (i = 0; i < ARRAY_CARDINALITY(kvmbins); ++i) { -- 1.6.6
Is /usr/libexec in PATH? Then the following patch will solve this problem too:
No, its not in the $PATH in this case. The RHEL packaging puts KVM in the /usr/libexec hierarchy explicitly because it is not intended to be run directly by end users. In any case, can you apply your patch, and then we can re-do Chris' patch on top of it.
Ah, I didn't realize Mattias' patch was still outstanding. I'll wait until he pushes and then recreate this patch. -- Chris Lalancette

2010/1/25 Chris Lalancette <clalance@redhat.com>:
On 01/25/2010 02:44 PM, Daniel P. Berrange wrote:
On Mon, Jan 25, 2010 at 08:38:26PM +0100, Matthias Bolte wrote:
2010/1/25 Chris Lalancette <clalance@redhat.com>:
On RHEL-5 the qemu-kvm binary is located in /usr/libexec. To reduce confusion for people trying to run upstream libvirt on RHEL-5 machines, make the qemu driver look in /usr/libexec for the qemu-kvm binary.
Signed-off-by: Chris Lalancette <clalance@redhat.com> --- src/qemu/qemu_conf.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index c227fe1..2ba8366 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -797,7 +797,8 @@ qemudCapsInitGuest(virCapsPtr caps, */ if (STREQ(info->arch, hostmachine) || (STREQ(hostmachine, "x86_64") && STREQ(info->arch, "i686"))) { - const char *const kvmbins[] = { "/usr/bin/qemu-kvm", /* Fedora */ + const char *const kvmbins[] = { "/usr/libexec/qemu-kvm", /* RHEL */ + "/usr/bin/qemu-kvm", /* Fedora */ "/usr/bin/kvm" }; /* Upstream .spec */
for (i = 0; i < ARRAY_CARDINALITY(kvmbins); ++i) { -- 1.6.6
Is /usr/libexec in PATH? Then the following patch will solve this problem too:
No, its not in the $PATH in this case. The RHEL packaging puts KVM in the /usr/libexec hierarchy explicitly because it is not intended to be run directly by end users. In any case, can you apply your patch, and then we can re-do Chris' patch on top of it.
Ah, I didn't realize Mattias' patch was still outstanding. I'll wait until he pushes and then recreate this patch.
-- Chris Lalancette
I pushed the lookup-in-PATH patch. Matthias
participants (3)
-
Chris Lalancette
-
Daniel P. Berrange
-
Matthias Bolte