Date: Wednesday, May 6, 2020 @ 21:03:17 Author: coderobe Revision: 625192
upgpkg: libvirt 6.3.0-2: Fix FS#66563, FS#66564, FS#66565 (thanks loqs!) Modified: libvirt/trunk/PKGBUILD Deleted: libvirt/trunk/0001-qemu_firmware-Pass-virDomainDef-into-qemuFirmwareFil.patch libvirt/trunk/0002-qemu_firmware-Introduce-want-variable-to-qemuFirmwar.patch libvirt/trunk/0003-src-Introduce-and-use-virDomainDefHasOldStyleUEFI-an.patch libvirt/trunk/0004-qemu_firmware-Try-to-autofill-for-old-style-UEFI-spe.patch libvirt/trunk/libvirt.sysusers.d libvirt/trunk/libvirtd-guests.conf.d libvirt/trunk/libvirtd.conf.d -----------------------------------------------------------------+ 0001-qemu_firmware-Pass-virDomainDef-into-qemuFirmwareFil.patch | 104 ----- 0002-qemu_firmware-Introduce-want-variable-to-qemuFirmwar.patch | 70 --- 0003-src-Introduce-and-use-virDomainDefHasOldStyleUEFI-an.patch | 194 ---------- 0004-qemu_firmware-Try-to-autofill-for-old-style-UEFI-spe.patch | 111 ----- PKGBUILD | 9 libvirt.sysusers.d | 1 libvirtd-guests.conf.d | 9 libvirtd.conf.d | 1 8 files changed, 7 insertions(+), 492 deletions(-) Deleted: 0001-qemu_firmware-Pass-virDomainDef-into-qemuFirmwareFil.patch =================================================================== --- 0001-qemu_firmware-Pass-virDomainDef-into-qemuFirmwareFil.patch 2020-05-06 21:00:23 UTC (rev 625191) +++ 0001-qemu_firmware-Pass-virDomainDef-into-qemuFirmwareFil.patch 2020-05-06 21:03:17 UTC (rev 625192) @@ -1,104 +0,0 @@ -From 08fca7705b22c438e40f0202c5307ef2bae5b0f4 Mon Sep 17 00:00:00 2001 -From: Michal Privoznik <[email protected]> -Date: Fri, 13 Dec 2019 15:41:16 +0100 -Subject: [PATCH 1/4] qemu_firmware: Pass virDomainDef into - qemuFirmwareFillDomain() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This function needs domain definition really, we don't need to -pass the whole domain object. This saves couple of dereferences -and characters esp. in more checks to come. - -Signed-off-by: Michal Privoznik <[email protected]> -Reviewed-by: Cole Robinson <[email protected]> -Reviewed-by: Daniel P. Berrangé <[email protected]> ---- - src/qemu/qemu_firmware.c | 12 ++++++------ - src/qemu/qemu_firmware.h | 2 +- - src/qemu/qemu_process.c | 2 +- - 3 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c -index f62ce90ac9..96058c9b45 100644 ---- a/src/qemu/qemu_firmware.c -+++ b/src/qemu/qemu_firmware.c -@@ -1204,7 +1204,7 @@ qemuFirmwareFetchParsedConfigs(bool privileged, - - int - qemuFirmwareFillDomain(virQEMUDriverPtr driver, -- virDomainObjPtr vm, -+ virDomainDefPtr def, - unsigned int flags) - { - VIR_AUTOSTRINGLIST paths = NULL; -@@ -1217,7 +1217,7 @@ qemuFirmwareFillDomain(virQEMUDriverPtr driver, - if (!(flags & VIR_QEMU_PROCESS_START_NEW)) - return 0; - -- if (vm->def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_NONE) -+ if (def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_NONE) - return 0; - - if ((nfirmwares = qemuFirmwareFetchParsedConfigs(driver->privileged, -@@ -1225,7 +1225,7 @@ qemuFirmwareFillDomain(virQEMUDriverPtr driver, - return -1; - - for (i = 0; i < nfirmwares; i++) { -- if (qemuFirmwareMatchDomain(vm->def, firmwares[i], paths[i])) { -+ if (qemuFirmwareMatchDomain(def, firmwares[i], paths[i])) { - theone = firmwares[i]; - VIR_DEBUG("Found matching firmware (description path '%s')", - paths[i]); -@@ -1236,7 +1236,7 @@ qemuFirmwareFillDomain(virQEMUDriverPtr driver, - if (!theone) { - virReportError(VIR_ERR_OPERATION_FAILED, - _("Unable to find any firmware to satisfy '%s'"), -- virDomainOsDefFirmwareTypeToString(vm->def->os.firmware)); -+ virDomainOsDefFirmwareTypeToString(def->os.firmware)); - goto cleanup; - } - -@@ -1245,10 +1245,10 @@ qemuFirmwareFillDomain(virQEMUDriverPtr driver, - * likely that admin/FW manufacturer messed up. */ - qemuFirmwareSanityCheck(theone, paths[i]); - -- if (qemuFirmwareEnableFeatures(driver, vm->def, theone) < 0) -+ if (qemuFirmwareEnableFeatures(driver, def, theone) < 0) - goto cleanup; - -- vm->def->os.firmware = VIR_DOMAIN_OS_DEF_FIRMWARE_NONE; -+ def->os.firmware = VIR_DOMAIN_OS_DEF_FIRMWARE_NONE; - - ret = 0; - cleanup: -diff --git a/src/qemu/qemu_firmware.h b/src/qemu/qemu_firmware.h -index 4be65bc664..37cbfae39d 100644 ---- a/src/qemu/qemu_firmware.h -+++ b/src/qemu/qemu_firmware.h -@@ -45,7 +45,7 @@ qemuFirmwareFetchConfigs(char ***firmwares, - - int - qemuFirmwareFillDomain(virQEMUDriverPtr driver, -- virDomainObjPtr vm, -+ virDomainDefPtr def, - unsigned int flags); - - int -diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c -index a588ee25f8..ac0c052fc0 100644 ---- a/src/qemu/qemu_process.c -+++ b/src/qemu/qemu_process.c -@@ -6289,7 +6289,7 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, - goto cleanup; - - VIR_DEBUG("Prepare bios/uefi paths"); -- if (qemuFirmwareFillDomain(driver, vm, flags) < 0) -+ if (qemuFirmwareFillDomain(driver, vm->def, flags) < 0) - goto cleanup; - if (qemuDomainInitializePflashStorageSource(vm) < 0) - goto cleanup; --- -2.24.1 - Deleted: 0002-qemu_firmware-Introduce-want-variable-to-qemuFirmwar.patch =================================================================== --- 0002-qemu_firmware-Introduce-want-variable-to-qemuFirmwar.patch 2020-05-06 21:00:23 UTC (rev 625191) +++ 0002-qemu_firmware-Introduce-want-variable-to-qemuFirmwar.patch 2020-05-06 21:03:17 UTC (rev 625192) @@ -1,70 +0,0 @@ -From 9f67ec3b70a5c304c6baf6488a8070e4a9ece837 Mon Sep 17 00:00:00 2001 -From: Michal Privoznik <[email protected]> -Date: Tue, 7 Jan 2020 10:10:02 +0100 -Subject: [PATCH 2/4] qemu_firmware: Introduce @want variable to - qemuFirmwareMatchDomain() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This simplifies condition when matching FW interface by having a -single line condition instead of multiline one. Also, it prepares -the code for future expansion. - -Signed-off-by: Michal Privoznik <[email protected]> -Reviewed-by: Daniel P. Berrangé <[email protected]> ---- - src/qemu/qemu_firmware.c | 25 +++++++++++++++++++++---- - 1 file changed, 21 insertions(+), 4 deletions(-) - -diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c -index 96058c9b45..41e05e570b 100644 ---- a/src/qemu/qemu_firmware.c -+++ b/src/qemu/qemu_firmware.c -@@ -930,22 +930,39 @@ qemuFirmwareMatchesMachineArch(const qemuFirmware *fw, - } - - -+static qemuFirmwareOSInterface -+qemuFirmwareOSInterfaceTypeFromOsDefFirmware(virDomainOsDefFirmware fw) -+{ -+ switch (fw) { -+ case VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS: -+ return QEMU_FIRMWARE_OS_INTERFACE_BIOS; -+ case VIR_DOMAIN_OS_DEF_FIRMWARE_EFI: -+ return QEMU_FIRMWARE_OS_INTERFACE_UEFI; -+ case VIR_DOMAIN_OS_DEF_FIRMWARE_NONE: -+ case VIR_DOMAIN_OS_DEF_FIRMWARE_LAST: -+ break; -+ } -+ -+ return QEMU_FIRMWARE_OS_INTERFACE_NONE; -+} -+ -+ - static bool - qemuFirmwareMatchDomain(const virDomainDef *def, - const qemuFirmware *fw, - const char *path) - { - size_t i; -+ qemuFirmwareOSInterface want; - bool supportsS3 = false; - bool supportsS4 = false; - bool requiresSMM = false; - bool supportsSEV = false; - -+ want = qemuFirmwareOSInterfaceTypeFromOsDefFirmware(def->os.firmware); -+ - for (i = 0; i < fw->ninterfaces; i++) { -- if ((def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS && -- fw->interfaces[i] == QEMU_FIRMWARE_OS_INTERFACE_BIOS) || -- (def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_EFI && -- fw->interfaces[i] == QEMU_FIRMWARE_OS_INTERFACE_UEFI)) -+ if (fw->interfaces[i] == want) - break; - } - --- -2.24.1 - Deleted: 0003-src-Introduce-and-use-virDomainDefHasOldStyleUEFI-an.patch =================================================================== --- 0003-src-Introduce-and-use-virDomainDefHasOldStyleUEFI-an.patch 2020-05-06 21:00:23 UTC (rev 625191) +++ 0003-src-Introduce-and-use-virDomainDefHasOldStyleUEFI-an.patch 2020-05-06 21:03:17 UTC (rev 625192) @@ -1,194 +0,0 @@ -From 482e078b654c63590a09958b63b221fa80efcc6e Mon Sep 17 00:00:00 2001 -From: Michal Privoznik <[email protected]> -Date: Tue, 7 Jan 2020 10:34:03 +0100 -Subject: [PATCH 3/4] src: Introduce and use virDomainDefHasOldStyleUEFI() and - virDomainDefHasOldStyleROUEFI() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -These functions are meant to replace verbose check for the old -style of specifying UEFI with a simple function call. - -Signed-off-by: Michal Privoznik <[email protected]> -Reviewed-by: Daniel P. Berrangé <[email protected]> ---- - src/bhyve/bhyve_driver.c | 3 +-- - src/conf/domain_conf.c | 16 ++++++++++++++++ - src/conf/domain_conf.h | 6 ++++++ - src/libvirt_private.syms | 2 ++ - src/libxl/libxl_conf.c | 3 +-- - src/libxl/xen_xl.c | 8 +++----- - src/qemu/qemu_domain.c | 14 ++++---------- - src/qemu/qemu_driver.c | 3 +-- - 8 files changed, 34 insertions(+), 21 deletions(-) - -diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c -index d40ae1cd23..6edcc37326 100644 ---- a/src/bhyve/bhyve_driver.c -+++ b/src/bhyve/bhyve_driver.c -@@ -714,8 +714,7 @@ bhyveConnectDomainXMLToNative(virConnectPtr conn, - if (def->os.bootloader == NULL && - def->os.loader) { - -- if ((def->os.loader->readonly != VIR_TRISTATE_BOOL_YES) || -- (def->os.loader->type != VIR_DOMAIN_LOADER_TYPE_PFLASH)) { -+ if (!virDomainDefHasOldStyleROUEFI(def)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Only read-only pflash is supported.")); - goto cleanup; -diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c -index 9580884747..54234049f7 100644 ---- a/src/conf/domain_conf.c -+++ b/src/conf/domain_conf.c -@@ -31400,6 +31400,22 @@ virDomainDefHasMdevHostdev(const virDomainDef *def) - } - - -+bool -+virDomainDefHasOldStyleUEFI(const virDomainDef *def) -+{ -+ return def->os.loader && -+ def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH; -+} -+ -+ -+bool -+virDomainDefHasOldStyleROUEFI(const virDomainDef *def) -+{ -+ return virDomainDefHasOldStyleUEFI(def) && -+ def->os.loader->readonly == VIR_TRISTATE_BOOL_YES; -+} -+ -+ - /** - * virDomainGraphicsDefHasOpenGL: - * @def: domain definition -diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h -index 49cb6970e6..1332bdecc2 100644 ---- a/src/conf/domain_conf.h -+++ b/src/conf/domain_conf.h -@@ -3680,6 +3680,12 @@ virDomainDefHasVFIOHostdev(const virDomainDef *def); - bool - virDomainDefHasMdevHostdev(const virDomainDef *def); - -+bool -+virDomainDefHasOldStyleUEFI(const virDomainDef *def); -+ -+bool -+virDomainDefHasOldStyleROUEFI(const virDomainDef *def); -+ - bool - virDomainGraphicsDefHasOpenGL(const virDomainDef *def); - -diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms -index 8fe0bf9365..5cfc8af46d 100644 ---- a/src/libvirt_private.syms -+++ b/src/libvirt_private.syms -@@ -297,6 +297,8 @@ virDomainDefHasManagedPR; - virDomainDefHasMdevHostdev; - virDomainDefHasMemballoon; - virDomainDefHasMemoryHotplug; -+virDomainDefHasOldStyleROUEFI; -+virDomainDefHasOldStyleUEFI; - virDomainDefHasUSB; - virDomainDefHasVcpusOffline; - virDomainDefHasVFIOHostdev; -diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c -index 37fe360067..d712515b05 100644 ---- a/src/libxl/libxl_conf.c -+++ b/src/libxl/libxl_conf.c -@@ -546,8 +546,7 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, - * future, Xen will support a user-specified firmware path. See - * http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01628.html - */ -- if (def->os.loader && -- def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH) -+ if (virDomainDefHasOldStyleUEFI(def)) - b_info->u.hvm.bios = LIBXL_BIOS_TYPE_OVMF; - - if (def->emulator) { -diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c -index 396adf6dac..f0269b01ff 100644 ---- a/src/libxl/xen_xl.c -+++ b/src/libxl/xen_xl.c -@@ -1235,11 +1235,9 @@ xenFormatXLOS(virConfPtr conf, virDomainDefPtr def) - if (xenConfigSetString(conf, "builder", "hvm") < 0) - return -1; - -- if (def->os.loader && -- def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH) { -- if (xenConfigSetString(conf, "bios", "ovmf") < 0) -- return -1; -- } -+ if (virDomainDefHasOldStyleUEFI(def) && -+ xenConfigSetString(conf, "bios", "ovmf") < 0) -+ return -1; - - if (def->os.slic_table && - xenConfigSetString(conf, "acpi_firmware", def->os.slic_table) < 0) -diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c -index d1596a28ca..626ed5f326 100644 ---- a/src/qemu/qemu_domain.c -+++ b/src/qemu/qemu_domain.c -@@ -4968,8 +4968,7 @@ qemuDomainDefValidate(const virDomainDef *def, - - /* On x86, UEFI requires ACPI */ - if ((def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_EFI || -- (def->os.loader && -- def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH)) && -+ virDomainDefHasOldStyleUEFI(def)) && - ARCH_IS_X86(def->os.arch) && - def->features[VIR_DOMAIN_FEATURE_ACPI] != VIR_TRISTATE_SWITCH_ON) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -@@ -4981,8 +4980,7 @@ qemuDomainDefValidate(const virDomainDef *def, - if (def->features[VIR_DOMAIN_FEATURE_ACPI] == VIR_TRISTATE_SWITCH_ON && - def->os.arch == VIR_ARCH_AARCH64 && - (def->os.firmware != VIR_DOMAIN_OS_DEF_FIRMWARE_EFI && -- (!def->os.loader || -- def->os.loader->type != VIR_DOMAIN_LOADER_TYPE_PFLASH))) { -+ !virDomainDefHasOldStyleUEFI(def))) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("ACPI requires UEFI on this architecture")); - goto cleanup; -@@ -15545,12 +15543,9 @@ void - qemuDomainNVRAMPathGenerate(virQEMUDriverConfigPtr cfg, - virDomainDefPtr def) - { -- if (def->os.loader && -- def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH && -- def->os.loader->readonly == VIR_TRISTATE_BOOL_YES && -+ if (virDomainDefHasOldStyleROUEFI(def) && - !def->os.loader->nvram) - qemuDomainNVRAMPathFormat(cfg, def, &def->os.loader->nvram); -- - } - - -@@ -15677,8 +15672,7 @@ qemuDomainInitializePflashStorageSource(virDomainObjPtr vm) - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) - return 0; - -- if (!def->os.loader || -- def->os.loader->type != VIR_DOMAIN_LOADER_TYPE_PFLASH) -+ if (!virDomainDefHasOldStyleUEFI(def)) - return 0; - - if (!(pflash0 = virStorageSourceNew())) -diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c -index 06d16ee8e6..becb83f32b 100644 ---- a/src/qemu/qemu_driver.c -+++ b/src/qemu/qemu_driver.c -@@ -15129,8 +15129,7 @@ qemuDomainSnapshotPrepare(virDomainObjPtr vm, - * Avoid the issues by forbidding internal snapshot with pflash completely. - */ - if (found_internal && -- vm->def->os.loader && -- vm->def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH) { -+ virDomainDefHasOldStyleUEFI(vm->def)) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("internal snapshots of a VM with pflash based " - "firmware are not supported")); --- -2.24.1 - Deleted: 0004-qemu_firmware-Try-to-autofill-for-old-style-UEFI-spe.patch =================================================================== --- 0004-qemu_firmware-Try-to-autofill-for-old-style-UEFI-spe.patch 2020-05-06 21:00:23 UTC (rev 625191) +++ 0004-qemu_firmware-Try-to-autofill-for-old-style-UEFI-spe.patch 2020-05-06 21:03:17 UTC (rev 625192) @@ -1,111 +0,0 @@ -From 2547834c188536817662809880fa889c789e9e0e Mon Sep 17 00:00:00 2001 -From: Michal Privoznik <[email protected]> -Date: Tue, 17 Dec 2019 17:45:50 +0100 -Subject: [PATCH 4/4] qemu_firmware: Try to autofill for old style UEFI - specification -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -While we discourage people to use the old style of specifying -UEFI for their domains (the old style is putting path to the FW -image under /domain/os/loader/ whilst the new one is using -/domain/os/@firmware), some applications might have not adapted -yet. They still rely on libvirt autofilling NVRAM path and -figuring out NVRAM template when using the old way (notably -virt-install does this). We must preserve backcompat for this -previously supported config approach. However, since we really -want distro maintainers to leave --with-loader-nvram configure -option and rely on JSON descriptors, we need to implement -autofilling of NVRAM template for the old way too. - -Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=1782778 -RHEL: https://bugzilla.redhat.com/show_bug.cgi?id=1776949 - -Signed-off-by: Michal Privoznik <[email protected]> -Reviewed-by: Daniel P. Berrangé <[email protected]> ---- - src/qemu/qemu_firmware.c | 47 +++++++++++++++++++++++++++++++++++----- - 1 file changed, 42 insertions(+), 5 deletions(-) - -diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c -index 41e05e570b..f045e7d69c 100644 ---- a/src/qemu/qemu_firmware.c -+++ b/src/qemu/qemu_firmware.c -@@ -961,6 +961,21 @@ qemuFirmwareMatchDomain(const virDomainDef *def, - - want = qemuFirmwareOSInterfaceTypeFromOsDefFirmware(def->os.firmware); - -+ if (want == QEMU_FIRMWARE_OS_INTERFACE_NONE && -+ def->os.loader) { -+ want = qemuFirmwareOSInterfaceTypeFromOsDefFirmware(def->os.loader->type); -+ -+ if (fw->mapping.device != QEMU_FIRMWARE_DEVICE_FLASH || -+ STRNEQ(def->os.loader->path, fw->mapping.data.flash.executable.filename)) { -+ VIR_DEBUG("Not matching FW interface %s or loader " -+ "path '%s' for user provided path '%s'", -+ qemuFirmwareDeviceTypeToString(fw->mapping.device), -+ fw->mapping.data.flash.executable.filename, -+ def->os.loader->path); -+ return false; -+ } -+ } -+ - for (i = 0; i < fw->ninterfaces; i++) { - if (fw->interfaces[i] == want) - break; -@@ -1228,14 +1243,29 @@ qemuFirmwareFillDomain(virQEMUDriverPtr driver, - qemuFirmwarePtr *firmwares = NULL; - ssize_t nfirmwares = 0; - const qemuFirmware *theone = NULL; -+ bool needResult = true; - size_t i; - int ret = -1; - - if (!(flags & VIR_QEMU_PROCESS_START_NEW)) - return 0; - -- if (def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_NONE) -- return 0; -+ /* Fill in FW paths if either os.firmware is enabled, or -+ * loader path was provided with no nvram varstore. */ -+ if (def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_NONE) { -+ /* This is horrific check, but loosely said, if UEFI -+ * image was provided by the old method (by specifying -+ * its path in domain XML) but no template for NVRAM was -+ * specified and the varstore doesn't exist ... */ -+ if (!virDomainDefHasOldStyleROUEFI(def) || -+ def->os.loader->templt || -+ virFileExists(def->os.loader->nvram)) -+ return 0; -+ -+ /* ... then we want to consult JSON FW descriptors first, -+ * but we don't want to fail if we haven't found a match. */ -+ needResult = false; -+ } - - if ((nfirmwares = qemuFirmwareFetchParsedConfigs(driver->privileged, - &firmwares, &paths)) < 0) -@@ -1251,9 +1281,16 @@ qemuFirmwareFillDomain(virQEMUDriverPtr driver, - } - - if (!theone) { -- virReportError(VIR_ERR_OPERATION_FAILED, -- _("Unable to find any firmware to satisfy '%s'"), -- virDomainOsDefFirmwareTypeToString(def->os.firmware)); -+ if (needResult) { -+ virReportError(VIR_ERR_OPERATION_FAILED, -+ _("Unable to find any firmware to satisfy '%s'"), -+ virDomainOsDefFirmwareTypeToString(def->os.firmware)); -+ } else { -+ VIR_DEBUG("Unable to find NVRAM template for '%s', " -+ "falling back to old style", -+ NULLSTR(def->os.loader ? def->os.loader->path : NULL)); -+ ret = 0; -+ } - goto cleanup; - } - --- -2.24.1 - Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-05-06 21:00:23 UTC (rev 625191) +++ PKGBUILD 2020-05-06 21:03:17 UTC (rev 625192) @@ -5,11 +5,11 @@ pkgname=(libvirt libvirt-storage-gluster libvirt-storage-iscsi-direct libvirt-storage-rbd) pkgver=6.3.0 -pkgrel=1 +pkgrel=2 pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)" arch=('x86_64') url="https://libvirt.org/" -license=('LGPL') +license=('LGPL' 'GPL3') #libvirt_parthelper links to libparted which is GPL3 only depends=('libpciaccess' 'yajl' 'fuse2' 'gnutls' 'parted' 'libssh' 'libxml2' 'numactl' 'polkit') makedepends=('libxslt' 'python-docutils' 'lvm2' 'open-iscsi' 'libiscsi' 'ceph-libs' 'glusterfs' 'bash-completion' 'rpcsvc-proto' 'dnsmasq' 'iproute2' 'qemu-headless') @@ -100,6 +100,8 @@ sed -i 's|/usr/libexec/qemu-bridge-helper|/usr/lib/qemu/qemu-bridge-helper|g' \ src/qemu/qemu.conf \ src/qemu/test_libvirtd_qemu.aug.in + + sed -i 's/notify/simple/' src/remote/libvirtd.service.in } build() { @@ -135,6 +137,9 @@ chmod 600 "$pkgdir"/etc/libvirt/nwfilter/*.xml \ "$pkgdir/etc/libvirt/qemu/networks/default.xml" + # Strip auto-generated UUID, so it will be generated per-install. (reproducible builds) + sed -i '/<uuid>/d' "$pkgdir"/etc/libvirt/qemu/networks/default.xml + rm -rf \ "$pkgdir/run" \ "$pkgdir/var/lib/libvirt/qemu" \ Deleted: libvirt.sysusers.d =================================================================== --- libvirt.sysusers.d 2020-05-06 21:00:23 UTC (rev 625191) +++ libvirt.sysusers.d 2020-05-06 21:03:17 UTC (rev 625192) @@ -1 +0,0 @@ -g libvirt - - Deleted: libvirtd-guests.conf.d =================================================================== --- libvirtd-guests.conf.d 2020-05-06 21:00:23 UTC (rev 625191) +++ libvirtd-guests.conf.d 2020-05-06 21:03:17 UTC (rev 625192) @@ -1,9 +0,0 @@ -BYPASS_CACHE=0 -CONNECT_RETRIES=10 -ON_BOOT=start -ON_SHUTDOWN=suspend -PARALLEL_SHUTDOWN=0 -RETRIES_SLEEP=1 -SHUTDOWN_TIMEOUT=300 -START_DELAY=0 -URIS=default Deleted: libvirtd.conf.d =================================================================== --- libvirtd.conf.d 2020-05-06 21:00:23 UTC (rev 625191) +++ libvirtd.conf.d 2020-05-06 21:03:17 UTC (rev 625192) @@ -1 +0,0 @@ -LIBVIRTD_ARGS=""
