When launching the debug configuration, the source files from the debug
rootfs were openened in the editor instead of the local workspace files.
We add an exception to properly map them to the file being developed and
compiled by the IDE integration. This also more closely matches what the
user would expect compared to native development.
This is also true for the devtool fallback mode.
Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adrian Freihofer [Sun, 25 Feb 2024 20:47:00 +0000 (21:47 +0100)]
devtool: ide-sdk launch.json per recipe only
If multiple recipes are processed at once, the launch.json and the
tasks.json of the second recipe contains also the configurations for the
binaries of the first recipe.
Example:
devtool ide-sdk powertop cmake-example oe-selftest-image
generated a launch and a tasks configuration for the cmake-example
recipe which also offers debugging the powertop binary.
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Mon, 26 Feb 2024 09:19:22 +0000 (10:19 +0100)]
oeqa/utils/postactions: testimage: add host disk usage stat as post action
Since the target under test can be a virtualized guest, when some tests
fail because of disk usage (see [1]), also fetch disk usage statistics from
host to allow checking whether a host disk space saturation could affect
running tests.
Alexis Lothoré [Mon, 26 Feb 2024 09:19:21 +0000 (10:19 +0100)]
oeqa/utils/postactions: add target disk usage stat as post action
In order to debug issues related to disk space (see [1]), add a failed
tests post action to retrieve disk usage on the target. Rely on the test
context object to run the corresponding command onto the target
Alexis Lothoré [Mon, 26 Feb 2024 09:19:20 +0000 (10:19 +0100)]
oeqa/utils/postactions: isolate directory creation in dedicated action
In order to be able to create actions that could store new files during
failed test post actions, we need to split artifacts directory creation
from artifacts retrieval.
Create a new dedicated action to create artifacts main directory so we can
add actions creating files in this new directory, without worrying about
actions order if at least this action is set first.
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Mon, 26 Feb 2024 09:19:19 +0000 (10:19 +0100)]
testimage: create a list of failed test post actions
testimage is able to detect whenever a test run leads to some tests
failing, and execute some actions in this case. The only action currently
defined in such case is to retrieve artifacts from the target under test,
as listed in TESTIMAGE_FAILED_QA_ARTIFACTS
In order to be able to add multiple actions, define a central function to
gather all "post actions" to run whenever a test has failed
(run_failed_tests_post_actions). This function contains a table listing all
functions to be called whenever a test fails. Any function in this table
will be provided with bitbake internal data dictionary ("d") and the
current runtime testing context ("tc"). Isolate all this feature in a
dedicated postactions.py file inherited by testimage.
This patch does not bring any functional change.
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simone Weiß [Sat, 24 Feb 2024 08:18:38 +0000 (08:18 +0000)]
cve-check: Log if CVE_STATUS set but not reported for component
Log if the CVE_STATUS is set for a CVE, but the cve is not reported for a
component. This should hopefully help to clean up not needed CVE_STATUS
settings.
Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simone Weiß [Fri, 23 Feb 2024 21:31:01 +0000 (21:31 +0000)]
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.
Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simone Weiß [Fri, 23 Feb 2024 21:07:40 +0000 (21:07 +0000)]
patchtest: Skip test for CVE_CHECK_IGNORE for older branches
Skip the test for checking if CVE_CHECK_IGNORE is not used.
It is deprecated now, but was not deprecated for kirkstone and dunfell.
Skip it therefore if a patch is intended for those branches.
Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simone Weiß [Fri, 23 Feb 2024 20:56:39 +0000 (20:56 +0000)]
patchtest: provide further guidance for failed testcases
Cross-reference the wiki page on patchtest now that it is updated and contains
more information how to address failed testcases. Adding it in patchtest only
is enough as patchtest-send-result already points to the wikipage for failures.
Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Munehisa Kamata [Fri, 23 Feb 2024 08:05:13 +0000 (00:05 -0800)]
kernel.bbclass: Set pkg-config variables for building modules
The pkg-config workaround has been applied for kernel image building, but
not for module building. So pkg-config variables are different between
do_compile and do_compile_kernelmodules tasks. It may unnecessary trigger
rebuilding of a few host tools at the later task.
Especially when CONFIG_DEBUG_INFO_BTF is enabled in the kernel, it may even
trigger rebuilding vmlinux at do_compile_kernelmodules due to the rebuilt
host tools such as certs/extract-cert or objtool (on x86). This eventually
creates an inconsistent set of kernel binaries.
Here is the repro steps:
- Check out nanbield on x86
- The unexpected rebuild happens on kirkstone or possibly earlier
- Ensure that pahole is available (e.g. via meta-oe)
- Set KERNEL_DEBUG to "True" to properly set up PAHOLE
e.g.
$ export KERNEL_DEBUG="True"
$ export BB_ENV_PASSTHROUGH_ADDITIONS="${BB_ENV_PASSTHROUGH_ADDITIONS} KERNEL_DEBUG"
The BTF information in the resulting bzImage and kernel modules are
inconsistent, because the module's BTF information is generated using the
"second" vmlinux that doesn't have the identical BTF to the "first" vmlinux.
These modules can't be loaded at runtime due to the BTF mismatch.
This also leads to a build-id mismatch between the installed bzImage and
vmlinux since the bzImage is created from the first vmlinux, but the
installed vmlinux is the second one.
To avoid the unexpected rebuilding that results in such inconsistency, set
the same pkg-config variables when building kernel and modules. For kernel
5.19 and above, simply set the HOSTPKG_CONFIG in the make command line.
Signed-off-by: Munehisa Kamata <kamatam@amazon.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Emil Kronborg [Thu, 22 Feb 2024 19:44:59 +0000 (19:44 +0000)]
bluez5: remove configuration files from install task
Since be0e796299b0 ("build: ship all config files with
--enable-datafiles") in bluez, installing input.conf and network.conf
has been redundant, as the bluez5 recipe already includes
--enable-datafiles.
Signed-off-by: Emil Kronborg <emil.kronborg@protonmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Soumya Sambu [Fri, 23 Feb 2024 06:19:12 +0000 (06:19 +0000)]
bind: Upgrade 9.18.21 -> 9.18.24
Changelog:
=========
9.18.24:
- Fix case insensitive setting for isc_ht hashtable.
[GL #4568]
9.18.23:
- Specific DNS answers could cause a denial-of-service
condition due to DNS validation taking a long time.
(CVE-2023-50387) [GL #4424]
- Change 6315 inadvertently introduced regressions that
could cause named to crash. [GL #4234]
- Under some circumstances, the DoT code in client
mode could process more than one message at a time when
that was not expected. That has been fixed. [GL #4487]
9.18.22:
- Limit isc_task_send() overhead for RBTDB tree pruning.
[GL #4383]
- Restore DNS64 state when handling a serve-stale timeout.
(CVE-2023-5679) [GL #4334]
- Specific queries could trigger an assertion check with
nxdomain-redirect enabled. (CVE-2023-5517) [GL #4281]
- Speed up parsing of DNS messages with many different
names. (CVE-2023-4408) [GL #4234]
- Address race conditions in dns_tsigkey_find().
[GL #4182]
- Conversion from NSEC3 signed to NSEC signed could
temporarily put the zone into a state where it was
treated as unsigned until the NSEC chain was built.
Additionally conversion from one set of NSEC3 parameters
to another could also temporarily put the zone into a
state where it was treated as unsigned until the new
NSEC3 chain was built. [GL #1794] [GL #4495]
- Memory leak in zone.c:sign_zone. When named signed a
zone it could leak dst_keys due to a misplaced
'continue'. [GL #4488]
- Log more details about the cause of "not exact" errors.
[GL #4500]
- The wrong time was being used to determine what RRSIGs
where to be generated when dnssec-policy was in use.
[GL #4494]
- The "trust-anchor-telemetry" statement is no longer
marked as experimental. This silences a relevant log
message that was emitted even when the feature was
explicitly disabled. [GL #4497]
- Fix statistics export to use full 64 bit signed numbers
instead of truncating values to unsigned 32 bits.
[GL #4467]
- NetBSD has added 'hmac' to libc which collides with our
use of 'hmac'. [GL #4478]
Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Woerner [Fri, 23 Feb 2024 00:55:27 +0000 (19:55 -0500)]
wic: allow imager-specific filename extensions
Currently there is only one defined imager as part of oe-core's wic
implementation: 'direct'. However, having a highly plugin-based design,
wic allows users to define their own imagers (and sources).
Therefore don't hard-code the filename extension of the imager output to
be 'direct' (i.e. the default imager). Allow the extension to follow the
name of the imager being used.
A user can specify a custom imager via the WIC_CREATE_EXTRA_ARGS variable.
If the user does not specify an imager, then 'direct' is assumed.
Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jonathan GUILLOT [Fri, 23 Feb 2024 09:51:45 +0000 (09:51 +0000)]
glibc-locale: add an explicit dedicated package for locale.alias file
Until now, ${datadir}/locale/locale.alias file were automatically added
to a weird glibc-locale-locale.alias package by split_locales() during
do_package task.
Create an explicit package name in recipe for this file.
Signed-off-by: Jonathan GUILLOT <jonathan@joggee.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jonathan GUILLOT [Mon, 19 Feb 2024 16:19:28 +0000 (16:19 +0000)]
lib/oe/package: fix LOCALE_PATHS scan to create locale packages
split_locales() must only check subdirectories in paths added to
LOCALE_PATHS to avoid creating weird packages based on filenames also
present in paths.
Without such a filter, cups recipe adding ${datadir}/cups/templates to
LOCALE_PATHS creates the following incorrect packages:
- cups-locale-add-class.tmpl
- cups-locale-add-printer.tmpl
- cups-locale-admin.tmpl
Signed-off-by: Jonathan GUILLOT <jonathan@joggee.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
basepasswd_sysroot_postinst in base-passwd can install postinst-useradd-*
scripts with any order. Sometimes this means, for example a useradd postinst
will attempt to run without the corresponding group postinst causing errors.
This patch ensures that we first run groupadd, then useradd and then
group membership.
[RP: Tweaked to avoid removing previous fixes and for whitespace/style issues
Also ensure the scripts are changed to execute with -e to highlight errors]
Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> Signed-off-by: Piotr Łobacz <p.lobacz@welotec.com> Signed-off-by: Jan Górski <j.gorski@welotec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 22 Feb 2024 17:20:59 +0000 (17:20 +0000)]
recipetool: Fix errors with meta-poky bbappend
When a new base-files bbappend was added to meta-poky, it causes selftest
failures. Whilst this isn't ideal, workaround that issue for now since
the append is being added for security visibility and changing the tests
to support this more generically looks invasive.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to use the absolute path to the compiler so that the VSCode
configuration generated by devtool ide-sdk could lint meson projects.
A feature was just added to vscode-cpptools to support conveying the
compilerPath in addition to the compile_commands.json. The next
commits adds the necessary configuration. We can revert this one and
keep the meson paths as they were.
Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
devtool: ide: define compilerPath for meson projects
The compile_commands.json file output by meson uses the compiler as if
present in the $PATH. However, when using an IDE, the $PATH used by
bitbake is not there.
The vscode-cpptools now allows to define the compilerPath in addition
to replace the one from compile_commands.json.
Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 21 Feb 2024 13:14:58 +0000 (13:14 +0000)]
oeqa/selftest/rust: Simplify the rust testsuite output gathering/processing
The rust testsuite was redirecting command output to a file, which made it
hard to debug failure cases since the logs were not available to print to
the console.
Rework the code so it uses the existing popen logging and hence allows us
to improve the error logging situation and make debugging failures easier.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Xiangyu Chen [Wed, 21 Feb 2024 07:29:42 +0000 (15:29 +0800)]
systemd-systemctl: fix dead loop when multi services enable each other
libvirt has added a feature that all sockets for a service being enabled when a single
one of them is enabled since 9.9.x[1], it likes serviceA enable serviceB, serviceB enable
serviceA, that cause our systemctl script trap into a dead loop in postinstall stage,
the error message as below:
Traceback (most recent call last):
File "/usr/lib/python3.8/pathlib.py", line 722, in __str__
return self._str
AttributeError: _str
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "recipe-sysroot-native/usr/bin/systemctl", line 255, in enable
SystemdUnit(self.root, also).enable(unit)
File "recipe-sysroot-native/usr/bin/systemctl", line 255, in enable
SystemdUnit(self.root, also).enable(unit)
File "recipe-sysroot-native/usr/bin/systemctl", line 255, in enable
SystemdUnit(self.root, also).enable(unit)
[Previous line repeated 988 more times]
......
RecursionError: maximum recursion depth exceeded while calling a Python object
Here using an array to record the services which has been enabled to filter the duplicates.
Khem Raj [Wed, 21 Feb 2024 01:58:19 +0000 (17:58 -0800)]
ncurses: Always pass -D_GNU_SOURCE
So far it was assumed that it was detected ok for target recipe but
actually it ends up with warnings and build moves on, however with
gcc-14 these warnings are treated as errors and we see the problem even
with target recipes.
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
dbus: disable assertions and enable only modular tests
There was a report that enabling assertions and all tests results in
notices in log.do_configure:
NOTE: building with unit tests increases the size of the installed library and renders it insecure.
NOTE: building with assertions increases library size and decreases performance.
This was overlooked when dbus and dbus-tests recipes were merged;
enabling all tests and assertions still requires a special, separate
build of dbus. If those tests are useful this could be revisited.
Until then, we should use productions settings for the main recipe.
Buildhistory-diff:
packages/core2-64-poky-linux/dbus/dbus-dbg: PKGSIZE changed from 9958176 to 8627824 (-13%)
packages/core2-64-poky-linux/dbus/dbus-lib: PKGSIZE changed from 544347 to 346339 (-36%)
packages/core2-64-poky-linux/dbus/dbus-ptest: PKGSIZE changed from 3524983 to 3116951 (-12%)
packages/core2-64-poky-linux/dbus/dbus-ptest: FILELIST: removed "/usr/share/installed-tests/dbus/test-dbus-launch-eval.sh_with_config.test /usr/share/installed-tests/dbus/test-counter_with_config.test /usr/libexec/installed-tests/dbus/test-dbus-launch-eval.sh /usr/libexec/installed-tests/dbus/test-dbus-launch-x11.sh /usr/share/installed-tests/dbus/test-counter.test /usr/libexec/installed-tests/dbus/test-counter /usr/share/installed-tests/dbus/test-dbus-launch-x11.sh.test /usr/share/installed-tests/dbus/test-dbus-launch-x11.sh_with_config.test /usr/share/installed-tests/dbus/test-dbus-launch-eval.sh.test"
packages/core2-64-poky-linux/dbus/dbus: PKGSIZE changed from 510939 to 350331 (-31%)
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Wed, 21 Feb 2024 02:18:36 +0000 (21:18 -0500)]
linux-yocto/6.6: update to v6.6.17
Updating linux-yocto/6.6 to the latest korg -stable release that comprises
the following commits:
b2c9bf06474e Linux 6.6.17 b734f7a47aeb netfilter: nft_set_rbtree: skip end interval element from gc d850a1f8dbbe net: stmmac: xgmac: fix a typo of register name in DPP safety handling 2fbdc116640f ALSA: usb-audio: Sort quirk table entries 460951a8e502 net: stmmac: xgmac: use #define for string constants 22ccf61c336e io_uring/net: limit inline multishot retries 7cbd3aa59db5 io_uring/poll: add requeue return code from poll multishot handling eac52bfe2333 io_uring/net: un-indent mshot retry path in io_recv_finish() 0848bf7e539a io_uring/poll: move poll execution helpers higher up 0ceb7a9230d6 io_uring/net: fix sr->len for IORING_OP_RECV with MSG_WAITALL and buffers 7a62d444a252 media: solo6x10: replace max(a, min(b, c)) by clamp(b, a, c) d41ba25cb8b6 Revert "ASoC: amd: Add new dmi entries for acp5x platform" ac589a37bc0c Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID 38d4dfeb0a8d Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU 4abccba26f63 hrtimer: Report offline hrtimer enqueue f0b1398669a3 usb: dwc3: pci: add support for the Intel Arrow Lake-H f5e7ffa9269a xhci: handle isoc Babble and Buffer Overrun events properly b5595a07ce1b xhci: process isoc TD properly when there was a transaction error mid TD. a78f36f39a76 usb: host: xhci-plat: Add support for XHCI_SG_TRB_CACHE_SIZE_QUIRK b3e8e687d2db usb: dwc3: host: Set XHCI_SG_TRB_CACHE_SIZE_QUIRK 2aed1b6c33af x86/lib: Revert to _ASM_EXTABLE_UA() for {get,put}_user() fixups 7add0db9543e Revert "usb: typec: tcpm: fix cc role at port reset" 2d744a0cf852 USB: serial: cp210x: add ID for IMST iM871A-USB 4d53c5124b82 USB: serial: option: add Fibocom FM101-GL variant 1f2c1cf43e88 USB: serial: qcserial: add new usb-id for Dell Wireless DW5826e dbeb9bf62c95 ALSA: usb-audio: add quirk for RODE NT-USB+ 49ab71ba24b3 ALSA: usb-audio: Add a quirk for Yamaha YIT-W12TX transmitter 790053c73394 ALSA: usb-audio: Add delay quirk for MOTU M Series 2nd revision 27b216130e64 blk-iocost: Fix an UBSAN shift-out-of-bounds warning 89b00dc3d6bb riscv: declare overflow_stack as exported from traps.c bc401f796061 riscv: Fix arch_hugetlb_migration_supported() for NAPOT da9c33a70f09 libceph: just wait for more data to be available on the socket 90731f99f8c1 libceph: rename read_sparse_msg_*() to read_partial_sparse_msg_*() f4b69db0efca riscv: Flush the tlb when a page directory is freed aceb4ab9689b scsi: core: Move scsi_host_busy() out of host lock if it is for per-command d0d1f9a9b937 riscv: Fix hugetlb_mask_last_page() when NAPOT is enabled 21dba4e4f071 riscv: Fix set_huge_pte_at() for NAPOT mapping d37708448b13 riscv: mm: execute local TLB flush after populating vmemmap c4a05cf0ed78 mm: Introduce flush_cache_vmap_early() 9bf829def8cf riscv: Improve flush_tlb_kernel_range() 53a38f8f75ec riscv: Make __flush_tlb_range() loop over pte instead of flushing the whole tlb 72afe05d6265 riscv: Improve tlb_flush() fb7bcd1722bc fs/ntfs3: Fix an NULL dereference bug bab2fb9d6b67 netfilter: nft_set_pipapo: remove scratch_aligned pointer 9af9079ca1fd netfilter: nft_set_pipapo: add helper to release pcpu scratch area e96795240aec netfilter: nft_set_pipapo: store index in scratch maps 28c5407cd2e4 netfilter: nft_ct: reject direction for ct id cd9bd10c59e3 drm/amd/display: Implement bounds check for stream encoder creation in DCN301 3f3c237a7065 drm/amd/display: Add NULL test for 'timing generator' in 'dcn21_set_pipe()' 2e150ccea131 drm/amd/display: Fix 'panel_cntl' could be null in 'dcn21_set_backlight_level()' a600c1ebc464 netfilter: nft_compat: restrict match/target protocol to u16 b3f2e143eb30 netfilter: nft_compat: reject unused compat flag 6a64b8293506 netfilter: nft_compat: narrow down revision to unsigned 8-bits 84bfcb7774b6 selftests: cmsg_ipv6: repeat the exact packet 7e5ef4967076 ppp_async: limit MRU to 64K b74aa9ce13d0 af_unix: Call kfree_skb() for dead unix_(sk)->oob_skb in GC. 888e3524be87 tipc: Check the bearer type before calling tipc_udp_nl_bearer_add() 94cac7da5889 selftests: net: let big_tcp test cope with slow env 024b25117511 rxrpc: Fix counting of new acks and nacks 2868b8e45a89 rxrpc: Fix response to PING RESPONSE ACKs to a dead call 200cb50b9e15 rxrpc: Fix delayed ACKs to not set the reference serial number 2c9dc472e66f rxrpc: Fix generation of serial numbers to skip zero 41d5340cb01e drm/i915/gvt: Fix uninitialized variable in handle_mmio() 4a5e31bdd3c1 inet: read sk->sk_family once in inet_recv_error() 2109eb2d6aaa hwmon: (coretemp) Fix bogus core_id to attr name mapping 853a6503c586 hwmon: (coretemp) Fix out-of-bounds memory access c9b0d253f1ab hwmon: (aspeed-pwm-tacho) mutex for tach reading 76ce07eb215d octeontx2-pf: Fix a memleak otx2_sq_init f9d5410d8f1b atm: idt77252: fix a memleak in open_card_ubr0 510c869ffa40 tunnels: fix out of bounds access when building IPv6 PMTU error 10db3a7e54e2 tsnep: Fix mapping for zero copy XDP_TX action 9ecd0d78ead2 selftests: net: avoid just another constant wait 4bd05772c7dc selftests: net: fix tcp listener handling in pmtu.sh 1000bd0afca1 selftests/net: change shebang to bash to support "source" 9cf2d6d71bee selftests/net: convert pmtu.sh to run it in unique namespace 7be281a41111 selftests/net: convert unicast_extensions.sh to run it in unique namespace 104ab0e82134 selftests: net: cut more slack for gro fwd tests. 004fe5b7f592 net: atlantic: Fix DMA mapping for PTP hwts ring 6eecddd9c3c8 netdevsim: avoid potential loop in nsim_dev_trap_report_work() 4571767d66d6 wifi: brcmfmac: Adjust n_channels usage for __counted_by 3da5fdb61ae9 wifi: iwlwifi: exit eSR only after the FW does 733031cd485c wifi: mac80211: fix waiting for beacons logic fc3432ae8232 wifi: mac80211: fix RCU use in TDLS fast-xmit 7e0ff50131e9 net: stmmac: xgmac: fix handling of DPP safety error for DMA channels 0e7ca435c574 x86/efistub: Avoid placing the kernel below LOAD_PHYSICAL_ADDR c756fd5d460b x86/efistub: Give up if memory attribute protocol returns an error 79592a6e7bdc drm/msm/dpu: check for valid hw_pp in dpu_encoder_helper_phys_cleanup 1449c75720e8 drm/msm/dp: return correct Colorimetry for DP_TEST_DYNAMIC_RANGE_CEA case 1506145c2cd5 drm/msms/dp: fixed link clock divider bits be over written in BPC unknown case 05955a703b75 xfs: respect the stable writes flag on the RT device d7d5ed65364c xfs: clean up FS_XFLAG_REALTIME handling in xfs_ioctl_setattr_xflags 3581868f51a2 xfs: dquot recovery does not validate the recovered dquot d744e578802a xfs: clean up dqblk extraction b28b234276a8 xfs: inode recovery does not validate the recovered inode 5411625f8dde xfs: fix again select in kconfig XFS_ONLINE_SCRUB_STATS 0838177b012b xfs: fix internal error from AGFL exhaustion c86562e6918a xfs: up(ic_sema) if flushing data device fails 767a94d81616 xfs: only remap the written blocks in xfs_reflink_end_cow_extent 005be6684225 xfs: abort intent items when recovery intents fail 23f3d79fc983 xfs: factor out xfs_defer_pending_abort d7d84772c3f0 xfs: allow read IO and FICLONE to run concurrently d4eba134c509 xfs: handle nimaps=0 from xfs_bmapi_write in xfs_alloc_file_space 47b07e51d0c2 xfs: introduce protection for drop nlink 0fbbfe5fbfbe xfs: make sure maxlen is still congruent with prod when rounding down e3aca4536b6b xfs: fix units conversion error in xfs_bmap_del_extent_delay fe327b8234d4 xfs: rt stubs should return negative errnos when rt disabled 6a6bb41b31df xfs: prevent rt growfs when quota is enabled e820b13ba866 xfs: hoist freeing of rt data fork extent mappings 195f22386e19 xfs: bump max fsgeom struct version c778631b4abc MAINTAINERS: add Catherine as xfs maintainer for 6.6.y 73596f5ab35f rust: upgrade to Rust 1.73.0 aacae44644fb rust: print: use explicit link in documentation e8e7a528220a rust: task: remove redundant explicit link 9b33bb254d1b rust: upgrade to Rust 1.72.1 31a254f6920a rust: arc: add explicit `drop()` around `Box::from_raw()` cff97d683a08 cifs: failure to add channel on iface should bump up weight fb708025b1f1 cifs: avoid redundant calls to disable multichannel 14ef61594a5a phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP 9851389b1c39 dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV f7799ecf30be perf evlist: Fix evlist__new_default() for > 1 core PMU 6f67140cf7e1 phy: renesas: rcar-gen3-usb2: Fix returning wrong error code 5cd8a51517ce dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA df6a1dc71c1d dmaengine: fsl-qdma: Fix a memory leak related to the status queue DMA 43ad9840c123 dmaengine: ti: k3-udma: Report short packet errors f24ba6f9f741 dmaengine: fsl-dpaa2-qdma: Fix the size of dma pools ea42d6cffb0d ext4: regenerate buddy after block freeing failed if under fc replay
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Among the files generated by meson is compile_commands.json. It is not
used by bitbake during the build. However, if the devtool workspace is
opened inside an IDE, that IDE can use compile_commands.json to
configure linting and code completion. This is notably relied on by the
new devtool ide-sdk command.
The problem is that the IDE using compile_commands.json does not know
the $PATH set-up by bitbake, so it won't find the compiler. This results
in linting errors, like missing headers. We can fix this by expliciting
the absolute compiler paths in meson.cross.
The compile_commands.json specification expressly states:
"All paths specified in the command or file fields must be either
absolute or relative to this directory." Link: https://clang.llvm.org/docs/JSONCompilationDatabase.html
An alternative way to implement this is to directly change CXX inside
bitbake.conf to make all recipes use absolute compiler paths.Since this
would affect all recipes, so I would like to have the maintainers'
opinion on this. It could make sense to use absolute compiler paths for
all toolchain binaries, we already do so for the sysroot
TOOLCHAIN_OPTIONS.
Discussions have been opened with meson/ninja maintainers to implement
this at their level:
- https://github.com/ninja-build/ninja/issues/2383
- https://github.com/mesonbuild/meson/issues/12834
These tools have even less information on the environment so it makes
sense for Yocto to provide the absolute paths.
Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When debugging or browsing files, the user may fall into external
sources from other packages in the sysroot or dbg-rootfs. Modifying them
will only lead to confusion since they will be overwritten by Yocto. The
user should open them in a separate devtool modify session if they want
to make changes. Meanwhile, we should prevent write access to them.
Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
devtool: ide_sdk: Use bitbake's python3 for generated scripts
The generated scripts use the sys.path configuration found inside
bitbake. It can be a different python version than the one used on the
host through the IDE.
For instance, when running the generated script
deploy_target_cmake-example-core2-64 from an eSDK generated on another
machine, I got the following exception:
AssertionError: SRE module mismatch
We need to match the sys.executable to the sys.path.
Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yi Zhao [Tue, 20 Feb 2024 04:40:45 +0000 (12:40 +0800)]
libsdl2: upgrade 2.28.5 -> 2.30.0
License-Update: Copyright year updated to 2024.
ChangeLog (https://github.com/libsdl-org/SDL/releases/tag/release-2.30.0):
* Added support for 2 bits-per-pixel indexed surface formats
* Added the function SDL_GameControllerGetSteamHandle() to get the Steam
API handle for a controller, if available
* Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent when
the Steam API handle for a controller changes. This could also change
the name, VID, and PID of the controller.
* Added the environment variable SDL_LOGGING to control default log
output
Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
insane.bbclass: Allow the warning about virtual/ to be disabled
Commit f673d3d239799fb1ab50f4aa5d44187666aa0cd7 introduced a warning for
virtual/ being used in RPROVIDES and RDEPENDS. Make it possible to
disable the warning by removing "virtual-slash from WARN_QA.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Orling [Mon, 19 Feb 2024 17:30:24 +0000 (09:30 -0800)]
recipetool; add support for python_mesonpy class
* Add support to detect the "mesonpy" build-backend for recipetool create.
* Add oe-selftest case for creating a recipe for "siphash24" from pypi.
https://pypi.org/project/siphash24/
This is by far the simplest recipe using the mesonpy build backend.
Upstream does not provide LICENSE file(s) and we do not detect the
LICENSE so don't check for that result in the test. Likewise, upstream
does not define HOMEPAGE, so skip that result.
Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/oe/patch: Use git notes to store the filenames for the patches
The old way of keeping track of the filenames for the patches that
correspond to the commits was to add a special comment line to the end
of the commit message, e.g., "%% original patch: <filename>", using a
temporary git hook. This method had some drawbacks, e.g.:
* It caused problems if one wanted to push the commits upstream as the
comment line had to be manually removed.
* The comment line would end up in patches if someone used git
format-path rather than devtool finish to generate the patches.
* The comment line could interfere with global Git hooks used to
validate the format of the Git commit message.
* When regenerating patches with `devtool finish --force-patch-refresh`,
the process typically resulted in adding empty lines to the end of the
commit messages in the updated patches.
A better way of keeping track of the patch filenames is to use Git
notes. This way the commit messages remain unaffected, but the
information is still shown when, e.g., doing `git log`. A special Git
notes space, refs/notes/devtool, is used to not intefere with the
default Git notes. It is configured to be shown in, e.g., `git log` and
to survive rewrites (i.e., `git commit --amend` and `git rebase`).
Since there is no longer any need for a temporary Git hook, the code
that manipulated the .git/hooks directory has also been removed. To
avoid potential problems due to global Git hooks, --no-verify was added
to the `git commit` command.
To not cause troubles for those who have done `devtool modify` for a
recipe with the old solution and then do `devtool finish` with the new
solution, the code will fall back to look for the old strings in the
commit message if no Git note can be found.
While not technically motivated like above, the way to keep track of
ignored commits is also changed to use Git notes to avoid having
different methods to store similar information.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/oe/patch: Make extractPatches() not extract ignored commits
If a commit is marked with "%% ignore" it means it is used by devtool to
keep track of changes to the source code that are not the result of
running do_patch(). These changes need to actually be ignored when
extracting the patches as they typically make no sense as actual patches
in a recipe.
This also adds a new test for oe-selftest that verifies that there are
no patches generated from ignored commits.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
overlayfs-etc: add option to skip creation of mount dirs
The 'preinit' script can't create mount directories when rootfs is
read-only. Add an option to skip this step. The user must make sure that
all required directories are already in the rootfs directory layout.
initramfs-framework: overlayroot: align bootparams with module name
Renaming the 'rootrw' kernel commandline parameter to
'overlayrootrwdev' to both align better with this modules name, and
point out the usage of the variable.
This patch also includes an if block to migrate the old 'rootrw'
block, should it be already used by someone.
Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
The initramfs-framwork takes kernel commandline options and converts
them for internal use to variables following the 'bootparam_name'
pattern. The overlayroot module uses 'bootparam_rootfstype' and
'bootparam_rootfsflags' which both collide with linux kernel
parameters 'rootfstype' and 'rootfsflags'. This collision is solved
by putting the variables in the namespace of the initramfs-framework
module.
Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Jermain Horsman [Thu, 8 Feb 2024 13:50:30 +0000 (14:50 +0100)]
bitbake-layers: Add test case layers setup for custom references
This includes a simple test which creates a layer setup using
custom references, and subsequently modifies the resulting layers
setup using a different custom reference.
Jermain Horsman [Thu, 8 Feb 2024 13:50:28 +0000 (14:50 +0100)]
bitbake-layers: Add ability to update the reference of repositories
This creates a new layers setup with, or, modifies an existing layers
setup using, one or more repositories where the references are provided
by the user.
This is a very minimal implementation, no validation of any reference
is done and it is left to the user to provide a valid value.
oe-setup-build: add a tool for discovering config templates and setting up builds
This is another piece of the puzzle in setting up builds from nothing
without having to write custom scripts or use external tools.
After layers have been fetched and placed into their respective locations by
oe-setup-layers, one would surely want to proceed to the actual build, and here's how:
1. Without arguments the tool reads available layers
from .oe-layers.json file (written out by oe-setup-layers or a fallback under scripts/),
prints what templates it has found, and asks the user to select one, as seen below.
This will land the user in a shell ready to run bitbake:
=============================================
alex@Zen2:/srv/work/alex$ ./setup-build
Available build configurations:
1. alex-configuration-gadget
This configuration will set up a build for the purposes of supporting gadget.
2. alex-configuration-gizmo
This configuration allows building a gizmo.
3. poky-default
This is the default build configuration for the Poky reference distribution.
Re-run with 'list -v' to see additional information.
Please choose a configuration by its number: 1
Running: TEMPLATECONF=/srv/work/alex/meta-alex/conf/templates/configuration-gadget . /srv/work/alex/poky/oe-init-build-env /srv/work/alex/build-alex-configuration-gadget && /bin/bash
You had no conf/local.conf file. This configuration file has therefore been
created for you from /srv/work/alex/meta-alex/conf/templates/configuration-gadget/local.conf.sample
You may wish to edit it to, for example, select a different MACHINE (target
hardware).
You had no conf/bblayers.conf file. This configuration file has therefore been
created for you from /srv/work/alex/meta-alex/conf/templates/configuration-gadget/bblayers.conf.sample
To add additional metadata layers into your configuration please add entries
to conf/bblayers.conf.
The Yocto Project has extensive documentation about OE including a reference
manual which can be found at:
https://docs.yoctoproject.org
For more information about OpenEmbedded see the website:
https://www.openembedded.org/
This configuration will set up a build for the purposes of supporting gadget.
Please refer to meta-alex/README for additional details and available bitbake targets.
==============================================
2. It is also possible to list available configurations without selecting one using
'setup-build list' or to select and setup one non-interactively with 'setup-build setup'.
A script that discovers available build configurations and sets up a build environment based on one of them. Run without arguments to choose one interactively.
positional arguments:
{list,setup}
list List available configurations
setup Set up a build environment and open a shell session with it, ready to run builds.
optional arguments:
-h, --help show this help message and exit
--layerlist LAYERLIST
Where to look for available layers (as written out by setup-layers script) (default is /srv/work/alex/.oe-layers.json).
$ ./setup-build list --help
usage: setup-build list [-h] [-v]
optional arguments:
-h, --help show this help message and exit
-v Print detailed information and usage notes for each available build configuration.
optional arguments:
-h, --help show this help message and exit
-c configuration_name
Use a build configuration configuration_name to set up a build environment (run this script with 'list' to see what is available)
-b build_path Set up a build directory in build_path (run this script with 'list -v' to see where it would be by default)
--no-shell Create a build directory but do not start a shell session with the build environment from it.
4. There's an an added hint in oe-setup-layers about how to proceed (as it is really not user-friendly
to fetch the layer repos successfully and then exit without a word), and a symlink to the script
from the top level layer checkout directory.
5. The selftest to check layer setup has been adjusted to run a basic check for template
discovery and build setup. The revision of poky to be cloned has been bumped to 4.1,
as that's the first version with a default template in a standard location.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/conf/templates/default/conf-summary.txt: add a template summary
Existing conf-notes.txt is not adequate in situations where the user
needs to select a config template from several, or get an overview of them and
is interested only in a brief explanation of what the template is for,
but not extended multi-paragraph instructions for how to use it.
Such summaries can be provided via conf-summary.txt and
this patch adds such a summary for the oe-core default template.
Updates to the tools and a tool for selecting templates which
will make specific use of the summary will follow.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simone Weiß [Fri, 16 Feb 2024 21:10:21 +0000 (21:10 +0000)]
patchtest: add stronger indication for failed tests
Do not only log that there has been an issue but add WARNING before for local
runs. Hopefully this helps to avoid that people reading the log to quickly miss
issues.
Fixes [YOCTO #15389]
Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/oe-setup-layers: write a list of layer paths into the checkout's top dir
This is beneficial for setting up builds, as this list can be used
to determine reliably where the actual layers are, and discover
available configurations from them.
Also adjust the selftest to check the presence of that file rather
than any specific layer in a hardcoded location.
Sample output (paths are written relative to the file for relocatability
and ease of reading):
Adrian Freihofer [Thu, 15 Feb 2024 22:53:33 +0000 (23:53 +0100)]
oe-init-build-env: generate .vscode from template
Provide a reasonable default configuration for VSCode and the
yocto.bitbake extension.
The generated default configuration is generic and minimal. It's mostly
supposed to prevent VSCode from OOM exceptions if the build directory is
in the scope of the indexer plugins of VSCode.
But it also configures the yocto-bitbake plugin to just work without
manual user interaction.
The configuration is only generated if VSCode is installed. Currently,
VSCode is one of many popular editors for Yocto/OE. Removing the check
would mean that the configuration would be generated by e.g. oe-selftest
or for users not using VSCode. If it should prove useful, the check can
be removed later.
Customization for other layers is possible. A layer might provide it's
own oe-setup-build-env script which calls the oe-setup-vscode script
from poky with different folders. But it's also possible to override the
oe-setup-vscode script by another layer with a custom implementation.
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adrian Freihofer [Thu, 15 Feb 2024 22:53:32 +0000 (23:53 +0100)]
vscode: drop .vscode folder
There is a new official bitbake plugin:
https://marketplace.visualstudio.com/items?itemName=yocto-project.yocto-bitbake
This plugin automatically updates the .vscode/settings.json file.
Having the settings.json file in git and a plugin which modifies this
file is not ideal. It can lead to anoying situations especially when
working with git. For example a git stash reverts the settings which are
automatically applied by the plugin. While git stashed the settings.json
file the plugin immediately changes the file again and tries to run
bitbake based on the newly generated settings. When git does a stash pop
the restored settings.json file conflicts with the new settigns.json
file which has been generated while the git stash took place.
Therefore this patch removes the .vscode folder from git.
Removing the settings.json leads to other issues as already described
in the commit message of 5ff688fe29. But we still need another solution
where the settings.json file is not in Git.
Discussion is here:
https://github.com/yoctoproject/vscode-bitbake/issues/95
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Orling [Sun, 18 Feb 2024 16:57:38 +0000 (08:57 -0800)]
vim: upgrade from 9.0.2130 -> 9.1.0114
https://www.vim.org/vim-9.1-released.php
Vim 9.1 is available
The Vim project is happy to announce that Vim 9.1 has finally been released.
This release is dedicated to Bram Moolenaar, Vim's lead developer for more
than 30 years, who passed away half a year ago. The Vim project wouldn't
exist without his work!
Vim 9.1 is mainly a bug fix release, it contains hundreds of bug fixes, a
few new features and there are many minor improvements.
Richard Purdie [Sun, 18 Feb 2024 13:59:12 +0000 (13:59 +0000)]
oeqa/selftest/rust: Exclude failing riscv tests
The rust tests nearly pass for qemurisv64, add the remaining ones to the
exclusion list so it matches everythig else in exlcuding all the know
to break cases.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adrian Freihofer [Mon, 22 Jan 2024 13:58:21 +0000 (14:58 +0100)]
devtool: new ide-sdk plugin
The new devtool ide plugin provides the eSDK and configures an IDE to
work with the eSDK. In doing so, bitbake should be used to generate the
IDE configuration and update the SDK, but it should no longer play a
role when working on the source code. The work on the source code should
take place exclusively with the IDE, which, for example, calls cmake
directly to compile the code and execute the unit tests from the IDE.
The plugin works for recipes inheriting the cmake or the meson bbclass.
Support for more programming languages and build tools may be added in
the future.
There are various IDEs that can be used for the development of embedded
Linux applications. Therefore, devtool ide-sdk, like devtool itself,
supports plugins to support IDEs.
VSCode is the default IDE for this first implementation. Additionally,
some generic helper scripts can be generated with --ide none instead of
a specific IDE configuration. This can be used for any IDE that
supports calling some scripts.
There are two different modes supported:
- devtool modify mode (default):
devtool ide-sdk configures the IDE to manage the build-tool used by the
recipe (e.g. cmake or meson). The workflow looks like:
$ devtool modify a-recipe
$ devtool ide-sdk a-recipe a-image
$ code "$BUILDDIR/workspace/sources/a-recipe"
Work in VSCode, after installing the proposed plugins
Deploying the artifacts to the target device and running a remote
debugging session is supported as well.
This first implementation still calls bitbake and devtool to copy the
binary artifacts to the target device. In contrast to compiling,
installation and copying must be performed with the file rights of the
target device. The pseudo tool must be used for this. Therefore
bitbake -c install a-recipe && devtool deploy-target a-recipe
are called by the IDE for the deployment. This might be improved later
on.
Executing the unit tests out of the IDE is supported via Qemu user if
the build tool supports that. CMake (if cmake-qemu.bbclass is
inherited) and Meson support Qemu usermode.
- Shared sysroots mode: bootstraps the eSDK with shared sysroots for
all the recipes passed to devtool ide-sdk. This is basically a wrapper
for bitbake meta-ide-support && bitbake build-sysroots. The workflow
looks like:
$ devtool ide-sdk --share-sysroots a-recipe another-recipe
vscode where/the/sources/are
If the IDE and the build tool support it, the IDE gets configured to
offer the cross tool-chain provided by the eSDK. In case of VSCode and
cmake a cmake-kit is generated. This offers to use the cross
tool-chain from the UI of the IDE.
Many thanks to Enguerrand de Ribaucourt for testing and bug fixing.
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
sstate.bbclass: Only sign packages at the time of their creation
The purpose of the change is to never sign a package not created by
the build itself.
sstate_create_package is refactored into Python and re-designed
to handle signing inside the function. Thus, the signing should never apply
to existing sstate packages. The function is therefore renamed into
sstate_create_and_sign_package.
The creation of the archive remains in a separate shellscript function.
Co-authored-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Tobias Hagelborn <tobias.hagelborn@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>