diff --git a/3e745e8f-CVE-2014-3633.patch b/3e745e8f-CVE-2014-3633.patch deleted file mode 100644 index 9b7d786..0000000 --- a/3e745e8f-CVE-2014-3633.patch +++ /dev/null @@ -1,41 +0,0 @@ -commit 3e745e8f775dfe6f64f18b5c2fe4791b35d3546b -Author: Peter Krempa -Date: Thu Sep 11 16:35:53 2014 +0200 - - CVE-2014-3633: qemu: blkiotune: Use correct definition when looking up disk - - Live definition was used to look up the disk index while persistent one - was indexed leading to a crash in qemuDomainGetBlockIoTune. Use the - correct def and report a nice error. - - Unfortunately it's accessible via read-only connection, though it can - only crash libvirtd in the cases where the guest is hot-plugging disks - without reflecting those changes to the persistent definition. So - avoiding hotplug, or doing hotplug where persistent is always modified - alongside live definition, will avoid the out-of-bounds access. - - Introduced in: eca96694a7f992be633d48d5ca03cedc9bbc3c9aa (v0.9.8) - Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1140724 - Reported-by: Luyao Huang - Signed-off-by: Peter Krempa - -Index: libvirt-1.2.8/src/qemu/qemu_driver.c -=================================================================== ---- libvirt-1.2.8.orig/src/qemu/qemu_driver.c -+++ libvirt-1.2.8/src/qemu/qemu_driver.c -@@ -16141,9 +16141,13 @@ qemuDomainGetBlockIoTune(virDomainPtr do - } - - if (flags & VIR_DOMAIN_AFFECT_CONFIG) { -- int idx = virDomainDiskIndexByName(vm->def, disk, true); -- if (idx < 0) -+ int idx = virDomainDiskIndexByName(persistentDef, disk, true); -+ if (idx < 0) { -+ virReportError(VIR_ERR_INVALID_ARG, -+ _("disk '%s' was not found in the domain config"), -+ disk); - goto endjob; -+ } - reply = persistentDef->disks[idx]->blkdeviotune; - } - diff --git a/apparmor-no-mount.patch b/apparmor-no-mount.patch index 670ed19..8fa73d2 100644 --- a/apparmor-no-mount.patch +++ b/apparmor-no-mount.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.8/examples/apparmor/libvirt-lxc +Index: libvirt-1.2.9/examples/apparmor/libvirt-lxc =================================================================== ---- libvirt-1.2.8.orig/examples/apparmor/libvirt-lxc -+++ libvirt-1.2.8/examples/apparmor/libvirt-lxc +--- libvirt-1.2.9.orig/examples/apparmor/libvirt-lxc ++++ libvirt-1.2.9/examples/apparmor/libvirt-lxc @@ -2,39 +2,15 @@ #include diff --git a/blockcopy-check-dst-identical-device.patch b/blockcopy-check-dst-identical-device.patch index f392683..cda57d0 100644 --- a/blockcopy-check-dst-identical-device.patch +++ b/blockcopy-check-dst-identical-device.patch @@ -11,21 +11,23 @@ Signed-off-by: Chunyan Liu src/qemu/qemu_driver.c | 7 +++++++ 1 file changed, 7 insertions(+) -Index: libvirt-1.2.8/src/qemu/qemu_driver.c +Index: libvirt-1.2.9/src/qemu/qemu_driver.c =================================================================== ---- libvirt-1.2.8.orig/src/qemu/qemu_driver.c -+++ libvirt-1.2.8/src/qemu/qemu_driver.c -@@ -15357,6 +15357,13 @@ qemuDomainBlockCopy(virDomainObjPtr vm, +--- libvirt-1.2.9.orig/src/qemu/qemu_driver.c ++++ libvirt-1.2.9/src/qemu/qemu_driver.c +@@ -15589,6 +15589,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt + virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s", + _("non-file destination not supported yet")); } - - /* Prepare the destination file. */ -+ if (STREQ_NULLABLE(realpath(disk->src->path, NULL), realpath(dest, NULL))) { ++ ++ if (STREQ_NULLABLE(realpath(disk->src->path, NULL), ++ realpath(mirror->path, NULL))) { + virReportError(VIR_ERR_INVALID_ARG, + _("destination '%s' is the same as disk '%s' source"), -+ dest, path); ++ mirror->path, path); + goto endjob; + } + - if (stat(dest, &st) < 0) { + if (stat(mirror->path, &st) < 0) { if (errno != ENOENT) { virReportSystemError(errno, _("unable to stat for disk %s: %s"), diff --git a/disable-virCgroupGetPercpuStats-test.patch b/disable-virCgroupGetPercpuStats-test.patch index fb42f9e..c961779 100644 --- a/disable-virCgroupGetPercpuStats-test.patch +++ b/disable-virCgroupGetPercpuStats-test.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.8/tests/vircgrouptest.c +Index: libvirt-1.2.9/tests/vircgrouptest.c =================================================================== ---- libvirt-1.2.8.orig/tests/vircgrouptest.c -+++ libvirt-1.2.8/tests/vircgrouptest.c +--- libvirt-1.2.9.orig/tests/vircgrouptest.c ++++ libvirt-1.2.9/tests/vircgrouptest.c @@ -33,7 +33,6 @@ # include "virlog.h" # include "virfile.h" diff --git a/fix-pci-attach-xen-driver.patch b/fix-pci-attach-xen-driver.patch index 12751f2..5bd58da 100644 --- a/fix-pci-attach-xen-driver.patch +++ b/fix-pci-attach-xen-driver.patch @@ -8,10 +8,10 @@ uses the 'device_configure' RPC. This patch changes the xend driver to always call 'device_configure' for PCI devices to be consistent with the usage in the xen tools. -Index: libvirt-1.2.8/src/xen/xend_internal.c +Index: libvirt-1.2.9/src/xen/xend_internal.c =================================================================== ---- libvirt-1.2.8.orig/src/xen/xend_internal.c -+++ libvirt-1.2.8/src/xen/xend_internal.c +--- libvirt-1.2.9.orig/src/xen/xend_internal.c ++++ libvirt-1.2.9/src/xen/xend_internal.c @@ -2221,6 +2221,7 @@ xenDaemonAttachDeviceFlags(virConnectPtr virBuffer buf = VIR_BUFFER_INITIALIZER; char class[8], ref[80]; diff --git a/install-apparmor-profiles.patch b/install-apparmor-profiles.patch index 292ca95..f415362 100644 --- a/install-apparmor-profiles.patch +++ b/install-apparmor-profiles.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.8/examples/apparmor/Makefile.am +Index: libvirt-1.2.9/examples/apparmor/Makefile.am =================================================================== ---- libvirt-1.2.8.orig/examples/apparmor/Makefile.am -+++ libvirt-1.2.8/examples/apparmor/Makefile.am +--- libvirt-1.2.9.orig/examples/apparmor/Makefile.am ++++ libvirt-1.2.9/examples/apparmor/Makefile.am @@ -19,10 +19,22 @@ EXTRA_DIST= \ TEMPLATE.lxc \ libvirt-qemu \ @@ -27,10 +27,10 @@ Index: libvirt-1.2.8/examples/apparmor/Makefile.am apparmordir = $(sysconfdir)/apparmor.d/ apparmor_DATA = \ usr.lib.libvirt.virt-aa-helper \ -Index: libvirt-1.2.8/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in +Index: libvirt-1.2.9/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in =================================================================== --- /dev/null -+++ libvirt-1.2.8/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in ++++ libvirt-1.2.9/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in @@ -0,0 +1,48 @@ +# Last Modified: Mon Apr 5 15:10:27 2010 +#include @@ -80,10 +80,10 @@ Index: libvirt-1.2.8/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in + /**.[iI][sS][oO] r, + /**/disk{,.*} r, +} -Index: libvirt-1.2.8/examples/apparmor/usr.sbin.libvirtd.in +Index: libvirt-1.2.9/examples/apparmor/usr.sbin.libvirtd.in =================================================================== --- /dev/null -+++ libvirt-1.2.8/examples/apparmor/usr.sbin.libvirtd.in ++++ libvirt-1.2.9/examples/apparmor/usr.sbin.libvirtd.in @@ -0,0 +1,68 @@ +# Last Modified: Mon Apr 5 15:03:58 2010 +#include @@ -153,9 +153,9 @@ Index: libvirt-1.2.8/examples/apparmor/usr.sbin.libvirtd.in + change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*, + +} -Index: libvirt-1.2.8/examples/apparmor/usr.lib.libvirt.virt-aa-helper +Index: libvirt-1.2.9/examples/apparmor/usr.lib.libvirt.virt-aa-helper =================================================================== ---- libvirt-1.2.8.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper +--- libvirt-1.2.9.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper +++ /dev/null @@ -1,48 +0,0 @@ -# Last Modified: Mon Apr 5 15:10:27 2010 @@ -206,9 +206,9 @@ Index: libvirt-1.2.8/examples/apparmor/usr.lib.libvirt.virt-aa-helper - /**.[iI][sS][oO] r, - /**/disk{,.*} r, -} -Index: libvirt-1.2.8/examples/apparmor/usr.sbin.libvirtd +Index: libvirt-1.2.9/examples/apparmor/usr.sbin.libvirtd =================================================================== ---- libvirt-1.2.8.orig/examples/apparmor/usr.sbin.libvirtd +--- libvirt-1.2.9.orig/examples/apparmor/usr.sbin.libvirtd +++ /dev/null @@ -1,63 +0,0 @@ -# Last Modified: Mon Apr 5 15:03:58 2010 diff --git a/libvirt-1.2.8.tar.bz2 b/libvirt-1.2.8.tar.bz2 deleted file mode 100644 index 831fe2a..0000000 --- a/libvirt-1.2.8.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3adc681cf4477a0f4ee4ff3e5ce08c0d50c17d63dd0a460587e90db482fcc05b -size 21498750 diff --git a/libvirt-1.2.9.tar.gz b/libvirt-1.2.9.tar.gz new file mode 100644 index 0000000..48a0e79 --- /dev/null +++ b/libvirt-1.2.9.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95931a5a52f451b9ab73d6a5ae11a5740e1ba69a66520c2a0cffc6068a7e8fc4 +size 30154430 diff --git a/libvirt-1.2.9.tar.gz.asc b/libvirt-1.2.9.tar.gz.asc new file mode 100644 index 0000000..b80890b --- /dev/null +++ b/libvirt-1.2.9.tar.gz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iEYEABECAAYFAlQrvjoACgkQRga4pd6VvB/bJwCfasEmR26TtY5jQNlVG6ChqYHU +bhwAnRMdkTBkoQsPLMuKQYpeLtpFKfkX +=VHOB +-----END PGP SIGNATURE----- diff --git a/libvirt-guests-init-script.patch b/libvirt-guests-init-script.patch index 7190140..eea6669 100644 --- a/libvirt-guests-init-script.patch +++ b/libvirt-guests-init-script.patch @@ -1,9 +1,9 @@ Adjust libvirt-guests init files to conform to SUSE standards -Index: libvirt-1.2.8/tools/libvirt-guests.init.in +Index: libvirt-1.2.9/tools/libvirt-guests.init.in =================================================================== ---- libvirt-1.2.8.orig/tools/libvirt-guests.init.in -+++ libvirt-1.2.8/tools/libvirt-guests.init.in +--- libvirt-1.2.9.orig/tools/libvirt-guests.init.in ++++ libvirt-1.2.9/tools/libvirt-guests.init.in @@ -3,15 +3,15 @@ # the following is the LSB init header # @@ -28,10 +28,10 @@ Index: libvirt-1.2.8/tools/libvirt-guests.init.in ### END INIT INFO # the following is chkconfig init header -Index: libvirt-1.2.8/tools/libvirt-guests.sh.in +Index: libvirt-1.2.9/tools/libvirt-guests.sh.in =================================================================== ---- libvirt-1.2.8.orig/tools/libvirt-guests.sh.in -+++ libvirt-1.2.8/tools/libvirt-guests.sh.in +--- libvirt-1.2.9.orig/tools/libvirt-guests.sh.in ++++ libvirt-1.2.9/tools/libvirt-guests.sh.in @@ -16,14 +16,13 @@ # License along with this library. If not, see # . @@ -189,10 +189,10 @@ Index: libvirt-1.2.8/tools/libvirt-guests.sh.in esac -exit $RETVAL +rc_exit -Index: libvirt-1.2.8/tools/libvirt-guests.sysconf +Index: libvirt-1.2.9/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-1.2.8.orig/tools/libvirt-guests.sysconf -+++ libvirt-1.2.8/tools/libvirt-guests.sysconf +--- libvirt-1.2.9.orig/tools/libvirt-guests.sysconf ++++ libvirt-1.2.9/tools/libvirt-guests.sysconf @@ -1,19 +1,29 @@ +## Path: System/Virtualization/libvirt-guests + diff --git a/libvirt-guests-wait-for-ntp.patch b/libvirt-guests-wait-for-ntp.patch deleted file mode 100644 index b096829..0000000 --- a/libvirt-guests-wait-for-ntp.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 79a752f1eb5a6b6b4b900d8899dfb9712be824ec Mon Sep 17 00:00:00 2001 -From: Jim Fehlig -Date: Mon, 8 Sep 2014 10:22:14 -0600 -Subject: [PATCH] libvirt-guests: wait for ntp service - -If an NTP server is configured on the host, it is possible for -libvirt-guests to start before the NTP service, in which case -guest clocks won't be synchronized to the host clock. - -Add ntp-wait.service to "After" in libvirt-guests systemd service -file, ensuring NTP has synchronized the host clock before starting -any guests. - -Signed-off-by: Jim Fehlig ---- - tools/libvirt-guests.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: libvirt-1.2.8/tools/libvirt-guests.service.in -=================================================================== ---- libvirt-1.2.8.orig/tools/libvirt-guests.service.in -+++ libvirt-1.2.8/tools/libvirt-guests.service.in -@@ -1,6 +1,6 @@ - [Unit] - Description=Suspend Active Libvirt Guests --After=network.target libvirtd.service -+After=network.target libvirtd.service ntp-wait.service - Documentation=man:libvirtd(8) - Documentation=http://libvirt.org - diff --git a/libvirt-power8-models.patch b/libvirt-power8-models.patch index 26ecf3c..3a5ad9d 100644 --- a/libvirt-power8-models.patch +++ b/libvirt-power8-models.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.8/src/cpu/cpu_map.xml +Index: libvirt-1.2.9/src/cpu/cpu_map.xml =================================================================== ---- libvirt-1.2.8.orig/src/cpu/cpu_map.xml -+++ libvirt-1.2.8/src/cpu/cpu_map.xml +--- libvirt-1.2.9.orig/src/cpu/cpu_map.xml ++++ libvirt-1.2.9/src/cpu/cpu_map.xml @@ -627,5 +627,15 @@ diff --git a/libvirt-ppc64le-support.patch b/libvirt-ppc64le-support.patch index 3662d5d..dea65c7 100644 --- a/libvirt-ppc64le-support.patch +++ b/libvirt-ppc64le-support.patch @@ -1,8 +1,8 @@ -Index: libvirt-1.2.8/src/conf/domain_conf.c +Index: libvirt-1.2.9/src/conf/domain_conf.c =================================================================== ---- libvirt-1.2.8.orig/src/conf/domain_conf.c -+++ libvirt-1.2.8/src/conf/domain_conf.c -@@ -9690,7 +9690,8 @@ virDomainVideoDefaultType(const virDomai +--- libvirt-1.2.9.orig/src/conf/domain_conf.c ++++ libvirt-1.2.9/src/conf/domain_conf.c +@@ -9863,7 +9863,8 @@ virDomainVideoDefaultType(const virDomai (STREQ(def->os.type, "xen") || STREQ(def->os.type, "linux"))) return VIR_DOMAIN_VIDEO_TYPE_XEN; @@ -12,10 +12,10 @@ Index: libvirt-1.2.8/src/conf/domain_conf.c return VIR_DOMAIN_VIDEO_TYPE_VGA; else return VIR_DOMAIN_VIDEO_TYPE_CIRRUS; -Index: libvirt-1.2.8/src/cpu/cpu_powerpc.c +Index: libvirt-1.2.9/src/cpu/cpu_powerpc.c =================================================================== ---- libvirt-1.2.8.orig/src/cpu/cpu_powerpc.c -+++ libvirt-1.2.8/src/cpu/cpu_powerpc.c +--- libvirt-1.2.9.orig/src/cpu/cpu_powerpc.c ++++ libvirt-1.2.9/src/cpu/cpu_powerpc.c @@ -38,7 +38,7 @@ VIR_LOG_INIT("cpu.cpu_powerpc"); @@ -25,21 +25,21 @@ Index: libvirt-1.2.8/src/cpu/cpu_powerpc.c struct ppc_vendor { char *name; -Index: libvirt-1.2.8/src/qemu/qemu_capabilities.c +Index: libvirt-1.2.9/src/qemu/qemu_capabilities.c =================================================================== ---- libvirt-1.2.8.orig/src/qemu/qemu_capabilities.c -+++ libvirt-1.2.8/src/qemu/qemu_capabilities.c -@@ -631,7 +631,8 @@ virQEMUCapsProbeCPUModels(virQEMUCapsPtr +--- libvirt-1.2.9.orig/src/qemu/qemu_capabilities.c ++++ libvirt-1.2.9/src/qemu/qemu_capabilities.c +@@ -632,7 +632,8 @@ virQEMUCapsProbeCPUModels(virQEMUCapsPtr if (qemuCaps->arch == VIR_ARCH_I686 || - qemuCaps->arch == VIR_ARCH_X86_64) + qemuCaps->arch == VIR_ARCH_X86_64) { parse = virQEMUCapsParseX86Models; -- else if (qemuCaps->arch == VIR_ARCH_PPC64) -+ else if (qemuCaps->arch == VIR_ARCH_PPC64 || -+ qemuCaps->arch == VIR_ARCH_PPC64LE) +- } else if (qemuCaps->arch == VIR_ARCH_PPC64) { ++ } else if (qemuCaps->arch == VIR_ARCH_PPC64 || ++ qemuCaps->arch == VIR_ARCH_PPC64LE) { parse = virQEMUCapsParsePPCModels; - else { + } else { VIR_DEBUG("don't know how to parse %s CPU models", -@@ -1996,7 +1997,8 @@ bool virQEMUCapsHasPCIMultiBus(virQEMUCa +@@ -2001,7 +2002,8 @@ bool virQEMUCapsHasPCIMultiBus(virQEMUCa return true; if (def->os.arch == VIR_ARCH_PPC || @@ -49,7 +49,7 @@ Index: libvirt-1.2.8/src/qemu/qemu_capabilities.c /* * Usage of pci.0 naming: * -@@ -3567,7 +3569,9 @@ virQEMUCapsSupportsChardev(virDomainDefP +@@ -3571,7 +3573,9 @@ virQEMUCapsSupportsChardev(virDomainDefP !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) return false; @@ -60,41 +60,41 @@ Index: libvirt-1.2.8/src/qemu/qemu_capabilities.c /* only pseries need -device spapr-vty with -chardev */ return (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL && chr->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO); -Index: libvirt-1.2.8/src/qemu/qemu_command.c +Index: libvirt-1.2.9/src/qemu/qemu_command.c =================================================================== ---- libvirt-1.2.8.orig/src/qemu/qemu_command.c -+++ libvirt-1.2.8/src/qemu/qemu_command.c -@@ -703,7 +703,8 @@ qemuSetSCSIControllerModel(virDomainDefP +--- libvirt-1.2.9.orig/src/qemu/qemu_command.c ++++ libvirt-1.2.9/src/qemu/qemu_command.c +@@ -713,7 +713,8 @@ qemuSetSCSIControllerModel(virDomainDefP return -1; } } else { - if ((def->os.arch == VIR_ARCH_PPC64) && + if ((def->os.arch == VIR_ARCH_PPC64 || -+ def->os.arch == VIR_ARCH_PPC64LE) && - STREQ(def->os.machine, "pseries")) { ++ def->os.arch == VIR_ARCH_PPC64LE) && + STRPREFIX(def->os.machine, "pseries")) { *model = VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI; } else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_LSI)) { -@@ -1250,7 +1251,8 @@ int qemuDomainAssignSpaprVIOAddresses(vi +@@ -1260,7 +1261,8 @@ int qemuDomainAssignSpaprVIOAddresses(vi for (i = 0; i < def->nserials; i++) { if (def->serials[i]->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL && - (def->os.arch == VIR_ARCH_PPC64) && + (def->os.arch == VIR_ARCH_PPC64 || -+ def->os.arch == VIR_ARCH_PPC64LE) && - STREQ(def->os.machine, "pseries")) ++ def->os.arch == VIR_ARCH_PPC64LE) && + STRPREFIX(def->os.machine, "pseries")) def->serials[i]->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO; if (qemuAssignSpaprVIOAddress(def, &def->serials[i]->info, -@@ -1259,7 +1261,8 @@ int qemuDomainAssignSpaprVIOAddresses(vi +@@ -1269,7 +1271,8 @@ int qemuDomainAssignSpaprVIOAddresses(vi } if (def->nvram) { - if (def->os.arch == VIR_ARCH_PPC64 && + if ((def->os.arch == VIR_ARCH_PPC64 || -+ def->os.arch == VIR_ARCH_PPC64LE) && - STREQ(def->os.machine, "pseries")) ++ def->os.arch == VIR_ARCH_PPC64LE) && + STRPREFIX(def->os.machine, "pseries")) def->nvram->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO; if (qemuAssignSpaprVIOAddress(def, &def->nvram->info, -@@ -4147,7 +4150,8 @@ qemuBuildUSBControllerDevStr(virDomainDe +@@ -4191,7 +4194,8 @@ qemuBuildUSBControllerDevStr(virDomainDe model = def->model; if (model == -1) { @@ -104,7 +104,7 @@ Index: libvirt-1.2.8/src/qemu/qemu_command.c model = VIR_DOMAIN_CONTROLLER_MODEL_USB_PCI_OHCI; else model = VIR_DOMAIN_CONTROLLER_MODEL_USB_PIIX3_UHCI; -@@ -8176,7 +8180,8 @@ qemuBuildCommandLine(virConnectPtr conn, +@@ -8421,7 +8425,8 @@ qemuBuildCommandLine(virConnectPtr conn, !qemuDomainMachineIsQ35(def) && (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX3_USB_UHCI) || (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCI_OHCI) && @@ -114,71 +114,79 @@ Index: libvirt-1.2.8/src/qemu/qemu_command.c if (usblegacy) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Multiple legacy USB controllers are " -@@ -9366,7 +9371,8 @@ qemuBuildCommandLine(virConnectPtr conn, +@@ -9619,7 +9624,8 @@ qemuBuildCommandLine(virConnectPtr conn, } if (def->nvram) { - if (def->os.arch == VIR_ARCH_PPC64 && + if ((def->os.arch == VIR_ARCH_PPC64 || -+ def->os.arch == VIR_ARCH_PPC64LE) && - STREQ(def->os.machine, "pseries")) { ++ def->os.arch == VIR_ARCH_PPC64LE) && + STRPREFIX(def->os.machine, "pseries")) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_NVRAM)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -@@ -9478,7 +9484,8 @@ qemuBuildSerialChrDeviceStr(char **devic +@@ -9737,7 +9743,8 @@ qemuBuildSerialChrDeviceStr(char **devic { virBuffer cmd = VIR_BUFFER_INITIALIZER; -- if ((arch == VIR_ARCH_PPC64) && STREQ(machine, "pseries")) { +- if ((arch == VIR_ARCH_PPC64) && STRPREFIX(machine, "pseries")) { + if ((arch == VIR_ARCH_PPC64 || -+ arch == VIR_ARCH_PPC64LE) && STREQ(machine, "pseries")) { ++ arch == VIR_ARCH_PPC64LE) && STRPREFIX(machine, "pseries")) { if (serial->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL && serial->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO) { virBufferAsprintf(&cmd, "spapr-vty,chardev=char%s", -@@ -9900,7 +9907,8 @@ qemuParseCommandLineDisk(virDomainXMLOpt +@@ -10159,8 +10166,9 @@ qemuParseCommandLineDisk(virDomainXMLOpt if (VIR_ALLOC(def->src) < 0) goto error; - if (((dom->os.arch == VIR_ARCH_PPC64) && +- dom->os.machine && STRPREFIX(dom->os.machine, "pseries"))) + if (((dom->os.arch == VIR_ARCH_PPC64 || -+ dom->os.arch == VIR_ARCH_PPC64LE) && - dom->os.machine && STREQ(dom->os.machine, "pseries"))) ++ dom->os.arch == VIR_ARCH_PPC64LE) && ++ dom->os.machine && STRPREFIX(dom->os.machine, "pseries"))) def->bus = VIR_DOMAIN_DISK_BUS_SCSI; else -@@ -9992,7 +10000,8 @@ qemuParseCommandLineDisk(virDomainXMLOpt + def->bus = VIR_DOMAIN_DISK_BUS_IDE; +@@ -10252,7 +10260,8 @@ qemuParseCommandLineDisk(virDomainXMLOpt } else if (STREQ(keywords[i], "if")) { if (STREQ(values[i], "ide")) { def->bus = VIR_DOMAIN_DISK_BUS_IDE; - if (((dom->os.arch == VIR_ARCH_PPC64) && + if (((dom->os.arch == VIR_ARCH_PPC64 || -+ dom->os.arch == VIR_ARCH_PPC64LE) && - dom->os.machine && STREQ(dom->os.machine, "pseries"))) { ++ dom->os.arch == VIR_ARCH_PPC64LE) && + dom->os.machine && STRPREFIX(dom->os.machine, "pseries"))) { virReportError(VIR_ERR_INTERNAL_ERROR, _("pseries systems do not support ide devices '%s'"), val); -@@ -11233,7 +11242,8 @@ qemuParseCommandLine(virCapsPtr qemuCaps - disk->src->type = VIR_STORAGE_TYPE_FILE; +@@ -11497,8 +11506,9 @@ qemuParseCommandLine(virCapsPtr qemuCaps + } if (STREQ(arg, "-cdrom")) { disk->device = VIR_DOMAIN_DISK_DEVICE_CDROM; - if (((def->os.arch == VIR_ARCH_PPC64) && +- def->os.machine && STRPREFIX(def->os.machine, "pseries"))) + if (((def->os.arch == VIR_ARCH_PPC64 || -+ def->os.arch == VIR_ARCH_PPC64LE) && - def->os.machine && STREQ(def->os.machine, "pseries"))) ++ def->os.arch == VIR_ARCH_PPC64LE) && ++ def->os.machine && STRPREFIX(def->os.machine, "pseries"))) disk->bus = VIR_DOMAIN_DISK_BUS_SCSI; if (VIR_STRDUP(disk->dst, "hdc") < 0) -@@ -11249,7 +11259,8 @@ qemuParseCommandLine(virCapsPtr qemuCaps + goto error; +@@ -11513,9 +11523,10 @@ qemuParseCommandLine(virCapsPtr qemuCaps disk->bus = VIR_DOMAIN_DISK_BUS_IDE; else disk->bus = VIR_DOMAIN_DISK_BUS_SCSI; - if (((def->os.arch == VIR_ARCH_PPC64) && -+ if (((def->os.arch == VIR_ARCH_PPC64 || -+ def->os.arch == VIR_ARCH_PPC64LE) && - def->os.machine && STREQ(def->os.machine, "pseries"))) - disk->bus = VIR_DOMAIN_DISK_BUS_SCSI; +- def->os.machine && STRPREFIX(def->os.machine, "pseries"))) +- disk->bus = VIR_DOMAIN_DISK_BUS_SCSI; ++ if (((def->os.arch == VIR_ARCH_PPC64 || ++ def->os.arch == VIR_ARCH_PPC64LE) && ++ def->os.machine && STRPREFIX(def->os.machine, "pseries"))) ++ disk->bus = VIR_DOMAIN_DISK_BUS_SCSI; } -Index: libvirt-1.2.8/src/qemu/qemu_domain.c + if (VIR_STRDUP(disk->dst, arg + 1) < 0) + goto error; +Index: libvirt-1.2.9/src/qemu/qemu_domain.c =================================================================== ---- libvirt-1.2.8.orig/src/qemu/qemu_domain.c -+++ libvirt-1.2.8/src/qemu/qemu_domain.c -@@ -754,6 +754,7 @@ qemuDomainDefPostParse(virDomainDefPtr d +--- libvirt-1.2.9.orig/src/qemu/qemu_domain.c ++++ libvirt-1.2.9/src/qemu/qemu_domain.c +@@ -980,6 +980,7 @@ qemuDomainDefPostParse(virDomainDefPtr d break; case VIR_ARCH_PPC64: diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index 742eddb..1addf95 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.8/configure.ac +Index: libvirt-1.2.9/configure.ac =================================================================== ---- libvirt-1.2.8.orig/configure.ac -+++ libvirt-1.2.8/configure.ac +--- libvirt-1.2.9.orig/configure.ac ++++ libvirt-1.2.9/configure.ac @@ -237,6 +237,7 @@ LIBVIRT_CHECK_FUSE LIBVIRT_CHECK_GLUSTER LIBVIRT_CHECK_HAL @@ -10,7 +10,7 @@ Index: libvirt-1.2.8/configure.ac LIBVIRT_CHECK_NUMACTL LIBVIRT_CHECK_OPENWSMAN LIBVIRT_CHECK_PCIACCESS -@@ -2454,11 +2455,12 @@ if test "$with_libvirtd" = "no" ; then +@@ -2456,11 +2457,12 @@ if test "$with_libvirtd" = "no" ; then with_interface=no fi @@ -26,7 +26,7 @@ Index: libvirt-1.2.8/configure.ac esac if test "$with_interface" = "yes" ; then -@@ -2880,6 +2882,7 @@ LIBVIRT_RESULT_FUSE +@@ -2882,6 +2884,7 @@ LIBVIRT_RESULT_FUSE LIBVIRT_RESULT_GLUSTER LIBVIRT_RESULT_HAL LIBVIRT_RESULT_NETCF @@ -34,11 +34,11 @@ Index: libvirt-1.2.8/configure.ac LIBVIRT_RESULT_NUMACTL LIBVIRT_RESULT_OPENWSMAN LIBVIRT_RESULT_PCIACCESS -Index: libvirt-1.2.8/src/Makefile.am +Index: libvirt-1.2.9/src/Makefile.am =================================================================== ---- libvirt-1.2.8.orig/src/Makefile.am -+++ libvirt-1.2.8/src/Makefile.am -@@ -823,6 +823,10 @@ if WITH_NETCF +--- libvirt-1.2.9.orig/src/Makefile.am ++++ libvirt-1.2.9/src/Makefile.am +@@ -826,6 +826,10 @@ if WITH_NETCF INTERFACE_DRIVER_SOURCES += \ interface/interface_backend_netcf.c endif WITH_NETCF @@ -49,7 +49,7 @@ Index: libvirt-1.2.8/src/Makefile.am if WITH_UDEV INTERFACE_DRIVER_SOURCES += \ interface/interface_backend_udev.c -@@ -1458,10 +1462,15 @@ if WITH_NETCF +@@ -1465,10 +1469,15 @@ if WITH_NETCF libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS) libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS) else ! WITH_NETCF @@ -65,11 +65,11 @@ Index: libvirt-1.2.8/src/Makefile.am endif ! WITH_NETCF if WITH_DRIVER_MODULES libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la -Index: libvirt-1.2.8/tools/virsh.c +Index: libvirt-1.2.9/tools/virsh.c =================================================================== ---- libvirt-1.2.8.orig/tools/virsh.c -+++ libvirt-1.2.8/tools/virsh.c -@@ -3320,6 +3320,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE +--- libvirt-1.2.9.orig/tools/virsh.c ++++ libvirt-1.2.9/tools/virsh.c +@@ -3340,6 +3340,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE vshPrint(ctl, " Interface"); # if defined(WITH_NETCF) vshPrint(ctl, " netcf"); @@ -78,10 +78,10 @@ Index: libvirt-1.2.8/tools/virsh.c # elif defined(WITH_UDEV) vshPrint(ctl, " udev"); # endif -Index: libvirt-1.2.8/src/interface/interface_backend_netcf.c +Index: libvirt-1.2.9/src/interface/interface_backend_netcf.c =================================================================== ---- libvirt-1.2.8.orig/src/interface/interface_backend_netcf.c -+++ libvirt-1.2.8/src/interface/interface_backend_netcf.c +--- libvirt-1.2.9.orig/src/interface/interface_backend_netcf.c ++++ libvirt-1.2.9/src/interface/interface_backend_netcf.c @@ -23,7 +23,12 @@ #include @@ -165,10 +165,10 @@ Index: libvirt-1.2.8/src/interface/interface_backend_netcf.c return 0; } -Index: libvirt-1.2.8/src/interface/interface_driver.c +Index: libvirt-1.2.9/src/interface/interface_driver.c =================================================================== ---- libvirt-1.2.8.orig/src/interface/interface_driver.c -+++ libvirt-1.2.8/src/interface/interface_driver.c +--- libvirt-1.2.9.orig/src/interface/interface_driver.c ++++ libvirt-1.2.9/src/interface/interface_driver.c @@ -30,8 +30,15 @@ interfaceRegister(void) if (netcfIfaceRegister() == 0) return 0; @@ -186,10 +186,10 @@ Index: libvirt-1.2.8/src/interface/interface_driver.c if (udevIfaceRegister() == 0) return 0; #endif /* WITH_UDEV */ -Index: libvirt-1.2.8/m4/virt-netcontrol.m4 +Index: libvirt-1.2.9/m4/virt-netcontrol.m4 =================================================================== --- /dev/null -+++ libvirt-1.2.8/m4/virt-netcontrol.m4 ++++ libvirt-1.2.9/m4/virt-netcontrol.m4 @@ -0,0 +1,35 @@ +dnl The libnetcontrol library +dnl diff --git a/libvirt.changes b/libvirt.changes index f9276d2..a6947fc 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Oct 1 11:53:17 MDT 2014 - jfehlig@suse.com + +- Update to libvirt 1.2.9 + - Introduce virNodeAllocPages + - event: introduce new event for tunable values + - Add support for fetching statistics of completed jobs + - CVE-2014-3657: domain_conf: fix domain deadlock + - CVE-2014-3633: qemu: blkiotune: Use correct definition when + looking up disk + - Many incremental improvements and bug fixes, see + http://libvirt.org/news.html + - Drop upstream patches: 3e745e8f-CVE-2014-3633.patch, + libvirt-guests-wait-for-ntp.patch +- Verify tarball with associated .asc file + Add: libvirt.keyring, libvirt-1.2.9.tar.gz.asc + Use upstream .gz tarball instead of locally generated .bz2 + ------------------------------------------------------------------- Thu Sep 18 22:42:38 MDT 2014 - jfehlig@suse.com diff --git a/libvirt.keyring b/libvirt.keyring new file mode 100644 index 0000000..cf6c345 --- /dev/null +++ b/libvirt.keyring @@ -0,0 +1,78 @@ +user: "Daniel Veillard (Red Hat work email) " +1024-bit DSA key, ID DE95BC1F, created 2000-05-31 + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: SKS 1.1.4 +Comment: Hostname: pgp.mit.edu + +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 +lvOUhgA69SI= +=aP5f +-----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/libvirt.spec b/libvirt.spec index 2f3d570..63322fd 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -235,7 +235,7 @@ Name: libvirt Url: http://libvirt.org/ -Version: 1.2.8 +Version: 1.2.9 Release: 0 Summary: Library providing a simple virtualization API License: LGPL-2.1+ @@ -423,15 +423,18 @@ BuildRequires: systemtap-sdt-devel %if %{with_numad} BuildRequires: numad %endif +%if 0%{?suse_version} > 1220 +BuildRequires: gpg-offline +%endif -Source0: %{name}-%{version}.tar.bz2 -Source1: libvirtd.init -Source2: libvirtd-relocation-server.fw +Source0: %{name}-%{version}.tar.gz +Source1: %{name}-%{version}.tar.gz.asc +Source2: %{name}.keyring +Source3: libvirtd.init +Source4: libvirtd-relocation-server.fw Source99: baselibs.conf # Upstream patches -Patch0: 3e745e8f-CVE-2014-3633.patch # Patches pending upstream review -Patch100: libvirt-guests-wait-for-ntp.patch # Need to go upstream Patch150: xen-name-for-devid.patch Patch151: xen-pv-cdrom.patch @@ -950,9 +953,8 @@ namespaces. %endif %prep +%{?gpg_verify: %gpg_verify %{S:1} } %setup -q -%patch0 -p1 -%patch100 -p1 %patch150 -p1 %patch151 -p1 %patch152 -p1 @@ -1288,7 +1290,7 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/libvirtd %if %{with_systemd} ln -s %{_sbindir}/service $RPM_BUILD_ROOT%{_sbindir}/rclibvirtd %else -install %SOURCE1 $RPM_BUILD_ROOT%{_sysconfdir}/init.d/libvirtd +install %SOURCE3 $RPM_BUILD_ROOT%{_sysconfdir}/init.d/libvirtd ln -s /etc/init.d/libvirtd $RPM_BUILD_ROOT%{_sbindir}/rclibvirtd %endif mv $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/libvirtd $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/sysconfig.libvirtd @@ -1305,7 +1307,7 @@ mv $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/virtlockd $RPM_BUILD_ROOT%{_localstat #install firewall definitions format is described here: #/usr/share/SuSEfirewall2/services/TEMPLATE mkdir -p $RPM_BUILD_ROOT/%{_fwdefdir} -install -m 644 %{S:2} $RPM_BUILD_ROOT/%{_fwdefdir}/libvirtd-relocation-server +install -m 644 %{S:4} $RPM_BUILD_ROOT/%{_fwdefdir}/libvirtd-relocation-server %endif %if %{with_systemd} rm -f $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/libvirt-guests diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index 0d57397..fd9ca07 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.8/daemon/libvirtd.conf +Index: libvirt-1.2.9/daemon/libvirtd.conf =================================================================== ---- libvirt-1.2.8.orig/daemon/libvirtd.conf -+++ libvirt-1.2.8/daemon/libvirtd.conf +--- libvirt-1.2.9.orig/daemon/libvirtd.conf ++++ libvirt-1.2.9/daemon/libvirtd.conf @@ -18,8 +18,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -13,10 +13,10 @@ Index: libvirt-1.2.8/daemon/libvirtd.conf # Listen for unencrypted TCP connections on the public TCP/IP port. # NB, must pass the --listen flag to the libvirtd process for this to -Index: libvirt-1.2.8/daemon/libvirtd-config.c +Index: libvirt-1.2.9/daemon/libvirtd-config.c =================================================================== ---- libvirt-1.2.8.orig/daemon/libvirtd-config.c -+++ libvirt-1.2.8/daemon/libvirtd-config.c +--- libvirt-1.2.9.orig/daemon/libvirtd-config.c ++++ libvirt-1.2.9/daemon/libvirtd-config.c @@ -229,7 +229,7 @@ daemonConfigNew(bool privileged ATTRIBUT if (VIR_ALLOC(data) < 0) return NULL; @@ -26,10 +26,10 @@ Index: libvirt-1.2.8/daemon/libvirtd-config.c data->listen_tcp = 0; if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 || -Index: libvirt-1.2.8/daemon/test_libvirtd.aug.in +Index: libvirt-1.2.9/daemon/test_libvirtd.aug.in =================================================================== ---- libvirt-1.2.8.orig/daemon/test_libvirtd.aug.in -+++ libvirt-1.2.8/daemon/test_libvirtd.aug.in +--- libvirt-1.2.9.orig/daemon/test_libvirtd.aug.in ++++ libvirt-1.2.9/daemon/test_libvirtd.aug.in @@ -2,7 +2,7 @@ module Test_libvirtd = ::CONFIG:: diff --git a/libvirtd-init-script.patch b/libvirtd-init-script.patch index 4d7f41e..e0c6e7e 100644 --- a/libvirtd-init-script.patch +++ b/libvirtd-init-script.patch @@ -1,9 +1,9 @@ Adjust libvirtd sysconfig file to conform to SUSE standards -Index: libvirt-1.2.8/daemon/libvirtd.sysconf +Index: libvirt-1.2.9/daemon/libvirtd.sysconf =================================================================== ---- libvirt-1.2.8.orig/daemon/libvirtd.sysconf -+++ libvirt-1.2.8/daemon/libvirtd.sysconf +--- libvirt-1.2.9.orig/daemon/libvirtd.sysconf ++++ libvirt-1.2.9/daemon/libvirtd.sysconf @@ -1,16 +1,25 @@ +## Path: System/Virtualization/libvirt + diff --git a/ppc64le-canonical-name.patch b/ppc64le-canonical-name.patch index df4e49f..92aff1b 100644 --- a/ppc64le-canonical-name.patch +++ b/ppc64le-canonical-name.patch @@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64 See bnc#894956 -Index: libvirt-1.2.8/src/util/virarch.c +Index: libvirt-1.2.9/src/util/virarch.c =================================================================== ---- libvirt-1.2.8.orig/src/util/virarch.c -+++ libvirt-1.2.8/src/util/virarch.c +--- libvirt-1.2.9.orig/src/util/virarch.c ++++ libvirt-1.2.9/src/util/virarch.c @@ -169,6 +169,8 @@ virArch virArchFromHost(void) arch = VIR_ARCH_I686; } else if (STREQ(ut.machine, "amd64")) { diff --git a/support-managed-pci-xen-driver.patch b/support-managed-pci-xen-driver.patch index 2fd5ae6..2465389 100644 --- a/support-managed-pci-xen-driver.patch +++ b/support-managed-pci-xen-driver.patch @@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 15 deletions(-) -Index: libvirt-1.2.8/src/xenconfig/xen_common.c +Index: libvirt-1.2.9/src/xenconfig/xen_common.c =================================================================== ---- libvirt-1.2.8.orig/src/xenconfig/xen_common.c -+++ libvirt-1.2.8/src/xenconfig/xen_common.c +--- libvirt-1.2.9.orig/src/xenconfig/xen_common.c ++++ libvirt-1.2.9/src/xenconfig/xen_common.c @@ -401,6 +401,8 @@ xenParsePCI(virConfPtr conf, virDomainDe { virConfValuePtr list = virConfGetValue(conf, "pci"); @@ -66,11 +66,11 @@ Index: libvirt-1.2.8/src/xenconfig/xen_common.c hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI; hostdev->source.subsys.u.pci.addr.domain = domainID; hostdev->source.subsys.u.pci.addr.bus = busID; -Index: libvirt-1.2.8/src/xenconfig/xen_sxpr.c +Index: libvirt-1.2.9/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-1.2.8.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-1.2.8/src/xenconfig/xen_sxpr.c -@@ -997,6 +997,7 @@ xenParseSxprPCI(virDomainDefPtr def, +--- libvirt-1.2.9.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-1.2.9/src/xenconfig/xen_sxpr.c +@@ -999,6 +999,7 @@ xenParseSxprPCI(virDomainDefPtr def, int busID; int slotID; int funcID; @@ -78,7 +78,7 @@ Index: libvirt-1.2.8/src/xenconfig/xen_sxpr.c node = cur->u.s.car; if (!sexpr_lookup(node, "dev")) -@@ -1044,11 +1045,13 @@ xenParseSxprPCI(virDomainDefPtr def, +@@ -1046,11 +1047,13 @@ xenParseSxprPCI(virDomainDefPtr def, goto error; } @@ -93,7 +93,7 @@ Index: libvirt-1.2.8/src/xenconfig/xen_sxpr.c dev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI; dev->source.subsys.u.pci.addr.domain = domainID; dev->source.subsys.u.pci.addr.bus = busID; -@@ -1990,11 +1993,15 @@ static void +@@ -1993,11 +1996,15 @@ static void xenFormatSxprPCI(virDomainHostdevDefPtr def, virBufferPtr buf) { @@ -110,7 +110,7 @@ Index: libvirt-1.2.8/src/xenconfig/xen_sxpr.c } -@@ -2013,12 +2020,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP +@@ -2016,12 +2023,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP virBufferPtr buf, int detach) { @@ -123,7 +123,7 @@ Index: libvirt-1.2.8/src/xenconfig/xen_sxpr.c virBufferAddLit(buf, "(pci "); xenFormatSxprPCI(def, buf); if (detach) -@@ -2073,12 +2074,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def, +@@ -2076,12 +2077,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def, for (i = 0; i < def->nhostdevs; i++) { if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && def->hostdevs[i]->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) { diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index cb5ed03..53213d8 100644 --- a/suse-qemu-conf.patch +++ b/suse-qemu-conf.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.8/src/qemu/qemu.conf +Index: libvirt-1.2.9/src/qemu/qemu.conf =================================================================== ---- libvirt-1.2.8.orig/src/qemu/qemu.conf -+++ libvirt-1.2.8/src/qemu/qemu.conf +--- libvirt-1.2.9.orig/src/qemu/qemu.conf ++++ libvirt-1.2.9/src/qemu/qemu.conf @@ -200,7 +200,16 @@ # a special value; security_driver can be set to that value in # isolation, but it cannot appear in a list of drivers. @@ -19,7 +19,7 @@ Index: libvirt-1.2.8/src/qemu/qemu.conf # If set to non-zero, then the default security labeling # will make guests confined. If set to zero, then guests -@@ -409,11 +418,22 @@ +@@ -417,11 +426,22 @@ #allow_disk_format_probing = 1 diff --git a/systemd-service-xen.patch b/systemd-service-xen.patch index 33aaa21..e2c6f50 100644 --- a/systemd-service-xen.patch +++ b/systemd-service-xen.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.8/daemon/libvirtd.service.in +Index: libvirt-1.2.9/daemon/libvirtd.service.in =================================================================== ---- libvirt-1.2.8.orig/daemon/libvirtd.service.in -+++ libvirt-1.2.8/daemon/libvirtd.service.in +--- libvirt-1.2.9.orig/daemon/libvirtd.service.in ++++ libvirt-1.2.9/daemon/libvirtd.service.in @@ -5,6 +5,8 @@ After=network.target After=dbus.service After=iscsid.service diff --git a/virtlockd-init-script.patch b/virtlockd-init-script.patch index 886a510..5cbaa8a 100644 --- a/virtlockd-init-script.patch +++ b/virtlockd-init-script.patch @@ -1,9 +1,9 @@ Adjust virtlockd init files to conform to SUSE standards -Index: libvirt-1.2.8/src/locking/virtlockd.sysconf +Index: libvirt-1.2.9/src/locking/virtlockd.sysconf =================================================================== ---- libvirt-1.2.8.orig/src/locking/virtlockd.sysconf -+++ libvirt-1.2.8/src/locking/virtlockd.sysconf +--- libvirt-1.2.9.orig/src/locking/virtlockd.sysconf ++++ libvirt-1.2.9/src/locking/virtlockd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlockd + @@ -12,10 +12,10 @@ Index: libvirt-1.2.8/src/locking/virtlockd.sysconf # # Pass extra arguments to virtlockd #VIRTLOCKD_ARGS= -Index: libvirt-1.2.8/src/locking/virtlockd.init.in +Index: libvirt-1.2.9/src/locking/virtlockd.init.in =================================================================== ---- libvirt-1.2.8.orig/src/locking/virtlockd.init.in -+++ libvirt-1.2.8/src/locking/virtlockd.init.in +--- libvirt-1.2.9.orig/src/locking/virtlockd.init.in ++++ libvirt-1.2.9/src/locking/virtlockd.init.in @@ -4,12 +4,14 @@ # http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-generic.html#INITSCRCOMCONV # diff --git a/xen-name-for-devid.patch b/xen-name-for-devid.patch index ef2b2ea..0089e14 100644 --- a/xen-name-for-devid.patch +++ b/xen-name-for-devid.patch @@ -14,10 +14,10 @@ is inactive. We obviously can't search xenstore when the domain is inactive. -Index: libvirt-1.2.8/src/xen/xend_internal.c +Index: libvirt-1.2.9/src/xen/xend_internal.c =================================================================== ---- libvirt-1.2.8.orig/src/xen/xend_internal.c -+++ libvirt-1.2.8/src/xen/xend_internal.c +--- libvirt-1.2.9.orig/src/xen/xend_internal.c ++++ libvirt-1.2.9/src/xen/xend_internal.c @@ -72,7 +72,7 @@ VIR_LOG_INIT("xen.xend_internal"); #define XEND_RCV_BUF_MAX_LEN (256 * 1024) @@ -27,7 +27,7 @@ Index: libvirt-1.2.8/src/xen/xend_internal.c virDomainDeviceDefPtr dev, char *class, char *ref, int ref_len); -@@ -3328,37 +3328,35 @@ xenDaemonDomainBlockPeek(virConnectPtr c +@@ -3325,37 +3325,35 @@ xenDaemonDomainBlockPeek(virConnectPtr c * Returns 0 in case of success, -1 in case of failure. */ static int @@ -80,7 +80,7 @@ Index: libvirt-1.2.8/src/xen/xend_internal.c } else if (dev->type == VIR_DOMAIN_DEVICE_NET) { char mac[VIR_MAC_STRING_BUFLEN]; virDomainNetDefPtr netdef = dev->data.net; -@@ -3366,16 +3364,22 @@ virDomainXMLDevID(virConnectPtr conn, +@@ -3363,16 +3361,22 @@ virDomainXMLDevID(virConnectPtr conn, strcpy(class, "vif"); @@ -113,7 +113,7 @@ Index: libvirt-1.2.8/src/xen/xend_internal.c } else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV && dev->data.hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && dev->data.hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) { -@@ -3391,17 +3395,44 @@ virDomainXMLDevID(virConnectPtr conn, +@@ -3388,17 +3392,44 @@ virDomainXMLDevID(virConnectPtr conn, strcpy(class, "pci"); diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index 0fc0cf9..b73dfa0 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,8 +1,8 @@ -Index: libvirt-1.2.8/src/xenconfig/xen_sxpr.c +Index: libvirt-1.2.9/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-1.2.8.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-1.2.8/src/xenconfig/xen_sxpr.c -@@ -332,7 +332,7 @@ xenParseSxprChar(const char *value, +--- libvirt-1.2.9.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-1.2.9/src/xenconfig/xen_sxpr.c +@@ -334,7 +334,7 @@ xenParseSxprChar(const char *value, static int xenParseSxprDisks(virDomainDefPtr def, const struct sexpr *root, @@ -11,7 +11,7 @@ Index: libvirt-1.2.8/src/xenconfig/xen_sxpr.c int xendConfigVersion) { const struct sexpr *cur, *node; -@@ -383,7 +383,6 @@ xenParseSxprDisks(virDomainDefPtr def, +@@ -385,7 +385,6 @@ xenParseSxprDisks(virDomainDefPtr def, /* There is a case without the uname to the CD-ROM device */ offset = strchr(dst, ':'); if (!offset ||