]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Don't look for firmware in /etc/qemu/firmware if we're using a tools tree
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 30 Apr 2024 13:25:34 +0000 (15:25 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 30 Apr 2024 13:40:32 +0000 (15:40 +0200)
This is unlikely to work properly since the description in /etc/qemu/firmware
will assume the host's /usr is in place and not the tools tree's /usr.

mkosi/qemu.py

index 2a26aeb134af8e1a0f754766a77f8778dbec0fb7..8fc232c04b23c6d931548966138737b5163f67c4 100644 (file)
@@ -45,7 +45,7 @@ from mkosi.sandbox import Mount
 from mkosi.tree import copy_tree, rmtree
 from mkosi.types import PathString
 from mkosi.user import INVOKING_USER, become_root
-from mkosi.util import StrEnum, flatten, flock, flock_or_die, try_or
+from mkosi.util import StrEnum, flock, flock_or_die, try_or
 from mkosi.versioncomp import GenericVersion
 
 QEMU_KVM_DEVICE_VERSION = GenericVersion("9.0")
@@ -189,13 +189,9 @@ def find_ovmf_firmware(config: Config, firmware: QemuFirmware) -> Optional[OvmfC
     if not firmware.is_uefi():
         return None
 
-    desc = flatten(
-        p.glob("*")
-        for p in (
-            config.tools() / "etc/qemu/firmware",
-            config.tools() / "usr/share/qemu/firmware",
-        )
-    )
+    desc = list((config.tools() / "usr/share/qemu/firmware").glob("*"))
+    if config.tools() == Path("/"):
+        desc += list((config.tools() / "etc/qemu/firmware").glob("*"))
 
     arch = config.architecture.to_qemu()
     machine = config.architecture.default_qemu_machine()