app-emulation/libvirt: Fix firmware symlink patch for 11.6.0

Only part of the patch was reverted, so we only need to reapply that part.

Signed-off-by: James Le Cuirot <chewi@gentoo.org>
This commit is contained in:
James Le Cuirot
2025-09-12 10:01:20 +01:00
parent 2b39a213ec
commit 88f92636c4
2 changed files with 53 additions and 1 deletions

View File

@@ -0,0 +1,52 @@
Upstream: https://gitlab.com/libvirt/libvirt/-/merge_requests/498
Gentoo-Bug: https://bugs.gentoo.org/960591
diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c
index 2d0ec0b4fa228a0bdf996a4301b203f593a28ee0..b13b4f9abb1a0334c6f04a42d5373b8518eeb59c 100644
--- a/src/qemu/qemu_firmware.c
+++ b/src/qemu/qemu_firmware.c
@@ -33,6 +33,7 @@
#include "viralloc.h"
#include "virenum.h"
#include "virstring.h"
+#include "virfile.h"
#define VIR_FROM_THIS VIR_FROM_QEMU
@@ -937,23 +938,23 @@ qemuFirmwareMatchesPaths(const qemuFirmware *fw,
switch (fw->mapping.device) {
case QEMU_FIRMWARE_DEVICE_FLASH:
if (loader && loader->path &&
- STRNEQ(loader->path, flash->executable.filename))
+ !virFileComparePaths(loader->path, flash->executable.filename))
return false;
if (loader && loader->nvramTemplate) {
if (flash->mode != QEMU_FIRMWARE_FLASH_MODE_SPLIT)
return false;
- if (STRNEQ(loader->nvramTemplate, flash->nvram_template.filename))
+ if (!virFileComparePaths(loader->nvramTemplate, flash->nvram_template.filename))
return false;
}
break;
case QEMU_FIRMWARE_DEVICE_MEMORY:
if (loader && loader->path &&
- STRNEQ(loader->path, memory->filename))
+ !virFileComparePaths(loader->path, memory->filename))
return false;
break;
case QEMU_FIRMWARE_DEVICE_KERNEL:
if (kernelPath &&
- STRNEQ(kernelPath, kernel->filename))
+ !virFileComparePaths(kernelPath, kernel->filename))
return false;
break;
case QEMU_FIRMWARE_DEVICE_NONE:
@@ -1657,7 +1658,7 @@ qemuFirmwareFillDomainLegacy(virQEMUDriver *driver,
for (i = 0; i < cfg->nfirmwares; i++) {
virFirmware *fw = cfg->firmwares[i];
- if (STRNEQ(fw->name, loader->path)) {
+ if (!virFileComparePaths(fw->name, loader->path)) {
VIR_DEBUG("Not matching loader path '%s' for user provided path '%s'",
fw->name, loader->path);
continue;

View File

@@ -158,7 +158,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-11.0.0-Fix-paths-in-libvirt-guests.sh.in.patch
"${FILESDIR}"/${PN}-11.3.0-do-not-use-sysconfig.patch
"${FILESDIR}"/${PN}-11.3.0-fix-paths-for-apparmor.patch
"${FILESDIR}"/${PN}-11.1.0-match_firwmare_with_fully_resolved_paths.patch
"${FILESDIR}"/${PN}-11.6.0-match_firwmare_with_fully_resolved_paths.patch
)
python_check_deps() {