Commit Graph

75567 Commits

Author SHA1 Message Date
Andrew Oppelt
413f327baa testexport: support for executing tests over serial
Uses TEST_SERIALCONTROL_CMD to open a serial connection to the target
and execute commands. This is a drop in replacement for the ssh target,
fully supporting the same API. Supported with testexport.

To use, set the following in local.conf:
- TEST_TARGET to "serial"
- TEST_SERIALCONTROL_CMD to a shell command or script which connects to
  the serial console of the target and forwards that connection to
  standard input/output.
- TEST_SERIALCONTROL_EXTRA_ARGS (optional) any parameters that must be
  passed to the serial control command.
- TEST_SERIALCONTROL_PS1 (optional) A regex string representing an empty
  prompt on the target terminal. Example: "root@target:.*# ". This is
  used to find an empty shell after each command is run. This field is
  optional and will default to "root@{MACHINE}:.*# " if no other value is
  given.
- TEST_SERIALCONTROL_CONNECT_TIMEOUT (optional) Specifies the timeout in
  seconds for the initial connection to the target. Defaults to 10 if no
  other value is given.

The serial target does have some additional limitations over the ssh
target.
1. Only supports one "run" command at a time. If two threads attempt to
   call "run", one will block until it finishes. This is a limitation of
   the serial link, since two connections cannot be opened at once.
2. For file transfer, the target needs a shell and the base32 program.
   The file transfer implementation was chosen to be as generic as
   possible, so it could support as many targets as possible.
3. Transferring files is significantly slower. On a 115200 baud serial
   connection, the fastest observed speed was 30kbps. This is due to
   overhead in the implementation due to decisions documented in #2
   above.

(From OE-Core rev: d817b27d73d29ba2beffa2e0a4e31a14dbe0f1bf)

Signed-off-by: Andrew Oppelt <andrew.j.oppelt@boeing.com>
Signed-off-by: Matthew Weber <matthew.l.weber3@boeing.com>
Signed-off-by: Chuck Wolber <chuck.wolber@boeing.com>

--

Tested with core-image-sato on real hardware. TEST_SERIALCONTROL_CMD
was set to a bash script which connected with telnet to the target.

Additionally tested with QEMU by setting TEST_SERIALCONTROL_CMD to
"ssh -o StrictHostKeyChecking=no root@192.168.7.2". This imitates
a serial connection to the QEMU instance.

Steps:
1) Set the following in local.conf:
  - IMAGE_CLASSES += "testexport"
  - TEST_TARGET = "serial"
  - TEST_SERIALCONTROL_CMD="ssh -o StrictHostKeyChecking=no root@192.168.7.2"
2) Build an image
  - bitbake core-image-sato
3) Run the test export
  - bitbake -c testexport core-image-sato
4) Run the image in qemu
  - runqemu nographic core-image-sato
5) Navigate to the test export directory
6) Run the exported tests with target-type set to serial
 - ./oe-test runtime --test-data-file ./data/testdata.json --packages-manifest ./data/manifest --debug --target-type serial

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 12:28:10 +01:00
John Ripple
84df90c05f packagegroup-core-tools-profile.bb: Enable aarch64 valgrind
The Valgrind recipe has had support for aarch64 for 9 years but the
packagegroup-core-tools-profile recipe still excludes valgrind on
aarch64 builds. This patch adds Valgrind when building the
package-group-core-tools-profile for aarch64 systems.

(From OE-Core rev: 2f8f6d722b39d2d1080367bf780dead4ed4ed781)

Signed-off-by: John Ripple <john.ripple@keysight.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 12:28:10 +01:00
Khem Raj
faecde6e9f openssh: Mark CVE-2023-51767 as wont-fix
(From OE-Core rev: 1b4bada6c003ef743df09283e45953e6d9ea4c5a)

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-01 12:28:10 +01:00
Markus Volk
ef9a927a3a systemd: dont set polkit permissions manually
According to this commit polkit rules should go to ${datadir} instead of ${sysconfdir}:
https://git.openembedded.org/meta-openembedded/commit/?h=master-next&id=d5e90541f8e35916abc930b2da6de037b23d51a1
Theres no need to adjust the permissions for ${datadir} anymore:
https://git.openembedded.org/meta-openembedded/commit/?h=master-next&id=6da0fd21c900e32a0693a6b27d38182f19c8c76c

Dont set polkit permissions manually. This allows to drop the manually
set polkit permissions for all files in meta-openembedded and also for
libvirt in meta-virtualization.

In addition, manually setting the permissions would not be needed for
new recipes anymore.

(From OE-Core rev: d27961962d2c8456d9a90148943d4282494146c2)

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 12:28:10 +01:00
Richard Purdie
8621dbc2af abi-version/ssate: Bump to avoid systemd hash corruption issue
Unfortunately some recent patches caused non-deterministic output.
One input hash lead to both good and bad output and whilst that patch
has been fixed, the problematic hash 'cross' linkage remains. Bump to
a new sstate and hash equivalence version to avoid this and work from
a clean slate.

(From OE-Core rev: 639e42b9c14dff516688964dba4ab25bba7b8a55)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 11:05:20 +01:00
Otavio Salvador
7897e51da3 u-boot: Ensure we use BFD as linker even if using GCC for it
If we are using 'ld-is-gold' as DISTRO_FEATURE, the U-Boot Makefile has
mechanisms to ensure that we use BFD as linker. However, this does not
work for the GCC when it is used as linking tool.

To support that, we added explicit BFD use whenever we have the
DISTRO_FEATURE feature enabled.

(From OE-Core rev: d36ee7a87c0d89b2820eea4bfcdae342adc75019)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 11:05:20 +01:00
Khem Raj
68853a63af aspell: Backport a fix to build with gcc-15/clang-19
(From OE-Core rev: d6cb53c0773d28f57b5699125ef825936d4725d1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 11:05:20 +01:00
Jörg Sommer
8f9eaecb3e buildcfg.py: add dirty status to get_metadata_git_describe
For postmortem analysis it's helpful to know if the build environment was
clean or contained any modifications.

(From OE-Core rev: edaaa2ad311663beabd2416037de00d82fca5fba)

Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 11:05:20 +01:00
Vijay Anusuri
4e05e19c72 apr: upgrade 1.7.4 -> 1.7.5
Refreshed patch 0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch

Includes security fix
CVE-2023-49582

changelog:
https://downloads.apache.org/apr/CHANGES-APR-1.7

(From OE-Core rev: c5d9498466526451910fa02862f8860b2bb81df8)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 11:05:20 +01:00
Ola x Nilsson
4a3eb4f487 insane: Remove redundant returns
Some redundant return statements were left over from
insane: Drop oe.qa.add_message usage

(From OE-Core rev: 1e49635f802b04acad14115640ce9fcd63cc32a7)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 11:05:20 +01:00
Peter Kjellerstedt
b971a3a77c oeqa/selftest/bbclasses: Add tests for systemd and update-rc.d interaction
These tests verify that the correct files are left behind when systemd
is inherited and depending on whether the systemd and/or sysvinit distro
features are enabled.

(From OE-Core rev: 4ef25caa00ad08046567d0e7f4523486c3a256d0)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 11:05:20 +01:00
Peter Kjellerstedt
36fb595c62 systemd.bbclass: Clean up empty parent directories
Previously, rm_systemd_unitdir() would remove one parent directory of
${systemd_unitdir} if it was empty after removing ${systemd_unitdir}.
rm_sysvinit_initddir() would not remove any parent directory. Thus, if
the only directory created in /etc was /etc/init.d, an empty /etc would
remain after the cleanup and would be packaged.

Simplify rm_systemd_unitdir() and rm_sysvinit_initddir() by rewriting
them in shell, and use rmdir -p to remove all empty parent directories.

(From OE-Core rev: 73159c0bbc636a08934f47690885d75fd37b701a)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 11:05:20 +01:00
Dmitry Baryshkov
5f38058630 piglit: add missing dependency on wayland
After the recent piglit update it fails X11 builds reporting that it can
not find wayland-client package. Commit 9662bdabf3f6 ("piglit: upgrade
22eaf6a91c -> c11c9374c1") has added wayland-related dependencies to the
recipe's DEPENDS variable, but it seems it missed the target wayland
pacakge, making cross-compilation of piglit fail when building
X11-targeted configurations.

Pushing more and more wayland dependencies to a generic build doesn't
seem to be a good idea, so introduce "wayland" PACKAGECONFIG option,
move existing wayland-related dependencies to be guarded by it and add
dependency on the wayland package.

Suggested-by: Alexander Kanavin <alex.kanavin@gmail.com>
Fixes: 9662bdabf3f6 ("piglit: upgrade 22eaf6a91c -> c11c9374c1")
Cc: Trevor Gamblin <tgamblin@baylibre.com>
(From OE-Core rev: 6c504d03c8bd8e2a9c8d0b946dbf28e94d13b5d6)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-30 21:59:38 +01:00
Alessandro Pecugi
35cb7bc646 runqemu: add sd card device
runqemu currently only supports scsi, ide and virtio drive types.
Implement QB_DRIVE_TYPE=/dev/mmcblk which adds an sdhci-pci device and
mounts the rootfs file as an sd card.

(From OE-Core rev: 0740896afbe13f37058e990a0a13b2b51bba70fd)

Signed-off-by: Alessandro Pecugi <alessandro.pecugi@seco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-30 21:59:38 +01:00
Paul Gerber
661eebe146 uboot-sign: fix counters in do_uboot_assemble_fitimage
Without unsetting `j` and `k` for each `UBOOT_MACHINE`, `j` and `k`
are incremented in the same frequency as `i` and therefore `$j -eq $i`
and `$k -eq $i` is always true for the first `type` from `UBOOT_CONFIG`
and the first `binary` from `UBOOT_BINARIES`.

(From OE-Core rev: 3aef55c7ceb654b0012f20618bfd6ead1ef578b6)

Signed-off-by: Paul Gerber <paul.gerber@ew.tq-group.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-30 21:59:38 +01:00
Alexander Sverdlin
68dd272c87 linux-firmware: Move Silabs wfx firmware to a separate package
Separate 300KB wfx firmware from the rest of linux-firmware package.
With this change the wfx/LICENCE.wf200 is really packaged, before the
change it didn't fall into copying wildcard.

(From OE-Core rev: 48e14565abcfe0ec8eb21b1c3e6108bb5b0a0b7c)

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-30 21:59:38 +01:00
Jörg Sommer
4b60e8690c runqemu: Fix detection of -serial parameter
The pattern `-serial` matches also `-device usb-serial` and `virtio-serial`
which are not the desired parameter. This causes the serial console ttyS1 is
missing and Systemd's getty@ttyS1 fails constantly.

(From OE-Core rev: b6d035894120b45b42f146ab5b3110522c58d178)

Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-30 21:59:38 +01:00
Khem Raj
9ec017b0fd fmt: Get rid of std::copy
(From OE-Core rev: 9549d4aeb3dc1abb81fd6d01a340a2f99b69fdba)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-30 21:59:38 +01:00
Trevor Gamblin
5a036fd745 python3-pyparsing: upgrade 3.1.2 -> 3.1.4
Changelog (https://github.com/pyparsing/pyparsing/releases):

3.1.4

- Fixed a regression introduced in pyparsing 3.1.3, addition of a type
  annotation that referenced re.Pattern. Since this type was introduced
  in Python 3.7, using this type definition broke Python 3.6 installs of
  pyparsing 3.1.3. PR submitted by Felix Fontein, nice work!

3.1.3

- Added new Tag ParserElement, for inserting metadata into the parsed
  results. This allows a parser to add metadata or annotations to the
  parsed tokens. The Tag element also accepts an optional value
  parameter, defaulting to True. See the new tag_metadata.py example in
  the examples directory.

    Example:

      # add tag indicating mood
      end_punc = "." | ("!" + Tag("enthusiastic")))
      greeting = "Hello" + Word(alphas) + end_punc

      result = greeting.parse_string("Hello World.")
      print(result.dump())

      result = greeting.parse_string("Hello World!")
      print(result.dump())

    prints:

      ['Hello', 'World', '.']

      ['Hello', 'World', '!']
      - enthusiastic: True

- Added example mongodb_query_expression.py, to convert human-readable
  infix query expressions (such as a==100 and b>=200) and transform them
  into the equivalent query argument for the pymongo package ({'$and':
  [{'a': 100}, {'b': {'$gte': 200}}]}). Supports many equality and
  inequality operators - see the docstring for the transform_query
  function for more examples.
- Fixed issue where PEP8 compatibility names for ParserElement static
  methods were not themselves defined as staticmethods. When called
  using a ParserElement instance, this resulted in a TypeError
  exception. Reported by eylenburg (#548).  To address a compatibility
  issue in RDFLib, added a property setter for the ParserElement.name
  property, to call ParserElement.set_name.  Modified
  ParserElement.set_name() to accept a None value, to clear the defined
  name and corresponding error message for a ParserElement.  Updated
  railroad diagram generation for ZeroOrMore and OneOrMore expressions
  with stop_on expressions, while investigating #558, reported by user
  Gu_f.  Added <META> tag to HTML generated for railroad diagrams to
  force UTF-8 encoding with older browsers, to better display Unicode
  parser characters.
- Fixed some cosmetics/bugs in railroad diagrams: fixed groups being
  shown even when show_groups=False show results names as quoted strings
  when show_results_names=True only use integer loop counter if
  repetition > 2
- Some type annotations added for parse action related methods, thanks
  August Karlstedt (#551).
- Added exception type to trace_parse_action exception output, while
  investigating SO question posted by medihack.
- Added set_name calls to internal expressions generated in
  infix_notation, for improved railroad diagramming.
- delta_time, lua_parser, decaf_parser, and roman_numerals examples
  cleaned up to use latest PEP8 names and add minor enhancements.
- Fixed bug (and corresponding test code) in delta_time example that did
  not handle weekday references in time expressions (like "Monday at
  4pm") when the weekday was the same as the current weekday.
- Minor performance speedup in trim_arity, to benefit any parsers using
  parse actions.
- Added early testing support for Python 3.13 with JIT enabled.

(From OE-Core rev: 320d54ab73071fd58667e672a3d5415fc8bd5e29)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-30 21:59:38 +01:00
Trevor Gamblin
1084027090 python3-hypothesis: upgrade 6.111.1 -> 6.111.2
Changelog (https://hypothesis.readthedocs.io/en/latest/changes.html)

6.111.2 - 2024-08-24
- This patch contains some internal code cleanup. There is no user-visible change.

(From OE-Core rev: 0c8b7df87ab5dca0618ddf5acdcd3e8eedc1163f)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-30 21:59:38 +01:00
Richard Purdie
d78224151d lz4: Disable static libraries again
This option was incorrectly removed in the recent upgrade. We don't use/need
the static library so disable the build of it to save time/disk usage.

(From OE-Core rev: 2ba36d98bb0fcdd8d918da8fb69f09a06b75fd46)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Richard Purdie
63d77ef893 lz4: Fix static library reproducibility issue
The autobuilder was seeing an intermittent reproducbility issue in lz4 with
regard to symbol ordering in the static library. Add a patch to fix this which
has been submitted upstream.

Fix the SRC_URI whitespace and cleanup the patch directory naming whilst here.

(From OE-Core rev: 79d6d0fa239ab0cf271c01d8169a7d41811f8b4e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Yash Shinde
caa36ffb08 rust: Upgrade 1.78.0->1.79.0
Update the patch files with rust v1.79.0.

Drop the following backported patch which is merged
with rust v1.79 upgrade.

- cross-targets-backport.patch

https://blog.rust-lang.org/2024/06/13/Rust-1.79.0.html

(From OE-Core rev: 0e20d8e0a292f720c9ed419547d8f6d738c5d4d8)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Yash Shinde
94a6eeda53 rust: Oe-selftest changes for rust v1.79
* Sort the exclude list in alphabetical order.

* Add some of the upsupported/failing tests to the exclude list
  and ignore the failing unit tests.

* Remove duplicated tests from the exclude list.

* Testing summary
    Target                PASS                    SKIPPED

    ARM                   17241                    599
    ARM64                 17279                    561
    MIPS64                17228                    612
    PPC                   17194                    629
    X86                   17257                    583
    X86-64                17416                    424

(From OE-Core rev: 61ec0f0f78d9db4c3fc02365713d5fd77b78a7ea)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Yash Shinde
9da30a8753 zlib: Enable PIE for native builds
The zlib crate in rust uses libz.a which comes from the zlib-native build.
Some distros like alma9, fedora etc. do not have PIE enabled by default for system compiler.

This leads to target-rust-ccld linking error for cargo-native as (line no 22936):
error: linking with `/home/pokybuild/yocto-worker/qemuarm64/build/build/tmp/work/x86_64-linux/cargo-native/1.79.0/wrapper/target-rust-ccld` failed: exit status: 1

https://autobuilder.yoctoproject.org/typhoon/#/builders/42/builds/9385/steps/13/logs/stdio

Hence, enable PIE option to CFLAGS for native builds.

(From OE-Core rev: 7146d260f655fa924461333c8c2944ebb93b2b3c)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Khem Raj
088d9fe6b7 gdb: Fix build with latest clang
This patch is already proposed upstream and perhaps landing
soon in gdb master.

(From OE-Core rev: 6721de5a049b245f274081b9b474e81761ea40fd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Clara Kowalsky
5aeabd3217 resulttool: Add support to create test report in JUnit XML format
This adds the functionality to convert the results of the
testresults.json file to a unit test report in JUnit XML format. The
unit test report can be used in the CI/CD pipeline to display the test
results.

To use the resulttool scripts, first source oe environment, then run the
entry point script to look for help.
	$ resulttool

To generate the unit test report, execute the below
	$ resulttool junit <json_file>

By default the unit test report is stored as
<build_dir>/tmp/log/oeqa/junit.xml.

(From OE-Core rev: 3f9be03946243feaa09b908d7010899769091fe6)

Signed-off-by: Clara Kowalsky <clara.kowalsky@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Richard Purdie
f4f9ebf6fb selftest/sstatetests: Extend to cover ERROR_QA/WARN_QA common issues
Now that adding new values to ERROR_QA doesn't invalidate tasks, add this
check to the selftests so that this functionality doens't regress in future.

(From OE-Core rev: 823b5f6cf64ad37ee68e6274c58823f7cc75ddf0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Richard Purdie
be6a4145ea insane: Allow ERROR_QA to use 'contains' hash optimisations for do_package_qa
We want ERROR_QA to operate using the "contains" optimizations which means
accessing the variable only using the contains function.

To do this, remove usage of ALL_QA, open coding the few references to check
both WARN_QA and ERROR_QA.

Move the function table generation to a separate function where we can exclude
the ERROR_QA and WARN_QA variables since they are handled by the handle_error()
function calls.

Ensure all the chain of functions to the handle_error calls is correctly
recognised in the variable dependencies.

(From OE-Core rev: 384e9a6b2e7943b6a3ade1215ed79351c78a0b0d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Richard Purdie
e7e2019180 insane: Further simplify code
Now handle_error is used, we can further simplify the QA test execution
as we don't need seperate function lists for warnings and errors.

(From OE-Core rev: 6896c9fcfc57f007c0ce15f7804e79b6b88f5ded)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Richard Purdie
94ca459727 insane: Add missing vardepsexclude
If we improve the function dependency visibility in insane.bbclass, it
exposes some dependencies which were previously not seen causing variances
in the do_package_qa task checksums. Update vardepsexclude in a couple of
test cases to ensure the sstate hash selftests pass and the taskhashes
don't vary when we don't expect them too.

(From OE-Core rev: 9b6dae2771ed86bd2946548004f4da58e8c0b44c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Richard Purdie
796ef498fa insane: Drop oe.qa.add_message usage
Drop the oe.qa.add_message() usage in favour of oe.qa.handle_error() which has
code allowing it to be optimised with contains usage.

The patch also drops unused return values which we stopped using a while ago
and drops the now unneeded function parameters, generally leading to cleaner
code.

The code should be functionally equivalent.

(From OE-Core rev: 9b2eea9fd4eab4f5e12e955738db22091b91f698)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Richard Purdie
89c308bc47 insane: Optimise ERROR_QA/WARN_QA references in do_populate_sysroot
The new contains code can't inspect variable references in handle_error()
calls. Expand what is effectively a hardcoded reference anyway so the code
can optimise it.

(From OE-Core rev: 51f767d92efb3daeb4aa3b91d72e6d2993cb0f46)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Richard Purdie
674b49a7f7 lib/oe: Use new visitorcode functionality for qa.handle_error()
Early functions like do_recipe_qa (which do_fetch depends upon) reference
oe.qa.handle_error() which in turn adds dependencies on ERROR_QA and
WARN_QA. This means that ERROR_QA:append = " nothing" will cause
literally everything to rebuild and break sstate reuse.

Take advantage of new bitbake functionality to add a custom visitorcode
function to handle_error which optimises the references into contains
expressions which means the ERROR_QA and WARN_QA references are optmised
to containing specific strings. This dramatically improves sstate reuse.

The qa module has to be imported first since other code in later modules
references it and bitbake can't handle the dependency ordering internally
without a lot of unwanted complexity.

(From OE-Core rev: a911ea9659503e9442a183f366e4545a5efe246e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Khem Raj
79253a5668 musl: Upgrade to latest tip of trunk
Bring following changes on top of 1.2.5

* dd1e63c3 syslog: revert LOG_FAC/LOG_FACMASK changes
* 008f737d siglongjmp: document why this function just calls longjmp
* 947b4574 inet_ntop: fix the IPv6 leading zero sequence compression
* 50ab8306 dynlink: avoid copying to temp buffer in get_lfs64
* 1b97d006 sys/epoll.h: add epoll ioctls
* ab31e9d6 getusershell: skip blank lines and comments
* 53ac44ff dynlink: fix get_lfs64() with posix_fallocate64
* 895736d4 syslog: fix incorrect LOG_MAKEPRI and LOG_FAC[MASK] macros
* 05ce67fe add renameat2 linux syscall wrapper
* 00799729 fix mismatched type in posix_getdents definition
* cbf59dd6 aarch64 crti.o: fix alignment of _init/_fini
* 84015cee fix typo that broke sys/reg.h and sys/user.h
* 1b0d4851 implement posix_getdents adopted for next issue of POSIX
* 2c124e13 stdint.h: derive limits from __LONG_MAX, use common fast16 types
* 7019fbe1 sys/user.h: derive __WORDSIZE from __LONG_MAX
* e709a6f0 sys/reg.h: derive __WORDSIZE from __LONG_MAX
* 29b216b2 unistd.h: derive ILP32/LP64 macros from __LONG_MAX instead of arch bits
* 0dfa1d8c unify bits/stat.h for all archs sharing a common definition
* ef600888 align aarch64, riscv64, loongarch64 stat structure padding type
* 6f666231 ldso: fix non-functional fix to early dynamic PAGE_SIZE access
* fced99e9 strptime: implement conversion specifiers adopted for next POSIX issue
* 3f9d4224 printf decimal integer formatting: shave off one division
* a23cf8f9 riscv mcontext_t/sigcontext: use __aligned__ instead of aligned
* cbf1c7b6 add missing STATX_ATTR_* macros omitted when statx was added
* 3f49203c initgroups: do not artificially limit number of supplementary groups
* 24ebbbde printf: fix edge case where hex float precision was not honored
* e3b0ace5 complex: fix comment in cacosh
* 9683bd62 math: fix fma(x,y,0) when x*y rounds to -0
* 5370070f fix pwrite/pwritev handling of O_APPEND files
* bdc9a9ff uio.h: add RWF_NOAPPEND flag for pwritev2
* 7ada6dde iconv: fix missing bounds checking for shift_jis decoding
* fd7d0185 add missing inline keyword on default a_barrier definition
* b5121e2e iconv: add aliases for GBK
* ca6f46af iconv: add euro symbol to GBK as single byte 0x80

(From OE-Core rev: 70179bc94c90ba1f33a3fff8f3019cb96fcdbaef)

(From OE-Core rev: bcfaa9542fac82e90fbb8bdf67e3ade2697fbca4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Khem Raj
41aa8568dd musl: Update to 1.2.5 release
This release adds extension functions statx and preadv2/pwritev2, with
fallback implementations for older kernels, and adds two new ports:
loongarch64 and riscv32. Minor changes to the printf family of
functions have been made for conformance to new standards
interpretations/requirements. TLSDESC support for riscv64 has also
been added.

Bugs fixed include some DNS issues related to new TCP fallback
functionality, several rare race conditions, potentially incorrect
return value when glob aborts, and several signifiant arch-specific
bugs affecting TLSDESC on arm, riscv64 icache flushing, and sh
sigsetjmp and dlsym RTLD_NEXT. [1]

Do not use https protocol for fetching

Musl author confirms that https protocol is not well supported yet on
musl git host, currently we experience this problem intermittently on
some build hosts where the fetching fails.

fatal: protocol error: bad line length character: erro
WARNING: Failed to fetch URL git://git.etalabs.net/git/musl;branch=master;protocol=https

[1] https://www.openwall.com/lists/musl/2024/03/01/2

(From OE-Core rev: c6c79477209f5e7e1a0206942de9603a7accec67)

(From OE-Core rev: 0d0a2d62810bfa7ea51d536c4e43c2edae823a6b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Khem Raj
98eaec26ff bluez5: Fix build with musl
(From OE-Core rev: e5f9870757bf7ffd009ce4ba999d37e41274982c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Siddharth Doshi
405fe4d77d vim: Upgrade 9.1.0682 -> 9.1.0698
This includes CVE-fix for CVE-2024-43790 and CVE-2024-43802

Changes between 9.1.0682 -> 9.1.0698
====================================
https://github.com/vim/vim/compare/v9.1.0682...v9.1.0698

(From OE-Core rev: e530265415d93e3f49ec7874cf720aad18ab2e22)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Dmitry Baryshkov
471da6ddad linux-firmware: restore qcom/vpu-1.0/venus.mdt compatibility symlink
The commit [1] has dropped the qcom/vpu-1.0/venus.mdt symlink which is
required for the kernels before 6.6. Pick up a patch restoring this
symlink.

[1] 36db650dae

(From OE-Core rev: e84b673b5788d1eeadf49c009cf58feebfcedede)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Dmitry Baryshkov
ea1fb9f63f linux-firmware: package qcom-vpu firmware
Release 20240811 has restructured the locations of Qualcomm VPU
firmware (see commit [1]). Follow those changes and implement a single
linux-firmware-qcom-vpu package holding all VPU firmware files.

[1] 36db650dae

(From OE-Core rev: 3a4204b1393b46c1ee14fa9e546e19e3f250c002)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Dmitry Baryshkov
89975150e3 linux-firmware: use wildcards to grab all qcom-qcm2290/qrb4210 wifi files
It makes little sense to keep board-specific firmware-5.bin in
linux-firmware-ath10k package if the wlanmdsp.mbn file is a part of the
linux-firmware-qcom-qcm2290 / -qrb4210 packages. Use wildcards to pick
those files too.

(From OE-Core rev: 0b179622bdff4b26d14f949595e9772629e5f0ac)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Dmitry Baryshkov
1fed37f524 linux-firmware: move -qcom-qcm2290-wifi before -ath10k
The linux-firmware-qcom-qcm2290-wifi package needs to steal some files
from the linux-firmware-ath10k (like qcom-qrb4210-wifi and
qcom-sdm845-modem packages do). Move the package name before the ath10k
in the list so that thieft is successful.

Fixes: f65e01a0c7eb ("linux-firmware: update to 20240513")
Cc: Quentin Schulz <quentin.schulz@cherry.de>
(From OE-Core rev: b5fb1fd145288d80fb89badb3533a3b7d1e47cf1)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Dmitry Baryshkov
c383cd90d2 linux-firmware: add packages with SM8550 and SM8650 audio topology files
Split audio topology files to separate packages so that users of the
corresponding boards don't have to pull in the whole linux-firmware
package.

(From OE-Core rev: b8a35c6eddf9ca47587d9e526b8bd345aad64cb4)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Dmitry Baryshkov
3bdeaf6eb0 linux-firmware: make qcom-sc8280xp-lenovo-x13s-audio install Linaro licence
The linux-firmware-qcom-sc8280xp-lenovo-x13s-audio package includes
audio topology file which has separate licensing terms. Make this
package RDEPEND on the corresponding licence package.

Fixes: 958d6a209edf ("linux-firmware: package audio topology for Lenovo X13s")
(From OE-Core rev: 6c2ec809edd1606ec55fbd7d15e4cbea8e2752d3)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Richard Purdie
9a25a38ffe bitbake: codeparser: Allow code visitor expressions to be declared in metadata
Allow the metadata to define code visitor expressions which mean that
custom dependencies can be handled in function libraries.

An example is the qa.handle_error function in OE which can set something
like:

"""
def handle_error_visitorcode(name, args):
    execs = set()
    contains = {}
    warn = None
    if isinstance(args[0], ast.Constant) and isinstance(args[0].value, str):
        for i in ["ERROR_QA", "WARN_QA"]:
            if i not in contains:
                contains[i] = set()
        contains[i].add(args[0].value)
    else:
        warn = args[0]
        execs.add(name)
    return contains, execs, warn

handle_error.visitorcode = handle_error_visitorcode
"""

Meaning that it can have contains optimisations on ERROR and WARN_QA
instead of hard dependencies.

One drawback to this solution is the parsing order. Functions with
visitorcode need to be defined before anything else references them
or the visitor code will not function for the earlier references.

(Bitbake rev: 5bd0c65c217394cde4c8e382eba6cf7f4b909c97)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Alexander Kanavin
3492e96032 cracklib: update 2.9.11 -> 2.10.2
Drop endianness patch; upstream resolved the issue via:
https://github.com/cracklib/cracklib/pull/86
https://github.com/cracklib/cracklib/issues/74

(From OE-Core rev: 4a54f06332fc0e3065b772a4563b9662830b1c98)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-28 09:14:27 +01:00
Alexander Kanavin
ce14080632 vte: upgrade 0.74.2 -> 0.76.3
lz4 is a new required dependency.

(From OE-Core rev: 74690600e2d5037a45e754ae28cd6afb39cf2c5c)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-28 09:14:27 +01:00
Alexander Kanavin
706bd59423 lz4: upgrade 1.9.4 -> 1.10.0
Drop most EXTRA_OEMAKE settings as no longer necessary.
(makefiles use weak assignments and shell variables then
take precedence).

License-Update: clarification that it's gpl2-or-later.

(From OE-Core rev: a4dde4e0dcc2cc75c4eec5d78fbf2a1e47401050)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-28 09:14:27 +01:00
Alexander Kanavin
1344185255 alsa-utils: upgrade 1.2.11 -> 1.2.12
(From OE-Core rev: 306a798a1564118dad198747851af54e73e779bd)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-28 09:14:27 +01:00
Alexander Kanavin
ae5de774f3 libtraceevent: upgrade 1.8.2 -> 1.8.3
Drop backport.

(From OE-Core rev: 1125dc6679c72c6b377d802009c908465626a3e6)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-28 09:14:27 +01:00