[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] os-posix: Restore firmware location ../share/qemu
From: |
azoff |
Subject: |
[PATCH] os-posix: Restore firmware location ../share/qemu |
Date: |
Wed, 26 Aug 2020 09:57:05 +0200 |
Prior to commit 6dd2dacedd83d12328afa8559bffb2b9ec5c89ed (v5.0.0), the
binary relative path ../share/qemu was searched for firmware, but in
that commit, this path got lost.
Consider the following use-case:
* QEMU is built in a docker image on one system.
* QEMU is supposed to be executed on a plethora of distributions/systems
* QEMU is not installed system wide on the executors
When building QEMU, the --prefix configure flag is used to generate a
tree containing all the QEMU resources that needs to be transfered to
the executors. The path to the root of the QEMU tree might be different
for the different executors, therefore, the path stored in
CONFIG_QEMU_DATADIR is likely not the right one.
With this use-case, the only likely path is one that is expressed as
relative to the root of the QEMU binary tree or the QEMU binary iself.
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
---
os-posix.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/os-posix.c b/os-posix.c
index bf98508b6d..f016ac374c 100644
--- a/os-posix.c
+++ b/os-posix.c
@@ -96,6 +96,11 @@ char *os_find_datadir(void)
exec_dir = qemu_get_exec_dir();
g_return_val_if_fail(exec_dir != NULL, NULL);
+ dir = g_build_filename(exec_dir, "..", "share", "qemu", NULL);
+ if (g_file_test(dir, G_FILE_TEST_IS_DIR)) {
+ return g_steal_pointer(&dir);
+ }
+
dir = g_build_filename(exec_dir, "pc-bios", NULL);
if (g_file_test(dir, G_FILE_TEST_IS_DIR)) {
return g_steal_pointer(&dir);
--
2.26.2
- [PATCH] os-posix: Restore firmware location ../share/qemu,
azoff <=