diff options
Diffstat (limited to 'meta/recipes-devtools/qemu/qemu.inc')
-rw-r--r-- | meta/recipes-devtools/qemu/qemu.inc | 33 |
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 \ | |||
21 | SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ | 21 | SRC_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 | ||
38 | UPSTREAM_CHECK_URI = "https://www.qemu.org" | ||
38 | UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" | 39 | UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" |
39 | 40 | ||
40 | SRC_URI[sha256sum] = "32708ac66c30d8c892633ea968c771c1c76d597d70ddead21a0d22ccf386da69" | 41 | SRC_URI[sha256sum] = "ef786f2398cb5184600f69aef4d5d691efd44576a3cff4126d38d4c6fec87759" |
41 | 42 | ||
42 | CVE_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 | CVE_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 |
48 | CVE_STATUS[CVE-2023-2680] = "not-applicable-platform: RHEL specific issue." | 49 | CVE_STATUS[CVE-2023-2680] = "not-applicable-platform: RHEL specific issue." |
49 | 50 | ||
51 | # NVD DB has this CVE as version-less (with "-") | ||
52 | CVE_STATUS[CVE-2024-6505] = "fixed-version: this CVE is fixed since 9.1.0" | ||
53 | |||
54 | CVE_STATUS[CVE-2023-1386] = "disputed: not an issue as per https://bugzilla.redhat.com/show_bug.cgi?id=2223985" | ||
55 | |||
50 | COMPATIBLE_HOST:mipsarchn32 = "null" | 56 | COMPATIBLE_HOST:mipsarchn32 = "null" |
51 | COMPATIBLE_HOST:mipsarchn64 = "null" | 57 | COMPATIBLE_HOST:mipsarchn64 = "null" |
52 | COMPATIBLE_HOST:riscv32 = "null" | 58 | COMPATIBLE_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! | ||
164 | do_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 |
173 | PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+" | 165 | PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+" |
174 | PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+ pie" | 166 | PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+ pie" |
175 | 167 | ||
176 | PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2" | 168 | PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl2" |
169 | PACKAGECONFIG[sdl-image] = "--enable-sdl-image,--disable-sdl-image,libsdl2-image" | ||
177 | PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" | 170 | PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" |
178 | PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr --enable-cap-ng,--disable-virtfs,libcap-ng attr," | 171 | PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr --enable-cap-ng,--disable-virtfs,libcap-ng attr," |
179 | PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," | 172 | PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," |
@@ -184,6 +177,7 @@ PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpe | |||
184 | PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,curl," | 177 | PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,curl," |
185 | PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss," | 178 | PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss," |
186 | PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," | 179 | PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," |
180 | PACKAGECONFIG[pixman] = "--enable-pixman,--disable-pixman,pixman" | ||
187 | PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+3 gettext-native" | 181 | PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+3 gettext-native" |
188 | PACKAGECONFIG[vte] = "--enable-vte,--disable-vte,vte gettext-native" | 182 | PACKAGECONFIG[vte] = "--enable-vte,--disable-vte,vte gettext-native" |
189 | PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng," | 183 | PACKAGECONFIG[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 |