Commit Graph

543 Commits

Author SHA1 Message Date
Richard Purdie
4a2924a8d6 qemu: Upgrade 9.1.1 -> 9.2.0
Drop two patches merged upstream.

(From OE-Core rev: 540ba2ce2f6d138b386d0d7545c197fd7f54edc8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-12-17 11:41:53 +00:00
Peter Marko
8c17606068 qemu: set CVE-2024-6505 to fixed
NVD DB has this CVE as version-less (with "-").

Patch [3] is linked from [1] via [2].
[1] https://nvd.nist.gov/vuln/detail/CVE-2024-6505
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2295760
[3] https://gitlab.com/qemu-project/qemu/-/commit/f1595ceb

$ git describe f1595ceb
v9.1.0-rc0-38-gf1595ceb9a
$ git tag --contains f1595ceb | grep -v -- -rc.$
v9.1.0
v9.1.1
v9.1.2

(From OE-Core rev: 64359ec3b60ae68d39c2e6444f903fd20e397cff)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-12-05 17:07:10 +00:00
Khem Raj
8a9b977399 qemu: Fix build on riscv64
(From OE-Core rev: 50383df4d704053383d20ab9e2a40cd1ef49b8d5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-28 12:27:12 +00:00
Alexander Kanavin
1de56ab333 qemu: upgrade 9.1.0 -> 9.1.1
(From OE-Core rev: c5d6a15dc75eb6ab16c9b0c953e7f433b42a0e99)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-27 14:58:48 +00:00
Richard Purdie
131c972071 qemu: Upgrade 9.0.1 -> 9.1.0
Drop the gnutls patch since something equivalent was merged upsteam.

(From OE-Core rev: 3e1b5805906dc3b2f7c79d26224a7a732123af97)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-22 11:39:58 +01:00
Khem Raj
df3b98c4b7 qemu: Do not define sched_attr with glibc >= 2.41
(From OE-Core rev: e8c2bf4cc1ee2bb219c9504a5800bb4b912c1b48)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-10-15 11:47:24 +01:00
Khem Raj
52ed55e48f qemu: Fix build on musl/riscv64
musl does not provide strerrorname_np() so do not use it.

(From OE-Core rev: d7678118af5aa4bfbf6fb72b34f90a1e37b917c3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-20 14:01:02 +01:00
Richard Purdie
7dfb9af8e0 qemu: Upgrade 9.0.1 -> 9.0.2
Update along the stable release series.

(From OE-Core rev: 64c2e0a378cf3341e164664925190cc87e41b2fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-03 07:47:36 +01:00
Richard Purdie
46e30464b4 qemu: Drop mips workaround
In local testing this appears to not be needed any more. Since the bash dependency
is painful in many different ways, particularly being injected at do_package time,
drop it all.

(From OE-Core rev: b30c1e5805b3f108a2d0a30259b50b9e7db0f6cc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-18 17:21:39 +01:00
Richard Purdie
3505bc4881 qemu: Upgrade 9.0.0 -> 9.0.1
(From OE-Core rev: c2be994cbb746ce1b182c68ea7aadff049b6a0d5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-04 22:56:15 +01:00
Richard Purdie
3c1c56ec07 native/nativesdk: Stop overriding unprefixed *FLAGS variables
We're currently encouraging an "arms race" with the FLAGS variables since
a recipe might want to set a specific flag for all variants but to do so,
+= won't work due to the assignment in the native/nativesdk class files. This
means recipes are using append.

Since the default variables are constructed out of TARGET_XXX variables and
we redefine these, there is no need to re-define the un-prefixed variables. If
we drop that, the += appends and similar work and recipes don't have to resort
to append.

Change the classes and cleanup a number of recipes to adapt to the change. This
change will result in some flags appearing to some native/nativesdk variants
but that is probably what was originally expected anyway.

(From OE-Core rev: a157b2f9d93428ca21265cc860a3b58b3698b3aa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-01 13:58:08 +01:00
Martin Hundebøll
c3703889e4 qemu: upgrade 8.2.1 -> 9.0.0
Remove pacthes accepted upstream, and refresh the remaining ones. Remove
patches required by ubuntu 18.04, as those are unmaintainable.

Remove CVE status for CVEs not applicable to the new version.

RP: Remove the hppa-firmware{,64}.img files as they cause strip failures
and SDK relocation errors. We don't support PARISC anyway, if anyone needs
them they can write the changes needed.

(From OE-Core rev: ca2ae68aad88d77cde0670467c4966dbb98d05c0)

Signed-off-by: Martin Hundebøll <martin@geanix.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-04 12:04:52 +01:00
Richard Purdie
d6ae8d2004 recipes: Switch away from S = WORKDIR
Where recipes use S = ${WORKDIR}, change them to set UNPACKDIR to
a subdir of WORKDIR and make S point at this instead.

I've chosen not to force S into any standard UNPACKDIR we may pick in
future just so the S = UNPACKDIR case is clearly visible by the
directory naming under WORKDIR as that should aid usability.

(From OE-Core rev: d9328e3b0b062f0621de3d114584b44f384a1c02)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-21 12:08:04 +01:00
Richard Purdie
0ea63b6a43 recipes: Update WORKDIR references to UNPACKDIR
Since we want to be able to stop unpacking to WORKDIR, correct the WORKDIR
references in recipe do_compile/do_install tasks to use UNPACKDIR in the
appropraite places instead.

(From OE-Core rev: d73595df69667fe9d12ecd407b77a0b8dae2109c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-02 15:15:51 +01:00
Richard Purdie
3288587aeb recipes: Update S = WORKDIR recipes to use ${S} correctly
Where recipes use S = ${WORKDIR}, ensure they are referencing ${S} correctly
to access files as soon we want to stop doing this in WORKDIR at which point
they would break unless corrected.

(From OE-Core rev: f25dd633fffe6560f191526d1869e657e129bad9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-02 15:15:51 +01:00
Simone Weiß
9f60a16646 qemu: backport patch for ui/clipboard issue
Backported from upstream to fix CVE-2023-6683

(From OE-Core rev: d33a0ef657663faa05448454fad8a004879fe624)

Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-03 16:25:20 +00:00
Richard Purdie
9d1a99cf45 qemu: Replace workaround with proper usermode fix for shmat
We were using a workaround to avoid problems with the behaviour of shmat()
calls in usermode qemu. Switch to patches from upstream which are in review
but not merged yet.

Update the mmap fixed/noreplace workaround for the changes.

(From OE-Core rev: 8a571e352734045176bac310441a1003efbf0891)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-03 16:25:20 +00:00
Simone Weiß
5e21c5d64e meta: Remove some not needed CVE_STATUS
CVE_STATUS was set for those components, but meanwhile databases are updated
with corrected information, so setting the CVE_STATUS is not needed anymore.

(From OE-Core rev: 5ec6057cfa66ceeb33bec013e320f8e3fa7d7ecf)

Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-24 16:10:23 +00:00
Simone Weiß
378bc2f8e3 qemu: Set CVE_STATUS for wrong CVEs
All are already fixed in 8.2.1, NVD was informed that cpes are wrong.

(From OE-Core rev: a975960baffd341cd07cb093bef107c031c9b956)

Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 11:34:33 +00:00
Jose Quaresma
46fb0082dd qemu: disbale AF_XDP network backend support
This fix some host contaminations issues:
| /poky/build/tmp/hosttools/ld.bfd: libcommon.fa.p/net_af-xdp.c.o: undefined reference to symbol 'bpf_xdp_detach@@LIBBPF_0.7.0'
| /poky/build/tmp/hosttools/ld.bfd: /usr/lib/libbpf.so.1: error adding symbols: DSO missing from command line
| collect2: error: ld returned 1 exit status

The AF_XDP network backend support [1] requires the libxdp that is not
available in any layer, otherwise you can configure this option:
| PACKAGECONFIG[af-xdp] = "--enable-af-xdp,--disable-af-xdp,libxdp"

[1] cb039ef3d9

(From OE-Core rev: c2524614e49aee95b23d7bc162b1a30dee8cf59c)

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-15 09:18:09 +00:00
Richard Purdie
25868ee2cc qemu: Upgrade 8.2.0 -> 8.2.1
This was a bugfix release containing several important fixes according to upstream.

Drop a backported patch.

(From OE-Core rev: 1715d0907d372e787c054a5509690a2719acfed0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-05 14:06:10 +00:00
Khem Raj
3558ee528f qemu-native: Use inherit_defer for including native class
This helps working with native qemu recipes with devtool, since devtool
inserts an internal class called devtool-source resulting in

ERROR: QA Issue: qemu-system-native: native/nativesdk class is not inherited last, this can result in unexpected behaviour. Classes i
nherited after native/nativesdk: devtool-source.bbclass [native-last]
ERROR: Fatal QA errors were found, failing task.
ERROR: Parsing halted due to errors, see error messages above
ERROR: Command execution failed:

(From OE-Core rev: 6754387d7bd397700cef029ae6df86ff8cb3a4af)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-05 14:06:10 +00:00
Mark Hatle
069d2dfd86 qemu: Allow native and nativesdk versions on Linux older then 4.17
Linux kernel 4.17 introduced two new mmap flags, MAP_FIXED_NOREPLACE and
MAP_SHARED_VALIDATE.  Starting with QEMU 8.1, these flags are now used
and required for proper system operation.  In order to build and run on a
system older then 4.17, we need to emulate this new behavior.

Not having a newer kernel could result in the mmap memory being allocated
in a way that will cause failures without QEMU checking for these
conditions.  Note, memory allocation issues are rare in my experience so
this is more of a 'just-in-case' behavior.

SDK_OLDEST_KERNEL is currently set to 3.2.0, the only way this can claim
that qemu works in an SDK is by checking the return values to emulate
the expected behavior.

(From OE-Core rev: 4eb0a83c7851e2eb6d7890a130dfe50f37ff8ac9)

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-02 10:38:28 +00:00
Martin Jansa
f80f232fbd qemu: fix target build with ccache enabled
* with ccache inheritted, the BUILD_CC is 'ccache gcc', but because of missing
  quote it ends passing just ccache to host-cc which gets stripped and then
  it calls compiler[0] on empty compiler variable and breaks meson as shown in:
  http://errors.yoctoproject.org/Errors/Details/751436/

python version: Python 3.12.1
Traceback (most recent call last):
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/mesonmain.py", line 194, in run
    return options.run_func(options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/msetup.py", line 358, in run
    app.generate()
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/msetup.py", line 181, in generate
    return self._generate(env, capture, vslite_ctx)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/msetup.py", line 203, in _generate
    intr = interpreter.Interpreter(b, user_defined_options=user_defined_options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 331, in __init__
    self.parse_project()
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 132, in parse_project
    self.evaluate_codeblock(self.ast, end=1)
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 198, in evaluate_codeblock
    raise e
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 190, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 204, in evaluate_statement
    return self.function_call(cur)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 530, in function_call
    res = func(node, func_args, kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/decorators.py", line 260, in wrapper
    return f(*nargs, **wrapped_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/decorators.py", line 579, in wrapper
    return f(*wrapped_args, **wrapped_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 1309, in func_project
    self.add_languages(proj_langs, False, MachineChoice.BUILD)
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 1476, in add_languages
    success = self.add_languages_for(args, required, for_machine)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 1519, in add_languages_for
    comp = compilers.detect_compiler_for(self.environment, lang, for_machine, skip_sanity_check)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 115, in detect_compiler_for
    comp = compiler_from_language(env, lang, for_machine)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 112, in compiler_from_language
    return lang_map[lang](env, for_machine) if lang in lang_map else None
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 614, in detect_c_compiler
    return _detect_c_or_cpp_compiler(env, 'c', for_machine)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 286, in _detect_c_or_cpp_compiler
    compiler_name = os.path.basename(compiler[0])
                                     ~~~~~~~~^^^
IndexError: list index out of range

...

Project name: qemu
Project version: 8.2.0
C compiler for the host machine: ccache x86_64-oe-linux-clang -target x86_64-oe-linux -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mlittle-endian --dyld-prefix=/usr -Qunused-arguments --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot -m64 -mcx16 (clang 17.0.6 "clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)")
C linker for the host machine: x86_64-oe-linux-clang -target x86_64-oe-linux -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mlittle-endian --dyld-prefix=/usr -Qunused-arguments --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot -m64 -mcx16 ld.lld 17.0.6

../qemu-8.2.0/meson.build:1:0: ERROR: Unhandled python exception

    This is a Meson bug and should be reported!

ERROR: meson setup failed

(From OE-Core rev: 7e55102cff9ddecb4f0acbb3bcafa703dd9808fd)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-30 15:15:54 +00:00
Khem Raj
0f61386628 qemu: Replace the basename patch with backport
Backport the patch that got applied to fix this issue upstream

(From OE-Core rev: 952c94988cf1cf093668e9ac7020485c51cf3a58)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-27 11:06:34 +00:00
Richard Purdie
f456f7b896 qemu: Fix segfaults in webkitgtk:do_compile on debian11
Add a work around for segfaults we're seeing with qemu 8.2.0 when
compiling webkitgtk on debian 11 autobuilder workers.

The issue has been reported upstream to work out an official fix.

[YOCTO #15367]

(From OE-Core rev: 28ab691587e689872b2e2ddd210507cc2ae86f9b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-26 14:25:31 +00:00
Richard Purdie
7f9dd77eae qemu: Upgrade 8.1.2 -> 8.2.0
We can drop the mips workaround patch since there were fixes in 8.2.0.

The build system changed and we should drop cross.patch and replace it with
explicit settings for cross-prefix, and host-cc. To make that work we need
to indicate we don't use a cross pkg-config.

PIE isn't availale for mingw so tweak PACKAGECONFIG accordingly.

(From OE-Core rev: 8917fa10b8afb1413b34a6134beea129e416f8c6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-24 15:46:19 +00:00
Richard Purdie
9a02fb66c2 qemu: add PACKAGECONFIG for sndio
In qemu's configuration this is an 'auto' configuration option so if the host has
the sndio headers on then it gets enabled, causing sstate reuse problems. This is
particularly problematic as some qemu pieces can 'see' into the host pkg-config
due to openGL linkage.

Add config and disable by default to avoid host contamination.

[YOCTO #15284]

(From OE-Core rev: e746182638aeb9bdd1bbb7430de214d8d847a8b6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-21 12:27:12 +00:00
Richard Purdie
c270131c53 qemu: Ensure pip and the python venv aren't used for meson
Qemu wants to use a supported python version and a specific meson version
to "help" users and uses pip and creates a venv to do this. This is a nightmare
for us. Our versions stay up to date and should be supported so we don't
really need/want this wrapping. Tweak things to disable it.

There was breakage from the wrapper shown by:

bitbake qemu-system-native
<add DISTRO_FEATURES:remove = "opengl" to local.conf>
bitbake qemu-system-native -c configure

which would crash. The issue is the change in configuration removes pieces
from the sysroot but pyc files remainm as do pieces of pip which causes
problems.

(From OE-Core rev: aceef7785e637a0223ecf288e2f367b6bee4a505)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-21 10:38:30 +00:00
Richard Purdie
85c88f8332 qemu: Clean up DEPENDS
Move the common dependencies to qemu.inc for cleaner entries in the
various recipes. Remove an unneeded inherit.

(From OE-Core rev: 6e7c2ae575b8f04fd117cc56980bb25113f343a8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-21 10:38:30 +00:00
Khem Raj
194ffa6fea qemu: Add packageconfig knob to enable pipewire support
This gets into a quessing mode if not specified and it it probelamactic
for native version since it maybe built on a machine having pipewire
  installed and used on another where pipewire is not installed (
  minimal CI builder ) it ends up with

runqemu - ERROR - Failed to run qemu: /mnt/b/yoe/master/build/tmp/work/x86_64-linux/qemu-helper-native/1.0/recipe-sysroot-native/usr/bin/qemu-system-x86_64: error while loading shared libraries: libpipewire-0.3.so.0: cannot open shared object file: No such file or directory

(From OE-Core rev: 0d63cadd4523e60d4959284a81fbe47da88834fa)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-21 10:38:29 +00:00
Khem Raj
53af03827e qemu: Fix build with latest musl
musl dropped basename() from string.h, adjust for that

(From OE-Core rev: 58f7eb2b5a2ae037294b631bf083729e78910c24)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-21 10:38:29 +00:00
Richard Purdie
60a434179c qemu: Upgrade 8.1.0 -> 8.1.2
Drop three backport patches as they're applied upstream.

(From OE-Core rev: 7480ff9064a74858e83e0ae275dbdb78dd6fc2a4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-30 17:12:19 +00:00
Lee Chee Yang
1e94086808 qemu: ignore RHEL specific CVE-2023-2680
(From OE-Core rev: 43b6d040979a766baa0fb2b1ff9125a94bb0152f)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-17 11:41:34 +01:00
Jon Mason
29f2ecdd6c qemu: drop unreferenced patch
OE Commit a7176c3b2a7e2041b9be5dabb6b0f1e62f235f76 removed the reference
to this patch but did not remove the patch

(From OE-Core rev: eeb7063ea70b861269aa820d19e6804b7841149e)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-14 22:45:42 +01:00
Yogita Urade
ba7ac22f2e qemu: fix CVE-2023-42467
QEMU through 8.0.0 could trigger a division by zero in scsi_disk_reset
in hw/scsi/scsi-disk.c because scsi_disk_emulate_mode_select does not
prevent s->qdev.blocksize from being 256. This stops QEMU and the guest
immediately.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-42467
https://gitlab.com/qemu-project/qemu/-/issues/1813

(From OE-Core rev: 7c42b976d7a72acf917bae9d055768a1350e507d)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-06 11:51:11 +01:00
Richard Purdie
1b94ea8b25 recipes: Drop remaining PR values from recipes
We've been removing PR values from recipes at upgrade time for a while. In general
anyone maintaining a binary distro would end up having to curate these themselves
so the values in OE-Core aren't really that useful anymore. In many ways it makes
sense to clear out the remaining ones (which are mostly for 'config' recipes that
are unlikely to increase in PV) and leave a clean slate for anyone implementing
a binary distro config.

References are left in meta-selftest since the tests there do involve them and
their removal upon upgrade.

(From OE-Core rev: d4c346e8ab8f3cae25d1b01c7331ed9f6d4f96ef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-22 07:45:17 +01:00
Khem Raj
a8b6f96018 qemu: Add PACKAGECONFIG for dax
Othereise it pokes at the build system and if ndctl is installed on the
system it adds dependency on libdaxctl which can make it not work on
other hosts where this is not available and qemu fails to run

Fixes

<recipe-sysroot-native>/usr/bin/qemu-system-x86_64: error while loading shared libraries: libdaxctl.so

(From OE-Core rev: 2d61f31d7044fdc06fa526d8fd2c7cf485e260c6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-20 23:51:11 +01:00
Ross Burton
de3f6ad173 qemu-system-native: enable PNG support
It might be useful to grab screenshots from qemu-system-native (for
example, for QA purposes).

(From OE-Core rev: ff8a2edb396dfe2e9be37ddda38eaa76e63874a2)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-07 07:53:51 +01:00
Richard Purdie
fad769ae8b qemu: Add patches to resolve x86 and then mips boot issues
qemu 8.1.0 doesn't boot on x86. After adding tcg fixes for that, mips boot
breaks so also add patches for that as well.

(From OE-Core rev: 3d3fa94ee6d7ea58e3ec64d28bd6414437806cfd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-07 07:53:50 +01:00
Richard Purdie
f694084dbc qemu: Upgrade 8.0.4 -> 8.1.0
This upgrade isn't straighforward as upstream made changes. A pyenv
is now needed containing meson. This doesn't work for us for reasons
as yet unclear however it does mean we need python3native inherited
for that to stand a chance of working as otherwise host system
dependencies may be missing. For now, allow meson to work from our
sysroot via a patch. Our meson is always deterministic anyway so
we don't need their help for that.

The submodules approach used previously has changed, switch the options
for new ones to disable downloads and docs.

Some of the images binaries shipped for s390 show QA warnings for
relocations in code sections. Drop those binaries to avoid the QA
warnings since we don't need them anyway.

Drop a backported patch and refresh another.

(From OE-Core rev: a7176c3b2a7e2041b9be5dabb6b0f1e62f235f76)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-07 07:53:50 +01:00
Khem Raj
ca098d1728 qemu: Fix CVE-2023-40360
(From OE-Core rev: 5b68ec70ecc9779146789cc635d8ab60928e9233)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-30 09:56:13 +01:00
Markus Volk
513c21b8fc qemu: add packageconfigs for fuse and dbus-display
glib-2.0-native is needed to provide gdbus-codegen

(From OE-Core rev: 0df2247c7b670401fa9efda0a818fbad30f8f921)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-29 09:41:07 +01:00
Markus Volk
be3f83029c qemu: build pulseaudio support depending on distro_feature
(From OE-Core rev: 6104325d32c95864830ba2d39f711d7e6e52bc00)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-29 09:41:07 +01:00
Markus Volk
53774ffaf7 qemu: fix libudev packageconfig for systemd images
eudev is needed to provide libudev when not using systemd,
but including eudev breaks things for systemd. We can't
include eudev here since systemd provides libudev itself.

(From OE-Core rev: e86b572f260fae7837694aa4c6d61de639bc71e8)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-29 09:41:07 +01:00
Richard Purdie
05affd7d0d qemu: Upgrade 8.0.3 -> 8.0.4
(From OE-Core rev: ed1789638d025447db8f28d71d119de85a696b09)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-15 08:15:25 +01:00
Mingli Yu
3abd781d34 qemu: Add qemu-common package
We split the qemu package [1] to add support to make user can install
one qemu arch emulation rpm to ease the concerns who care much about
the rpm size in embedded device.

But for the user who only install the qemu-*.rpm can't do anything
except they install the qemu emulation rpm like qemu-system-x86-64-*.rpm
explicitly.

So add qemu-common package to package all thing into qemu-common when
not split the package, and package only the basic into qemu-common and
other arch related to each qemu arch emulation rpm when split the package
to fix the backward compatibility.

qenu-*.rpm which is meta package rdepends on qemu-common and the available
qemu arch emulation rpm like qemu-system-x86-64-*.rpm and etc.

[1] https://git.openembedded.org/openembedded-core/commit/?id=893846ead7ee54d53e9076150cd655e0c8bca5db

(From OE-Core rev: 91c47aa06170081b64500471a39999b42cb1f400)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-15 08:15:25 +01:00
Andrej Valek
c15e506a46 cve_check: convert CVE_CHECK_IGNORE to CVE_STATUS
- Try to add convert and apply statuses for old CVEs
- Drop some obsolete ignores, while they are not relevant for current
  version

(From OE-Core rev: 1634ed4048cf56788cd5c2c1bdc979b70afcdcd7)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Reviewed-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-21 11:52:26 +01:00
Etienne Cordonnier
d335aea8e8 qemu: fix typo
(From OE-Core rev: 0866acdc566cc1e2f16f6f8a041f6bd67b0abf2a)

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-14 17:31:06 +01:00
Trevor Gamblin
832c59d8b8 qemu: upgrade 8.0.0 -> 8.0.3
ppc.patch is removed because it is included in 8.0.3:
864ce70c1c

General changelog for 8.x: https://wiki.qemu.org/ChangeLog/8.0

(From OE-Core rev: bb5c368e48e2222312b1fc4ba4ad609b2530d6bc)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-14 17:31:05 +01:00