Accepting request 402821 from Virtualization

Incremental update of libvirt package fixing a few bugs.

- xenconfig: fix conversion of <driver> to backendtype
  e33cd67a-xenconfig-backendtype-fix.patch
  bsc#984798

- Advertise aarch64 UEFI firmware paths
  - adjust spec file to include aarch64 paths in
    '--with-loader-nvram=' configure option
  - adjust qemu.conf 'nvram' option to include the SUSE paths
  bsc#981836, bsc#983747

OBS-URL: https://build.opensuse.org/request/show/402821
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=208
This commit is contained in:
Dominique Leuenberger 2016-06-21 09:30:29 +00:00 committed by Git OBS Bridge
commit 90dda79c74
4 changed files with 106 additions and 2 deletions

View File

@ -0,0 +1,60 @@
commit e33cd67a9b51e8fcb4e084f40f500057b30b2786
Author: Jim Fehlig <jfehlig@suse.com>
Date: Wed Jun 15 23:09:36 2016 -0600
xenconfig: fix conversion of <driver> to backendtype
When converting domXML to xen xl.cfg, backendtype should
not be emitted if <driver> is not specified. Moreover,
<driver name='file'/> should be converted to backendtype
qdisk, similar to handling of <driver> in libxlMakeDisk()
in libxl_conf.c.
Prior to this change, connectDomainXMLToNative would
produce incorrect xl.cfg when the input domXML contained
<driver name='file'/>
domXML:
<disk type="file" device="disk">
<driver name="file"/>
<source file="/image/file/path"/>
<target dev="xvda" bus="xen"/>
</disk>
virsh domxml-to-native xen-xl domXML
disk = [ "format=raw,vdev=xvda,access=rw,backendtype=target=/image/file/path" ]
xl create xl.cfg
config parsing error in disk specification: unknown value
for backendtype: near `target=/image/file/path' in
`format=raw,vdev=xvda,access=rw,backendtype=target=/image/file/path'
Index: libvirt-1.3.5/src/xenconfig/xen_xl.c
===================================================================
--- libvirt-1.3.5.orig/src/xenconfig/xen_xl.c
+++ libvirt-1.3.5/src/xenconfig/xen_xl.c
@@ -752,13 +752,15 @@ xenFormatXLDisk(virConfValuePtr list, vi
}
/* backendtype */
- virBufferAddLit(&buf, "backendtype=");
- if (STREQ_NULLABLE(driver, "qemu"))
- virBufferAddLit(&buf, "qdisk,");
- else if (STREQ_NULLABLE(driver, "tap"))
- virBufferAddLit(&buf, "tap,");
- else if (STREQ_NULLABLE(driver, "phy"))
- virBufferAddLit(&buf, "phy,");
+ if (driver) {
+ virBufferAddLit(&buf, "backendtype=");
+ if (STREQ(driver, "qemu") || STREQ(driver, "file"))
+ virBufferAddLit(&buf, "qdisk,");
+ else if (STREQ(driver, "tap"))
+ virBufferAddLit(&buf, "tap,");
+ else if (STREQ(driver, "phy"))
+ virBufferAddLit(&buf, "phy,");
+ }
/* devtype */
if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM)

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Thu Jun 16 18:39:54 UTC 2016 - jfehlig@suse.com
- xenconfig: fix conversion of <driver> to backendtype
e33cd67a-xenconfig-backendtype-fix.patch
bsc#984798
-------------------------------------------------------------------
Wed Jun 15 18:51:29 UTC 2016 - jfehlig@suse.com
- Advertise aarch64 UEFI firmware paths
- adjust spec file to include aarch64 paths in
'--with-loader-nvram=' configure option
- adjust qemu.conf 'nvram' option to include the SUSE paths
bsc#981836, bsc#983747
-------------------------------------------------------------------
Thu Jun 9 15:12:19 UTC 2016 - jfehlig@suse.com

View File

@ -109,8 +109,6 @@
%define qemu_user qemu
%define qemu_group qemu
%define arg_loader_nvram --with-loader-nvram="/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin"
# Pull in cgroups config system
%if %{with_qemu} || %{with_lxc}
%define with_cgconfig 0%{!?_without_cgconfig:1}
@ -259,6 +257,7 @@ Source4: libvirtd-relocation-server.fw
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
# Upstream patches
Patch0: e33cd67a-xenconfig-backendtype-fix.patch
# Patches pending upstream review
Patch100: apparmor-dont-scrub-environment-of-virtlogd-process.patch
# Need to go upstream
@ -708,6 +707,7 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%prep
%setup -q
%patch0 -p1
%patch100 -p1
%patch150 -p1
%patch151 -p1
@ -845,6 +845,14 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%define arg_selinux_mount --with-selinux-mount="/selinux"
# x86_64 UEFI firmwares
# To more closely resemble actual hardware, we use the firmwares with
# embedded Microsoft keys
LOADERS="/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin"
# aarch64 UEFI firmwares
LOADERS="$LOADERS:/usr/share/qemu/aavmf-aarch64-code.bin:/usr/share/qemu/aavmf-aarch64-vars.bin"
%define arg_loader_nvram --with-loader-nvram="$LOADERS"
autoreconf -f -i
export CFLAGS="$RPM_OPT_FLAGS"
%configure --disable-static --with-pic \

View File

@ -1,3 +1,12 @@
SUSE adjustments to qemu.conf
This patch contains SUSE-specific adjustments to the upstream
qemu.conf configuration file. In the future, it might make
sense to separate these changes into individual patches (e.g.
suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
etc.), but for now they are all lumped together in this
single patch.
Index: libvirt-1.3.5/src/qemu/qemu.conf
===================================================================
--- libvirt-1.3.5.orig/src/qemu/qemu.conf
@ -53,3 +62,14 @@ Index: libvirt-1.3.5/src/qemu/qemu.conf
#
#lock_manager = "lockd"
@@ -512,8 +532,8 @@
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme.
#nvram = [
-# "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd",
-# "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd"
+# "/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin",
+# "/usr/share/qemu/aavmf-aarch64-code.bin:/usr/share/qemu/aavmf-aarch64-vars.bin"
#]
# The backend to use for handling stdout/stderr output from