Add upstream patch, workaround for libvirt on ARM bug.

This commit is contained in:
Richard W.M. Jones 2014-02-18 11:09:41 +00:00
parent 0545c6ce27
commit fc3156843f
2 changed files with 53 additions and 1 deletions

View File

@ -0,0 +1,46 @@
From 62cb3a606d4b349d45f2d178945a998a90d1e130 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 17 Feb 2014 15:17:27 -0500
Subject: [PATCH] launch: libvirt: Don't include hpet XML fragment on ARM.
See comment and https://bugzilla.redhat.com/show_bug.cgi?id=1066145
for explanation.
---
src/launch-libvirt.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c
index 60213fd..9e59e36 100644
--- a/src/launch-libvirt.c
+++ b/src/launch-libvirt.c
@@ -1001,6 +1001,7 @@ construct_libvirt_xml_cpu (guestfs_h *g,
start_element ("clock") {
attribute ("offset", "utc");
+
/* These are recommended settings, see RHBZ#1053847. */
start_element ("timer") {
attribute ("name", "rtc");
@@ -1010,10 +1011,19 @@ construct_libvirt_xml_cpu (guestfs_h *g,
attribute ("name", "pit");
attribute ("tickpolicy", "delay");
} end_element ();
+
+ /* libvirt has a bug (RHBZ#1066145) where it adds the -no-hpet
+ * flag on ARM even though this causes qemu-system-arm to break
+ * and ARM has never had a High Precision Timer anyway. It's not
+ * worth arguing about who is right or wrong here, just disable
+ * this XML fragment on ARM.
+ */
+#ifndef __arm__
start_element ("timer") {
attribute ("name", "hpet");
attribute ("present", "no");
} end_element ();
+#endif
} end_element ();
return 0;
--
1.8.4.2

View File

@ -12,13 +12,16 @@ Summary: Access and modify virtual machine disk images
Name: libguestfs
Epoch: 1
Version: 1.25.36
Release: 1%{?dist}
Release: 2%{?dist}
License: LGPLv2+
# Source and patches.
URL: http://libguestfs.org/
Source0: http://libguestfs.org/download/1.25-development/%{name}-%{version}.tar.gz
# Upstream workaround for libvirt on ARM bug.
Patch0001: 0001-launch-libvirt-Don-t-include-hpet-XML-fragment-on-AR.patch
# Basic build requirements:
BuildRequires: perl(Pod::Simple)
BuildRequires: perl(Pod::Man)
@ -981,6 +984,9 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/libguestfs
%changelog
* Tue Feb 18 2014 Richard W.M. Jones <rjones@redhat.com> - 1:1.25.36-2
- Add upstream patch, workaround for libvirt on ARM bug.
* Mon Feb 17 2014 Richard W.M. Jones <rjones@redhat.com> - 1:1.25.36-1
- New upstream version 1.25.36.