Commit Graph

73627 Commits

Author SHA1 Message Date
Eilís 'pidge' Ní Fhlannagáin
6913454ffa creategroup*: Remove coreutils-native as a DEPENDS
There isn't any reason for coreutils-native as a DEPENDS, so
remove it to speed up tests.

(From OE-Core rev: 1aa91868094e8d4e3991cd3faebc17fdf6931907)

Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-23 14:29:03 +00:00
Enguerrand de Ribaucourt
211c303461 Revert "meson: use absolute cross-compiler paths"
This reverts commit fc8e5d7c13.

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.

(From OE-Core rev: 9c2faa835bd7af3e6f6bd7cc08495bd4b3ca9d0b)

Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-23 14:29:03 +00:00
Enguerrand de Ribaucourt
e2f8ed72dd 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.

(From OE-Core rev: d9f5c27c8beee07c7cbbed11f5d45058e7315846)

Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-23 14:29:03 +00:00
Khem Raj
82312b2fc1 linux-yocto: Remove unused patch
This patch remained after bumping from 6.1 to 6.6

(From OE-Core rev: 3083c9cc3c117b6284fee6926da2200cef509e6f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-23 14:29:03 +00:00
Richard Purdie
c59d570024 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.

(From OE-Core rev: ac82dc43b8151ed34c4ad51e9ab7f4a612990486)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-23 14:29:03 +00:00
Xiangyu Chen
e31be0b0e6 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.

Ref:
[1] 826931e95a

(From OE-Core rev: 4c45f975310184a773b25b8e7d7ef50fba2f7bd6)

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-21 22:20:10 +00:00
Khem Raj
8112d61720 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.

(From OE-Core rev: da381fb3d9dcd0e66bc3b48bdfde95cd29f0c654)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-21 22:20:10 +00:00
Joe Slater
c2e742e2be qemuboot: predictable network interface names
Allow interface renaming if 'pni-names' is a distro
feature.

We do not add QB_NO_PNI to QB_CMDLINE_IP_SLIRP because
renaming was never suppressed for slirp.

(From OE-Core rev: d8d92ad46273a4e305f690f2820a475e4d7f6701)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-21 22:20:10 +00:00
Alexander Kanavin
82ef31b255 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%)

(From OE-Core rev: 054ce01ae84eb10e055a41ec8dd85ebce9ea23c8)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-21 22:20:10 +00:00
Bruce Ashfield
6ed6db154e linux-yocto/6.6: update CVE exclusions
Data pulled from: https://github.com/nluedtke/linux_kernel_cves

    1/1 [
        Author: Nicholas Luedtke
        Email: nicholas.luedtke@uwalumni.com
        Subject: Update 9Feb24
        Date: Fri, 9 Feb 2024 18:02:45 -0500

    ]

(From OE-Core rev: ed23f800e84e04badfe88b062a16a8b0f51d5aee)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-21 22:20:10 +00:00
Bruce Ashfield
f097775704 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

(From OE-Core rev: ee0d0c43b3e682dfe4c3e75e395b042dda9793a1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-21 22:20:10 +00:00
Alexis Lothoré
0f216dd0fa testimage: log exception when failing to retrieve artifacts
Despite managing to retrieve the failed ptests artifacts, testimage seems
to dump some retrieval errors like the following one:

WARNING: core-image-ptest-valgrind-1.0-r0 do_testimage: Can not retrieve
/usr/lib/valgrind/ptest from test target

Log the corresponding exception to help analyzing such issue

(From OE-Core rev: 12873e5b1620414a76e4a0e87cc2c806a0513cfe)

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-21 22:20:10 +00:00
Richard Purdie
6f4ca08aa3 lttng-ust: Upgrade 2.13.6 -> 2.13.7
Update one of the patches to account for upstream changes.

(From OE-Core rev: e0ec2f9358be0e8b5979e534ae3a266b138cc172)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-21 22:20:10 +00:00
Richard Purdie
dd52201fd3 numactl: Upgrade 2.0.17 -> 2.0.18
(From OE-Core rev: 6e59ddccd728b50aa0503cd262dcefde25946ae4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-21 22:20:10 +00:00
Christoph Vogtländer
48f2d03183 overlayfs: add missing vardeps
Fixes [YOCTO #15120]

Consider OVERLAYFS_WRITABLE_PATHS as dependecy of do_create_overlayfs_units() in
order to rebuild the recipe when changing the used mount point.

Tested in a local recipe by changing the used mount point and verified that the
recipe was re-build: passed

(From OE-Core rev: 65423847ac843682d4670d41a94d509f18ce8735)

Signed-off-by: Christoph Vogtländer <christoph.vogtlaender@loewensteinmedical.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-21 22:20:10 +00:00
Enguerrand de Ribaucourt
fc8e5d7c13 meson: use absolute cross-compiler paths
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.

(From OE-Core rev: b4e00248049c2627b05eafa9313a48cf253623fa)

Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 12:58:41 +00:00
Enguerrand de Ribaucourt
c0d340c52e devtool: ide: vscode: Configure read-only files
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.

(From OE-Core rev: 8a95ad9aecb81732c865e00a987bb8bd3d6cb91d)

Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 12:58:41 +00:00
Enguerrand de Ribaucourt
8e84fbba72 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.

(From OE-Core rev: 45704319661570b45ef69fddd6b4b4fa22ca80d1)

Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 12:58:41 +00:00
Alexander Kanavin
730bd999d6 bitbake: Revert "bitbake: wget.py: always use the custom user agent"
This reverts commit 987ab2a446.

There's been a report that this breaks downloads from Jfrog Artifactory
as self.user_agent is set to 'Mozilla Firefox', and when Artifactory
sees that, it sends a response tailored for showing in an interactive browser
(which in my opinion it has every right to).

If we're using wget, we should say so via wget's default; handling uncooperative
servers should be done on per-recipe basis, and ideally with tickets
to admins of those servers.

(Bitbake rev: feef5cd12e877f42ffcace168d44b0e6eb80a907)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 12:56:40 +00:00
Xiangyu Chen
468e550692 bash: rebase the patch to fix ptest failure
This fix commit oe-core: 1b69769b -- bash: changes to SIGINT handler while waiting for a child

Due to the patch adjust and drop some codes to be applicable the tree,
the line number has been changed, that cause test case "run-type" fail.

(From OE-Core rev: ecb698ca5b4f76937dd3bee927465b17866d50be)

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 11:39:45 +00:00
Yi Zhao
fb69758164 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

(From OE-Core rev: 7aef0ee68b612203fe5e0788c57642c4cabea1b4)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 11:39:45 +00:00
Peter Kjellerstedt
1648d0e8f7 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.

(From OE-Core rev: 968ffdb9fee5017eecce36ce878ea604c869ce95)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 11:39:45 +00:00
Tim Orling
9f7475b4e5 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.

(From OE-Core rev: 256749322671d2f4ea994db671d73c4de10e1723)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 11:39:45 +00:00
Tim Orling
a7484a66b4 python_mesonpy.bbclass: move from meta-python
Move the PEP-517 back-end bbclass from meta-python to support:

[build-system]
build-backend = "mesonpy"

This is the declared backend in python3-numpy since:
942fb8caf3

(From OE-Core rev: f0d3478913b092a01eceafe0c20378cf9117f429)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 11:39:45 +00:00
Tim Orling
c0a2e3a966 python3-meson-python: move from meta-python
meson-python is a Python build backend built on top of the Meson
build-system. It enables you to use Meson for your Python packages.

https://meson-python.readthedocs.io/en/latest/

It is used as the PEP-517 build-backend for python3-numpy and python3-scipy.

For other projects using the backend, see:
https://meson-python.readthedocs.io/en/latest/projects-using-meson-python.html

(From OE-Core rev: 57df1e3fd77a412fb7d585362a7263a4f847fe07)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 11:39:45 +00:00
Tim Orling
3e808c075f python3-pyproject-metadata: HOMEPAGE; DESCRIPTION
Add HOMEPAGE and DESCRIPTION that were missing in
the original recipe in meta-python

(From OE-Core rev: c29a906c510627c5f4598511c34de20230bb230d)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 11:39:45 +00:00
Tim Orling
03f3aa643a python3-pyproject-metadata: move from meta-python
This is a dependency for python3-meson-python.

(From OE-Core rev: b8c8d384b4622de7b5a4748e6e06665615674ba8)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 11:39:45 +00:00
Richard Purdie
0b33104a97 python: Drop ${PYTHON_PN}
python 2 is gone and we don't need the abstraction now, drop the remaining usage
of this variable.

The definition in python3-dir.bbclass is left for now for other layers.

(From OE-Core rev: b566b1e32c7993d1ab7795562f648e52ce186a70)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20 11:39:45 +00:00
Peter Kjellerstedt
4cfd0f7e4e 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.

(From OE-Core rev: f5e6183b9557477bef74024a587de0bfcc2b7c0d)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 16:03:22 +00:00
Peter Kjellerstedt
dc2e09417d patch.bbclass: Make use of oe.patch.GitApplyTree.commitIgnored()
This makes use of the oe.patch.GitApplyTree.commitIgnored() function to
create commits that shall be ignored by `devtool finish`.

(From OE-Core rev: 2393dc35a93546eccee0dd313a6927c7d1512c3b)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 16:03:22 +00:00
Peter Kjellerstedt
85b5e87c7d devtool: Make use of oe.patch.GitApplyTree.commitIgnored()
This makes use of the oe.patch.GitApplyTree.commitIgnored() function to
create commits that shall be ignored by `devtool finish`.

(From OE-Core rev: 4e1b9289450b5e7946bd5999c95a3ee214aab8a5)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 16:03:22 +00:00
Peter Kjellerstedt
ff63bc403d lib/oe/patch: Add GitApplyTree.commitIgnored()
This function can be used to create a commit that devtool will ignore
when creating/updating the patches.

(From OE-Core rev: 94f0838b9223b7ece7affaa707e54a5d784da25e)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 16:03:22 +00:00
Peter Kjellerstedt
24433ce8f9 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.

(From OE-Core rev: c3d43de7e54189bf09fbe8e87ddb976e42ebf531)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 16:03:22 +00:00
Anuj Mittal
1e6565402f swig: upgrade 4.1.1 -> 4.2.0
(From OE-Core rev: 93cf900c697685d0749c3269806213f89fb6526e)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 15:21:14 +00:00
baruch@tkos.co.il
6f32769afb 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.

Cc: Vyacheslav Yurkov <uvv.mail@gmail.com>
(From OE-Core rev: 3d433d8559467d255bd19af2d0999c65ea24a48d)

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 15:21:14 +00:00
Peter Kjellerstedt
d25f6b970f bitbake: fetch2/git: Make latest_versionstring extract tags with slashes correctly
Before, everything up to the last slash was removed when extracting the
names of the tags. This would lead to that a tag such as "agent/11.0.0"
would be incorrectly identified as "11.0.0", which would then be treated
as a correct version matching "^(?P<pver>\d+(\.\d+)+)".

(Bitbake rev: 8b21024b9966d5158ac4a77e87ffb935c2a57764)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 15:08:30 +00:00
Peter Kjellerstedt
9694fe1d68 bitbake: fetch2/git: A bit of clean-up of latest_versionstring()
This is mostly preparations for the next commit.

(Bitbake rev: dcd2abfde55cc59d9869a7c97620b6fc30a52047)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 15:08:30 +00:00
Peter Kjellerstedt
21603031df bitbake: tests/fetch: Make test_git_latest_versionstring support a max version
In some cases, the version found by latest_versionstring() may be higher
than the real version. Make it possible to specify a maximum version so
that this case can be detected.

(Bitbake rev: 9134d4777109bc78410c3e641420d9a78b485e33)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 15:08:30 +00:00
Chen Qi
272d5ae098 bitbake: fetch2/git.py: add comment in try_premirrors
The purpose of ensuring 'incremental fetch' is not easy to see from
the codes. So add comments to explain this.

(Bitbake rev: 8b890b87e30cd05ec92ed71ee3691a47b4d77253)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 15:08:30 +00:00
Chen Qi
09ecbcd307 bitbake: tests/fetch.py: add test case for using premirror in restricted network
We had issue when BB_ALLOWED_NETWORKS is set and `bitbake grpc-native -c fetch'
failed even with all contents available in PREMIRRORS.

Add a test case to ensure no regression in the future.

(Bitbake rev: 80c91ceb81b1cae203067af58d3f1fe9c619ae83)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 15:08:30 +00:00
Chen Qi
c984b03f02 bitbake: fetch2/git.py: fix a corner case in try_premirror
For gitsm recipes, it's possible that some URL is used more than once.
e.g.,
A -> B:rev1 (B is a submodule of A)
A -> C (C is a submodule of A)
C -> B:rev2 (B is a submodule of C)
A anc C are both using B as submodules, but on different revs.
Now if we have:
B:rev1 -> D
B:rev2 -> E
Then, the mirror will not be fully used.
Say we have all repo mirrors for A, B, C, D, E, then in theory it's not
necessary to reach out to any network for downloading. But it's not the
case. After downloading B(rev1) and its submodule D from mirrors, the fetch
process continues to download C, thus B(rev2) and E. Now it finds that B
needs an update because its submodule E needs an update. Of course this is
true because E is not downloaded yet. Now the problem comes to whether to
use mirror or not. The git.py defines try_premirror to return 'False' when
the ud.clonedir exists. As B has been cloned, the ud.clonedir exists and
try_mirror returns False, resulting in not using mirror and going to upstream
directly.

We can see that the mirrors are not fully used. This is usually not problem,
as the cost is only some network download. But in case the following two
settings are there, we get errors.
BB_NO_NETWORK = "0"
BB_ALLOWED_NETWORKS = "*.some.allowed.domain"
In such case, the gitsm recipe A will fail to fetch. Note that all contents
that A needs are in mirrors and now it's failing to fetch. This is unexpected.

Note that the different revs of the same repo in gitsm recipe is not the only
way to reveal this problem. For example, there might be a recipe call B that
uses B:rev3. Check the protobuf and grpc recipes as an example.

For now, we can use the following steps to reproduce this issue. To be clear,
the grpc recipe in meta-oe is now 1.60.0.
1. Add in local.conf:
   DL_DIR = "${TOPDIR}/downloads-premirror"
   bitbake grpc -c fetch
2. Comment out the DL_DIR setting in local.conf and add the following lines:
   PREMIRRORS:append = " \
     git://.*/.* git://${TOPDIR}/downloads-premirror/git2/MIRRORNAME;protocol=file \n \
     gitsm://.*/.* gitsm://${TOPDIR}/downloads-premirror/git2/MIRRORNAME;protocol=file \n \
   "
3. Set BB_NO_NETWORK = "1" and then 'bitbake grpc -c fetch'.
   This command succeeds and this shows that the premirror holds everything we need.
4. Add the following lines and then 'bitbake grpc -c fetch'.
   BB_NO_NETWORK = "0"
   BB_ALLOWED_NETWORKS = "*.some.domain"

After step 4, the error message is as below:
ERROR: grpc-1.60.0-r0 do_fetch: The URL: 'gitsm://github.com/protocolbuffers/protobuf.git;protocol=https;name=third_party/protobuf;subpath=third_party/protobuf;nobranch=1;lfs=True;bareclone=1;nobranch=1' is not trusted and cannot be used

This patch fixes this problem by handling this corner case, that is, if the URL is
not trusted from the settings of BB_NO_NETWORK and BB_ALLOWED_NETWORKS, then we should
try premirrors because trying to reach upstream is destined to fail.

(Bitbake rev: e1be272ad105b47d3131b77168d9172386993fcb)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 15:08:30 +00:00
Markus Volk
6cddb77eee ell: update 0.61 -> 0.62
ver 0.62:
	Add support for cleanup functions and macros.
	Add support for setting DHCP max attempts.

(From OE-Core rev: ae84d13b6c4f33a56cc36715a118a9f938ceb2c4)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 15:07:53 +00:00
Johannes Schneider
e6047ee5e8 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.

(From OE-Core rev: a52b7f5c8ff3e50707b55843d9996983ab8efae2)

Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 14:56:23 +00:00
Johannes Schneider
8a531d1990 initramfs-framework: overlayroot: fix kernel commandline clash
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.

(From OE-Core rev: ef20ef719c699b94fc52b81c520faa0b3714efeb)

Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 14:56:23 +00:00
Pavel Zhukov
de27ecd228 bitbake: tests/fetch.py: add multiple fetches test
Fetch from premirror few times to emulate multiple machines sharing same
clonedir or few rebuilds of the package from (pre)mirror
Regression test for [Yocto #15369]

(Bitbake rev: 7fcbac574c68f16b95ab7abb2874931d168d3c9e)

Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 12:52:30 +00:00
Pavel Zhukov
b2d0f31d24 bitbake: fetch2/git.py: Fetch mirror into HEAD
Fix the issue with using of (pre)mirror in case if clonedir exists but
outdated.
Previous version of the code fetched new mirror content into FETCH_HEAD
instead of branch which caused refetch from the upstream. Add new remote
add fetch from it instead so the ref can be found by "_contains_ref"

Fixes [Yocto #15369]

(Bitbake rev: 69588e2a5c7c200e47b02b2391498dcb72388bd2)

Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 12:52:30 +00:00
André Draszik
e6892bc47a bitbake: git-make-shallow: support git's safe.bareRepository
When git is configured with safe.bareRepository=explicit [1], the
git-make-shallow fails miserably. LWN has an article about the
problem that this configuration option addresses and why it is useful
in [2].

It also seems that it is being rolled out in some environments as a
default for users.

In order to allow having this configuration turned on for a user's
environment in general, the fetcher has to be tought to use --git-dir=
for all relevent git operations.

The alternative, implemented here, is to forcibly turn off that option
for all git operations. In the future, we could look into converting
these to using the --git-dir= command line argument instead.

Link: https://git.kernel.org/pub/scm/git/git.git/tree/Documentation/config/safe.txt#n1 [1]
Link: https://lwn.net/Articles/892755/ [2]
(Bitbake rev: 7c63989db4590564516ed150930f4e2fa503e98f)

Signed-off-by: André Draszik <andre.draszik@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 12:00:59 +00:00
André Draszik
577e73606a bitbake: tests/fetch: support git's safe.bareRepository
When git is configured with safe.bareRepository=explicit [1], the
bitbake selftests fail miserably. LWN has an article about the
problem that this configuration option addresses and why it is useful
in [2].

It also seems that it is being rolled out in some environments as a
default for users.

In order to allow having this configuration turned on for a user's
environment in general, the fetcher has to be tought to use --git-dir=
for all relevent git operations.

The alternative, implemented here, is to forcibly turn off that option
for all git operations. In the future, we could look into converting
these to using the --git-dir= command line argument instead.

Link: https://git.kernel.org/pub/scm/git/git.git/tree/Documentation/config/safe.txt#n1 [1]
Link: https://lwn.net/Articles/892755/ [2]
(Bitbake rev: a45e14a7343e36101e45639931322e5649587f57)

Signed-off-by: André Draszik <andre.draszik@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 12:00:59 +00:00
André Draszik
b3d9663817 bitbake: fetch/git2: support git's safe.bareRepository
When git is configured with safe.bareRepository=explicit [1], the
bitbake git fetcher fails miserably. LWN has an article about the
problem that this configuration option addresses and why it is useful
in [2].

It also seems that it is being rolled out in some environments as a
default for users.

In order to allow having this configuration turned on for a user's
environment in general, the fetcher has to be tought to use --git-dir=
for all relevent git operations.

The alternative, implemented here, is to forcibly turn off that option
for all git operations. In the future, we could look into converting
these to using the --git-dir= command line argument instead.

While at it, fix one open-coded invocation of git that wasn't using
ud.basecmd

Link: https://git.kernel.org/pub/scm/git/git.git/tree/Documentation/config/safe.txt#n1 [1]
Link: https://lwn.net/Articles/892755/ [2]
(Bitbake rev: 5f3b1d8dc9ee70e707536bd75ee845b547440c97)

Signed-off-by: André Draszik <andre.draszik@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 12:00:59 +00:00
Richard Purdie
a5b2336553 sanity.conf: Require bitbake 2.7.3
Due to hashserv API changes in siggen, we need bitbake 2.7.3.

(From OE-Core rev: 7172fd527fde440f26dd6cc371cde2720dbaa366)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19 11:58:12 +00:00