]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
qemu: Upgrade 8.0.4 -> 8.1.0
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 24 Aug 2023 15:41:20 +0000 (16:41 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 24 Aug 2023 21:05:24 +0000 (22:05 +0100)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/conf/distro/include/tcmode-default.inc
meta/recipes-devtools/qemu/qemu-native_8.1.0.bb [moved from meta/recipes-devtools/qemu/qemu-native_8.0.4.bb with 100% similarity]
meta/recipes-devtools/qemu/qemu-system-native_8.1.0.bb [moved from meta/recipes-devtools/qemu/qemu-system-native_8.0.4.bb with 100% similarity]
meta/recipes-devtools/qemu/qemu.inc
meta/recipes-devtools/qemu/qemu/0001-tracetool-use-relative-paths-for-line-preprocessor-d.patch [deleted file]
meta/recipes-devtools/qemu/qemu/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch
meta/recipes-devtools/qemu/qemu/fixedmeson.patch [new file with mode: 0644]
meta/recipes-devtools/qemu/qemu_8.1.0.bb [moved from meta/recipes-devtools/qemu/qemu_8.0.4.bb with 100% similarity]

index 660ca5f72d6dc9ada236b68bfc8299440f0894ed..2e403ce98085396d724a4945dbb584612cb2ecd8 100644 (file)
@@ -22,7 +22,7 @@ BINUVERSION ?= "2.41%"
 GDBVERSION ?= "13.%"
 GLIBCVERSION ?= "2.38"
 LINUXLIBCVERSION ?= "6.4%"
-QEMUVERSION ?= "8.0%"
+QEMUVERSION ?= "8.1%"
 GOVERSION ?= "1.20%"
 LLVMVERSION ?= "16.%"
 RUSTVERSION ?= "1.70%"
index ea02bf0c73d66a94df5f50211fb1338cae068ef4..59a66a855a26aa623ae3c5d85c67a525ed52a723 100644 (file)
@@ -9,7 +9,9 @@ LICENSE = "GPL-2.0-only & LGPL-2.1-only"
 RDEPENDS:${PN}-ptest = "bash"
 
 require qemu-targets.inc
-inherit pkgconfig ptest update-rc.d systemd
+# https://gitlab.com/qemu-project/qemu/-/commit/81e2b198a8cb4ee5fdf108bd438f44b193ee3a36 means
+# we need a full python3-native setup
+inherit pkgconfig ptest update-rc.d systemd python3native
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
                     file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f"
@@ -27,13 +29,13 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
            file://0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \
            file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \
            file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \
-           file://0001-tracetool-use-relative-paths-for-line-preprocessor-d.patch \
+           file://fixedmeson.patch \
            file://qemu-guest-agent.init \
            file://qemu-guest-agent.udev \
            "
 UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
 
-SRC_URI[sha256sum] = "81c817dda38af958be5bef1a6cf55b658bb2d3fb87c1e6a571de6b7b2c44516c"
+SRC_URI[sha256sum] = "710c101198e334d4762eef65f649bc43fa8a5dd75303554b8acfec3eb25f0e55"
 
 SRC_URI:append:class-target = " file://cross.patch"
 SRC_URI:append:class-nativesdk = " file://cross.patch"
@@ -104,9 +106,8 @@ EXTRA_OECONF = " \
     --disable-werror \
     --extra-cflags='${CFLAGS}' \
     --extra-ldflags='${LDFLAGS}' \
-    --with-git=/bin/false \
-    --with-git-submodules=ignore \
-    --meson=meson \
+    --disable-download \
+    --disable-docs \
     ${PACKAGECONFIG_CONFARGS} \
     "
 
@@ -144,6 +145,10 @@ do_install () {
                install -m 0644 ${S}/contrib/systemd/qemu-guest-agent.service ${D}${systemd_unitdir}/system
                sed -i -e 's,-/usr/bin/,-${bindir}/,g' ${D}${systemd_unitdir}/system/qemu-guest-agent.service
        fi
+       # ELF binary /usr/share/qemu/s390-netboot.img has relocations in .text
+       rm ${D}${datadir}/qemu/s390-netboot.img -f
+       # ELF binary /usr/share/qemu/s390-ccw.img has relocations in .text [textrel]
+       rm ${D}${datadir}/qemu/s390-ccw.img -f
 }
 
 # The following fragment will create a wrapper for qemu-mips user emulation
diff --git a/meta/recipes-devtools/qemu/qemu/0001-tracetool-use-relative-paths-for-line-preprocessor-d.patch b/meta/recipes-devtools/qemu/qemu/0001-tracetool-use-relative-paths-for-line-preprocessor-d.patch
deleted file mode 100644 (file)
index 049b9a5..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-From 348ea441db84a211d4fca7ef5544b5cd06a8a872 Mon Sep 17 00:00:00 2001
-From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
-Date: Tue, 4 Apr 2023 15:26:07 +0200
-Subject: [PATCH] tracetool: use relative paths for '#line' preprocessor
- directives
-
-The event filename is an absolute path. Convert it to a relative path when
-writing '#line' directives, to preserve reproducibility of the generated
-output when different base paths are used.
-
-Upstream-Status: Accepted [https://gitlab.com/qemu-project/qemu/-/commit/9d672e290475001fcecdcc9dc79ad088ff89d17f]
-
----
- scripts/tracetool/backend/ftrace.py | 4 +++-
- scripts/tracetool/backend/log.py    | 4 +++-
- scripts/tracetool/backend/syslog.py | 4 +++-
- 3 files changed, 9 insertions(+), 3 deletions(-)
-
-Index: qemu-8.0.0/scripts/tracetool/backend/ftrace.py
-===================================================================
---- qemu-8.0.0.orig/scripts/tracetool/backend/ftrace.py
-+++ qemu-8.0.0/scripts/tracetool/backend/ftrace.py
-@@ -12,6 +12,8 @@ __maintainer__ = "Stefan Hajnoczi"
- __email__      = "stefanha@redhat.com"
-+import os.path
-+
- from tracetool import out
-@@ -45,7 +47,7 @@ def generate_h(event, group):
-         args=event.args,
-         event_id="TRACE_" + event.name.upper(),
-         event_lineno=event.lineno,
--        event_filename=event.filename,
-+        event_filename=os.path.relpath(event.filename),
-         fmt=event.fmt.rstrip("\n"),
-         argnames=argnames)
-Index: qemu-8.0.0/scripts/tracetool/backend/log.py
-===================================================================
---- qemu-8.0.0.orig/scripts/tracetool/backend/log.py
-+++ qemu-8.0.0/scripts/tracetool/backend/log.py
-@@ -12,6 +12,8 @@ __maintainer__ = "Stefan Hajnoczi"
- __email__      = "stefanha@redhat.com"
-+import os.path
-+
- from tracetool import out
-@@ -53,7 +55,7 @@ def generate_h(event, group):
-         '    }',
-         cond=cond,
-         event_lineno=event.lineno,
--        event_filename=event.filename,
-+        event_filename=os.path.relpath(event.filename),
-         name=event.name,
-         fmt=event.fmt.rstrip("\n"),
-         argnames=argnames)
-Index: qemu-8.0.0/scripts/tracetool/backend/syslog.py
-===================================================================
---- qemu-8.0.0.orig/scripts/tracetool/backend/syslog.py
-+++ qemu-8.0.0/scripts/tracetool/backend/syslog.py
-@@ -12,6 +12,8 @@ __maintainer__ = "Stefan Hajnoczi"
- __email__      = "stefanha@redhat.com"
-+import os.path
-+
- from tracetool import out
-@@ -41,7 +43,7 @@ def generate_h(event, group):
-         '    }',
-         cond=cond,
-         event_lineno=event.lineno,
--        event_filename=event.filename,
-+        event_filename=os.path.relpath(event.filename),
-         name=event.name,
-         fmt=event.fmt.rstrip("\n"),
-         argnames=argnames)
index 02f22143c138c30e40f31cfeba3f53c906a78498..f981a64a543659eab0a2b69cde855704410211aa 100644 (file)
@@ -14,16 +14,16 @@ Signed-off-by: He Zhe <zhe.he@windriver.com>
  meson.build | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: qemu-8.0.0/meson.build
+Index: qemu-8.1.0/meson.build
 ===================================================================
---- qemu-8.0.0.orig/meson.build
-+++ qemu-8.0.0/meson.build
-@@ -1213,7 +1213,7 @@ endif
+--- qemu-8.1.0.orig/meson.build
++++ qemu-8.1.0/meson.build
+@@ -1481,7 +1481,7 @@ endif
  if not gnutls_crypto.found()
    if (not get_option('gcrypt').auto() or have_system) and not get_option('nettle').enabled()
      gcrypt = dependency('libgcrypt', version: '>=1.8',
 -                        method: 'config-tool',
 +                        method: 'pkg-config',
-                         required: get_option('gcrypt'),
-                         kwargs: static_kwargs)
+                         required: get_option('gcrypt'))
      # Debian has removed -lgpg-error from libgcrypt-config
+     # as it "spreads unnecessary dependencies" which in
diff --git a/meta/recipes-devtools/qemu/qemu/fixedmeson.patch b/meta/recipes-devtools/qemu/qemu/fixedmeson.patch
new file mode 100644 (file)
index 0000000..0cbaea0
--- /dev/null
@@ -0,0 +1,20 @@
+Upstream-Status: Inappropriate [workaround, would need a real fix for upstream]
+
+Index: qemu-8.1.0/configure
+===================================================================
+--- qemu-8.1.0.orig/configure
++++ qemu-8.1.0/configure
+@@ -1032,12 +1032,7 @@ then
+     exit 1
+ fi
+-# At this point, we expect Meson to be installed and available.
+-# We expect mkvenv or pip to have created pyvenv/bin/meson for us.
+-# We ignore PATH completely here: we want to use the venv's Meson
+-# *exclusively*.
+-
+-meson="$(cd pyvenv/bin; pwd)/meson"
++meson=`which meson`
+ # Conditionally ensure Sphinx is installed.