summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/qemu.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/qemu/qemu.inc')
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc33
1 files changed, 12 insertions, 21 deletions
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index fb38fb44de..7893df0df2 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -21,23 +21,24 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
21SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ 21SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
22 file://powerpc_rom.bin \ 22 file://powerpc_rom.bin \
23 file://run-ptest \ 23 file://run-ptest \
24 file://fix-strerrorname_np.patch \
24 file://0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch \ 25 file://0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch \
25 file://0002-apic-fixup-fallthrough-to-PIC.patch \ 26 file://0002-apic-fixup-fallthrough-to-PIC.patch \
26 file://0003-configure-Add-pkg-config-handling-for-libgcrypt.patch \
27 file://0004-qemu-Do-not-include-file-if-not-exists.patch \ 27 file://0004-qemu-Do-not-include-file-if-not-exists.patch \
28 file://0005-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch \ 28 file://0005-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch \
29 file://0006-qemu-Determinism-fixes.patch \ 29 file://0006-qemu-Determinism-fixes.patch \
30 file://0007-tests-meson.build-use-relative-path-to-refer-to-file.patch \ 30 file://0007-tests-meson.build-use-relative-path-to-refer-to-file.patch \
31 file://0008-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \ 31 file://0008-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \
32 file://0009-linux-user-Replace-use-of-lfs64-related-functions-an.patch \
33 file://0010-configure-lookup-meson-exutable-from-PATH.patch \ 32 file://0010-configure-lookup-meson-exutable-from-PATH.patch \
34 file://0011-qemu-Ensure-pip-and-the-python-venv-aren-t-used-for-.patch \ 33 file://0011-qemu-Ensure-pip-and-the-python-venv-aren-t-used-for-.patch \
35 file://qemu-guest-agent.init \ 34 file://qemu-guest-agent.init \
36 file://qemu-guest-agent.udev \ 35 file://qemu-guest-agent.udev \
37 " 36 "
37# file index at download.qemu.org isn't reliable: https://gitlab.com/qemu-project/qemu-web/-/issues/9
38UPSTREAM_CHECK_URI = "https://www.qemu.org"
38UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" 39UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
39 40
40SRC_URI[sha256sum] = "32708ac66c30d8c892633ea968c771c1c76d597d70ddead21a0d22ccf386da69" 41SRC_URI[sha256sum] = "ef786f2398cb5184600f69aef4d5d691efd44576a3cff4126d38d4c6fec87759"
41 42
42CVE_STATUS[CVE-2007-0998] = "not-applicable-config: The VNC server can expose host files uder some circumstances. We don't enable it by default." 43CVE_STATUS[CVE-2007-0998] = "not-applicable-config: The VNC server can expose host files uder some circumstances. We don't enable it by default."
43 44
@@ -47,6 +48,11 @@ CVE_STATUS[CVE-2018-18438] = "disputed: The issues identified by this CVE were d
47# As per https://bugzilla.redhat.com/show_bug.cgi?id=2203387 48# As per https://bugzilla.redhat.com/show_bug.cgi?id=2203387
48CVE_STATUS[CVE-2023-2680] = "not-applicable-platform: RHEL specific issue." 49CVE_STATUS[CVE-2023-2680] = "not-applicable-platform: RHEL specific issue."
49 50
51# NVD DB has this CVE as version-less (with "-")
52CVE_STATUS[CVE-2024-6505] = "fixed-version: this CVE is fixed since 9.1.0"
53
54CVE_STATUS[CVE-2023-1386] = "disputed: not an issue as per https://bugzilla.redhat.com/show_bug.cgi?id=2223985"
55
50COMPATIBLE_HOST:mipsarchn32 = "null" 56COMPATIBLE_HOST:mipsarchn32 = "null"
51COMPATIBLE_HOST:mipsarchn64 = "null" 57COMPATIBLE_HOST:mipsarchn64 = "null"
52COMPATIBLE_HOST:riscv32 = "null" 58COMPATIBLE_HOST:riscv32 = "null"
@@ -155,25 +161,12 @@ do_install () {
155 rm ${D}${datadir}/qemu/hppa* -f 161 rm ${D}${datadir}/qemu/hppa* -f
156} 162}
157 163
158# The following fragment will create a wrapper for qemu-mips user emulation
159# binary in order to work around a segmentation fault issue. Basically, by
160# default, the reserved virtual address space for 32-on-64 bit is set to 4GB.
161# This will trigger a MMU access fault in the virtual CPU. With this change,
162# the qemu-mips works fine.
163# IMPORTANT: This piece needs to be removed once the root cause is fixed!
164do_install:append() {
165 if [ -e "${D}/${bindir}/qemu-mips" ]; then
166 create_wrapper ${D}/${bindir}/qemu-mips \
167 QEMU_RESERVED_VA=0x0
168 fi
169}
170# END of qemu-mips workaround
171
172# Disable kvm/virgl/mesa on targets that do not support it 164# Disable kvm/virgl/mesa on targets that do not support it
173PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+" 165PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+"
174PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+ pie" 166PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+ pie"
175 167
176PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2" 168PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl2"
169PACKAGECONFIG[sdl-image] = "--enable-sdl-image,--disable-sdl-image,libsdl2-image"
177PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" 170PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
178PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr --enable-cap-ng,--disable-virtfs,libcap-ng attr," 171PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr --enable-cap-ng,--disable-virtfs,libcap-ng attr,"
179PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," 172PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
@@ -184,6 +177,7 @@ PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpe
184PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,curl," 177PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,curl,"
185PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss," 178PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss,"
186PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," 179PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,"
180PACKAGECONFIG[pixman] = "--enable-pixman,--disable-pixman,pixman"
187PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+3 gettext-native" 181PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+3 gettext-native"
188PACKAGECONFIG[vte] = "--enable-vte,--disable-vte,vte gettext-native" 182PACKAGECONFIG[vte] = "--enable-vte,--disable-vte,vte gettext-native"
189PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng," 183PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng,"
@@ -258,9 +252,6 @@ python split_qemu_packages () {
258 subpackages += do_split_packages(d, archdir, r'^qemu-((?!system|edid|ga|img|io|nbd|pr-helper|storage-daemon).*)$', '${PN}-user-%s', 'QEMU full user emulation binaries(%s)' , prepend=True, extra_depends='${PN}-common') 252 subpackages += do_split_packages(d, archdir, r'^qemu-((?!system|edid|ga|img|io|nbd|pr-helper|storage-daemon).*)$', '${PN}-user-%s', 'QEMU full user emulation binaries(%s)' , prepend=True, extra_depends='${PN}-common')
259 if subpackages: 253 if subpackages:
260 d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(subpackages)) 254 d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(subpackages))
261 mipspackage = d.getVar('PN') + "-user-mips"
262 if mipspackage in ' '.join(subpackages):
263 d.appendVar('RDEPENDS:' + mipspackage, ' ' + d.getVar("MLPREFIX") + 'bash')
264} 255}
265 256
266# Put the guest agent in a separate package 257# Put the guest agent in a separate package