From 278a149fdcd28435360360928214532f01797618fff44c0b502f12dffea041a5 Mon Sep 17 00:00:00 2001 From: James Fehlig Date: Wed, 1 Oct 2014 22:29:37 +0000 Subject: [PATCH 1/2] Accepting request 253577 from home:jfehlig:branches:Virtualization Note: tarball verification is now done using %gpg_verify, along with the .asc file the upstream libvirt maintainer now generates for each release. This approach requires using the upstream .gz tarball, which is slightly larger than the regenerated .bz2 one. - 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 OBS-URL: https://build.opensuse.org/request/show/253577 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=411 --- 3e745e8f-CVE-2014-3633.patch | 41 ------- apparmor-no-mount.patch | 6 +- blockcopy-check-dst-identical-device.patch | 20 ++-- disable-virCgroupGetPercpuStats-test.patch | 6 +- fix-pci-attach-xen-driver.patch | 6 +- install-apparmor-profiles.patch | 22 ++-- libvirt-1.2.8.tar.bz2 | 3 - libvirt-1.2.9.tar.gz | 3 + libvirt-1.2.9.tar.gz.asc | 7 ++ libvirt-guests-init-script.patch | 18 +-- libvirt-guests-wait-for-ntp.patch | 30 ----- libvirt-power8-models.patch | 6 +- libvirt-ppc64le-support.patch | 122 +++++++++++---------- libvirt-suse-netcontrol.patch | 44 ++++---- libvirt.changes | 18 +++ libvirt.keyring | 78 +++++++++++++ libvirt.spec | 22 ++-- libvirtd-defaults.patch | 18 +-- libvirtd-init-script.patch | 6 +- ppc64le-canonical-name.patch | 6 +- support-managed-pci-xen-driver.patch | 22 ++-- suse-qemu-conf.patch | 8 +- systemd-service-xen.patch | 6 +- virtlockd-init-script.patch | 12 +- xen-name-for-devid.patch | 12 +- xen-pv-cdrom.patch | 10 +- 26 files changed, 298 insertions(+), 254 deletions(-) delete mode 100644 3e745e8f-CVE-2014-3633.patch delete mode 100644 libvirt-1.2.8.tar.bz2 create mode 100644 libvirt-1.2.9.tar.gz create mode 100644 libvirt-1.2.9.tar.gz.asc delete mode 100644 libvirt-guests-wait-for-ntp.patch create mode 100644 libvirt.keyring 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 || From 932db09f51f2b2f99a1e050bc750fee8f92212715af482ec357eaaceb1af6025 Mon Sep 17 00:00:00 2001 From: James Fehlig Date: Thu, 2 Oct 2014 21:32:06 +0000 Subject: [PATCH 2/2] - spec: Remove gpg-offline build dependency and use of gpg_verify to verify tarball since this task can be performed by source services OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=412 --- libvirt.changes | 7 +++++++ libvirt.spec | 4 ---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libvirt.changes b/libvirt.changes index a6947fc..8ae64ea 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Oct 2 15:28:40 MDT 2014 - jfehlig@suse.com + +- spec: Remove gpg-offline build dependency and use of gpg_verify + to verify tarball since this task can be performed by source + services + ------------------------------------------------------------------- Wed Oct 1 11:53:17 MDT 2014 - jfehlig@suse.com diff --git a/libvirt.spec b/libvirt.spec index 63322fd..df04935 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -423,9 +423,6 @@ BuildRequires: systemtap-sdt-devel %if %{with_numad} BuildRequires: numad %endif -%if 0%{?suse_version} > 1220 -BuildRequires: gpg-offline -%endif Source0: %{name}-%{version}.tar.gz Source1: %{name}-%{version}.tar.gz.asc @@ -953,7 +950,6 @@ namespaces. %endif %prep -%{?gpg_verify: %gpg_verify %{S:1} } %setup -q %patch150 -p1 %patch151 -p1