Hi

On Tue, Jun 16, 2020 at 2:59 AM Joe Slater <joe.sla...@windriver.com> wrote:

> Always look for ../share/qemu then ../pc-bios when looking for datadir.
>
> Signed-off-by: Joe Slater <joe.sla...@windriver.com>
>

Looks good to me, with:
Fixes: 6dd2dacedd83d12328 ("os-posix: simplify os_find_datadir")
Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>

Alternatively, we may want to check the binary install location to decide
which path to return. I sent a proposal "[RFC PATCH] os-posix: fix
regression for install-less datadir location".

---
>  os-posix.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/os-posix.c b/os-posix.c
> index 3cd52e1e70..f77da94bf6 100644
> --- a/os-posix.c
> +++ b/os-posix.c
> @@ -82,8 +82,9 @@ void os_setup_signal_handling(void)
>
>  /*
>   * Find a likely location for support files using the location of the
> binary.
> + * Typically, this would be "$bindir/../share/qemu".
>   * When running from the build tree this will be "$bindir/../pc-bios".
> - * Otherwise, this is CONFIG_QEMU_DATADIR.
> + * Otherwise, this is CONFIG_QEMU_DATADIR as constructed by configure.
>   */
>  char *os_find_datadir(void)
>  {
> @@ -93,6 +94,12 @@ 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);
> +    }
> +    g_free(dir);  /* no autofree this time */
> +
>      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.17.1
>
>
>

-- 
Marc-André Lureau

Reply via email to