qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v10 0/4] cutils: Introduce bundle mechanism


From: Paolo Bonzini
Subject: Re: [PATCH v10 0/4] cutils: Introduce bundle mechanism
Date: Mon, 11 Jul 2022 17:42:19 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0

On 6/27/22 05:57, Akihiko Odaki wrote:
Developers often run QEMU without installing. The bundle mechanism
allows to look up files which should be present in installation even in
such a situation.

It is a general mechanism and can find any files located relative
to the installation tree. The build tree must have a new directory,
qemu-bundle, to represent what files the installation tree would
have for reference by the executables.

Note that this abandons compatibility with Windows older than 8 to use
PathCchSkipRoot(). The extended support for the prior version, 7 ended
more than 2 years ago, and it is unlikely that anyone would like to run
the latest QEMU on such an old system.

Thanks, merged.

However there were a couple issues:

- the bashism in patch 4, replaced by

+meson_option_build_array() {
+  printf '['
+  (if test "$targetos" == windows; then
+    IFS=\;
+  else
+    IFS=:
+  fi
+  for e in $1; do
+    e=${e/'\'/'\\'}
+    e=${e/\"/'\"'}
+    printf '"""%s""",' "$e"
+  done)
+  printf ']\n'
+}
+

- oss-fuzz didn't work, it has a syntax error and also can be simplified to use qemu-bundle as well, like

-# Copy over the datadir
-cp  -r ../pc-bios/ "$DEST_DIR/pc-bios"
+# Prepare a preinstalled tree
+make install DESTDIR=$DEST_DIR/qemu-bundle


Paolo
v10:
* Update destdir_join() in scripts/symlink-install-tree.py with the
   latest implementation from Meson:
   https://github.com/mesonbuild/meson/pull/10531

v9:
* Update _WIN32_WINNT in include/qemu/osdep.h (Thomas Huth)

v8:
* Pass absolute paths to get_relocated_path() (Paolo Bonzini)
* Use meson introspection (Paolo Bonzini)
* Drop "qga: Relocate a path emitted in the help text" as it is no longer
   relevant for the bundle mechanism.

v7: Properly fix --firmwarepath (Daniel P. Berrangé)

v6: Reuse get_relocated_path() in find_bundle() (Paolo Bonzini)

v5:
* Prefer qemu-bundle if it exists. (Daniel P. Berrangé)
* Check install_blobs option before installing BIOSes (Paolo Bonzini)
* Add common code to set up qemu-bundle to the top level meson.build
   (Paolo Bonzini)

v4:
* Add Daniel P. Berrangé to CC. Hopefully this helps merging his patch:
   https://mail.gnu.org/archive/html/qemu-devel/2022-06/msg02276.html
* Rebased to the latest QEMU.

v3:
* Note that the bundle mechanism is for any files located relative to the
   installation tree including but not limited to datadir. (Peter Maydell)
* Fix "bridge" typo (Philippe Mathieu-Daudé)

v2: Rebased to the latest QEMU.

Akihiko Odaki (3):
   cutils: Introduce bundle mechanism
   datadir: Use bundle mechanism
   module: Use bundle mechanism

Paolo Bonzini (1):
   tests/vm: do not specify -bios option

  .travis.yml                     |  2 +-
  docs/about/build-platforms.rst  |  2 +-
  include/qemu/cutils.h           | 18 +++++++--
  include/qemu/osdep.h            |  2 +-
  meson.build                     |  4 ++
  pc-bios/keymaps/meson.build     | 21 +++-------
  pc-bios/meson.build             | 13 ++-----
  scripts/oss-fuzz/build.sh       |  2 +-
  scripts/symlink-install-tree.py | 34 +++++++++++++++++
  softmmu/datadir.c               | 22 +----------
  tests/qtest/fuzz/fuzz.c         | 15 --------
  tests/vm/fedora                 |  1 -
  tests/vm/freebsd                |  1 -
  tests/vm/netbsd                 |  1 -
  tests/vm/openbsd                |  1 -
  util/cutils.c                   | 68 +++++++++++++++++++++++----------
  util/meson.build                |  1 +
  util/module.c                   |  1 -
  18 files changed, 115 insertions(+), 94 deletions(-)
  create mode 100755 scripts/symlink-install-tree.py





reply via email to

[Prev in Thread] Current Thread [Next in Thread]