diff --git a/0001-Extract-stats-functions-from-the-qemu-driver.patch b/0001-Extract-stats-functions-from-the-qemu-driver.patch index a28846c..75ebf83 100644 --- a/0001-Extract-stats-functions-from-the-qemu-driver.patch +++ b/0001-Extract-stats-functions-from-the-qemu-driver.patch @@ -18,10 +18,10 @@ them. create mode 100644 src/conf/domain_stats.c create mode 100644 src/conf/domain_stats.h -Index: libvirt-4.4.0/src/conf/domain_stats.c +Index: libvirt-4.5.0/src/conf/domain_stats.c =================================================================== --- /dev/null -+++ libvirt-4.4.0/src/conf/domain_stats.c ++++ libvirt-4.5.0/src/conf/domain_stats.c @@ -0,0 +1,139 @@ +/* + * domain_stats.c: domain stats extraction helpers @@ -162,10 +162,10 @@ Index: libvirt-4.4.0/src/conf/domain_stats.c +} + +#undef STATS_ADD_NET_PARAM -Index: libvirt-4.4.0/src/conf/domain_stats.h +Index: libvirt-4.5.0/src/conf/domain_stats.h =================================================================== --- /dev/null -+++ libvirt-4.4.0/src/conf/domain_stats.h ++++ libvirt-4.5.0/src/conf/domain_stats.h @@ -0,0 +1,64 @@ +/* + * domain_stats.h: domain stats extraction helpers @@ -231,11 +231,11 @@ Index: libvirt-4.4.0/src/conf/domain_stats.h + int *maxparams); + +#endif /* __DOMAIN_STATS_H */ -Index: libvirt-4.4.0/src/libvirt_private.syms +Index: libvirt-4.5.0/src/libvirt_private.syms =================================================================== ---- libvirt-4.4.0.orig/src/libvirt_private.syms -+++ libvirt-4.4.0/src/libvirt_private.syms -@@ -652,6 +652,9 @@ virDomainConfNWFilterRegister; +--- libvirt-4.5.0.orig/src/libvirt_private.syms ++++ libvirt-4.5.0/src/libvirt_private.syms +@@ -654,6 +654,9 @@ virDomainConfNWFilterInstantiate; virDomainConfNWFilterTeardown; virDomainConfVMNWFilterTeardown; @@ -245,7 +245,7 @@ Index: libvirt-4.4.0/src/libvirt_private.syms # conf/interface_conf.h virInterfaceDefFormat; -@@ -1511,6 +1514,7 @@ virCgroupGetMemoryUsage; +@@ -1543,6 +1546,7 @@ virCgroupGetMemoryUsage; virCgroupGetMemSwapHardLimit; virCgroupGetMemSwapUsage; virCgroupGetPercpuStats; @@ -253,10 +253,10 @@ Index: libvirt-4.4.0/src/libvirt_private.syms virCgroupHasController; virCgroupHasEmptyTasks; virCgroupKill; -Index: libvirt-4.4.0/src/qemu/qemu_driver.c +Index: libvirt-4.5.0/src/qemu/qemu_driver.c =================================================================== ---- libvirt-4.4.0.orig/src/qemu/qemu_driver.c -+++ libvirt-4.4.0/src/qemu/qemu_driver.c +--- libvirt-4.5.0.orig/src/qemu/qemu_driver.c ++++ libvirt-4.5.0/src/qemu/qemu_driver.c @@ -74,6 +74,7 @@ #include "virarptable.h" #include "viruuid.h" @@ -265,7 +265,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c #include "domain_audit.h" #include "node_device_conf.h" #include "virpci.h" -@@ -19607,21 +19608,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr +@@ -19670,21 +19671,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr int *maxparams, unsigned int privflags ATTRIBUTE_UNUSED) { @@ -288,7 +288,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c } -@@ -19644,37 +19631,7 @@ qemuDomainGetStatsCpu(virQEMUDriverPtr d +@@ -19707,37 +19694,7 @@ qemuDomainGetStatsCpu(virQEMUDriverPtr d unsigned int privflags ATTRIBUTE_UNUSED) { qemuDomainObjPrivatePtr priv = dom->privateData; @@ -327,7 +327,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c } static int -@@ -19853,44 +19810,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr +@@ -19916,44 +19873,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr return ret; } @@ -372,7 +372,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c static int qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, virDomainObjPtr dom, -@@ -19898,68 +19817,9 @@ qemuDomainGetStatsInterface(virQEMUDrive +@@ -19961,68 +19880,9 @@ qemuDomainGetStatsInterface(virQEMUDrive int *maxparams, unsigned int privflags ATTRIBUTE_UNUSED) { @@ -442,7 +442,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c #define QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, num, name, value) \ do { \ char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \ -@@ -20081,10 +19941,10 @@ qemuDomainGetStatsOneBlock(virQEMUDriver +@@ -20144,10 +20004,10 @@ qemuDomainGetStatsOneBlock(virQEMUDriver if (disk->info.alias) alias = qemuDomainStorageAlias(disk->info.alias, backing_idx); @@ -455,7 +455,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c block_idx, src->path); if (backing_idx) QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, block_idx, "backingIndex", -@@ -20200,7 +20060,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr +@@ -20263,7 +20123,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr * after the iteration than it is to iterate twice; but we still * want count listed first. */ count_index = record->nparams; @@ -464,7 +464,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c for (i = 0; i < dom->def->ndisks; i++) { virDomainDiskDefPtr disk = dom->def->disks[i]; -@@ -20234,10 +20094,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr +@@ -20297,10 +20157,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr #undef QEMU_ADD_BLOCK_PARAM_ULL @@ -475,10 +475,10 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c static int qemuDomainGetStatsPerfOneEvent(virPerfPtr perf, virPerfEventType type, -Index: libvirt-4.4.0/src/util/vircgroup.c +Index: libvirt-4.5.0/src/util/vircgroup.c =================================================================== ---- libvirt-4.4.0.orig/src/util/vircgroup.c -+++ libvirt-4.4.0/src/util/vircgroup.c +--- libvirt-4.5.0.orig/src/util/vircgroup.c ++++ libvirt-4.5.0/src/util/vircgroup.c @@ -4122,6 +4122,44 @@ virCgroupControllerAvailable(int control return ret; } @@ -539,10 +539,10 @@ Index: libvirt-4.4.0/src/util/vircgroup.c #endif /* !VIR_CGROUP_SUPPORTED */ -Index: libvirt-4.4.0/src/util/vircgroup.h +Index: libvirt-4.5.0/src/util/vircgroup.h =================================================================== ---- libvirt-4.4.0.orig/src/util/vircgroup.h -+++ libvirt-4.4.0/src/util/vircgroup.h +--- libvirt-4.5.0.orig/src/util/vircgroup.h ++++ libvirt-4.5.0/src/util/vircgroup.h @@ -297,4 +297,8 @@ int virCgroupSetOwner(virCgroupPtr cgrou int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller); @@ -552,10 +552,10 @@ Index: libvirt-4.4.0/src/util/vircgroup.h + virDomainStatsRecordPtr record, + int *maxparams); #endif /* __VIR_CGROUP_H__ */ -Index: libvirt-4.4.0/src/conf/Makefile.inc.am +Index: libvirt-4.5.0/src/conf/Makefile.inc.am =================================================================== ---- libvirt-4.4.0.orig/src/conf/Makefile.inc.am -+++ libvirt-4.4.0/src/conf/Makefile.inc.am +--- libvirt-4.5.0.orig/src/conf/Makefile.inc.am ++++ libvirt-4.5.0/src/conf/Makefile.inc.am @@ -20,6 +20,8 @@ DOMAIN_CONF_SOURCES = \ conf/domain_audit.h \ conf/domain_nwfilter.c \ diff --git a/0001-libxl-add-support-for-BlockResize-API.patch b/0001-libxl-add-support-for-BlockResize-API.patch new file mode 100644 index 0000000..eb3afc3 --- /dev/null +++ b/0001-libxl-add-support-for-BlockResize-API.patch @@ -0,0 +1,131 @@ +From 661298572a5499ccfafcd36d30d66d091a5be9b6 Mon Sep 17 00:00:00 2001 +From: Jim Fehlig +Date: Fri, 23 Mar 2018 17:41:51 -0600 +Subject: [PATCH] libxl: add support for BlockResize API + +Add support in the libxl driver for the BlockResize API. Use libxl's +libxl_qemu_monitor_command API to issue the block_resize command to qemu. + +Signed-off-by: Jim Fehlig + +Note: In its current form, this patch is not upstream material IMO. It uses +the unsupported libxl_qemu_monitor_command() API. Before it can be considered +upstream, we need an upstream solution in qemu and Xen. Bruce will work on +the qemu part. Once done we can consider how to do the Xen part. And only +after we have a supported blockresize API in Xen (libxl) can we consider +reworking this patch and submitting it to upstream libvirt. + +--- + src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 91 insertions(+) + +Index: libvirt-4.5.0/src/libxl/libxl_driver.c +=================================================================== +--- libvirt-4.5.0.orig/src/libxl/libxl_driver.c ++++ libvirt-4.5.0/src/libxl/libxl_driver.c +@@ -5119,6 +5119,97 @@ libxlDomainMemoryStats(virDomainPtr dom, + + #undef LIBXL_SET_MEMSTAT + ++/** ++ * Resize a block device while a guest is running. Resize to a lower size ++ * is supported, but should be used with extreme caution. Note that it ++ * only supports to resize image files, it can't resize block devices ++ * like LVM volumes. ++ */ ++static int ++libxlDomainBlockResize(virDomainPtr dom, ++ const char *path, ++ unsigned long long size, ++ unsigned int flags) ++{ ++ libxlDriverPrivatePtr driver = dom->conn->privateData; ++ libxlDriverConfigPtr cfg; ++ virDomainObjPtr vm; ++ int ret = -1; ++ virDomainDiskDefPtr disk = NULL; ++ char *moncmd = NULL; ++ char *monreply = NULL; ++ ++ virCheckFlags(VIR_DOMAIN_BLOCK_RESIZE_BYTES, -1); ++ ++ if (path[0] == '\0') { ++ virReportError(VIR_ERR_INVALID_ARG, ++ "%s", _("empty path")); ++ return -1; ++ } ++ ++ /* We prefer operating on bytes. */ ++ if ((flags & VIR_DOMAIN_BLOCK_RESIZE_BYTES) == 0) { ++ if (size > ULLONG_MAX / 1024) { ++ virReportError(VIR_ERR_OVERFLOW, ++ _("size must be less than %llu"), ++ ULLONG_MAX / 1024); ++ return -1; ++ } ++ size *= 1024; ++ } ++ ++ cfg = libxlDriverConfigGet(driver); ++ if (!(vm = libxlDomObjFromDomain(dom))) ++ goto cleanup; ++ ++ if (virDomainBlockResizeEnsureACL(dom->conn, vm->def) < 0) ++ goto cleanup; ++ ++ if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0) ++ goto cleanup; ++ ++ if (!virDomainObjIsActive(vm)) { ++ virReportError(VIR_ERR_OPERATION_INVALID, ++ "%s", _("domain is not running")); ++ goto endjob; ++ } ++ ++ if (!(disk = virDomainDiskByName(vm->def, path, false))) { ++ virReportError(VIR_ERR_INVALID_ARG, ++ _("invalid path: %s"), path); ++ goto endjob; ++ } ++ ++ /* qcow2 and qed must be sized on 512 byte blocks/sectors, ++ * so adjust size if necessary to round up. ++ */ ++ if (disk->src->format == VIR_STORAGE_FILE_QCOW2 || ++ disk->src->format == VIR_STORAGE_FILE_QED) ++ size = VIR_ROUND_UP(size, 512); ++ ++ if (virAsprintf(&moncmd, "block_resize %s %lluB", disk->dst, size) < 0) ++ goto endjob; ++ ++ if (libxl_qemu_monitor_command(cfg->ctx, vm->def->id, moncmd, &monreply) != 0) { ++ virReportError(VIR_ERR_OPERATION_FAILED, ++ _("block_resize command failed for device '%s' on domain '%d'"), ++ disk->dst, vm->def->id); ++ goto endjob; ++ } ++ ++ ret = 0; ++ ++ endjob: ++ libxlDomainObjEndJob(driver, vm); ++ ++ cleanup: ++ VIR_FREE(moncmd); ++ VIR_FREE(monreply); ++ virDomainObjEndAPI(&vm); ++ virObjectUnref(cfg); ++ return ret; ++} ++ + static int + libxlDomainGetJobInfo(virDomainPtr dom, + virDomainJobInfoPtr info) +@@ -6504,6 +6595,7 @@ static virHypervisorDriver libxlHypervis + #endif + .nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */ + .nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */ ++ .domainBlockResize = libxlDomainBlockResize, /* 4.2.0 */ + .domainGetJobInfo = libxlDomainGetJobInfo, /* 1.3.1 */ + .domainGetJobStats = libxlDomainGetJobStats, /* 1.3.1 */ + .domainMemoryStats = libxlDomainMemoryStats, /* 1.3.0 */ diff --git a/0002-lxc-implement-connectGetAllDomainStats.patch b/0002-lxc-implement-connectGetAllDomainStats.patch index a24c73e..4895f9d 100644 --- a/0002-lxc-implement-connectGetAllDomainStats.patch +++ b/0002-lxc-implement-connectGetAllDomainStats.patch @@ -9,11 +9,11 @@ them using the existing API. src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) -Index: libvirt-4.4.0/src/lxc/lxc_driver.c +Index: libvirt-4.5.0/src/lxc/lxc_driver.c =================================================================== ---- libvirt-4.4.0.orig/src/lxc/lxc_driver.c -+++ libvirt-4.4.0/src/lxc/lxc_driver.c -@@ -80,6 +80,7 @@ +--- libvirt-4.5.0.orig/src/lxc/lxc_driver.c ++++ libvirt-4.5.0/src/lxc/lxc_driver.c +@@ -79,6 +79,7 @@ #include "viraccessapichecklxc.h" #include "virhostdev.h" #include "netdev_bandwidth_conf.h" @@ -21,7 +21,7 @@ Index: libvirt-4.4.0/src/lxc/lxc_driver.c #define VIR_FROM_THIS VIR_FROM_LXC -@@ -5474,6 +5475,142 @@ lxcDomainHasManagedSaveImage(virDomainPt +@@ -5444,6 +5445,142 @@ lxcDomainHasManagedSaveImage(virDomainPt return ret; } @@ -164,7 +164,7 @@ Index: libvirt-4.4.0/src/lxc/lxc_driver.c /* Function Tables */ static virHypervisorDriver lxcHypervisorDriver = { -@@ -5569,6 +5706,7 @@ static virHypervisorDriver lxcHypervisor +@@ -5539,6 +5676,7 @@ static virHypervisorDriver lxcHypervisor .nodeGetFreePages = lxcNodeGetFreePages, /* 1.2.6 */ .nodeAllocPages = lxcNodeAllocPages, /* 1.2.9 */ .domainHasManagedSaveImage = lxcDomainHasManagedSaveImage, /* 1.2.13 */ diff --git a/67c56f6e-libxl-logfd-leak-fix.patch b/67c56f6e-libxl-logfd-leak-fix.patch deleted file mode 100644 index 3e11805..0000000 --- a/67c56f6e-libxl-logfd-leak-fix.patch +++ /dev/null @@ -1,42 +0,0 @@ -commit 67c56f6e65b9cd2681ef1bc61d8b51cbc543fa42 -Author: Jim Fehlig -Date: Thu May 31 15:41:37 2018 -0600 - - libxl: fix leaking logfile fds - - Per-domain log files were introduced in commit a30b08b7179. The FILE - objects associated with these log files are stored in a hash table - using domid as a key. When a domain is shutdown, destroyed, or - otherwise powered-off, the FILE object is removed from the hash table, - where the free function will close the FILE. - - Unfortunately the call to remove the FILE from the hash table occurs - after setting domid=-1 in the libxlDomainCleanup() function. The - object is never removed from the hash table, the free function is - never called, and the underlying fd is leaked. Fix by removing the - FILE object from the hash table before setting domid=-1. - - Signed-off-by: Jim Fehlig - Reviewed-by: Ján Tomko - -diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c -index d4859d6707..d12b1b1b4b 100644 ---- a/src/libxl/libxl_domain.c -+++ b/src/libxl/libxl_domain.c -@@ -769,6 +769,7 @@ libxlDomainCleanup(libxlDriverPrivatePtr driver, - VIR_WARN("Unable to release lease on %s", vm->def->name); - VIR_DEBUG("Preserving lock state '%s'", NULLSTR(priv->lockState)); - -+ libxlLoggerCloseFile(cfg->logger, vm->def->id); - vm->def->id = -1; - - if (priv->deathW) { -@@ -822,8 +823,6 @@ libxlDomainCleanup(libxlDriverPrivatePtr driver, - VIR_FREE(xml); - } - -- libxlLoggerCloseFile(cfg->logger, vm->def->id); -- - virDomainObjRemoveTransientDef(vm); - virObjectUnref(cfg); - } diff --git a/apparmor-no-mount.patch b/apparmor-no-mount.patch index 51bf394..983247e 100644 --- a/apparmor-no-mount.patch +++ b/apparmor-no-mount.patch @@ -1,7 +1,7 @@ -Index: libvirt-4.4.0/examples/apparmor/libvirt-lxc +Index: libvirt-4.5.0/examples/apparmor/libvirt-lxc =================================================================== ---- libvirt-4.4.0.orig/examples/apparmor/libvirt-lxc -+++ libvirt-4.4.0/examples/apparmor/libvirt-lxc +--- libvirt-4.5.0.orig/examples/apparmor/libvirt-lxc ++++ libvirt-4.5.0/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 6c77948..797dd17 100644 --- a/blockcopy-check-dst-identical-device.patch +++ b/blockcopy-check-dst-identical-device.patch @@ -11,11 +11,11 @@ Signed-off-by: Chunyan Liu src/qemu/qemu_driver.c | 7 +++++++ 1 file changed, 7 insertions(+) -Index: libvirt-4.4.0/src/qemu/qemu_driver.c +Index: libvirt-4.5.0/src/qemu/qemu_driver.c =================================================================== ---- libvirt-4.4.0.orig/src/qemu/qemu_driver.c -+++ libvirt-4.4.0/src/qemu/qemu_driver.c -@@ -17498,6 +17498,14 @@ qemuDomainBlockCopyCommon(virDomainObjPt +--- libvirt-4.5.0.orig/src/qemu/qemu_driver.c ++++ libvirt-4.5.0/src/qemu/qemu_driver.c +@@ -17559,6 +17559,14 @@ qemuDomainBlockCopyCommon(virDomainObjPt goto endjob; } diff --git a/libvirt-4.4.0.tar.xz b/libvirt-4.4.0.tar.xz deleted file mode 100644 index 9a8c2ca..0000000 --- a/libvirt-4.4.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:46631d63cb61af8042593a93fa046dddfff204d29858f20df77a125bd6f84ab6 -size 14668912 diff --git a/libvirt-4.4.0.tar.xz.asc b/libvirt-4.4.0.tar.xz.asc deleted file mode 100644 index fe5cf85..0000000 --- a/libvirt-4.4.0.tar.xz.asc +++ /dev/null @@ -1,10 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQEcBAABAgAGBQJbFZ/HAAoJEBVYiyZZa+pdSRIIALhg1w9rRjJxZXLVyexGVl69 -ASEPuAtOLPGheicV4cNjAj/j1nyz0k2ldD47aXmVcX3r1B9u/uxVOl31J3Y+u2HH -zNgrU+/WGX9ZUp3mzSBJtTIa3ZaHdElY7yI7ONiw7yJ7F0+u0gzIeHnTZ17DXuiL -CRvNW0fTUExzEcas1tNmNNHiifcZdfG/v+LKduDyEu3uyAzIfTV8UbKWOe0vMOqJ -oXttqZPSJf9x5XBNhnYGUc+2WM08wDhlxrtL1VNyhKrPZCaciiPDl9BvTbSSq8zZ -7+vs1YnxKIkiAItxQuWH8ujaS5siBNJ2AwFeSWefSESI325Cq3bjO1H8Np+/xIc= -=MBxi ------END PGP SIGNATURE----- diff --git a/libvirt-4.5.0.tar.xz b/libvirt-4.5.0.tar.xz new file mode 100644 index 0000000..c6f4919 --- /dev/null +++ b/libvirt-4.5.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7e95edc0ca553046761ed55a8d01a06a3a3a4238bbeaedb3ba34680a277ab09 +size 14743956 diff --git a/libvirt-4.5.0.tar.xz.asc b/libvirt-4.5.0.tar.xz.asc new file mode 100644 index 0000000..4ee6acd --- /dev/null +++ b/libvirt-4.5.0.tar.xz.asc @@ -0,0 +1,10 @@ +-----BEGIN PGP SIGNATURE----- + +iQEcBAABAgAGBQJbOofKAAoJEBVYiyZZa+pdmh8IAI3FmofnsjIeMZ7I53BgUz56 +BVYmffWOTlEVv2gBilhTxZkCbUyc7kCA8eHdgdGHpDR/ED1r/8QixSXUzpG7pCys +nqw4BHsOPqjO7+gL37h6bMjNhqjuqSsxthcH4xpiXiGBmCFU8/6kCeIiua5LF5zp +sMq/YKOqxziV8+3hCweb95NtR8Q/zge35IDpXaPHMnbSoAFUDEJEGaI80G/PJxjn +Ocmv1PP7gZhf0blcTFbEk4ee5u19cTh2wf22Q19TzcbT6ZPLRxz2dNNNUUGKlJQu +o1P/mU5D9PgoAlcXyl0OrapyDK+f5qKaK4SZLRuEsS+on6nsjPssgdlVo5M9xYA= +=cVCB +-----END PGP SIGNATURE----- diff --git a/libvirt-power8-models.patch b/libvirt-power8-models.patch index 0fc6443..21c9b09 100644 --- a/libvirt-power8-models.patch +++ b/libvirt-power8-models.patch @@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML From: -Index: libvirt-4.4.0/src/cpu/cpu_map.xml +Index: libvirt-4.5.0/src/cpu/cpu_map.xml =================================================================== ---- libvirt-4.4.0.orig/src/cpu/cpu_map.xml -+++ libvirt-4.4.0/src/cpu/cpu_map.xml +--- libvirt-4.5.0.orig/src/cpu/cpu_map.xml ++++ libvirt-4.5.0/src/cpu/cpu_map.xml @@ -2355,6 +2355,8 @@ diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index 00b7f1a..d18b8ac 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -1,8 +1,8 @@ -Index: libvirt-4.4.0/configure.ac +Index: libvirt-4.5.0/configure.ac =================================================================== ---- libvirt-4.4.0.orig/configure.ac -+++ libvirt-4.4.0/configure.ac -@@ -257,6 +257,7 @@ LIBVIRT_ARG_LIBSSH +--- libvirt-4.5.0.orig/configure.ac ++++ libvirt-4.5.0/configure.ac +@@ -255,6 +255,7 @@ LIBVIRT_ARG_LIBSSH LIBVIRT_ARG_LIBXML LIBVIRT_ARG_MACVTAP LIBVIRT_ARG_NETCF @@ -10,7 +10,7 @@ Index: libvirt-4.4.0/configure.ac LIBVIRT_ARG_NLS LIBVIRT_ARG_NSS LIBVIRT_ARG_NUMACTL -@@ -299,6 +300,7 @@ LIBVIRT_CHECK_LIBSSH +@@ -297,6 +298,7 @@ LIBVIRT_CHECK_LIBSSH LIBVIRT_CHECK_LIBXML LIBVIRT_CHECK_MACVTAP LIBVIRT_CHECK_NETCF @@ -18,7 +18,7 @@ Index: libvirt-4.4.0/configure.ac LIBVIRT_CHECK_NLS LIBVIRT_CHECK_NUMACTL LIBVIRT_CHECK_NWFILTER -@@ -972,6 +974,7 @@ LIBVIRT_RESULT_LIBXL +@@ -970,6 +972,7 @@ LIBVIRT_RESULT_LIBXL LIBVIRT_RESULT_LIBXML LIBVIRT_RESULT_MACVTAP LIBVIRT_RESULT_NETCF @@ -26,10 +26,10 @@ Index: libvirt-4.4.0/configure.ac LIBVIRT_RESULT_NLS LIBVIRT_RESULT_NSS LIBVIRT_RESULT_NUMACTL -Index: libvirt-4.4.0/tools/virsh.c +Index: libvirt-4.5.0/tools/virsh.c =================================================================== ---- libvirt-4.4.0.orig/tools/virsh.c -+++ libvirt-4.4.0/tools/virsh.c +--- libvirt-4.5.0.orig/tools/virsh.c ++++ libvirt-4.5.0/tools/virsh.c @@ -575,6 +575,8 @@ virshShowVersion(vshControl *ctl ATTRIBU vshPrint(ctl, " Interface"); # if defined(WITH_NETCF) @@ -39,10 +39,10 @@ Index: libvirt-4.4.0/tools/virsh.c # elif defined(WITH_UDEV) vshPrint(ctl, " udev"); # endif -Index: libvirt-4.4.0/src/interface/interface_backend_netcf.c +Index: libvirt-4.5.0/src/interface/interface_backend_netcf.c =================================================================== ---- libvirt-4.4.0.orig/src/interface/interface_backend_netcf.c -+++ libvirt-4.4.0/src/interface/interface_backend_netcf.c +--- libvirt-4.5.0.orig/src/interface/interface_backend_netcf.c ++++ libvirt-4.5.0/src/interface/interface_backend_netcf.c @@ -23,7 +23,12 @@ #include @@ -126,10 +126,10 @@ Index: libvirt-4.4.0/src/interface/interface_backend_netcf.c if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0) return -1; if (virSetSharedInterfaceDriver(&interfaceDriver) < 0) -Index: libvirt-4.4.0/src/interface/interface_driver.c +Index: libvirt-4.5.0/src/interface/interface_driver.c =================================================================== ---- libvirt-4.4.0.orig/src/interface/interface_driver.c -+++ libvirt-4.4.0/src/interface/interface_driver.c +--- libvirt-4.5.0.orig/src/interface/interface_driver.c ++++ libvirt-4.5.0/src/interface/interface_driver.c @@ -30,8 +30,15 @@ interfaceRegister(void) if (netcfIfaceRegister() == 0) return 0; @@ -147,10 +147,10 @@ Index: libvirt-4.4.0/src/interface/interface_driver.c if (udevIfaceRegister() == 0) return 0; #endif /* WITH_UDEV */ -Index: libvirt-4.4.0/m4/virt-netcontrol.m4 +Index: libvirt-4.5.0/m4/virt-netcontrol.m4 =================================================================== --- /dev/null -+++ libvirt-4.4.0/m4/virt-netcontrol.m4 ++++ libvirt-4.5.0/m4/virt-netcontrol.m4 @@ -0,0 +1,39 @@ +dnl The libnetcontrol library +dnl @@ -191,10 +191,10 @@ Index: libvirt-4.4.0/m4/virt-netcontrol.m4 +AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[ + LIBVIRT_RESULT_LIB([NETCONTROL]) +]) -Index: libvirt-4.4.0/src/interface/Makefile.inc.am +Index: libvirt-4.5.0/src/interface/Makefile.inc.am =================================================================== ---- libvirt-4.4.0.orig/src/interface/Makefile.inc.am -+++ libvirt-4.4.0/src/interface/Makefile.inc.am +--- libvirt-4.5.0.orig/src/interface/Makefile.inc.am ++++ libvirt-4.5.0/src/interface/Makefile.inc.am @@ -4,6 +4,7 @@ INTERFACE_DRIVER_SOURCES = \ $(NULL) diff --git a/libvirt.changes b/libvirt.changes index 726b450..756aa52 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Jul 5 16:25:57 UTC 2018 - jfehlig@suse.com + +- Update to libvirt 4.5.0 + - Many incremental improvements and bug fixes, see + http://libvirt.org/news.html + - Dropped patches: + 67c56f6e-libxl-logfd-leak-fix.patch +- spec: use more macros in file paths +- libxl: Implement virDomainBlockResize + 0001-libxl-add-support-for-BlockResize-API.patch + FATE#325467, bsc#1094325, bsc#1094725 + ------------------------------------------------------------------- Wed Jul 4 15:27:05 UTC 2018 - jfehlig@suse.com diff --git a/libvirt.spec b/libvirt.spec index 8f65c39..d874d0c 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -184,7 +184,7 @@ Name: libvirt Url: http://libvirt.org/ -Version: 4.4.0 +Version: 4.5.0 Release: 0 Summary: Library providing a simple virtualization API License: LGPL-2.1-or-later @@ -335,7 +335,6 @@ Source6: libvirtd-relocation-server.xml Source99: baselibs.conf Source100: %{name}-rpmlintrc # Upstream patches -Patch0: 67c56f6e-libxl-logfd-leak-fix.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -348,6 +347,7 @@ Patch154: libxl-set-migration-constraints.patch Patch155: libxl-set-cach-mode.patch Patch156: 0001-Extract-stats-functions-from-the-qemu-driver.patch Patch157: 0002-lxc-implement-connectGetAllDomainStats.patch +Patch158: 0001-libxl-add-support-for-BlockResize-API.patch # Our patches Patch200: suse-libvirtd-disable-tls.patch Patch201: suse-libvirtd-sysconfig-settings.patch @@ -920,7 +920,6 @@ libvirt plugin for NSS for translating domain names into IP addresses. %prep %setup -q -%patch0 -p1 %patch100 -p1 %patch101 -p1 %patch150 -p1 @@ -931,6 +930,7 @@ libvirt plugin for NSS for translating domain names into IP addresses. %patch155 -p1 %patch156 -p1 %patch157 -p1 +%patch158 -p1 %patch200 -p1 %patch201 -p1 %patch202 -p1 @@ -1161,47 +1161,47 @@ do rm -rfv "$dir" done -mkdir -p %{buildroot}/%{_localstatedir}/lib/libvirt -mkdir -p %{buildroot}/%{_sysconfdir}/libvirt/hooks +mkdir -p %{buildroot}/%{_localstatedir}/lib/%{name} +mkdir -p %{buildroot}/%{_sysconfdir}/%{name}/hooks %find_lang %{name} # Add a README to the libvirt package with a note about the empty # file list -cat > %{buildroot}/%{_docdir}/libvirt/libvirt.README << 'EOF' +cat > %{buildroot}/%{_docdir}/%{name}/libvirt.README << 'EOF' The libvirt package no longer contains any files. It exists now only to fulfill its 'Provides' contract. EOF -install -d -m 0755 %{buildroot}/%{_localstatedir}/lib/libvirt/dnsmasq/ -install -d -m 0755 %{buildroot}/%{_datadir}/libvirt/networks/ -cp %{buildroot}/%{_sysconfdir}/libvirt/qemu/networks/default.xml \ - %{buildroot}/%{_datadir}/libvirt/networks/default.xml -rm -f %{buildroot}/%{_sysconfdir}/libvirt/qemu/networks/default.xml -rm -f %{buildroot}/%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml +install -d -m 0755 %{buildroot}/%{_localstatedir}/lib/%{name}/dnsmasq/ +install -d -m 0755 %{buildroot}/%{_datadir}/%{name}/networks/ +cp %{buildroot}/%{_sysconfdir}/%{name}/qemu/networks/default.xml \ + %{buildroot}/%{_datadir}/%{name}/networks/default.xml +rm -f %{buildroot}/%{_sysconfdir}/%{name}/qemu/networks/default.xml +rm -f %{buildroot}/%{_sysconfdir}/%{name}/qemu/networks/autostart/default.xml # Strip auto-generated UUID - we need it generated per-install -sed -i -e "//d" %{buildroot}/%{_datadir}/libvirt/networks/default.xml +sed -i -e "//d" %{buildroot}/%{_datadir}/%{name}/networks/default.xml %if %{with_lxc} -cat > %{buildroot}/%{_docdir}/libvirt/libvirt-daemon-lxc.README << 'EOF' +cat > %{buildroot}/%{_docdir}/%{name}/libvirt-daemon-lxc.README << 'EOF' Any empty package encapsulating requirements for a libvirtd capable of managing LXC. EOF %else -rm -rf %{buildroot}/%{_sysconfdir}/libvirt/lxc.conf +rm -rf %{buildroot}/%{_sysconfdir}/%{name}/lxc.conf rm -f %{buildroot}/%{_datadir}/augeas/lenses/libvirtd_lxc.aug rm -f %{buildroot}/%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug rm -rf %{buildroot}/%{_sysconfdir}/logrotate.d/libvirtd.lxc %endif %if %{with_qemu} -cat > %{buildroot}/%{_docdir}/libvirt/libvirt-daemon-qemu.README << 'EOF' +cat > %{buildroot}/%{_docdir}/%{name}/libvirt-daemon-qemu.README << 'EOF' Any empty package encapsulating requirements for a libvirtd capable of managing QEMU/KVM. EOF %else -rm -rf %{buildroot}/%{_sysconfdir}/libvirt/qemu.conf +rm -rf %{buildroot}/%{_sysconfdir}/%{name}/qemu.conf rm -f %{buildroot}/%{_datadir}/augeas/lenses/libvirtd_qemu.aug rm -f %{buildroot}/%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug rm -rf %{buildroot}/%{_sysconfdir}/logrotate.d/libvirtd.qemu %endif %if %{with_uml} -cat > %{buildroot}/%{_docdir}/libvirt/libvirt-daemon-uml.README << 'EOF' +cat > %{buildroot}/%{_docdir}/%{name}/libvirt-daemon-uml.README << 'EOF' Any empty package encapsulating requirements for a libvirtd capable of managing UML. EOF @@ -1209,19 +1209,19 @@ EOF rm -rf %{buildroot}/%{_sysconfdir}/logrotate.d/libvirtd.uml %endif %if %{with_vbox} -cat > %{buildroot}/%{_docdir}/libvirt/libvirt-daemon-vbox.README << 'EOF' +cat > %{buildroot}/%{_docdir}/%{name}/libvirt-daemon-vbox.README << 'EOF' Any empty package encapsulating requirements for a libvirtd capable of managing VirtualBox. EOF %endif %if %{with_libxl} -cat > %{buildroot}/%{_docdir}/libvirt/libvirt-daemon-xen.README << 'EOF' +cat > %{buildroot}/%{_docdir}/%{name}/libvirt-daemon-xen.README << 'EOF' Any empty package encapsulating requirements for a libvirtd capable of managing Xen. EOF %endif %if ! %{with_libxl} -rm -f %{buildroot}/%{_sysconfdir}/libvirt/libxl.conf +rm -f %{buildroot}/%{_sysconfdir}/%{name}/libxl.conf rm -f %{buildroot}/%{_sysconfdir}/logrotate.d/libvirtd.libxl rm -f %{buildroot}/%{_datadir}/augeas/lenses/libvirtd_libxl.aug rm -f %{buildroot}/%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug @@ -1258,7 +1258,7 @@ mkdir -p %{buildroot}/usr/lib/supportconfig/plugins install -m 755 %{S:4} %{buildroot}/usr/lib/supportconfig/plugins/libvirt # install qemu hook script -install -m 755 %{S:5} %{buildroot}/%{_sysconfdir}/libvirt/hooks/qemu +install -m 755 %{S:5} %{buildroot}/%{_sysconfdir}/%{name}/hooks/qemu %ifarch %{power64} s390x x86_64 mv %{buildroot}/%{_datadir}/systemtap/tapset/libvirt_probes.stp \ @@ -1318,7 +1318,7 @@ fi %postun daemon /sbin/ldconfig -# On upgrade, defer restarting daemons until %posttrans +# On upgrade, defer restarting daemons until posttrans if test $1 -eq 0 ; then for service in libvirtd virtlockd virtlogd ; do rm -f "/var/lib/systemd/migrated/$service" 2> /dev/null || : @@ -1338,11 +1338,11 @@ fi %post daemon-config-network # Install the default network if one doesn't exist -if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then +if test $1 -eq 1 && test ! -f %{_sysconfdir}/%{name}/qemu/networks/default.xml ; then UUID=`/usr/bin/uuidgen` sed -e "s,,\n $UUID," \ - < %{_datadir}/libvirt/networks/default.xml \ - > %{_sysconfdir}/libvirt/qemu/networks/default.xml + < %{_datadir}/%{name}/networks/default.xml \ + > %{_sysconfdir}/%{name}/qemu/networks/default.xml fi %pre client @@ -1355,7 +1355,7 @@ fi %preun client %service_del_preun libvirt-guests.service if [ $1 = 0 ]; then - rm -f /var/lib/libvirt/libvirt-guests + rm -f /var/lib/%{name}/libvirt-guests fi %postun client @@ -1377,8 +1377,8 @@ fi %{_sbindir}/virtlogd %{_sbindir}/virtlockd %dir %{_libdir}/%{name} -%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/ -%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/hooks +%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/ +%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/hooks %{_fillupdir}/sysconfig.libvirtd %{_fillupdir}/sysconfig.virtlogd %{_fillupdir}/sysconfig.virtlockd @@ -1393,10 +1393,12 @@ fi %{_sbindir}/rclibvirtd %{_sbindir}/rcvirtlogd %{_sbindir}/rcvirtlockd -%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf +%config(noreplace) %{_sysconfdir}/%{name}/libvirtd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd -%config(noreplace) %{_sysconfdir}/libvirt/virtlogd.conf -%config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf +%config(noreplace) %{_sysconfdir}/%{name}/virtlogd.conf +%config(noreplace) %{_sysconfdir}/%{name}/virtlockd.conf +%dir %{_sysconfdir}/sasl2/ +%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf %dir %{_datadir}/augeas/ %dir %{_datadir}/augeas/lenses %dir %{_datadir}/augeas/lenses/tests @@ -1416,12 +1418,12 @@ fi %if %{with_bash_completion} %{_datadir}/bash-completion/completions/virsh %endif -%dir %{_localstatedir}/lib/libvirt/ -%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/ -%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/ -%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/ -%dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/ -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/ +%dir %{_localstatedir}/lib/%{name}/ +%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/images/ +%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/filesystems/ +%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/boot/ +%dir %attr(0711, root, root) %{_localstatedir}/cache/%{name}/ +%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/ %dir %attr(0755, root, root) %{_libdir}/%{name}/lock-driver %attr(0755, root, root) %{_libdir}/%{name}/lock-driver/lockd.so %if %{with_polkit_rules} @@ -1437,14 +1439,14 @@ fi %if %{with_apparmor} %dir %{_sysconfdir}/apparmor.d %dir %{_sysconfdir}/apparmor.d/abstractions -%dir %{_sysconfdir}/apparmor.d/libvirt +%dir %{_sysconfdir}/apparmor.d/%{name} %dir %{_sysconfdir}/apparmor.d/local %config(noreplace) %{_sysconfdir}/apparmor.d/usr.sbin.libvirtd %config(noreplace) %{_sysconfdir}/apparmor.d/usr.lib.libvirt.virt-aa-helper %config(noreplace) %{_sysconfdir}/apparmor.d/abstractions/libvirt-qemu %config(noreplace) %{_sysconfdir}/apparmor.d/abstractions/libvirt-lxc -%config(noreplace) %{_sysconfdir}/apparmor.d/libvirt/TEMPLATE.lxc -%config(noreplace) %{_sysconfdir}/apparmor.d/libvirt/TEMPLATE.qemu +%config(noreplace) %{_sysconfdir}/apparmor.d/%{name}/TEMPLATE.lxc +%config(noreplace) %{_sysconfdir}/apparmor.d/%{name}/TEMPLATE.qemu %config(noreplace) %{_sysconfdir}/apparmor.d/local/usr.lib.libvirt.virt-aa-helper %{_libdir}/%{name}/virt-aa-helper %endif @@ -1460,26 +1462,26 @@ fi /usr/lib/supportconfig/plugins/libvirt %files daemon-hooks -%{_sysconfdir}/libvirt/hooks/qemu +%{_sysconfdir}/%{name}/hooks/qemu %files daemon-config-network -%dir %{_datadir}/libvirt/networks/ -%{_datadir}/libvirt/networks/default.xml +%dir %{_datadir}/%{name}/networks/ +%{_datadir}/%{name}/networks/default.xml %files daemon-config-nwfilter -%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/ -%config %{_sysconfdir}/libvirt/nwfilter/*.xml +%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/nwfilter/ +%config %{_sysconfdir}/%{name}/nwfilter/*.xml %files daemon-driver-interface %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so %files daemon-driver-network -%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/ -%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/ -%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/ -%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/ +%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/qemu/ +%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/qemu/networks/ +%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/qemu/networks/autostart +%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/network/ +%dir %attr(0755, root, root) %{_localstatedir}/lib/%{name}/dnsmasq/ %attr(0755, root, root) %{_libdir}/%{name}/libvirt_leaseshelper %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_network.so @@ -1489,7 +1491,7 @@ fi %{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so %files daemon-driver-nwfilter -%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/ +%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/nwfilter/ %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so @@ -1542,25 +1544,29 @@ fi %if %{with_qemu} %files daemon-driver-qemu -%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf -%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf +%config(noreplace) %{_sysconfdir}/%{name}/qemu.conf +%config(noreplace) %{_sysconfdir}/%{name}/qemu-lockd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu -%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/ -%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/%{name}/qemu/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/%{name}/qemu/ +%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/qemu/ %{_datadir}/augeas/lenses/libvirtd_qemu.aug %{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so +%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/swtpm/ +%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/ +%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/%{name}/ +%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/%{name}/qemu/ %endif %if %{with_lxc} %files daemon-driver-lxc -%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf +%config(noreplace) %{_sysconfdir}/%{name}/lxc.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/lxc/ +%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/lxc/ %attr(0755, root, root) %{_libdir}/%{name}/libvirt_lxc %{_datadir}/augeas/lenses/libvirtd_lxc.aug %{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug @@ -1577,8 +1583,8 @@ fi %files daemon-driver-uml %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/uml/ +%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/uml/ %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so %endif @@ -1586,13 +1592,13 @@ fi %if %{with_libxl} %files daemon-driver-libxl -%config(noreplace) %{_sysconfdir}/libvirt/libxl.conf +%config(noreplace) %{_sysconfdir}/%{name}/libxl.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl -%config(noreplace) %{_sysconfdir}/libvirt/libxl-lockd.conf +%config(noreplace) %{_sysconfdir}/%{name}/libxl-lockd.conf %{_datadir}/augeas/lenses/libvirtd_libxl.aug %{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/ -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/libxl/ +%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/libxl/ %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so %endif @@ -1656,31 +1662,30 @@ fi %{_libdir}/libvirt-qemu.so.* %{_libdir}/libvirt-lxc.so.* %{_libdir}/libvirt-admin.so.* -%dir %{_datadir}/libvirt/ -%dir %{_datadir}/libvirt/schemas/ -%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/ +%dir %{_datadir}/%{name}/ +%dir %{_datadir}/%{name}/schemas/ +%dir %attr(0755, root, root) %{_localstatedir}/lib/%{name}/ -%{_datadir}/libvirt/schemas/basictypes.rng -%{_datadir}/libvirt/schemas/capability.rng -%{_datadir}/libvirt/schemas/domain.rng -%{_datadir}/libvirt/schemas/cputypes.rng -%{_datadir}/libvirt/schemas/domaincaps.rng -%{_datadir}/libvirt/schemas/domaincommon.rng -%{_datadir}/libvirt/schemas/domainsnapshot.rng -%{_datadir}/libvirt/schemas/interface.rng -%{_datadir}/libvirt/schemas/network.rng -%{_datadir}/libvirt/schemas/networkcommon.rng -%{_datadir}/libvirt/schemas/nodedev.rng -%{_datadir}/libvirt/schemas/nwfilter.rng -%{_datadir}/libvirt/schemas/secret.rng -%{_datadir}/libvirt/schemas/storagecommon.rng -%{_datadir}/libvirt/schemas/storagepool.rng -%{_datadir}/libvirt/schemas/storagevol.rng -%{_datadir}/libvirt/cpu_map.xml -%{_datadir}/libvirt/test-screenshot.png - -%dir %{_sysconfdir}/sasl2/ -%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf +%{_datadir}/%{name}/schemas/basictypes.rng +%{_datadir}/%{name}/schemas/capability.rng +%{_datadir}/%{name}/schemas/domain.rng +%{_datadir}/%{name}/schemas/cputypes.rng +%{_datadir}/%{name}/schemas/domaincaps.rng +%{_datadir}/%{name}/schemas/domaincommon.rng +%{_datadir}/%{name}/schemas/domainsnapshot.rng +%{_datadir}/%{name}/schemas/interface.rng +%{_datadir}/%{name}/schemas/network.rng +%{_datadir}/%{name}/schemas/networkcommon.rng +%{_datadir}/%{name}/schemas/nodedev.rng +%{_datadir}/%{name}/schemas/nwfilter.rng +%{_datadir}/%{name}/schemas/nwfilter_params.rng +%{_datadir}/%{name}/schemas/nwfilterbinding.rng +%{_datadir}/%{name}/schemas/secret.rng +%{_datadir}/%{name}/schemas/storagecommon.rng +%{_datadir}/%{name}/schemas/storagepool.rng +%{_datadir}/%{name}/schemas/storagevol.rng +%{_datadir}/%{name}/cpu_map.xml +%{_datadir}/%{name}/test-screenshot.png %files admin %doc %{_mandir}/man1/virt-admin.1* @@ -1699,20 +1704,20 @@ fi %{_libdir}/libvirt-admin.so %{_libdir}/libvirt-qemu.so %{_libdir}/libvirt-lxc.so -%{_includedir}/libvirt +%{_includedir}/%{name} %{_libdir}/pkgconfig/libvirt.pc %{_libdir}/pkgconfig/libvirt-admin.pc %{_libdir}/pkgconfig/libvirt-qemu.pc %{_libdir}/pkgconfig/libvirt-lxc.pc -%dir %{_datadir}/libvirt/api/ -%{_datadir}/libvirt/api/libvirt-api.xml -%{_datadir}/libvirt/api/libvirt-admin-api.xml -%{_datadir}/libvirt/api/libvirt-qemu-api.xml -%{_datadir}/libvirt/api/libvirt-lxc-api.xml +%dir %{_datadir}/%{name}/api/ +%{_datadir}/%{name}/api/libvirt-api.xml +%{_datadir}/%{name}/api/libvirt-admin-api.xml +%{_datadir}/%{name}/api/libvirt-qemu-api.xml +%{_datadir}/%{name}/api/libvirt-lxc-api.xml %files doc # Website -%dir %{_docdir}/libvirt +%dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/*.png %doc %{_docdir}/%{name}/*.html %doc %{_docdir}/%{name}/*.gif @@ -1723,8 +1728,8 @@ fi %doc %{_docdir}/%{name}/fonts # API docs -%dir %{_datadir}/gtk-doc/html/libvirt/ -%doc %{_datadir}/gtk-doc/html/libvirt/* +%dir %{_datadir}/gtk-doc/html/%{name}/ +%doc %{_datadir}/gtk-doc/html/%{name}/* %if %{with_sanlock} diff --git a/libxl-dom-reset.patch b/libxl-dom-reset.patch index 590f546..25471dd 100644 --- a/libxl-dom-reset.patch +++ b/libxl-dom-reset.patch @@ -8,11 +8,11 @@ Date: Mon Jun 23 15:51:20 2014 -0600 option, but domainReset can be implemented in the libxl driver by forcibly destroying the domain and starting it again. -Index: libvirt-4.4.0/src/libxl/libxl_driver.c +Index: libvirt-4.5.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-4.4.0.orig/src/libxl/libxl_driver.c -+++ libvirt-4.4.0/src/libxl/libxl_driver.c -@@ -1346,6 +1346,61 @@ libxlDomainReboot(virDomainPtr dom, unsi +--- libvirt-4.5.0.orig/src/libxl/libxl_driver.c ++++ libvirt-4.5.0/src/libxl/libxl_driver.c +@@ -1344,6 +1344,61 @@ libxlDomainReboot(virDomainPtr dom, unsi } static int @@ -74,7 +74,7 @@ Index: libvirt-4.4.0/src/libxl/libxl_driver.c libxlDomainDestroyFlags(virDomainPtr dom, unsigned int flags) { -@@ -6390,6 +6445,7 @@ static virHypervisorDriver libxlHypervis +@@ -6383,6 +6438,7 @@ static virHypervisorDriver libxlHypervis .domainShutdown = libxlDomainShutdown, /* 0.9.0 */ .domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */ .domainReboot = libxlDomainReboot, /* 0.9.0 */ diff --git a/libxl-qemu-emulator-caps.patch b/libxl-qemu-emulator-caps.patch index b2e6107..4ecec95 100644 --- a/libxl-qemu-emulator-caps.patch +++ b/libxl-qemu-emulator-caps.patch @@ -8,10 +8,10 @@ as the default , instead of the qemu-xen one. See FATE#320638 for details. -Index: libvirt-4.4.0/src/libxl/libxl_capabilities.c +Index: libvirt-4.5.0/src/libxl/libxl_capabilities.c =================================================================== ---- libvirt-4.4.0.orig/src/libxl/libxl_capabilities.c -+++ libvirt-4.4.0/src/libxl/libxl_capabilities.c +--- libvirt-4.5.0.orig/src/libxl/libxl_capabilities.c ++++ libvirt-4.5.0/src/libxl/libxl_capabilities.c @@ -38,6 +38,7 @@ #include "libxl_capabilities.h" #include "cpu/cpu_x86.h" diff --git a/libxl-set-cach-mode.patch b/libxl-set-cach-mode.patch index 12ff7a9..68b9be9 100644 --- a/libxl-set-cach-mode.patch +++ b/libxl-set-cach-mode.patch @@ -3,10 +3,10 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425 src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) -Index: libvirt-4.4.0/src/libxl/libxl_conf.c +Index: libvirt-4.5.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-4.4.0.orig/src/libxl/libxl_conf.c -+++ libvirt-4.4.0/src/libxl/libxl_conf.c +--- libvirt-4.5.0.orig/src/libxl/libxl_conf.c ++++ libvirt-4.5.0/src/libxl/libxl_conf.c @@ -837,6 +837,30 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } diff --git a/libxl-set-migration-constraints.patch b/libxl-set-migration-constraints.patch index f1aee27..06d2967 100644 --- a/libxl-set-migration-constraints.patch +++ b/libxl-set-migration-constraints.patch @@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig tools/virsh.pod | 8 ++++++++ 6 files changed, 125 insertions(+), 6 deletions(-) -Index: libvirt-4.4.0/include/libvirt/libvirt-domain.h +Index: libvirt-4.5.0/include/libvirt/libvirt-domain.h =================================================================== ---- libvirt-4.4.0.orig/include/libvirt/libvirt-domain.h -+++ libvirt-4.4.0/include/libvirt/libvirt-domain.h +--- libvirt-4.5.0.orig/include/libvirt/libvirt-domain.h ++++ libvirt-4.5.0/include/libvirt/libvirt-domain.h @@ -1008,6 +1008,31 @@ typedef enum { */ # define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment" @@ -52,11 +52,11 @@ Index: libvirt-4.4.0/include/libvirt/libvirt-domain.h /* Domain migration. */ virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn, unsigned long flags, const char *dname, -Index: libvirt-4.4.0/src/libxl/libxl_driver.c +Index: libvirt-4.5.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-4.4.0.orig/src/libxl/libxl_driver.c -+++ libvirt-4.4.0/src/libxl/libxl_driver.c -@@ -5992,6 +5992,9 @@ libxlDomainMigratePerform3Params(virDoma +--- libvirt-4.5.0.orig/src/libxl/libxl_driver.c ++++ libvirt-4.5.0/src/libxl/libxl_driver.c +@@ -5985,6 +5985,9 @@ libxlDomainMigratePerform3Params(virDoma const char *dname = NULL; const char *uri = NULL; int ret = -1; @@ -66,7 +66,7 @@ Index: libvirt-4.4.0/src/libxl/libxl_driver.c #ifdef LIBXL_HAVE_NO_SUSPEND_RESUME virReportUnsupportedError(); -@@ -6008,6 +6011,18 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6001,6 +6004,18 @@ libxlDomainMigratePerform3Params(virDoma virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_DEST_NAME, &dname) < 0 || @@ -85,7 +85,7 @@ Index: libvirt-4.4.0/src/libxl/libxl_driver.c virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_URI, &uri) < 0) -@@ -6022,11 +6037,11 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6015,11 +6030,11 @@ libxlDomainMigratePerform3Params(virDoma if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) { if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml, @@ -99,10 +99,10 @@ Index: libvirt-4.4.0/src/libxl/libxl_driver.c goto cleanup; } -Index: libvirt-4.4.0/src/libxl/libxl_migration.c +Index: libvirt-4.5.0/src/libxl/libxl_migration.c =================================================================== ---- libvirt-4.4.0.orig/src/libxl/libxl_migration.c -+++ libvirt-4.4.0/src/libxl/libxl_migration.c +--- libvirt-4.5.0.orig/src/libxl/libxl_migration.c ++++ libvirt-4.5.0/src/libxl/libxl_migration.c @@ -353,18 +353,39 @@ libxlMigrateDstReceive(virNetSocketPtr s static int libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver, @@ -263,10 +263,10 @@ Index: libvirt-4.4.0/src/libxl/libxl_migration.c virObjectLock(vm); if (ret < 0) -Index: libvirt-4.4.0/src/libxl/libxl_migration.h +Index: libvirt-4.5.0/src/libxl/libxl_migration.h =================================================================== ---- libvirt-4.4.0.orig/src/libxl/libxl_migration.h -+++ libvirt-4.4.0/src/libxl/libxl_migration.h +--- libvirt-4.5.0.orig/src/libxl/libxl_migration.h ++++ libvirt-4.5.0/src/libxl/libxl_migration.h @@ -39,6 +39,10 @@ VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \ VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \ @@ -311,11 +311,11 @@ Index: libvirt-4.4.0/src/libxl/libxl_migration.h virDomainPtr libxlDomainMigrationDstFinish(virConnectPtr dconn, -Index: libvirt-4.4.0/tools/virsh-domain.c +Index: libvirt-4.5.0/tools/virsh-domain.c =================================================================== ---- libvirt-4.4.0.orig/tools/virsh-domain.c -+++ libvirt-4.4.0/tools/virsh-domain.c -@@ -10330,6 +10330,22 @@ static const vshCmdOptDef opts_migrate[] +--- libvirt-4.5.0.orig/tools/virsh-domain.c ++++ libvirt-4.5.0/tools/virsh-domain.c +@@ -10328,6 +10328,22 @@ static const vshCmdOptDef opts_migrate[] .type = VSH_OT_BOOL, .help = N_("use TLS for migration") }, @@ -338,7 +338,7 @@ Index: libvirt-4.4.0/tools/virsh-domain.c {.name = NULL} }; -@@ -10353,6 +10369,7 @@ doMigrate(void *opaque) +@@ -10351,6 +10367,7 @@ doMigrate(void *opaque) unsigned long long ullOpt = 0; int rv; virConnectPtr dconn = data->dconn; @@ -346,7 +346,7 @@ Index: libvirt-4.4.0/tools/virsh-domain.c sigemptyset(&sigmask); sigaddset(&sigmask, SIGINT); -@@ -10472,6 +10489,27 @@ doMigrate(void *opaque) +@@ -10470,6 +10487,27 @@ doMigrate(void *opaque) goto save_error; } @@ -374,11 +374,11 @@ Index: libvirt-4.4.0/tools/virsh-domain.c if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0) goto out; if (opt) { -Index: libvirt-4.4.0/tools/virsh.pod +Index: libvirt-4.5.0/tools/virsh.pod =================================================================== ---- libvirt-4.4.0.orig/tools/virsh.pod -+++ libvirt-4.4.0/tools/virsh.pod -@@ -1923,6 +1923,14 @@ Providing I<--tls> causes the migration +--- libvirt-4.5.0.orig/tools/virsh.pod ++++ libvirt-4.5.0/tools/virsh.pod +@@ -1932,6 +1932,14 @@ Providing I<--tls> causes the migration the migration of the domain. Usage requires proper TLS setup for both source and target. diff --git a/libxl-support-block-script.patch b/libxl-support-block-script.patch index 384ae32..2e2023b 100644 --- a/libxl-support-block-script.patch +++ b/libxl-support-block-script.patch @@ -7,10 +7,10 @@ and npiv. For more details, see bsc#954872 and FATE#319810 -Index: libvirt-4.4.0/src/libxl/libxl_conf.c +Index: libvirt-4.5.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-4.4.0.orig/src/libxl/libxl_conf.c -+++ libvirt-4.4.0/src/libxl/libxl_conf.c +--- libvirt-4.5.0.orig/src/libxl/libxl_conf.c ++++ libvirt-4.5.0/src/libxl/libxl_conf.c @@ -837,6 +837,25 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } diff --git a/lxc-wait-after-eth-del.patch b/lxc-wait-after-eth-del.patch index 559c57d..fa3cf95 100644 --- a/lxc-wait-after-eth-del.patch +++ b/lxc-wait-after-eth-del.patch @@ -13,10 +13,10 @@ device with the same name that is being created. src/lxc/lxc_process.c | 1 + 3 files changed, 4 insertions(+) -Index: libvirt-4.4.0/src/lxc/lxc_controller.c +Index: libvirt-4.5.0/src/lxc/lxc_controller.c =================================================================== ---- libvirt-4.4.0.orig/src/lxc/lxc_controller.c -+++ libvirt-4.4.0/src/lxc/lxc_controller.c +--- libvirt-4.5.0.orig/src/lxc/lxc_controller.c ++++ libvirt-4.5.0/src/lxc/lxc_controller.c @@ -73,6 +73,7 @@ #include "rpc/virnetdaemon.h" #include "virstring.h" @@ -25,7 +25,7 @@ Index: libvirt-4.4.0/src/lxc/lxc_controller.c #define VIR_FROM_THIS VIR_FROM_LXC -@@ -2003,6 +2004,7 @@ static int virLXCControllerDeleteInterfa +@@ -1999,6 +2000,7 @@ static int virLXCControllerDeleteInterfa if (virNetDevVethDelete(ctrl->veths[i]) < 0) ret = -1; } @@ -33,11 +33,11 @@ Index: libvirt-4.4.0/src/lxc/lxc_controller.c return ret; } -Index: libvirt-4.4.0/src/lxc/lxc_driver.c +Index: libvirt-4.5.0/src/lxc/lxc_driver.c =================================================================== ---- libvirt-4.4.0.orig/src/lxc/lxc_driver.c -+++ libvirt-4.4.0/src/lxc/lxc_driver.c -@@ -75,6 +75,7 @@ +--- libvirt-4.5.0.orig/src/lxc/lxc_driver.c ++++ libvirt-4.5.0/src/lxc/lxc_driver.c +@@ -74,6 +74,7 @@ #include "virtime.h" #include "virtypedparam.h" #include "viruri.h" @@ -45,7 +45,7 @@ Index: libvirt-4.4.0/src/lxc/lxc_driver.c #include "virstring.h" #include "viraccessapicheck.h" #include "viraccessapichecklxc.h" -@@ -3990,6 +3991,7 @@ lxcDomainAttachDeviceNetLive(virConnectP +@@ -3956,6 +3957,7 @@ lxcDomainAttachDeviceNetLive(virConnectP case VIR_DOMAIN_NET_TYPE_NETWORK: case VIR_DOMAIN_NET_TYPE_ETHERNET: ignore_value(virNetDevVethDelete(veth)); @@ -53,7 +53,7 @@ Index: libvirt-4.4.0/src/lxc/lxc_driver.c break; case VIR_DOMAIN_NET_TYPE_DIRECT: -@@ -4433,6 +4435,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb +@@ -4399,6 +4401,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb virDomainAuditNet(vm, detach, NULL, "detach", false); goto cleanup; } @@ -61,10 +61,10 @@ Index: libvirt-4.4.0/src/lxc/lxc_driver.c break; /* It'd be nice to support this, but with macvlan -Index: libvirt-4.4.0/src/lxc/lxc_process.c +Index: libvirt-4.5.0/src/lxc/lxc_process.c =================================================================== ---- libvirt-4.4.0.orig/src/lxc/lxc_process.c -+++ libvirt-4.4.0/src/lxc/lxc_process.c +--- libvirt-4.5.0.orig/src/lxc/lxc_process.c ++++ libvirt-4.5.0/src/lxc/lxc_process.c @@ -51,6 +51,7 @@ #include "viratomic.h" #include "virprocess.h" @@ -73,7 +73,7 @@ Index: libvirt-4.4.0/src/lxc/lxc_process.c #include "netdev_bandwidth_conf.h" #define VIR_FROM_THIS VIR_FROM_LXC -@@ -216,6 +217,7 @@ static void virLXCProcessCleanup(virLXCD +@@ -215,6 +216,7 @@ static void virLXCProcessCleanup(virLXCD } virDomainNetReleaseActualDevice(vm->def, iface); } diff --git a/network-don-t-use-dhcp-authoritative-on-static-netwo.patch b/network-don-t-use-dhcp-authoritative-on-static-netwo.patch index f1d6289..e13d1e0 100644 --- a/network-don-t-use-dhcp-authoritative-on-static-netwo.patch +++ b/network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -17,10 +17,10 @@ Signed-off-by: Martin Wilck tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 - 2 files changed, 8 insertions(+), 2 deletions(-) -Index: libvirt-4.4.0/src/network/bridge_driver.c +Index: libvirt-4.5.0/src/network/bridge_driver.c =================================================================== ---- libvirt-4.4.0.orig/src/network/bridge_driver.c -+++ libvirt-4.4.0/src/network/bridge_driver.c +--- libvirt-4.5.0.orig/src/network/bridge_driver.c ++++ libvirt-4.5.0/src/network/bridge_driver.c @@ -1457,7 +1457,14 @@ networkDnsmasqConfContents(virNetworkObj if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) { if (ipdef->nranges || ipdef->nhosts) { @@ -37,10 +37,10 @@ Index: libvirt-4.4.0/src/network/bridge_driver.c } if (ipdef->tftproot) { -Index: libvirt-4.4.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +Index: libvirt-4.5.0/tests/networkxml2confdata/dhcp6host-routed-network.conf =================================================================== ---- libvirt-4.4.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf -+++ libvirt-4.4.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +--- libvirt-4.5.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf ++++ libvirt-4.5.0/tests/networkxml2confdata/dhcp6host-routed-network.conf @@ -10,7 +10,6 @@ bind-dynamic interface=virbr1 dhcp-range=192.168.122.1,static diff --git a/ppc64le-canonical-name.patch b/ppc64le-canonical-name.patch index 4f8e5be..ec2b01d 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-4.4.0/src/util/virarch.c +Index: libvirt-4.5.0/src/util/virarch.c =================================================================== ---- libvirt-4.4.0.orig/src/util/virarch.c -+++ libvirt-4.4.0/src/util/virarch.c +--- libvirt-4.5.0.orig/src/util/virarch.c ++++ libvirt-4.5.0/src/util/virarch.c @@ -169,6 +169,8 @@ virArch virArchFromHost(void) arch = VIR_ARCH_I686; } else if (STREQ(ut.machine, "amd64")) { diff --git a/qemu-apparmor-screenshot.patch b/qemu-apparmor-screenshot.patch index b43635c..d7777be 100644 --- a/qemu-apparmor-screenshot.patch +++ b/qemu-apparmor-screenshot.patch @@ -1,8 +1,8 @@ -Index: libvirt-4.4.0/examples/apparmor/libvirt-qemu +Index: libvirt-4.5.0/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-4.4.0.orig/examples/apparmor/libvirt-qemu -+++ libvirt-4.4.0/examples/apparmor/libvirt-qemu -@@ -197,3 +197,6 @@ +--- libvirt-4.5.0.orig/examples/apparmor/libvirt-qemu ++++ libvirt-4.5.0/examples/apparmor/libvirt-qemu +@@ -205,3 +205,6 @@ # required for sasl GSSAPI plugin /etc/gss/mech.d/ r, /etc/gss/mech.d/* r, diff --git a/support-managed-pci-xen-driver.patch b/support-managed-pci-xen-driver.patch index 4ae8acb..c694a5f 100644 --- a/support-managed-pci-xen-driver.patch +++ b/support-managed-pci-xen-driver.patch @@ -8,68 +8,66 @@ Subject: [PATCH] support managed pci devices in xen driver src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 15 deletions(-) -Index: libvirt-4.4.0/src/xenconfig/xen_common.c +Index: libvirt-4.5.0/src/xenconfig/xen_common.c =================================================================== ---- libvirt-4.4.0.orig/src/xenconfig/xen_common.c -+++ libvirt-4.4.0/src/xenconfig/xen_common.c -@@ -394,6 +394,8 @@ xenParsePCI(virConfPtr conf, virDomainDe - { - virConfValuePtr list = virConfGetValue(conf, "pci"); - virDomainHostdevDefPtr hostdev = NULL; +--- libvirt-4.5.0.orig/src/xenconfig/xen_common.c ++++ libvirt-4.5.0/src/xenconfig/xen_common.c +@@ -402,12 +402,19 @@ xenParsePCI(char *entry) + int busID; + int slotID; + int funcID; + char *opt; + int managed = 0; - if (list && list->type == VIR_CONF_LIST) { - list = list->list; -@@ -415,6 +417,11 @@ xenParsePCI(virConfPtr conf, virDomainDe - /* pci=['0000:00:1b.0','0000:00:13.0'] */ - if (!(key = list->str)) - goto skippci; -+ -+ opt = strchr(key, ','); -+ if (opt) -+ opt++; -+ - if (!(nextkey = strchr(key, ':'))) - goto skippci; - if (virStrncpy(domain, key, (nextkey - key), sizeof(domain)) == NULL) { -@@ -458,10 +465,31 @@ xenParsePCI(virConfPtr conf, virDomainDe - goto skippci; - if (virStrToLong_i(func, NULL, 16, &funcID) < 0) - goto skippci; -+ -+ if (opt) { -+ char opt_managed[2]; -+ char *data; -+ -+ opt_managed[0] = '\0'; -+ data = strchr(opt, '='); -+ data++; -+ -+ if (STRPREFIX(opt, "managed=")) { -+ if (virStrncpy(opt_managed, data, 1, sizeof(opt_managed)) == NULL) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, -+ _("managed option %s too big for destination"), -+ data); -+ goto skippci; -+ } -+ } -+ if (virStrToLong_i(opt_managed, NULL, 10, &managed) < 0) -+ goto skippci; -+ } -+ - if (!(hostdev = virDomainHostdevDefNew())) - return -1; + domain[0] = bus[0] = slot[0] = func[0] = '\0'; -- hostdev->managed = false; -+ hostdev->managed = managed ? true : false; - 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-4.4.0/src/xenconfig/xen_sxpr.c + /* pci=['0000:00:1b.0','0000:00:13.0'] */ + if (!(key = entry)) + return NULL; ++ ++ opt = strchr(key, ','); ++ if (opt) ++ opt++; ++ + if (!(nextkey = strchr(key, ':'))) + return NULL; + if (virStrncpy(domain, key, (nextkey - key), sizeof(domain)) == NULL) { +@@ -452,10 +459,30 @@ xenParsePCI(char *entry) + if (virStrToLong_i(func, NULL, 16, &funcID) < 0) + return NULL; + ++ if (opt) { ++ char opt_managed[2]; ++ char *data; ++ ++ opt_managed[0] = '\0'; ++ data = strchr(opt, '='); ++ data++; ++ ++ if (STRPREFIX(opt, "managed=")) { ++ if (virStrncpy(opt_managed, data, 1, sizeof(opt_managed)) == NULL) { ++ virReportError(VIR_ERR_INTERNAL_ERROR, ++ _("managed option %s too big for destination"), ++ data); ++ return NULL; ++ } ++ } ++ if (virStrToLong_i(opt_managed, NULL, 10, &managed) < 0) ++ return NULL; ++ } ++ + if (!(hostdev = virDomainHostdevDefNew())) + return NULL; + +- hostdev->managed = false; ++ hostdev->managed = managed ? true : false; + 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-4.5.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-4.4.0.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-4.4.0/src/xenconfig/xen_sxpr.c +--- libvirt-4.5.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-4.5.0/src/xenconfig/xen_sxpr.c @@ -1057,6 +1057,7 @@ xenParseSxprPCI(virDomainDefPtr def, int busID; int slotID; diff --git a/suse-apparmor-libnl-paths.patch b/suse-apparmor-libnl-paths.patch index eb89e7b..93709db 100644 --- a/suse-apparmor-libnl-paths.patch +++ b/suse-apparmor-libnl-paths.patch @@ -8,10 +8,10 @@ It was also noticed that the per-domain profiles need a libnl rule to squelch a denial when starting confined domains. Found while investigating bsc#1058847 -Index: libvirt-4.4.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper +Index: libvirt-4.5.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper =================================================================== ---- libvirt-4.4.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper -+++ libvirt-4.4.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper +--- libvirt-4.5.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper ++++ libvirt-4.5.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper @@ -17,7 +17,7 @@ profile virt-aa-helper /usr/{lib,lib64}/ owner @{PROC}/[0-9]*/status r, @{PROC}/filesystems r, @@ -21,10 +21,10 @@ Index: libvirt-4.4.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper # for hostdev /sys/devices/ r, -Index: libvirt-4.4.0/examples/apparmor/libvirt-qemu +Index: libvirt-4.5.0/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-4.4.0.orig/examples/apparmor/libvirt-qemu -+++ libvirt-4.4.0/examples/apparmor/libvirt-qemu +--- libvirt-4.5.0.orig/examples/apparmor/libvirt-qemu ++++ libvirt-4.5.0/examples/apparmor/libvirt-qemu @@ -62,6 +62,7 @@ #/dev/fb* rw, diff --git a/suse-libvirt-guests-service.patch b/suse-libvirt-guests-service.patch index 56b2d3c..69ff2bc 100644 --- a/suse-libvirt-guests-service.patch +++ b/suse-libvirt-guests-service.patch @@ -1,9 +1,9 @@ Adjust libvirt-guests service to conform to SUSE standards -Index: libvirt-4.4.0/tools/libvirt-guests.init.in +Index: libvirt-4.5.0/tools/libvirt-guests.init.in =================================================================== ---- libvirt-4.4.0.orig/tools/libvirt-guests.init.in -+++ libvirt-4.4.0/tools/libvirt-guests.init.in +--- libvirt-4.5.0.orig/tools/libvirt-guests.init.in ++++ libvirt-4.5.0/tools/libvirt-guests.init.in @@ -4,27 +4,27 @@ # http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html # @@ -46,10 +46,10 @@ Index: libvirt-4.4.0/tools/libvirt-guests.init.in + exec @libexecdir@/libvirt-guests.sh "$@" -Index: libvirt-4.4.0/tools/libvirt-guests.sh.in +Index: libvirt-4.5.0/tools/libvirt-guests.sh.in =================================================================== ---- libvirt-4.4.0.orig/tools/libvirt-guests.sh.in -+++ libvirt-4.4.0/tools/libvirt-guests.sh.in +--- libvirt-4.5.0.orig/tools/libvirt-guests.sh.in ++++ libvirt-4.5.0/tools/libvirt-guests.sh.in @@ -16,14 +16,13 @@ # License along with this library. If not, see # . @@ -209,10 +209,10 @@ Index: libvirt-4.4.0/tools/libvirt-guests.sh.in esac -exit $RETVAL +rc_exit -Index: libvirt-4.4.0/tools/libvirt-guests.sysconf +Index: libvirt-4.5.0/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-4.4.0.orig/tools/libvirt-guests.sysconf -+++ libvirt-4.4.0/tools/libvirt-guests.sysconf +--- libvirt-4.5.0.orig/tools/libvirt-guests.sysconf ++++ libvirt-4.5.0/tools/libvirt-guests.sysconf @@ -1,19 +1,29 @@ +## Path: System/Virtualization/libvirt-guests + diff --git a/suse-libvirtd-disable-tls.patch b/suse-libvirtd-disable-tls.patch index c2c0e8d..745ba2f 100644 --- a/suse-libvirtd-disable-tls.patch +++ b/suse-libvirtd-disable-tls.patch @@ -3,10 +3,10 @@ Disable TLS by default On SUSE distros, the default is for libvirtd to listen only on the Unix Domain Socket. The libvirt client still provides remote access via a SSH tunnel. -Index: libvirt-4.4.0/src/remote/libvirtd.conf +Index: libvirt-4.5.0/src/remote/libvirtd.conf =================================================================== ---- libvirt-4.4.0.orig/src/remote/libvirtd.conf -+++ libvirt-4.4.0/src/remote/libvirtd.conf +--- libvirt-4.5.0.orig/src/remote/libvirtd.conf ++++ libvirt-4.5.0/src/remote/libvirtd.conf @@ -18,8 +18,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -18,10 +18,10 @@ Index: libvirt-4.4.0/src/remote/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-4.4.0/src/remote/remote_daemon_config.c +Index: libvirt-4.5.0/src/remote/remote_daemon_config.c =================================================================== ---- libvirt-4.4.0.orig/src/remote/remote_daemon_config.c -+++ libvirt-4.4.0/src/remote/remote_daemon_config.c +--- libvirt-4.5.0.orig/src/remote/remote_daemon_config.c ++++ libvirt-4.5.0/src/remote/remote_daemon_config.c @@ -110,7 +110,7 @@ daemonConfigNew(bool privileged ATTRIBUT if (VIR_ALLOC(data) < 0) return NULL; @@ -31,10 +31,10 @@ Index: libvirt-4.4.0/src/remote/remote_daemon_config.c data->listen_tcp = 0; if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 || -Index: libvirt-4.4.0/src/remote/test_libvirtd.aug.in +Index: libvirt-4.5.0/src/remote/test_libvirtd.aug.in =================================================================== ---- libvirt-4.4.0.orig/src/remote/test_libvirtd.aug.in -+++ libvirt-4.4.0/src/remote/test_libvirtd.aug.in +--- libvirt-4.5.0.orig/src/remote/test_libvirtd.aug.in ++++ libvirt-4.5.0/src/remote/test_libvirtd.aug.in @@ -2,7 +2,7 @@ module Test_libvirtd = ::CONFIG:: diff --git a/suse-libvirtd-service-xen.patch b/suse-libvirtd-service-xen.patch index b52e659..999a08c 100644 --- a/suse-libvirtd-service-xen.patch +++ b/suse-libvirtd-service-xen.patch @@ -7,13 +7,13 @@ On SUSE distros, we promote libvirt and all the libvirt-based tools. If a user installs libvirt on their SUSE Xen host, then libvirt should be king and override xendomains. See bsc#1015348 -Index: libvirt-4.4.0/src/remote/libvirtd.service.in +Index: libvirt-4.5.0/src/remote/libvirtd.service.in =================================================================== ---- libvirt-4.4.0.orig/src/remote/libvirtd.service.in -+++ libvirt-4.4.0/src/remote/libvirtd.service.in -@@ -16,6 +16,8 @@ After=apparmor.service - After=local-fs.target +--- libvirt-4.5.0.orig/src/remote/libvirtd.service.in ++++ libvirt-4.5.0/src/remote/libvirtd.service.in +@@ -17,6 +17,8 @@ After=local-fs.target After=remote-fs.target + After=systemd-logind.service After=systemd-machined.service +After=xencommons.service +Conflicts=xendomains.service diff --git a/suse-libvirtd-sysconfig-settings.patch b/suse-libvirtd-sysconfig-settings.patch index 293f307..32bc61b 100644 --- a/suse-libvirtd-sysconfig-settings.patch +++ b/suse-libvirtd-sysconfig-settings.patch @@ -1,9 +1,9 @@ Adjust libvirtd sysconfig file to conform to SUSE standards -Index: libvirt-4.4.0/src/remote/libvirtd.sysconf +Index: libvirt-4.5.0/src/remote/libvirtd.sysconf =================================================================== ---- libvirt-4.4.0.orig/src/remote/libvirtd.sysconf -+++ libvirt-4.4.0/src/remote/libvirtd.sysconf +--- libvirt-4.5.0.orig/src/remote/libvirtd.sysconf ++++ libvirt-4.5.0/src/remote/libvirtd.sysconf @@ -1,16 +1,25 @@ +## Path: System/Virtualization/libvirt + diff --git a/suse-ovmf-paths.patch b/suse-ovmf-paths.patch index d965f0f..7dcc3d9 100644 --- a/suse-ovmf-paths.patch +++ b/suse-ovmf-paths.patch @@ -1,10 +1,10 @@ Adjust paths of OVMF firmwares on SUSE distros -Index: libvirt-4.4.0/src/qemu/qemu.conf +Index: libvirt-4.5.0/src/qemu/qemu.conf =================================================================== ---- libvirt-4.4.0.orig/src/qemu/qemu.conf -+++ libvirt-4.4.0/src/qemu/qemu.conf -@@ -747,10 +747,9 @@ security_default_confined = 0 +--- libvirt-4.5.0.orig/src/qemu/qemu.conf ++++ libvirt-4.5.0/src/qemu/qemu.conf +@@ -769,10 +769,9 @@ security_default_confined = 0 # for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default # follows this scheme. #nvram = [ @@ -18,10 +18,10 @@ Index: libvirt-4.4.0/src/qemu/qemu.conf #] # The backend to use for handling stdout/stderr output from -Index: libvirt-4.4.0/src/qemu/qemu_conf.c +Index: libvirt-4.5.0/src/qemu/qemu_conf.c =================================================================== ---- libvirt-4.4.0.orig/src/qemu/qemu_conf.c -+++ libvirt-4.4.0/src/qemu/qemu_conf.c +--- libvirt-4.5.0.orig/src/qemu/qemu_conf.c ++++ libvirt-4.5.0/src/qemu/qemu_conf.c @@ -122,10 +122,9 @@ void qemuDomainCmdlineDefFree(qemuDomain #ifndef DEFAULT_LOADER_NVRAM @@ -36,11 +36,11 @@ Index: libvirt-4.4.0/src/qemu/qemu_conf.c #endif -Index: libvirt-4.4.0/src/security/virt-aa-helper.c +Index: libvirt-4.5.0/src/security/virt-aa-helper.c =================================================================== ---- libvirt-4.4.0.orig/src/security/virt-aa-helper.c -+++ libvirt-4.4.0/src/security/virt-aa-helper.c -@@ -517,7 +517,8 @@ valid_path(const char *path, const bool +--- libvirt-4.5.0.orig/src/security/virt-aa-helper.c ++++ libvirt-4.5.0/src/security/virt-aa-helper.c +@@ -515,7 +515,8 @@ valid_path(const char *path, const bool "/usr/share/ovmf/", /* for OVMF images */ "/usr/share/AAVMF/", /* for AAVMF images */ "/usr/share/qemu-efi/", /* for AAVMF images */ diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index 4e5f6ee..17364b4 100644 --- a/suse-qemu-conf.patch +++ b/suse-qemu-conf.patch @@ -7,11 +7,11 @@ 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-4.4.0/src/qemu/qemu.conf +Index: libvirt-4.5.0/src/qemu/qemu.conf =================================================================== ---- libvirt-4.4.0.orig/src/qemu/qemu.conf -+++ libvirt-4.4.0/src/qemu/qemu.conf -@@ -380,11 +380,20 @@ +--- libvirt-4.5.0.orig/src/qemu/qemu.conf ++++ libvirt-4.5.0/src/qemu/qemu.conf +@@ -414,11 +414,20 @@ # isolation, but it cannot appear in a list of drivers. # #security_driver = "selinux" @@ -34,8 +34,8 @@ Index: libvirt-4.4.0/src/qemu/qemu.conf # If set to non-zero, then attempts to create unconfined # guests will be blocked. Defaults to 0. -@@ -628,11 +637,22 @@ - #allow_disk_format_probing = 1 +@@ -650,11 +659,22 @@ + #relaxed_acs_check = 1 -# In order to prevent accidentally starting two domains that diff --git a/suse-virtlockd-sysconfig-settings.patch b/suse-virtlockd-sysconfig-settings.patch index 90ae330..aa6760c 100644 --- a/suse-virtlockd-sysconfig-settings.patch +++ b/suse-virtlockd-sysconfig-settings.patch @@ -1,9 +1,9 @@ Adjust virtlockd sysconfig file to conform to SUSE standards -Index: libvirt-4.4.0/src/locking/virtlockd.sysconf +Index: libvirt-4.5.0/src/locking/virtlockd.sysconf =================================================================== ---- libvirt-4.4.0.orig/src/locking/virtlockd.sysconf -+++ libvirt-4.4.0/src/locking/virtlockd.sysconf +--- libvirt-4.5.0.orig/src/locking/virtlockd.sysconf ++++ libvirt-4.5.0/src/locking/virtlockd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlockd + diff --git a/suse-virtlogd-sysconfig-settings.patch b/suse-virtlogd-sysconfig-settings.patch index 54cfd50..b3c5207 100644 --- a/suse-virtlogd-sysconfig-settings.patch +++ b/suse-virtlogd-sysconfig-settings.patch @@ -1,9 +1,9 @@ Adjust virtlogd sysconfig file to conform to SUSE standards -Index: libvirt-4.4.0/src/logging/virtlogd.sysconf +Index: libvirt-4.5.0/src/logging/virtlogd.sysconf =================================================================== ---- libvirt-4.4.0.orig/src/logging/virtlogd.sysconf -+++ libvirt-4.4.0/src/logging/virtlogd.sysconf +--- libvirt-4.5.0.orig/src/logging/virtlogd.sysconf ++++ libvirt-4.5.0/src/logging/virtlogd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlogd + diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index 6e15fcc..e038f7b 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,7 +1,7 @@ -Index: libvirt-4.4.0/src/xenconfig/xen_sxpr.c +Index: libvirt-4.5.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-4.4.0.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-4.4.0/src/xenconfig/xen_sxpr.c +--- libvirt-4.5.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-4.5.0/src/xenconfig/xen_sxpr.c @@ -387,7 +387,7 @@ xenParseSxprVifRate(const char *rate, un static int xenParseSxprDisks(virDomainDefPtr def, diff --git a/xen-sxpr-disk-type.patch b/xen-sxpr-disk-type.patch index 1b05290..5c37d10 100644 --- a/xen-sxpr-disk-type.patch +++ b/xen-sxpr-disk-type.patch @@ -6,10 +6,10 @@ and 'file'. This was implicitly done prior to commit 9673418c. https://bugzilla.suse.com/show_bug.cgi?id=938228 -Index: libvirt-4.4.0/src/xenconfig/xen_sxpr.c +Index: libvirt-4.5.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-4.4.0.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-4.4.0/src/xenconfig/xen_sxpr.c +--- libvirt-4.5.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-4.5.0/src/xenconfig/xen_sxpr.c @@ -501,10 +501,11 @@ xenParseSxprDisks(virDomainDefPtr def, omnipotent, we can revisit this, perhaps stat()'ing the src file in question */