summaryrefslogtreecommitdiff
path: root/poky/bitbake
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2025-11-03 19:09:31 +0300
committerAndrew Geissler <geissonator@yahoo.com>2025-11-03 22:31:57 +0300
commit6cb7f76381dbeb50bbf963f9192344f02d985637 (patch)
treee194737ad2b6c562f463cc7a22116ef4aebd1232 /poky/bitbake
parent1f52643312f6f67537eb27bef9156e8b8bc66040 (diff)
downloadopenbmc-scarthgap.tar.xz
subtree updates (scarthgap 11/3/2025)scarthgap
poky: ca27724b44..c4a4df3e72: Adam Blank (3): kernel-dev/common.rst: fix the in-tree defconfig description ref-manual/variables.rst: fix the description of KBUILD_DEFCONFIG ref-manual/variables.rst: fix the description of STAGING_DIR Aditya Tayade (1): e2fsprogs: removed 'sed -u' option Adrian Freihofer (15): kernel-fitimage: fix intentation kernel-fitimage: fix external dtb check devtool: modify support debug-builds devtool: ide-sdk sort cmake preset devtool: ide-sdk recommend DEBUG_BUILD oe-selftest: devtool ide-sdk use modify debug-build devtool: ide-sdk remove the plugin from eSDK installer uboot-config: fix devtool modify with kernel-fitimage sdk-manual: extensible.rst: devtool ide-sdk improve sdk-manual: extensible.rst: update devtool ide-sdk ref-manual: kernel-fitimage.bbclass does not use SPL_SIGN_KEYNAME llvm: update from 18.1.6 to 18.1.8 llvm: fix build with gcc-15 expect: Revert "expect-native: fix do_compile failure with gcc-14" expect: fix native build with GCC 15 Alban Bedel (1): bind: Fix build with the `httpstats` package config enabled Aleksandar Nikolic (12): cve-check: Introduce CVE_CHECK_MANIFEST_JSON_SUFFIX install-buildtools: remove md5 checksum validation install-buildtools: fix "test installation" step install-buildtools: update base-url, release and installer version ref-manual: introduce CVE_CHECK_REPORT_PATCHED variable scripts/install-buildtools: Update to 5.0.5 scripts/install-buildtools: Update to 5.0.6 scripts/install-buildtools: Update to 5.0.7 scripts/install-buildtools: Update to 5.0.9 scripts/install-buildtools: Update to 5.0.10 scripts/install-buildtools: Update to 5.0.11 scripts/install-buildtools: Update to 5.0.12 Alessio Cascone (1): tzcode-native: Fix compiler setting from 2023d version Alexander Kanavin (29): mesa: remove obsolete 0001-meson.build-check-for-all-linux-host_os-combinations.patch kexec-tools: submit 0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch upstream vorbis: mark patch as Inactive-Upstream grub: mark grub-module-explicitly-keeps-symbole-.module_license.patch as a workaround perl: submit the rest of determinism.patch upstream iptables: submit 0001-configure-Add-option-to-enable-disable-libnfnetlink.patch upstream xserver-xorg: upgrade 21.1.12 -> 21.1.13 mobile-broadband-provider-info: upgrade 20230416 -> 20240407 python3: submit deterministic_imports.patch upstream as a ticket glib-networking: submit eagain.patch upstream glslang: mark 0001-generate-glslang-pkg-config.patch as Inappropriate tcp-wrappers: mark all patches as inactive-upstream automake: mark new_rt_path_for_test-driver.patch as Inappropriate settings-daemon: submit addsoundkeys.patch upstream and update to a revision that has it dpkg: mark patches adding custom non-debian architectures as inappropriate for upstream libacpi: mark patches as inactive-upstream apr: drop 0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch pulseaudio, desktop-file-utils: correct freedesktop.org -> www.freedesktop.org SRC_URI sysvinit: take release tarballs from github package_rpm: use zstd's default compression level package_rpm: restrict rpm to 4 threads rust: add reproducibility patch to eliminate host leakage rust: build the default set of tools rust: use rust-snapshot binaries only in rust-native rust: correctly link rust-snapshot into build/stage0 pkg-config-native: pick additional search paths from $EXTRA_NATIVE_PKGCONFIG_PATH selftest/rust: correctly form the PATH environment variable perlcross: update 1.5.2 -> 1.6 mtools: upgrade 4.0.43 -> 4.0.44 Alexis Cellier (1): systemd: add libpcre2 as RRECOMMENDS if pcre2 is enabled Alexis Lothoré (3): oeqa/utils/postactions: transfer whole archive over ssh instead of doing individual copies oeqa/postactions: fix exception handling oeqa/ssh: allow to retrieve raw, unformatted ouput Alon Bar-Lev (1): module.bbclass: add KBUILD_EXTRA_SYMBOLS to install Alper Ak (2): ref-manual/variables.rst: document INHIBIT_DEFAULT_RUST_DEPS ref-manual/variables.rst: document INHIBIT_UPDATERCD_BBCLASS Anders Heimer (1): libpam: mark CVE-2025-6018 as not applicable Andrew Fernandes (1): gtk+: add missing libdrm dependency Andrew Kreimer (1): manuals: remove repeated word Antonin Godard (77): ref-manual: add missing CVE_CHECK manifest variables ref-manual: add missing TESTIMAGE_FAILED_QA_ARTIFACTS ref-manual: add missing EXTERNAL_KERNEL_DEVICETREE variable ref-manual: add missing OPKGBUILDCMD variable ref-manual: merge patch-status-* to patch-status ref-manual: structure.rst: document missing tmp/ dirs overview-manual: concepts: add details on package splitting ref-manual: faq: add q&a on class appends ref-manual: release-process: update releases.svg ref-manual: release-process: refresh the current LTS releases ref-manual: release-process: update releases.svg with month after "Current" ref-manual: release-process: add a reference to the doc's release ref-manual: devtool-reference: refresh example outputs ref-manual: devtool-reference: document missing commands conf.py: rename :cve: role to :cve_nist: doc: Makefile: remove inkscape, replace by rsvg-convert doc: Makefile: add support for xelatex doc: add a download page for epub and pdf sphinx-static/switchers.js.in: do not refer to URL_ROOT anymore conf.py: add a bitbake_git extlink dev-manual: document how to provide confs from layer.conf dev-manual: bblock: use warning block instead of attention standards.md: add a section on admonitions ref-manual: classes: fix bin_package description Gather dependencies in poky.yaml.in poky.yaml.in: add missing locales dependency poky.yaml.in: replace inkscape dependency by librsvg2-bin system-requirements: add fedora 39 to supported distros system-requirements: update list of supported distros system-requirements.rst: add dependencies for pdf builds Update the documentation for SRCPV poky.conf: add new tested distros ref-manual/qa-checks: remove patch-status-core/patch-status-noncore contributor-guide/submit-changes.rst: suggest to remove the git signature ref-manual/devtool-reference: add warning note on deploy-target and shared objects SSTATE_MIRRORS/SOURCE_MIRROR_URL: add instructions for mirror authentication ref-manual/packages: move ptest section to the test-manual ref-manual: move runtime-testing section to the test-manual Update autobuilder URLs to valkyrie test-manual/reproducible-builds: fix reproducible links test-manual/ptest: link to common framework ptest classes dev-manual/building: document the initramfs-framework recipe ref-manual/faq: add q&a on systemd as default contributor-guide/submit-changes: add policy on AI generated code Add favicon for the documentation html overview-manual/concepts: remove PR from the build dir list ref-manual/variables.rst: WATCHDOG_TIMEOUT: fix recipe name ref-manual/variables.rst: document autotools class related variables documentation/conf.py: define a manpage url ref-manual/variables.rst: add manpage links for toolchain variables ref-manual/variables.rst: add missing documentation for BUILD_* variables ref-manual/variables.rst: document missing SDK_*_ARCH variables ref-manual/variables.rst: document HOST_*_ARCH variables ref-manual/variables.rst: HOST_CC_ARCH: fix wrong SDK reference ref-manual/variables.rst: improve the PKGV documentation poky.yaml: introduce DISTRO_LATEST_TAG Fix dead links that use the DISTRO macro dev-manual/sbom.rst: fix wrong build outputs test-manual/intro: remove Buildbot version used ref-manual/release-process: update releases.svg overview-manual/concepts.rst: fix sayhello hardcoded bindir ref-manual/system-requirements.rst: update supported distributions ref-manual/variables.rst: document the FIT_CONF_PREFIX variable ref-manual/variables.rst: document SPL_DTB_BINARY ref-manual/classes.rst: document the testexport class dev-manual/security-subjects.rst: update mailing lists test-manual/yocto-project-compatible.rst: fix a typo ref-manual/structure: document the auto.conf file ref-manual/variables.rst: document UNINATIVE_URL/CHECKSUM ref-manual/classes.rst: extend the uninative class documentation ref-manual/classes,variables: document the CCACHE_DISABLE variable ref-manual/variables.rst: document the REQUIRED_MACHINE_FEATURES variable ref-manual/variables.rst: document the REQUIRED_COMBINED_FEATURES variable ref-manual/variables.rst: document the REQUIRED_IMAGE_FEATURES variable ref-manual/variables.rst: document the USE_NLS variable ref-manual/classes.rst: gettext: extend the documentation of the class ref-manual/classes.rst: document the relative_symlinks class Anuj Mittal (1): sqlite3: upgrade 3.45.1 -> 3.45.3 Archana Polampalli (51): less: fix CVE-2024-32487 ofono: fix CVE-2023-2794 ffmpeg: fix CVE-2023-49502 ffmpeg: fix CVE-2024-31578 ffmpeg: fix CVE-2024-31582 ffmpeg: fix CVE-2023-50008 ffmpeg: fix CVE-2024-32230 qemu: fix CVE-2024-7409 ffmpeg: fix CVE-2023-49501 ffmpeg: fix CVE-2024-28661 ffmpeg: fix CVE-2023-50007 ffmpeg: fix CVE-2023-49528 ffmpeg: fix CVE-2024-7055 ffmpeg: fix CVE-2024-35366 ffmpeg: fix CVE-2024-35367 ffmpeg: fix CVE-2024-35368 rsync: fix CVE-2024-12084 rsync: fix CVE-2024-12085 rsync: fix CVE-2024-12086 rsync: fix CVE-2024-12087 rsync: fix CVE-2024-12088 rsync: fix CVE-2024-12747 ffmpeg: fix CVE-2024-35365 ffmpeg: fix CVE-2024-36613 ffmpeg: fix CVE-2024-36616 ffmpeg: fix CVE-2024-36617 ffmpeg: fix CVE-2024-36618 ffmpeg: fix CVE-2024-36619 ffmpeg: fix CVE-2024-35369 gstreamer1.0-rtsp-server: fix CVE-2024-44331 ffmpeg: fix CVE-2025-25473 ffmpeg: fix CVE-2025-25471 ffmpeg: fix CVE-2025-22921 ffmpeg: fix CVE-2025-0518 ffmpeg: Correct the CVE ID to fix CVE-2025-22919 openssh: fix CVE-2025-26465 go: fix CVE-2025-22870 ghostscript: upgrade 10.04.0 -> 10.05.0 perlcross: 1.6 -> 1.6.2 perl: upgrade 5.38.2 -> 5.38.4 xwayland: fix CVE-2025-49175 xwayland: fix CVE-2025-49176 xwayland: fix CVE-2025-49177 xwayland: fix CVE-2025-49178 xwayland: fix CVE-2025-49179 xwayland: fix CVE-2025-49180 gdk-pixbuf: fix CVE-2025-7345 go: fix CVE-2025-4674 ffmpeg: upgrade 6.1.2 -> 6.1.3 ffmpeg: fix CVE-2025-1594 go: fix CVE-2025-47906 Ashish Sharma (11): bind: Upgrade 9.18.25 -> 9.18.28 ruby: Backport fix for CVE-2024-27282 ruby: Fix CVE-2025-27219 binutils: Fix CVE-2025-1176 binutils: patch CVE-2025-1178 & CVE-2024-57360 binutils: patch CVE-2025-1181 binutils: patch CVE-2025-1182 libsoup: patch CVE-2025-46420 libsoup-2.4: Fix CVE-2025-46420 libsoup: patch CVE-2025-4476 screen: patch CVE-2025-46805 AshishKumar Mishra (2): systemd: backport fix for handle USE_NLS from master p11-kit: backport fix for handle USE_NLS from master Barne Carstensen (1): test-manual: update runtime-testing Exporting Tests section Bartosz Golaszewski (1): linux-firmware: add a package for ath12k firmware Benjamin Szőke (2): archiver.bbclass: Fix work-shared checking for kernel recipes mc: fix source URL Bin Lan (1): lttng-ust: backport patch to fix cmake-multiple-shared-libraries build error Bruce Ashfield (54): linux-yocto/6.6: update to v6.6.36 linux-yocto/6.6: update to v6.6.38 linux-yocto/6.6: update to v6.6.40 linux-yocto/6.6: update to v6.6.43 kernel-devsrc: remove 64 bit vdso cmd files linux-yocto/6.6: update to v6.6.44 linux-yocto/6.6: update to v6.6.45 linux-yocto/6.6: fix genericarm64 config warning linux-yocto/6.6: update to v6.6.47 linux-yocto/6.6: update to v6.6.49 linux-yocto/6.6: update to v6.6.50 linux-yocto/6.6: update to v6.6.52 linux-yocto/6.6: update to v6.6.54 linux-yocto/6.6: update to v6.6.56 linux-yocto/6.6: update to v6.6.58 linux-yocto/6.6: genericarm64.cfg: enable CONFIG_DMA_CMA linux-yocto/6.6: update to v6.6.59 linux-yocto/6.6: update to v6.6.60 linux-yocto/6.6: update to v6.6.62 linux-yocto/6.6: bsp/genericarm64: disable ARM64_SME linux-yocto/6.6: update to v6.6.63 linux-yocto/6.6: update to v6.6.64 linux-yocto/6.6: update to v6.6.66 linux-yocto/6.6: update to v6.6.69 linux-yocto/6.6: update to v6.6.75 linux-yocto/6.6: update to v6.6.77 linux-yocto/6.6: update to v6.6.78 linux-yocto/6.6: update to v6.6.80 linux-yocto/6.6: update to v6.6.82 linux-yocto/6.6: update to v6.6.83 linux-yocto/6.6: update to v6.6.84 linux-yocto/6.6: update to v6.6.85 linux-yocto/6.6: fix beaglebone ethernet linux-yocto/6.6: update to v6.6.86 linux-yocto/6.6: update to v6.6.87 linux-yocto/6.6: update to v6.6.88 linux-yocto/6.6: update to v6.6.89 linux-yocto/6.6: update to v6.6.91 linux-yocto/6.6: update to v6.6.92 linux-yocto/6.6: update to v6.6.93 linux-yocto/6.6: update to v6.6.94 linux-yocto/6.6: update to v6.6.96 linux-yocto/6.6: update to v6.6.98 linux-yocto/6.6: update to v6.6.99 linux-yocto/6.6: update to v6.6.100 linux-yocto/6.6: update to v6.6.101 linux-yocto/6.6: update to v6.6.102 linux-yocto/6.6: update to v6.6.103 linux-yocto/6.6: update to v6.6.106 linux-yocto/6.6: update to v6.6.107 linux-yocto/6.6: update to v6.6.108 linux-yocto/6.6: update to v6.6.109 linux-yocto/6.6: update to v6.6.110 linux-yocto/6.6: update to v6.6.111 Carlos Alberto Lopez Perez (1): icu: Backport patch to fix build issues with long paths (>512 chars) Carlos Sánchez de La Lama (1): ref-manual: clarify KCONFIG_MODE default behaviour Catalin Popescu (1): Revert "bluez5: remove configuration files from install task" Changqing Li (48): apt-native: don't let dpkg overwrite files by default apt: runtime error: filename too long (tmpdir length) webkitgtk: fix do_configure error on beaglebone-yocto webkitgtk: fix do_compile errors on beaglebone-yocto vulkan-samples: fix do_compile error when -Og enabled multilib.conf: remove appending to PKG_CONFIG_PATH gettext: fix a parallel build issue pixman: fixing inline failure with -Og rt-tests: rt_bmark.py: fix TypeError curl: correct the PACKAGECONFIG for native/nativesdk libpng: update SRC_URI expect-native: fix do_compile failure with gcc-14 libcap-ng: update SRC_URI sysvinit: backport patch for fixing one issue of pidof acpica: fix CVE-2024-24856 libsoup: fix CVE-2024-52530, CVE-2024-52531 rxvt-unicode.inc: disable the terminfo installation by setting TIC to : sanity.bbclass: skip check_userns for non-local uid systemd: enable create-log-dirs babeltrace: extend to nativesdk babeltrace2: extend to nativesdk patch.py: set commituser and commitemail for addNote initscripts: add function log_success_msg/log_failure_msg/log_warning_msg buildtools-tarball: move setting of envvars to respective envfile buildtools-tarball: add envvars into BB_ENV_PASSTHROUGH_ADDITIONS buildtools-tarball: Make buildtools respects host CA certificates libsoup: fix CVE-2025-32908 libsoup: fix CVE-2025-32907 libsoup-2.4: fix CVE-2025-32907 libsoup-2.4: fix do_compile failure libsoup-2.4: fix CVE-2025-32053 libsoup: fix CVE-2025-32053 libsoup-2.4: fix CVE-2025-32052 libsoup: fix CVE-2025-32052 libsoup: fix CVE-2025-32051 libsoup-2.4: fix CVE-2025-32050 libsoup: fix CVE-2025-32050 libsoup-2.4: fix CVE-2025-46421 libsoup: fix CVE-2025-46421 libsoup-2.4: fix CVE-2025-4948 libsoup: fix CVE-2025-4948 libsoup-2.4: fix CVE-2025-4476 libsoup-2.4: fix CVE-2025-2784 libsoup: fix CVE-2025-2784 icu: fix CVE-2025-5222 libsoup-2.4: refresh CVE-2025-4969.patch libsoup-2.4: fix CVE-2025-4945 libsoup: fix CVE-2025-4945 Chen Qi (8): libnl: change HOMEPAGE qemu: back port patches to fix riscv64 build failure toolchain-shar-extract.sh: exit when post-relocate-setup.sh fails libgfortran: fix buildpath QA issue bitbake: data_smart.py: remove unnecessary ? from __expand_var_regexp__ bitbake: data_smart.py: simple clean up bitbake: data_smart.py: clear expand_cache in _setvar_update_overridevars coreutils: fix CVE-2025-5278 Chris Laplante (6): bitbake: persist_data: close connection in SQLTable __exit__ bitbake: fetch2: use persist_data context managers bitbake: ui/knotty: print log paths for failed tasks in summary bitbake: ui/knotty: respect NO_COLOR & check for tty; rename print_hyperlink => format_hyperlink bitbake: cooker: Make cooker 'skiplist' per-multiconfig/mc util-linux: use ${B} instead of ${WORKDIR}/build, to fix building under devtool Christian Taedcke (1): iptables: fix memory corruption when parsing nft rules Christos Gavros (2): ref-manual/variables.rst: document the IMAGE_ROOTFS_MAXSIZE variable ref-manual/variables.rst: document the INITRAMFS_MAXSIZE variable Claus Stovgaard (1): lib/oe/package-manager: skip processing installed-pkgs with empty globs Clayton Casciato (1): uboot-sign: fix concat_dtb arguments Colin McAllister (2): udev-extraconf: Add collect flag to mount busybox: Fix cut with "-s" flag Colin Pinnell McAllister (1): ffmpeg: fix CVE-2025-1373 Daniel Semkowicz (2): os-release: Fix VERSION_CODENAME in case it is empty gstreamer1.0-plugins-bad: fix buffer allocation fail for v4l2codecs Daniel Turull (4): package: export debugsources in PKGDESTWORK as json spdx: add option to include only compiled sources xz: ignore CVE-2024-47611 libxml2: ignore CVE-2025-8732 David Nyström (3): openssh: fix CVE-2025-61985 openssh: fix CVE-2025-61984 lz4: fix CVE-2025-62813 Deepak Rathore (1): default-distrovars.inc: Fix CONNECTIVITY_CHECK_URIS redirect issue Deepesh Varatharajan (13): binutils: stable 2.42 branch updates glibc: stable 2.39 branch updates. binutils: stable 2.42 branch update binutils: Fix CVE-2025-0840 glibc: stable 2.39 branch updates binutils: stable 2.42 branch updates binutils: Fix CVE-2025-5245 binutils: Fix CVE-2025-5244 gcc: Upgrade to GCC 13.4 binutils: stable 2.42 branch updates binutils: Fix CVE-2025-7545 glibc: stable 2.39 branch updates glibc: stable 2.39 branch updates Deepthi Hemraj (5): binutils: stable 2.42 branch updates glibc: stable 2.39 branch updates rust-llvm: Fix CVE-2024-0151 binutils: stable 2.42 branch update glibc: stable 2.39 branch updates Denys Dmytriyenko (3): weston: upgrade 13.0.0 -> 13.0.1 gcc: unify cleanup of include-fixed, apply to cross-canadian nativesdk-libtool: sanitize the script, remove buildpaths Divya Chellam (16): libpam: fix CVE-2024-10041 libxml2: Upgrade 2.12.8 -> 2.12.9 wget: fix CVE-2024-10524 vim: Upgrade 9.1.0764 -> 9.1.1043 vim: Upgrade 9.1.1043 -> 9.1.1115 ruby: fix CVE-2025-27220 ruby: fix CVE-2025-27221 screen: fix CVE-2025-46802 screen: fix CVE-2025-46804 libarchive: fix CVE-2025-5914 libarchive: fix CVE-2025-5915 libarchive: fix CVE-2025-5916 libarchive: fix CVE-2025-5917 libarchive: fix CVE-2025-5918 wpa-supplicant: fix CVE-2022-37660 vim: upgrade 9.1.1652 -> 9.1.1683 Divyanshu Rathore (1): ffmpeg: upgrade 6.1.1 -> 6.1.2 Dixit Parmar (1): ref-manual: document KERNEL_SPLIT_MODULES variable Dmitry Baryshkov (1): xserver-xorg: fix CVE-2023-5574 status Emil Kronborg (3): insane.bbclass: remove skipping of cross-compiled packages insane.bbclass: fix HOST_ variable names insane.bbclass: remove leftover variables and comment Enrico Jörns (6): wic: engine.py: use raw string for escape sequence wic: bootimg-efi: fix error handling bitbake: bitbake-diffsigs: fix handling when finding only a single sigfile ref-manual/variables.rst: update ROOT_HOME documentation conf.py: tweak SearchEnglish to be hyphen-friendly conf.py: improve SearchEnglish to handle terms with dots Erik Lindsten (1): overview-manual/yp-intro.rst: fix broken link to article Esben Haabendal (3): pulseaudio: fix webrtc audio depdency files: Amend overlayfs unit descriptions with path information files: overlayfs-create-dirs: Improve mount unit dependency Etienne Cordonnier (6): oeqa/runtime: fix regression in minidebuginfo test oeqa/runtime: make minidebuginfo test work with coreutils oeqa/runtime: fix race-condition in minidebuginfo test python3-setuptools-scm: respect GIT_CEILING_DIRECTORIES ref-manual/variables.rst: document SSTATE_SKIP_CREATION bitbake: gcp.py: remove slow calls to gsutil stat Fabio Berton (2): ccache.conf: Add include_file_ctime to sloppiness linux-libc-headers: Fix invalid conversion in cn_proc.h Florian Kreutzer (1): dropbear: backport fix for concurrent channel open/close Gassner, Tobias.ext (1): rootfs: Ensure run-postinsts is not uninstalled for read-only-rootfs-delayed-postinsts Gauthier HADERER (1): populate_sdk_ext.bclass: make sure OECORE_NATIVE_SYSROOT is exported. Guocai He (2): tcf-agent: correct the SRC_URI minicom: correct the SRC_URI Guénaël Muller (1): ref-manual: use standardized method accross both ubuntu and debian for locale install Guðni Már Gilbert (15): pam: Fix for CVE-2024-22365 python3-attrs: drop python3-ctypes from RDEPENDS bluez5: remove redundant patch for MAX_INPUT shared-mime-info: drop itstool-native from DEPENDS libpam: drop cracklib from DEPENDS systemd: drop intltool-native from DEPENDS systemd-boot: drop intltool-native from DEPENDS python3-poetry-core: drop python3-six from RDEPENDS dnf: drop python3-iniparse from DEPENDS and RDEPENDS python3: upgrade 3.12.6 -> 3.12.7 python3: upgrade 3.12.7 -> 3.12.8 systemd: upgrade 255.13 -> 255.17 systemd: upgrade 255.17 -> 255.18 bluez5: add missing tools to noinst-tools package systemd: upgrade 255.18 -> 255.21 Gyorgy Sarvari (1): conf/bitbake.conf: use gnu mirror instead of main server Haixiao Yan (2): glibc: Add single-threaded fast path to rand() buildtools-tarball: fix unbound variable issues under 'set -u' Harish Sadineni (7): binutils: Add missing perl modules to RDEPENDS for nativesdk variant rust-target-config: Fix TARGET_C_INT_WIDTH with correct size rust: fix for rust multilib sdk configuration rust: remove redundant cargo config file oeqa/sdk/context: fix for gtk3 test failure during do_testsdk binutils: Fix CVE-2025-1179 binutils: set CVE_STATUS for CVE-2025-1180 Hiago De Franco (2): weston: backport patch to allow neatvnc < v0.9.0 bluez5: backport patch to fix address type when loading keys Hitendra Prajapati (24): ghostscript: upgrade 10.02.1 -> 10.03.1 ruby: fix CVE-2024-27281 vte: fix CVE-2024-37535 curl: fix CVE-2024-8096 webkitgtk: upgrade 2.44.1 -> 2.44.3 cups: Backport fix for CVE-2024-47175 libarchive: fix CVE-2024-48957 & CVE-2024-48958 libsoup: fix CVE-2024-52532 ghostscript: upgrade 10.03.1 -> 10.04.0 libsndfile: fix CVE-2024-50612 ofono: Fix multiple CVEs libcap: fix CVE-2025-1390 elfutils: Fix multiple CVEs go: fix CVE-2025-22871 libsoup-3.4.4: Fix CVE-2025-4969 libsoup-2.4: Fix CVE-2025-4969 libxml2: fix CVE-2025-6021 libxml2: fix CVE-2025-49794 & CVE-2025-49796 libpam: fix CVE-2025-6020 gstreamer1.0-plugins-base: fix CVE-2025-47808 gstreamer1.0-plugins-base: fix CVE-2025-47806 gstreamer1.0-plugins-good: fix multiple CVEs gstreamer1.0-plugins-base: fix CVE-2025-47807 grub2: mark CVE-2024-2312 as not applicable Hongxu Jia (10): ovmf: fix CVE-2024-38796 ovmf: fix CVE-2024-1298 u-boot: fix CVE-2024-57254 u-boot: fix CVE-2024-57255 u-boot: fix CVE-2024-57256 u-boot: fix CVE-2024-57257 u-boot: fix CVE-2024-57258 u-boot: fix CVE-2024-57259 rpm: keep leading `/' from sed operation u-boot: fix CVE-2024-42040 Igor Opaniuk (1): wic: bootimg-efi: Support + symbol in filenames Jaeyoon Jung (2): makedevs: Fix issue when rootdir of / is given makedevs: Fix matching uid/gid Jagadeesh Krishnanjanappa (1): tune-cortexa32: set tune feature as armv8a Jan Vermaete (1): sdk: The main in the C example should return an int Jeroen Hofstee (2): bluez5: make media control a PACKAGECONFIG option bluez5: backport a patch to fix btmgmt -i Jiaying Song (9): liba52: fix do_fetch error enchant2: fix do_fetch error libxml-parser-perl: fix do_fetch error python3-zipp: fix CVE-2024-5569 subversion: fix CVE-2024-46901 boost: fix do_fetch error binutils: File name too long causing failure to open temporary head file in dlltool python3-requests: upgrade 2.32.3 -> 2.32.4 ruby-ptest : some ptest fixes Jinfeng Wang (3): tzdata&tzcode-native: upgrade 2024a -> 2024b mtools: upgrade 4.0.48 -> 4.0.49 systemtap: Fix task_work_cancel build Joao Marcos Costa (1): ref-manual/variables.rst: expand IMAGE_OVERHEAD_FACTOR glossary entry Joe Slater (1): oe-debuginfod: add option for data storage Joerg Schmidt (1): bitbake: bblayers/query: Fix using "removeprefix" string method Johannes Schneider (1): ppp: Revert lock path to /var/lock Jon Mason (4): oeqa/runtime/ssh: add retry logic and sleeps to allow for slower systems oeqa/runtime/ssh: check for all errors at the end oeqa/runtime/ssh: increase the number of attempts openssh: add backported header file include Jonas Gorski (1): rootfs-postcommands.bbclass: make opkg status reproducible Jookia (1): populate_sdk_ext.bbclass: Fix undefined variable error Jose Quaresma (7): go: upgrade 1.22.4 -> 1.22.5 oeqa/runtime/scp: requires openssh-sftp-server openssh: drop rejected patch fixed in 8.6p1 release openssh: systemd sd-notify patch was rejected upstream openssh: systemd notification was implemented upstream go: upgrade 1.22.5 -> 1.22.6 bitbake: bitbake: doc/user-manual: Update the BB_HASHSERVE_UPSTREAM Joshua Watt (3): bitbake: asyncrpc: Use client timeout for websocket open timeout bitbake: Remove custom exception backtrace formatting bitbake: Use a "fork" multiprocessing context João Marcos Costa (1): variables.rst: fix LAYERDEPENDS description Julien Stephan (5): README: add instruction to run Vale on a subset documentation: Makefile: add SPHINXLINTDOCS to specify subset to sphinx-lint styles: vocabularies: Yocto: add sstate ref-manual: variables: add SIGGEN_LOCKEDSIGS* variables dev-manual: add bblock documentation Jörg Sommer (5): classes/kernel: No symlink in postinst without KERNEL_IMAGETYPE_SYMLINK doc/features: remove duplicate word in distribution feature ext2 doc/features: describe distribution feature pni-name ptest-runner: Update 2.4.4 -> 2.4.5 runqemu: Fix detection of -serial parameter Kai Kang (3): multilib.bbclass: replace deprecated e.data with d cmake-qemu.bbclass: fix if criterion glibc: fix fortran header file conflict for arm Khem Raj (26): linux-yocto: Enable team net driver systemd.bbclass: Clarify error message grub,grub-efi: Remove -mfpmath=sse on x86 python3: Treat UID/GID overflow as failure gawk: Remove References to /usr/local/bin/gawk busybox: CVE-2023-42364 and CVE-2023-42365 fixes busybox: Add fix for CVE-2023-42366 gcc: Fix spurious '/' in GLIBC_DYNAMIC_LINKER on microblaze gnupg: Document CVE-2022-3219 and mark wontfix openssh: Mark CVE-2023-51767 as wont-fix libpcre2: Update base uri PhilipHazel -> PCRE2Project python3: Drop empty patch qemu: Do not define sched_attr with glibc >= 2.41 e2fsprogs: Fix build failure with gcc 15 parted: Fix build with GCC 15 bash: Stick to C17 std ncurses: Pin to C17 standard unzip: Fix build with GCC-15 m4: Stick to C17 standard gmp: Fix build with GCC15/C23 gmp: Fix build with older gcc versions gdbm: Use C11 standard unifdef: Don't use C23 constexpr keyword libtirpc: Fix build with gcc-15/C23 cpio: Pin to use C17 std expect: Fix build with GCC 15 Kirill Yatsenko (1): iptables: fix save/restore symlinks with libnftnl PACKAGECONFIG enabled Konrad Weihmann (3): runqemu: keep generating tap devices testimage: fallback for empty IMAGE_LINK_NAME testexport: fallback for empty IMAGE_LINK_NAME Kyungjik Min (1): pulseaudio: Add audio group explicitly Lee Chee Yang (24): migration-notes: add release notes for 5.0.1 migration-guides: add release notes for 4.0.19 migration-guides: add release notes for 5.0.2 migration-guide: add release notes for 4.0.20 migration-guides: add release notes for 5.0.3 migration-guide: add release notes for 4.0.21 migration-guides: add release notes for 5.0.4 migration-guide: add release notes for 4.0.22 migration-guides: add release notes for 5.0.5 migration-guides: add release notes for 4.0.23 migration-guides: add release notes for 5.0.6 migration-guides: add release notes for 4.0.24 migration-guides: add release notes for 5.0.7 migration-guides: add release notes for 4.0.25 migration-guides: add release notes for 5.0.8 migration-guides: add release notes for 4.0.26 migration-guides: add release notes for 5.0.9 migration-guides: add release notes for 4.0.27 migration-guide: add release notes for 5.0.10 migration-guides: add release notes for 4.0.28 migration-guides: add release notes for 5.0.11 migration-guides: add release notes for 4.0.29 migration-guides: add release notes for 5.0.12 migration-guides: add release notes for 4.0.30 Libo Chen (1): runqemu: fix special characters bug Louis Rannou (1): image_qa: fix error handling Macpaul Lin (1): linux-firmware: upgrade 20240312 -> 20240909 Madhu Marri (1): qemu 8.2.7: ignore CVE-2023-1386 Makarios Christakis (1): icu: Adjust ICU_DATA_DIR path on big endian targets Marco Cavallini (1): dev-manual/start.rst: added missing command in Optimize your VHDX file using DiskPart Marek Vasut (3): u-boot: kernel-fitimage: Fix dependency loop if UBOOT_SIGN_ENABLE and UBOOT_ENV enabled base-files: Drop /bin/sh dependency u-boot: kernel-fitimage: Restore FIT_SIGN_INDIVIDUAL="1" behavior Mark Hatle (9): package.py: Fix static debuginfo split package.py: Fix static library processing selftest-hardlink: Add additional test cases create-spdx-*: Support multilibs via SPDX_MULTILIB_SSTATE_ARCHS oeqa sdk cases: Skip SDK test cases when TCLIBC is newlib create-sdpx-2.2.bbclass: Switch from exists to isfile checking debugsrc populate_sdk_ext: write_local_conf add shutil import cve-update-nvd2-native: Handle BB_NO_NETWORK and missing db bitbake: bitbake: runqueue: Verify mcdepends are valid Markus Volk (3): libadwaita: update 1.5.0 -> 1.5.1 gcc: add a backport patch to fix an issue with tzdata 2024b ninja: fix build with python 3.13 Marta Rybczynska (1): vulnerabilities/classes: remove references to cve-check text format Martin Jansa (22): selftest: add Upstream-Status to .patch files libgfortran.inc: fix nativesdk-libgfortran dependencies populate_sdk_base: inherit nopackages meta-world-pkgdata: Inherit nopackages python3-lxml=v5.0.2 mc: set ac_cv_path_ZIP to avoid buildpaths QA issues libpam: re-add missing libgen include cairo: fix build with gcc-15 on host bash: use -std=gnu17 also for native CFLAGS cmake: fix build with gcc-15 on host git: fix build with gcc-15 on host pkgconfig: fix build with gcc-15 libgpg-error: fix build with gcc-15 rust-llvm: fix build with gcc-15 elfutils: fix build with gcc-15 binutils: fix build with gcc-15 dbus-glib: fix build with gcc-15 bitbake: bitbake: Bump version to 2.8.1 license.py: avoid deprecated ast.Str sanity.conf: Update minimum bitbake version to 2.8.1 lib/oe/utils: use multiprocessing from bb flex: fix build with gcc-15 on host Matthias Pritschet (1): ref-manual: fix typo and move SYSROOT_DIRS example Matthias Schiffer (1): curl: only set CA bundle in target build Michael Haener (1): oeqa/runtime/ping: don't bother trying to ping localhost Michael Halstead (4): yocto-uninative: Update to 4.6 for glibc 2.40 yocto-uninative: Update to 4.7 for glibc 2.41 yocto-uninative: Update to 4.8 for GCC 15.1 yocto-uninative: Update to 4.9 for glibc 2.42 Michael Opdenacker (5): maintainers.inc: update self e-mail address doc: Makefile: publish pdf and epub versions too dev-manual: fix styling of references to bmaptool dev-manual/bmaptool.rst: correct command for bmaptool-native dev-manual/bmaptool.rst: simplify and fix instructions Michal Seben (1): timedated: wait for jobs before SetNTP response Mikko Rapeli (1): ovmf-native: remove .pyc files from install Mingli Yu (1): llvm: Enable libllvm for native build Moritz Haase (2): meta: Enable '-o pipefail' for the SDK installer cmake: Correctly handle cost data of tests with arbitrary chars in name NeilBrown (1): nfs-utils: don't use signals to shut down nfs server. Nguyen Dat Tho (1): libatomic-ops: Update GITHUB_BASE_URI Nikhil R (1): cmake: Add PACKAGECONFIG option for debugger support Niko Mauno (15): dnf/mesa: Fix missing leading whitespace with ':append' libyaml: Fix warning regarding unpatched CVE systemd: Mitigate /var/log type mismatch issue systemd: Mitigate /var/tmp type mismatch issue image_types.bbclass: Use --force also with lz4,lzop util-linux: Add PACKAGECONFIG option to mitigate rootfs remount error iw: Fix LICENSE dejagnu: Fix LICENSE unzip: Fix LICENSE zip: Fix LICENSE tiff: Fix LICENSE gcr: Fix LICENSE python3-maturin: Fix cross compilation issue for armv7l, mips64, ppc cve-check.bbclass: Mitigate symlink related error cve-check.bbclass: Fix symlink handling also for text files Nitin Wankhade (1): examples: genl: fix wrong attribute size Oleksandr Hnatiuk (2): icu: remove host references in nativesdk to fix reproducibility gcc: remove paths to sysroot from configargs.h and checksum-options for gcc-cross-canadian Patrick Wicki (1): gpgme: move gpgme-tool to own sub-package Paul Barker (2): meta-ide-support: Mark recipe as MACHINE-specific dev-manual, test-manual: Update autobuilder output links Paul Gerber (1): uboot-sign: fix counters in do_uboot_assemble_fitimage Pavel Zhukov (1): package_rpm: Check if file exists before open() Pedro Ferreira (3): buildhistory: Fix intermittent package file list creation buildhistory: Restoring files from preserve list rust-common.bbclass: soft assignment for RUSTLIB path Peter Kjellerstedt (1): image.bbclass: Drop support for ImageQAFailed exceptions in image_qa Peter Marko (144): flac: fix buildpaths warnings cargo: remove True option to getVar calls ncurses: switch to new mirror busybox: Patch CVE-2021-42380 busybox: Patch CVE-2023-42363 libstd-rs,rust-cross-canadian: set CVE_PRODUCT to rust curl: Patch CVE-2024-6197 glibc: cleanup old cve status qemu: set cve status for CVE-2023-6683 libmnl: explicitly disable doxygen libyaml: ignore CVE-2024-35326 libyaml: Ignore CVE-2024-35325 curl: Patch CVE-2024-7264 python3: Upgrade 3.12.5 -> 3.12.6 wpa-supplicant: Ignore CVE-2024-5290 wpa-supplicant: Patch CVE-2024-3596 wpa-supplicant: Patch security advisory 2024-2 rust: ignore CVE-2024-43402 openssl: patch CVE-2024-9143 cve-check: add support for cvss v4.0 go: upgrade 1.22.6 -> 1.22.7 go: upgrade 1.22.7 -> 1.22.8 dropbear: backport patch for CVE-2023-48795 curl: patch CVE-2024-9681 gstreamer1.0: set status for CVE-2024-0444 expat: upgrade 2.6.3 -> 2.6.4 builder: set CVE_PRODUCT qemu: set CVE-2024-6505 to fixed gstreamer1.0-plugins-good: fix several CVEs gstreamer1.0-plugins-base: patch CVE-2024-47538 gstreamer1.0-plugins-base: patch CVE-2024-47607 gstreamer1.0-plugins-base: patch CVE-2024-47615 gstreamer1.0-plugins-good: patch CVE-2024-47613 gstreamer1.0-plugins-good: patch several CVEs gstreamer1.0-plugins-base: patch CVE-2024-47541 gstreamer1.0-plugins-base: patch CVE-2024-47542 gstreamer1.0-plugins-good: patch CVE-2024-47599 gstreamer1.0-plugins-base: patch CVE-2024-47600 gstreamer1.0-plugins-good: patch CVE-2024-47606 gstreamer1.0-plugins-good: patch CVE-2024-47606 gstreamer1.0-plugins-good: patch CVE-2024-47774 gstreamer1.0-plugins-good: patch several CVEs gstreamer1.0-plugins-base: patch CVE-2024-47835 gstreamer1.0: ignore CVEs fixed in plugins recipes socat: patch CVE-2024-54661 ofono: patch CVE-2024-7540, CVE-2024-7541, CVE-2024-7542 ofono: patch CVE-2023-4232 ofono: patch CVE-2023-4235 openssl: patch CVE-2024-13176 go: upgrade 1.22.8 -> 1.22.9 go: upgrade 1.22.9 -> 1.22.10 go: upgrade 1.22.10 -> 1.22.11 glibc: stable 2.39 branch updates python3: upgrade 3.12.8 -> 3.12.9 go: upgrade 1.22.11 -> 1.22.12 cmake: apply parallel build settings to ptest tasks subversion: ignore CVE-2024-45720 gnutls: patch CVE-2024-12243 openssl: upgrade 3.2.3 -> 3.2.4 libxml2: upgrade 2.12.9 -> 2.12.10 grub: drop obsolete CVE statuses grub: backport strlcpy function grup: patch CVE-2024-45781 grub: patch CVE-2024-45782 and CVE-2024-56737 grub: patch CVE-2024-45780 grub: patch CVE-2024-45783 grub: patch CVE-2025-0624 grub: patch CVE-2024-45774 grub: patch CVE-2024-45775 grub: patch CVE-2025-0622 grub: patch CVE-2024-45776 grub: patch CVE-2024-45777 grub: patch CVE-2025-0690 grub: patch CVE-2025-1118 grub: patch CVE-2024-45778 and CVE-2024-45779 grub: patch CVE-2025-0677, CVE-2025-0684, CVE-2025-0685, CVE-2025-0686 and CVE-2025-0689 grub: patch CVE-2025-0678 and CVE-2025-1125 libarchive: patch CVE-2025-1632 and CVE-2025-25724 xserver-xorg: mark CVEs fixed in 21.1.16 as fixed cve-update-nvd2-native: handle missing vulnStatus expat: patch CVE-2024-8176 freetype: follow-up patch for CVE-2025-27363 ofono: patch CVE-2024-7537 cve-update-nvd2-native: add workaround for json5 style list xz: upgrade 5.4.6 -> 5.4.7 xz: patch CVE-2025-31115 libarchive: upgrade 3.7.4 -> 3.7.9 sqlite3: patch CVE-2025-3277 sqlite3: patch CVE-2025-29088 ppp: patch CVE-2024-58250 libxml2: patch CVE-2025-32414 libxml2: patch CVE-2025-32415 glib-2.0: patch CVE-2025-3360 Revert "cve-update-nvd2-native: Tweak to work better with NFS DL_DIR" sqlite3: mark CVE-2025-29087 as patched python3: upgrade 3.12.9 -> 3.12.11 testimage: get real os-release file net-tools: patch CVE-2025-46836 go: set status of CVE-2024-3566 glibc: stable 2.39 branch updates python3: update CVE product busybox: apply patch for CVE-2023-39810 iputils: patch CVE-2025-48964 orc: set CVE_PRODUCT openssl: CVE-2024-41996 openssl: patch CVE-2025-27587 gnutls: patch CVE-2025-32989 gnutls: patch read buffer overrun in the "pre_shared_key" extension gnutls: patch reject zero-length version in certificate request gnutls: patch CVE-2025-32988 gnutls: patch CVE-2025-32990 gnutls: patch CVE-2025-6395 ncurses: patch CVE-2025-6141 libxml2: patch CVE-2025-6170 glibc: fix CVE-2025-8058 python3: patch CVE-2025-8194 go: ignore CVE-2025-0913 dropbear: patch CVE-2025-47203 glib-2.0: ignore CVE-2025-4056 qemu: set status of CVE-2024-7730 to fixed go-binary-native: ignore CVE-2025-0913 glib-2.0: patch CVE-2025-7039 glib-2.0: patch CVE-2025-6052 dpkg: patch CVE-2025-6297 libarchive: patch regression of patch for CVE-2025-5918 vim: upgrade 9.1.1198 -> 9.1.1652 sudo: remove devtool FIXME comment busybox: patch CVE-2025-46394 gstreamer1.0: ignore CVEs fixed in plugins gstreamer1.0: ignore CVE-2025-2759 ghostscript: patch CVE-2025-59798 ghostscript: patch CVE-2025-59799 ghostscript: patch CVE-2025-59800 expat: follow-up for CVE-2024-8176 tiff: ignore 5 CVEs ffmpeg: ignore 8 CVEs fixed in 6.1.1 and 6.1.3 releases openssl: upgrade 3.2.4 -> 3.2.6 qemu: patch CVE-2024-8354 binutils: patch CVE-2025-11082 binutils: patch CVE-2025-11083 gnupg: mark CVE-2025-30258 as patched python3: upgrade 3.12.11 -> 3.12.12 vulnerabilities: update nvdcve file name expat: patch CVE-2025-59375 Philip Lorenz (3): cmake: Fix sporadic issues when determining compiler internals cve-check: Add missing call to exit_if_errors shared-mime-info: Handle USE_NLS Poonam Jadhav (2): curl: ignore CVE-2025-0725 libpng: Add ptest Praveen Kumar (7): connman :fix CVE-2025-32743 connman :fix CVE-2025-32366 glib-2.0: fix CVE-2025-4373 go: fix CVE-2025-4673 sudo: upgrade 1.9.15p5 -> 1.9.17p1 go: fix CVE-2025-47907 bind: upgrade 9.18.33 -> 9.18.41 Preeti Sachan (1): ltp: backport patch to fix compilation error for x86_64 Priyal Doshi (2): tzdata/tzcode-native: upgrade 2024b -> 2025a tzdata/tzcode-native: upgrade 2025a -> 2025b Purushottam Choudhary (1): virglrenderer: Add patch to fix -int-conversion build issue Quentin Schulz (14): mmc-utils: fix URL weston-init: fix weston not starting when xwayland is enabled docs: README: specify how to contribute instead of pointing at another file docs: conf.py: silence SyntaxWarning on js_splitter_code ref-manual: classes: reword to clarify that native/nativesdk options are exclusive ref-manual: classes: nativesdk: move note to appropriate section go-helloworld: fix license contributor-guide: submit-changes: fix improper bold string contributor-guide: submit-changes: clarify example with Yocto bug ID contributor-guide: submit-changes: align CC tag description contributor-guide: submit-changes: make the Cc tag follow kernel guidelines contributor-guide: submit-changes: reword commit message instructions contributor-guide: submit-changes: number instruction list in commit your changes contributor-guide: submit-changes: make "Crediting contributors" part of "Commit your changes" Rajeshkumar Ramasamy (2): glib-networking: fix CVE-2025-60018 glib-networking: fix CVE-2025-60019 Randy MacLeod (1): systemd: stable update 255.4 -> 255.13 Ranjitsinh Rathod (1): rust: Add new varaible RUST_ENABLE_EXTRA_TOOLS Rasmus Villemoes (1): iptables: remove /etc/ethertypes Regis Dargent (1): udev-extraconf: fix network.sh script did not configure hotplugged interfaces Richard Purdie (60): selftest/cases/runtime_test: Exclude centos-9 from virgl tests cve-exclusion: Drop the version comparision/warning bitbake: codeparser/data: Ensure module function contents changing is accounted for bitbake: codeparser: Skip non-local functions for module dependencies pseudo: Update to pull in python 3.12+ fix layer.conf: Add os-release to SIGGEN_EXCLUDERECIPES_ABISAFE oeqa/sdk/case: Ensure DL_DIR is populated with artefacts if used create-spdx-3.0/populate_sdk_base: Add SDK_CLASSES inherit mechanism to fix tarball SPDX manifests pseudo: Fix to work with glibc 2.40 pseudo: Update to include open symlink handling bugfix nasm: Upgrade 2.16.01 -> 2.16.03 oeqa/runtime/ssh: In case of failure, show exit code and handle -15 (SIGTERM) oeqa/selftest/reproducibile: Explicitly list virtual targets expat: 2.6.2 -> 2.6.3 ruby: Make docs generation deterministic libedit: Make docs generation deterministic buildhistory: Simplify intercept call sites and drop SSTATEPOSTINSTFUNC usage scripts/install-buildtools: Update to 5.0.3 bitbake.conf: Add truncate to HOSTTOOLS license: Fix directory layout issues libsdl2: Fix non-deterministic configure option for libsamplerate bitbake: tests/fetch: Use our own mirror of sysprof to decouple from gnome gitlab bitbake: tests/fetch: Use our own mirror of mobile-broadband-provider to decouple from gnome gitlab cve_check: Use a local copy of the database during builds pseudo: Fix envp bug and add posix_spawn wrapper oeqa/runtime/ssh: Rework ssh timeout oeqa/runtime/ssh: Fix incorrect timeout fix qemurunner: Clean up serial_lock handling bitbake: fetch2/git: Use quote from shlex, not pipes bitbake: fetch/wget: Increase timeout to 100s from 30s bitbake: runqueue: Fix performance of multiconfigs with large overlap bitbake: runqueue: Optimise setscene loop processing bitbake: runqueue: Fix scenetask processing performance issue do_package/sstate/sstatesig: Change timestamp clamping to hash output only selftest/reproducible: Drop rawlogs selftest/reproducible: Clean up pathnames resulttool: Allow store to filter to specific revisions resulttool: Use single space indentation in json output oeqa/utils/gitarchive: Return tag name and improve exclude handling resulttool: Fix passthrough of --all files in store mode resulttool: Add --logfile-archive option to store mode resulttool: Handle ltp rawlogs as well as ptest resulttool: Clean up repoducible build logs resulttool: Trim the precision of duration information resulttool: Improve repo layout for oeselftest results cve-update-nvd2-native: Tweak to work better with NFS DL_DIR bitbake: tests/fetch: Fix git shallow test failure with git >= 2.48 bitbake: utils: Print information about lock issue before exiting bitbake: utils: Tweak lock_timeout logic bitbake: utils: Add signal blocking for lock_timeout bitbake: event/utils: Avoid deadlock from lock_timeout() and recursive events bitbake: toaster/tests/buildtest: Switch to new CDN bitbake: fetch2: Avoid deprecation warning sstatetests: Switch to new CDN local.conf.sample: Switch to new CDN bitbake: ast: Change deferred inherits to happen per recipe brief-yoctoprojectqs/ref-manual: Switch to new CDN bitbake: test/fetch: Switch u-boot based test to use our own mirror mtools: upgrade 4.0.46 -> 4.0.47 bitbake: utils: Optimise signal/sigmask performance Robert Kovacsics (1): sdk: Fix path length limit to match reserved size Robert P. J. Day (7): Clean up explanation of minimum required version numbers overview-manual: small number of pedantic cleanups bsp guide: update kernel version example to 6.12 bsp-guide: update lonely "4.12" kernel reference to "6.12" bsp-guide: update all of section 1.8.2 to reflect current beaglebone conf file variables.rst: remove references to obsolete tar packaging overview-manual/yp-intro.rst: update on-target packaging info Robert Yang (7): bitbake: data_smart: Improve performance for VariableHistory release-notes-5.0.rst: NO_OUTPUT -> NO_COLOR bitbake: gitsm: Add call_process_submodules() to remove duplicated code bitbake: gitsm: Remove downloads/tmpdir when failed cml1.bbclass: do_diffconfig: Don't override .config with .config.orig libgcrypt: Fix building error with '-O2' in sysroot path groff: Fix race issues for parallel build Rogerio Guerra Borin (1): u-boot: ensure keys are generated before assembling U-Boot FIT image Rohini Sangam (1): vim: Upgrade 9.1.0698 -> 9.1.0764 Roland Kovacs (3): gnupg: update 2.4.5 -> 2.4.8 libxml2: fix CVE-2025-49795 sqlite3: fix CVE-2025-6965 Ross Burton (31): cpio: mark CVE-2023-7216 as disputed fribidi: upgrade 1.0.13 -> 1.0.14 gstreamer1.0: skip another known flaky test libportal: fix rare build race meson: don't use deprecated pkgconfig variable curl: skip FTP tests in run-ptest gawk: update patch status python3-pycryptodome(x): use python_setuptools_build_meta build class gstreamer1.0: disable flaky baseparser tests librsvg: don't try to run target code at build time icu: update patch Upstream-Status strace: download release tarballs from GitHub tcl: skip io-13.6 test case groff: fix rare build race in hdtbl sanity: check for working user namespaces python3: add dependency on -compression to -core classes/nativesdk: also override TUNE_PKGARCH classes/qemu: use tune to select QEMU_EXTRAOPTIONS, not package architecture oeqa/selftest/rust: skip on all MIPS platforms Remove all mention of core-image-lsb ref-manual: don't refer to poky-lsb ref-manual: remove OE_IMPORTS puzzles: ignore three new CVEs for a different puzzles xserver-xf86-config: add a configuration fragment to disable screen blanking xserver-xf86-config: remove obsolete configuration files grub2: fix CVE-2024-56738 libxslt: apply patch for CVE-2025-7424 expect: update code for Tcl channel implementation expect: don't run aclocal in do_configure expect: cleanup do_install pulseaudio: ignore CVE-2024-11586 Ryan Eatmon (2): u-boot.inc: Refactor do_* steps into functions that can be overridden uboot: Allow for customizing installed/deployed file names Sana Kazi (1): gcc-cross-canadian.inc: Fix buildpaths error for pthread.h Sandeep Gundlupet Raju (1): tune-cortexr52: Remove aarch64 for ARM Cortex-R52 Saravanan (2): python3-xmltodict: fix CVE-2025-9375 cmake: fix CVE-2025-9301 Savvas Etairidis (1): systemd: Rename systemd_v255.21 to systemd_255.21 Sergei Zhmylev (1): lsb-release: fix Distro Codename shell escaping Shubham Kulkarni (1): libpam: Update fix for CVE-2024-10041 Shunsuke Tokumoto (1): python3-setuptools: Add "python:setuptools" to CVE_PRODUCT Siddharth Doshi (5): Tiff: Security fix for CVE-2024-7006 vim: Upgrade 9.1.0114 -> 9.1.0682 wpa-supplicant: Upgrade 2.10 -> 2.11 vim: Upgrade 9.1.0682 -> 9.1.0698 openssl: Upgrade 3.2.2 -> 3.2.3 Simon A. Eugster (1): documentation: Fix typo in standards.md Simone Weiß (3): tzdata: Add tzdata.zi to tzdata-core package sanity: Check if tar is gnutar curl: Ignore CVE-2024-32928 Soumya Sambu (12): python3-idna: upgrade 3.6 -> 3.7 python3-certifi: Fix CVE-2024-39689 python3-setuptools: Fix CVE-2024-6345 python3: Fix CVE-2024-7592 python3: Fix CVE-2024-8088 python3-requests: upgrade 2.32.1 -> 2.32.2 python3-requests: upgrade 2.32.0 -> 2.32.3 python3-jinja2: upgrade 3.1.4 -> 3.1.6 git: Upgrade 2.44.1 -> 2.44.3 elfutils: Fix CVE-2025-1371 elfutils: Fix CVE-2025-1376 elfutils: Fix CVE-2025-1377 Stanislav Vovk (1): libpam: fix CVE-2024-10963 Stefan Mueller-Klieser (1): kernel-arch: add macro-prefix-map in KERNEL_CC Steve Sakoman (35): Revert "apt: runtime error: filename too long (tmpdir length)" poky.conf: bump version for 5.0.3 build-appliance-image: Update to scarthgap head revision Revert "wpa-supplicant: Upgrade 2.10 -> 2.11" poky.conf: bump version for 5.0.4 build-appliance-image: Update to scarthgap head revision build-appliance-image: Update to scarthgap head revision release-notes-4.0: update BB_HASHSERVE_UPSTREAM for new infrastructure poky.conf: bump version for 5.0.5 build-appliance-image: Update to scarthgap head revision webkitgtk: fix erroneous use of unsuported DEBUG_LEVELFLAG variable llvm: reduce size of -dbg package poky.conf: bump version for 5.0.6 build-appliance-image: Update to scarthgap head revision poky.conf: bump version for 5.0.7 build-appliance-image: Update to scarthgap head revision Revert "rust: Add new varaible RUST_ENABLE_EXTRA_TOOLS" build-appliance-image: Update to scarthgap head revision poky.conf: add ubuntu2404 to SANITY_TESTED_DISTROS poky.conf: bump version for 5.0.8 build-appliance-image: Update to scarthgap head revision Revert "gcc-cross-canadian.inc: Fix buildpaths error for pthread.h" poky.conf: bump version for 5.0.9 build-appliance-image: Update to scarthgap head revision poky.conf: bump version for 5.0.10 build-appliance-image: Update to scarthgap head revision poky.conf: bump version for 5.0.11 build-appliance-image: Update to scarthgap head revision Revert "sudo: Fix CVE-2025-32462" poky.conf: bump version for 5.0.12 build-appliance-image: Update to scarthgap head revision selftest/cases/meta_ide.py: use use gnu mirror instead of main server oeqa/sdk/cases/buildcpio.py: use gnu mirror instead of main server poky.conf: bump version for 5.0.13 build-appliance-image: Update to scarthgap head revision Sunil Dora (2): gcc: Fix c++: tweak for Wrange-loop-construct binutils: Fix CVE-2025-1153 Talel BELHAJ SALEM (1): dev-manual/building.rst: add note about externalsrc variables absolute paths Talel BELHAJSALEM (1): contributor-guide: Remove duplicated words Teresa Remmet (1): recipes-bsp: usbutils: Fix usb-devices command using busybox Trevor Gamblin (7): python3: skip test_concurrent_futures/test_deadlock python3: skip test_multiprocessing/test_active_children test maintainers.inc: add self for unassigned python recipes python3: upgrade 3.12.4 -> 3.12.5 python3: skip readline limited history tests python3-urllib3: upgrade 2.2.1 -> 2.2.2 reproducible-builds.rst: show how to build a single package Trevor Woerner (5): contributor-guide/submit-changes: encourage patch version changelogs ref-manual/variables.rst: document WIC_CREATE_EXTRA_ARGS sphinx-lint: trailing whitespace sphinx-lint: missing space after literal sphinx-lint: unbalanced inline literal markup Ulrich Ölmann (1): initramfs-framework: fix typos Victor Giraud (1): busybox: fix CVE-2022-48174 Victor Kamensky (1): systemtap: fix systemtap-native build error on Fedora 40 Vijay Anusuri (44): openssh: fix CVE-2024-39894 apr: upgrade 1.7.4 -> 1.7.5 libpcap: Security fix for CVE-2023-7256 & CVE-2024-8006 xserver-xorg: upgrade 21.1.13 -> 21.1.14 glib-2.0: Backport fix for CVE-2024-52533 bind: Upgrade 9.18.28 -> 9.18.33 openssh: Fix CVE-2025-26466 xwayland: Fix CVE-2024-9632 xwayland: Fix CVE-2025-26594 xwayland: Fix CVE-2025-26595 xwayland: Fix CVE-2025-26596 xwayland: Fix CVE-2025-26597 xwayland: Fix CVE-2025-26598 xwayland: Fix CVE-2025-26599 xwayland: Fix CVE-2025-26600 xwayland: Fix CVE-2025-26601 libtasn1: upgrade 4.19.0 -> 4.20.0 xserver-xorg: upgrade 21.1.15 -> 21.1.16 libxslt: upgrade 1.1.39 -> 1.1.43 vim: Upgrade 9.1.1115 -> 9.1.1198 libsoup: Fix CVE-2025-32910 libsoup: Fix CVE-2025-32909 libsoup: Fix CVE-2025-32911 & CVE-2025-32913 libsoup: Fix CVE-2025-32912 libsoup: Fix CVE-2025-32906 libsoup-2.4: Fix CVE-2024-52530 libsoup-2.4: Fix CVE-2024-52531 libsoup-2.4: Fix CVE-2024-52532 libsoup-2.4: Fix CVE-2025-32906 libsoup-2.4: Fix CVE-2025-32909 libsoup: Fix CVE-2025-32914 openssh: Fix for CVE-2025-32728 libsoup-2.4: Fix CVE-2025-32910 libsoup-2.4: Fix CVE-2025-32911 & CVE-2025-32913 libsoup-2.4: Fix CVE-2025-32912 libsoup-2.4: Fix CVE-2025-32914 python3-setuptools: Fix CVE-2025-47273 kea: upgrade 2.4.1 -> 2.4.2 sudo: Fix CVE-2025-32462 git: Upgrade 2.44.3 -> 2.44.4 xserver-xorg: upgrade 21.1.6 -> 21.1.18 cups: upgrade 2.4.10 -> 2.4.11 cups: Fix for CVE-2025-58060 and CVE-2025-58364 gstreamer1.0-plugins-bad: Fix CVE-2025-3887 Virendra Thakur (3): rust-cross-canadian: Set CVE_STATUS ignore for CVE-2024-43402 util-linux: Add fix to isolate test fstab entries using CUSTOM_FSTAB curl: set conditional CVE_STATUS for CVE-2025-5025 Vishwas Udupa (1): openssl: rewrite ptest installation Vrushti Dabhi (1): curl: update CVE_STATUS for CVE-2025-5025 Vyacheslav Yurkov (1): systemd: Password agents shouldn't be optional Wadim Egorov (1): watchdog: Set watchdog_module in default config Wang Mingyu (18): ed: upgrade 1.20.1 -> 1.20.2 llvm: upgrade 18.1.5 -> 18.1.6 mesa: upgrade 24.0.5 -> 24.0.7 wireless-regdb: upgrade 2024.01.23 -> 2024.05.08 orc: upgrade 0.4.38 -> 0.4.39 cups: upgrade 2.4.9 -> 2.4.10 libadwaita: upgrade 1.5.1 -> 1.5.2 libdnf: upgrade 0.73.1 -> 0.73.2 wireless-regdb: upgrade 2024.05.08 -> 2024.07.04 cryptodev: upgrade 1.13 -> 1.14 orc: upgrade 0.4.39 -> 0.4.40 wireless-regdb: upgrade 2024.07.04 -> 2024.10.07 gnupg: upgrade 2.4.4 -> 2.4.5 xserver-xorg: upgrade 21.1.14 -> 21.1.15 ghostscript: upgrade 10.05.0 -> 10.05.1 mtools: upgrade 4.0.44 -> 4.0.45 mtools: upgrade 4.0.45 -> 4.0.46 mtools: upgrade 4.0.47 -> 4.0.48 Weisser, Pascal (1): ref-manual: Add missing variable IMAGE_ROOTFS_MAXSIZE Weisser, Pascal.ext (1): qemuboot: Trigger write_qemuboot_conf task on changes of kernel image realpath Xiangyu Chen (2): qemu: Upgrade 8.2.1 -> 8.2.2 lttng-modules: fix sched_stat_runtime changed in Linux 6.6.66 Yash Shinde (4): binutils: Fix CVE-2024-53589 binutils: Fix CVE-2025-7546 binutils: fix CVE-2025-11081 binutils: fix CVE-2025-8225 Yi Zhao (5): libcap-ng: upgrade 0.8.4 -> 0.8.5 libcap-ng-python: upgrade 0.8.4 -> 0.8.5 rpm: fix expansion of %_libdir in macros iputils: Security fix for CVE-2025-47268 kea: set correct permissions for /var/run/kea Yogita Urade (10): qemu: upgrade 8.2.2 -> 8.2.3 qemu: fix CVE-2024-4467 ruby: upgrade 3.2.2 -> 3.3.5 qemu: upgrade 8.2.3 -> 8.2.7 curl: fix CVE-2024-11053 curl: fix CVE-2025-0167 python3-urllib3: fix CVE-2025-50181 curl: fix CVE-2025-9086 tiff: fix CVE-2025-9900 tiff: ignore CVE-2025-8961 Zhang Peng (3): avahi: fix CVE-2024-52616 mpg123: upgrade 1.32.6 -> 1.32.10 avahi: fix CVE-2024-52615 aszh07 (3): xz: Update LICENSE variable for xz packages ffmpeg: Add "libswresample libavcodec" to CVE_PRODUCT libarchive: Fix CVE-2024-20696 rajmohan r (1): glibc-y2038-tests: remove glibc-y2038-tests_2.39.bb recipe meta-openembedded: 78a14731cf..15e18246dd: Adrian Freihofer (2): networkmanager: remove modemmanager rdepends thrift: fix build with gcc 15 Alexandre Truong (4): source-han-sans-*-fonts: Switch away from SVN fetcher in SRC_URI lcov: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status hunspell-dictionaries: switch branch from master to main evince: Update status for CVE-2011-0433 and CVE-2011-5244 Alexandre Videgrain (1): openbox: fix crash on alt+tab with fullscreen app AmateurECE (1): pipewire: Add glib-2.0-native dep for bluez5 Andrej Valek (1): externalsrc: fix support in various components Anil Dongare (1): libssh 0.10.6: Fix CVE-2025-8114 Ankur Tyagi (25): tinyproxy: patch CVE-2023-49606 frr: patch CVE-2024-44070 libavif: ignore CVE-2025-48175 libconfuse: patch CVE-2022-40320 hdf5: patch CVE-2025-2913 hdf5: patch CVE-2025-2914 hdf5: patch CVE-2025-2915 hdf5: patch CVE-2025-2923, CVE-2025-6816, CVE-2025-6856 hdf5: patch CVE-2025-2924 hdf5: patch CVE-2025-2925 hdf5: patch CVE-2025-6269, CVE-2025-6270, CVE-2025-6516 libppd: patch CVE-2024-47175 libcupsfilters: patch CVE-2024-47076 libraw: patch CVE-2025-43961 CVE-2025-43962 libraw: patch CVE-2025-43963 libraw: patch CVE-2025-43964 zlog: fix CVE-2024-22857 memcached: patch CVE-2023-46852 memcached: patch CVE-2023-46853 ndpi: ignore CVE-2025-25066 libiec61850: patch CVE-2024-26529 libiec61850: patch CVE-2024-45970 libiec61850: patch CVE-2024-45971 mbedtls: upgrade 3.6.4 -> 3.6.5 hostapd: patch CVE-2025-24912 Archana Polampalli (4): modejs: upgrade 20.18.0 -> 20.18.2 tftpy: fix CVE-2023-46566 tcpreplay: fix CVE-2024-22654 apache2: upgrade 2.4.64 - 2.4.65 Ariel D'Alessandro (1): pipewire: Install missing ALSA config files Armin Kuster (1): Revert "mariadb: fix runtime failure on riscv" Ashish Sharma (2): nginx: Backport fix for CVE-2024-7347 postgresql: Backport fix for CVE-2024-7348 AshishKumar Mishra (1): meta-oe: image: optionally remove RAW image after sparse image creation Awais Belal (2): mongodb: fix build with python 3.12 mongodb: update to 4.4.29 BINDU (1): flatbuffers: adapt for cross-compilation environments Barry Grussling (1): postgresql: Break perl RDEPENDS Bastian Krause (2): libsocketcan: use https instead of git protocol canutils: use https instead of git protocol Benjamin Szőke (1): tree: fix broken links Changqing Li (11): pavucontrol: update SRC_URI libatasmart: Update SRC_URI mariadb: fix runtime failure on riscv dlt-daemon: make DLT_WatchdogSec configurable abseil-cpp: upgrade 20240116.2 -> 20240116.3 nginx: fix CVE-2025-23419 libblockdev: fix CVE-2025-6019 udisks2: Hardening measure of CVE-2025-6019 phpmyadmin: upgrade 5.2.1 -> 5.2.2 luajit: fix several CVEs mariadb: correct STACK_DIRECTION setting Chen Qi (6): libdbd-mysql-perl: avoid invoking assert_lib at do_configure stage python3-protobuf: remove useless and problematic .pth file graphviz: remove obsolete and problematic patch protobuf: fix CVE-2024-7254 protobuf: upgrade from 4.25.3 to 4.25.8 python3-protobuf: upgrade from 4.25.3 to 4.25.8 Chris Laplante (1): poco: fix branch: master => poco-1.12.5 Christos Gavros (1): corosync: reproducibility issue Claus Stovgaard (2): lcov: sort RDEPENDS alphabetical lcov: Add missing RDEPENDS Clayton Casciato (1): chrony: use inherit_defer for conditional inherit of useradd Deepak Rathore (1): protobuf 4.25.8: Mark CVE-2024-7254 as patched Divya Chellam (7): nginx: upgrade 1.25.3 -> 1.25.4 redis: upgrade 7.2.6 -> 7.2.7 krb5: fix CVE-2025-24528 openvpn: upgrade 2.6.12 -> 2.6.14 libssh: fix CVE-2025-4878 libssh: fix CVE-2025-5987 jq: fix CVE-2025-9403 Dmitry Baryshkov (1): android-tools: Create flag file /etc/usb-debugging-enabled Esben Haabendal (1): netplan: add missing runtime dependencies Etienne Cordonnier (3): uutils-coreutils: upgrade 0.0.25 -> 0.0.26 uutils-coreutils: upgrade 0.0.26 -> 0.0.27 uutils-coreutils: fix compilation with selinux Fabrice Aeschbacher (1): mosquitto: upgrade 2.0.18 -> 2.0.19 Fathi Boudra (2): python3-django: upgrade 4.2.11 -> 4.2.16 python3-django: upgrade 5.0.4 -> 5.0.9 Frank de Brabander (3): python3-pydantic-core: fix incompatible version python3-pydantic-core: fix TMPDIR path reference python3-pydantic-core: add missing RDEPENDS for ptest Grygorii Tertychnyi (1): libusbgx: fix gadget-stop install Guocai He (6): python3-pylint: correct the SRC_URI libconfig: correct the SRC_URI logcheck: correct the SRC_URI thrift: correct the SRC_URI softhsm: correct the SRC_URI mariadb: File conflicts for multilib Guðni Már Gilbert (1): mbedtls: upgrade 3.6.3.1 -> 3.6.4 Gyorgy Sarvari (35): poppler: fix typos in CVE-2025-52886-0001.patch mod-dnssd: update SRC_URI mosh: set working SRC_URI psqlodbc: set valid SRC_URI collectd: set working SRC_URI apache2: ignore irrelevant CVEs civetweb: patch CVE-2025-55763 dovecot: patch CVE-2022-30550 pm-qa: update git fetch protocol tokyocabinet: switch to working SRC_URI tokyocabinet: fix license iperf2: ignore irrelevant CVEs jasper: patch CVE-2025-8835 jasper: patch CVE-2025-8836 jasper: patch CVE-2025-8837 etcd: patch CVE-2023-32082 freerdp3: patch CVE-2024-32039 and CVE-2024-32041 freerdp3: patch CVE-2024-32040 freerdp3: patch CVE-2024-32458 freerdp3: patch CVE-2024-32459 freerdp3: patch CVE-2024-32460 freerdp3: patch CVE-2024-32658 freerdp3: patch CVE-2025-32659 freerdp3: patch CVE-2024-32660 freerdp3: patch CVE-2024-32661 freerdp3: patch CVE-2024-32662 exiv2: patch CVE-2025-26623 exiv2: patch CVE-2025-54080 exiv2: patch CVE-2025-55304 redis: upgrade 6.2.18 -> 6.2.20 emacs: patch CVE-2024-30202 emacs: patch CVE-2024-30203 emacs: patch CVE-2024-30204 emacs: patch CVE-2024-30205 emacs: patch CVE-2024-39331 Haixiao Yan (4): openvpn: fix CVE-2024-28882 openvpn: upgrade 2.6.10 -> 2.6.12 lmsensors: Clean stale files for sensord to avoid incorrect GCC header dependencies python3-posix-ipc: fix runtime error Harish Sadineni (1): bpftool: Add support for riscv64 Hieu Van Nguyen (1): gphoto2: Fix contains reference to TMPDIR [buildpaths] warning Hitendra Prajapati (8): tgt: fix CVE-2024-45751 libssh: fix CVE-2025-5318 redis: fix CVE-2025-32023 libssh: fix CVE-2025-5351 & CVE-2025-5372 open-vm-tools: fix CVE-2025-22247 libssh: fix CVE-2025-4877 openjpeg: fix for CVE-2025-54874 libjxl: fix CVE-2024-11403 & CVE-2024-11498 Hongxu Jia (1): nodejs: support cross compile without qemu user conditionally J. S (2): nodejs: upgrade 20.16.0 -> 20.17.0 nodejs: upgrade 20.17.0 -> 20.18.0 J. S. (3): znc: Fix buildpaths QA errors nodejs: cleanup xfce4 update HOMEPAGEs Jan Vermaete (1): python3-werkzeug: added python3-difflib as RDEPENDS Jason Schonberg (1): nodejs: upgrade 20.13.0 -> 20.16.0 Jef Driesen (2): nginx: fix the tarball and license checksums lcov: Add missing RDEPENDS for nativesdk Jeroen Hofstee (5): nodejs: backport a patch to prevent brotli crashing nodejs can-utils: fix printing / reading timestamps can-utils: handle CAN_ERR_CNT correctly php: ignore CVE-2024-3566 nodejs: ignore CVE-2024-3566 Jeroen Knoops (1): nng: Rename default branch of github.com:nanomsg/nng.git Jiaying Song (15): rrdtool: Fix do_populate_sysroot QA issues nftables: change ptest output format debootstrap: fix do_fetch error wireguard-tools: fix do_fetch error vlock: fix do_fetch error openipmi: upgrade 2.0.34->2.0.36 tcpreplay: fix CVE-2023-43279 xfce-dusk-gtk3: fix do_fetch error eject: fix do_fetch error libdev-checklib-perl: fix do_fetch error xmlsec1: Switch SRC_URI to use github release chrony: fix do_fetch error v4l-utils: Fix QA and build errors related to _TIME_BITS on 32-bit webkitgtk3: update 2.44.1 -> 2.44.3 webkitgtk3: fix do_configure error on beaglebone-yocto Jinfeng Wang (2): netplan: Fix CVE-2022-4968 postfix: fix rootfs file difference Justin Bronder (1): python3-xmodem: replace hardcoded /usr with ${prefix} Khem Raj (32): python3-pydantic-core: Fix build with python 3.12.4 log4cpp: Fix buildpaths QA error python3-pydantic: Upgrade to 2.7.3 mariadb: Upgrade to 10.11.9 release ndisc: Remove buildpaths from binaries ndisc6: Fix reproducible build ghex,gnome-chess,gnome-photos: Add missing dep on itstool-native nodejs: Upgrade to 20.13.0 release nodejs: Fix build with libc++ 19 wolfssl: Add packageconfig for reproducible build blueman: Fix buildpathe issue with cython generated code botan: Make it reproducible keepalived: Make build reproducible ldns: Fix buildpaths QA issues python3-kivy: Remove buildpaths from comments in generated C sources python3-pyproj: Fix buildpaths QA Error python3-pyproj: Remove absolute paths from cython generated .c files python3-pycocotools: Remove absolute paths from comments lprng: Specify target paths for needed utilities fwknop: Specify target locations of gpg and wget e2tools: Fix buildpaths QA warning in config.status in ptest sharutils: Let POSIX_SHELL be overridable from environment python3-posix-ipc: switch to PEP-517 build backend gtkwave: Add libtirpc to depends ssmping: Use debian mirror for SRC_URI enca: Fix cross builds ckermit: Define return type for main ckermit: Fix build with GCC-15 procmail: Fix build with GCC-14 uim: Stick to C17 freerdp: Upgrade 2.11.2 -> 2.11.7 influxdb: Do not remove non-existing files Leon Anavi (2): sip: Upgrade 6.8.3 -> 6.8.6 sip: Fix homepage and license Leonard Anderweit (1): lmsensors: Fix build without sensord Libo Chen (3): thin-provisioning-tools: install missed thin_shrink and era_repair grpc: Fix CVE-2024-7246 libgpiod: fix gpiod-cxx-test failed test case Marc Ferland (2): polkit: update SRC_URI libvncserver: fix generated LibVNCServerTargets.cmake Markus Volk (4): exiv2: update 0.28.0 -> 0.28.2 gnome-remote-desktop: update 46.1 -> 46.2 geary: add itstool-native dependency eog: add itstool-native dependency Martin Jansa (13): bolt: package systemd_system_unitdir correctly giflib: fix build with gold and avoid imagemagick-native dependency Revert "gcab: ignore buildpaths error from sources" gpm: fix buildpaths QA issue xerces-c: fix buildpaths QA issue xmlrpc-c: update SRCREV lapack: add PACKAGECONFIG for cblas lapack: fix buildpaths in ptest also when CBLAS is enabled gcab: fix buildpaths QA issue python3-posix-ipc: improve build_support python3-h5py: backport fixes for incompatible-pointer-types issues abseil-cpp: fix build with gcc-15 on host nodejs: fix build with gcc-15 on host Martin Schwan (1): linuxptp: Add systemd instance specifier for ptp4l dependency Michael Olbrich (1): nftables: avoid python dependencies when building without python Michael Opdenacker (1): kernel-hardening-checker: backport recipe Mikko Rapeli (3): fwupd: skip buildpaths errors gcab: ignore buildpaths error from sources libjcat: skip buildpaths check Mingli Yu (2): asio: Add ptest support ptest-packagelists-meta-oe.inc: Add asio Neel Gandhi (1): v4l-utils: Install media ctrl header and library files Nikhil R (2): nftables: Conditionally add ${PN}-python as RDEPENDS for ptest rocksdb: Add an option to set static library Niko Mauno (16): python3-xlsxwriter: Fix LICENSE python3-cbor2: Fix LICENSE and LIC_FILES_CHKSUM python3-crc32c: Amend LICENSE declaration python3-email-validator: Fix LICENSE python3-lru-dict: Fix LICENSE and change SUMMARY to DESCRIPTION python3-mock: Fix LICENSE python3-parse-type: Fix LICENSE python3-pillow: Fix LICENSE and change SUMMARY to DESCRIPTION python3-platformdirs: Fix LICENSE python3-colorama: Fix LICENSE python3-fann2: Fix LICENSE python3-nmap: Fix LICENSE and LIC_FILES_CHKSUM python3-pycurl: Fix LICENSE python3-googleapis-common-protos: Fix LIC_FILES_CHKSUM python3-haversine: Fix LIC_FILES_CHKSUM python3-libevdev: Fix LIC_FILES_CHKSUM Ninette Adhikari (6): imagemagick: Update status for CVE imagemagick: Update status for CVE imagemagick: Update status for CVE xsp: CVE status update for CVE-2006-2658 influxdb: Update CVE status for CVE-2019-10329 monkey: Update status for CVE-2013-2183 Peter Kjellerstedt (6): hostapd: Support running "devtool modify hostapd" hostapd: Only include the relevant parts from README in LIC_FILES_CHKSUM libjs-jquery-icheck: Correct LIC_FILES_CHKSUM libdevmapper: Inherit nopackages ebtables: Remove the dependecy on bash libeigen: Remove LGPL code Peter Marko (41): libndp: Patch CVE-2024-5564 squid: patch CVE-2024-37894 hostapd: Patch CVE-2024-3596 hostapd: Patch security advisory 2024-2 nss: patch CVE-2024-6602 nss: patch CVE-2024-6609 squid: conditionally set status of CVE-2024-45802 thrift: fix c++ generated code compilation with clang grpc: patch CVE-2024-11407 python3-grpcio: patch CVE-2024-11407 python3-grpcio(-tools): fix build concurrency issue libmodbus: patch CVE-2024-10918 libmodbus: ignore CVE-2023-26793 and CVE-2024-34244 libcoap: patch CVE-2024-31031 spdlog: patch CVE-2025-6140 minifi-cpp: patch spdlog CVE-2025-6140 poco: ignore additional failing tests poco: patch CVE-2025-6375 nginx: patch CVE-2025-53859 fontforge: patch CVE-2024-25081 and CVE-2024-25082 fcgi: patch CVE-2025-23016 procmail: patch CVE-2014-3618 procmail: patch CVE-2017-16844. ace: ignore CVE-2009-1147 audiofile: fix multiple CVEs audiofile: patch CVE-2017-6829 audiofile: fix multiple CVEs audiofile: patch CVE-2017-6831 audiofile: patch CVE-2017-6839 emlog: set CVE_PRODUCT freerdp: patch CVE-2024-32661 freerdp: mark CVE-2024-32662 as fixed freerdp3: set CVE_PRODUCT corosync: fix upstream version check corosync: upgrade 3.1.6 -> 3.1.9 corosync: patch CVE-2025-30472 dash: set CVE_PRODUCT gattlib: mark CVE-2019-6498 as fixed memcached: ignore disputed CVE-2022-26635 monkey: ignore CVE-2013-1771 squid: patch CVE-2025-59362 Poonam Jadhav (1): tcpreplay: Fix CVE-2023-4256 Praveen Kumar (4): php: upgrade 8.2.28 -> 8.2.29 polkit: fix CVE-2025-7519 yasm: fix CVE-2024-22653 cjson: upgrade 1.7.18 -> 1.7.19 Preeti Sachan (1): bpftool: fix libelf.h not found error Raghuvarya S (2): android-tools-adbd.service: Update ConditionPathExists to /etc android-toold-adbd: Fix inconsistency between selinux configurations Rajeshkumar Ramasamy (1): open-vm-tools: fix CVE-2025-41244 Randolph Sapp (2): opencl-clhpp: add native and nativesdk vulkan-cts: allow vulkan versions > 1.3 Randy MacLeod (1): python3-pyyaml-include: support native and nativesdk build Robert Yang (1): hostapd: Add CVE id to CVE-2024-3596_00.patch Roland Kovacs (2): jq-1.7.1: Backport multiple CVE fixes jq: add Upstream-Status and CVE tags into .patch files Ryan Eatmon (1): kernel-selftest: Update to allow for turning on all tests Sana Kazi (2): libp11: Treat all openssl-3.x releases the same imagemagick: guard sed operations in do_install for optional files Saravanan (2): udisks2: upgrade 2.10.1 -> 2.10.2 fio: fix CVE-2025-10823 Scott Murray (2): python3-grpcio: Fix build with gcc-14 python3-grpcio: backport abseil-cpp RISC-V fix Shubham Pushpkar (2): wireshark 4.2.7: Fix CVE-2024-9781 cjson 1.7.18: Fix CVE-2025-57052 Siddharth Doshi (2): apache2: Upgrade 2.4.59 -> 2.4.60 apache2: Upgrade 2.4.60 -> 2.4.62 Sofiane HAMAM (2): Wolfssl: add ptest wolfssl: Upgrade 5.7.0 -> 5.7.2 Soumya Sambu (14): python3-sqlparse: Fix CVE-2024-4340 python3-werkzeug: upgrade 3.0.1 -> 3.0.3 gtk+: Fix CVE-2024-6655 python3-twisted: Fix CVE-2024-41671 python3-flask-cors: Fix CVE-2024-6221 python3-werkzeug: upgrade 3.0.3 -> 3.0.6 python3-tornado: Upgrade 6.4 -> 6.4.2 python3-django: upgrade 4.2.16 -> 4.2.17 python3-django: upgrade 5.0.9 -> 5.0.10 python3-django: upgrade 5.0.10 -> 5.0.11 python3-django: upgrade 4.2.17 -> 4.2.18 php: Upgrade 8.2.26 -> 8.2.28 iniparser: Fix CVE-2025-0633 python3-django: upgrade 4.2.18 -> 4.2.20 Sunil Dora (1): layer.conf: add bpftrace to NON_MULTILIB_RECIPES Swamil Jain (1): kmsxx: Revert to using original name for kmstest Thomas Roos (1): libcamera: backport 0.4.0 from master-next Tim Orling (1): python3-pydantic: upgrade 2.7.3 -> 2.7.4 Trevor Woerner (2): apache2: use update-alternatives for httpd iperf3: throughput fix Vijay Anusuri (16): krb5: upgrade 1.21.2 -> 1.21.3 wireshark: upgrade 4.2.4 -> 4.2.5 wireshark: upgrade 4.2.5 -> 4.2.7 php: upgrade 8.2.24 -> 8.2.26 openjpeg: upgrade 2.5.0 -> 2.5.3 postgresql: upgrade 16.5 -> 16.8 wireshark: upgrade 4.2.7 -> 4.2.9 proftpd: Fix CVE-2024-57392 redis: upgrade 7.2.7 -> 7.2.8 wireshark: upgrade 4.2.9 -> 4.2.12 proftpd: Fix CVE-2023-51713 apache2: Upgrade 2.4.62 -> 2.4.64 poppler: Fix CVE-2025-43718 redis: upgrade 7.2.8 -> 7.2.11 redis: upgrade 6.2.16 -> 6.2.18 vorbis-tools: Fix CVE-2023-43361 Virendra Thakur (2): opensc: Fix multiple cve CVE-2024-45615-45616-45617-45618-45619-45620 unbound: Fix CVE-2024-8508 Wang Mingyu (18): python3-email-validator: upgrade 2.1.0 -> 2.1.1 python3-pydantic: upgrade 2.7.0 -> 2.7.1 cjson: upgrade 1.7.17 -> 1.7.18 samba: upgrade 4.19.7 -> 4.19.8 postgresql: upgrade 16.3 -> 16.4 redis: upgrade 7.2.4 -> 7.2.5 mosquitto: upgrade 2.0.19 -> 2.0.20 uutils-coreutils: upgrade 0.0.27 -> 0.0.28 nana: Fix buildpaths warning. fetchmail: Fix buildpaths warning. fetchmail: disable rpath to fix buildpaths warning. python3-posix-ipc: upgrade 1.1.1 -> 1.2.0 mbedtls: upgrade 3.6.3 -> 3.6.3.1 geoip: fix do_fetch error rp-pppoe: update SRC_URI procmail: fix build failure with gcc-14 procmail: Add -Wno-implicit-int to fix error of do_compile libiec61850: upgrade 1.5.1 -> 1.5.3 Wentao Zhang (1): meta-oe/conf/layer.conf: remove libbpf from NON_MULTILIB_RECIPES for x86 and x86-64 Xiangyu Chen (1): crash: fix crash cannot work with kaslr Yi Zhao (12): samba: upgrade 4.19.6 -> 4.19.7 mbedtls: upgrade 3.6.0 -> 3.6.1 mbedtls: upgrade 2.28.8 -> 2.28.9 libldb: upgrade 2.8.0 -> 2.8.1 mbedtls: upgrade 3.6.1 -> 3.6.2 freeradius: upgrade 3.2.3 -> 3.2.5 hostapd: Security fix for CVE-2023-52160 redis: upgrade 7.2.5 -> 7.2.6 mbedtls: upgrade 2.28.9 -> 2.28.10 mbedtls: 3.6.2 -> 3.6.3 wxwidgets: upgrade 3.2.1 -> 3.2.6 redis: upgrade 6.2.14 -> 6.2.16 Yoann Congal (3): packagegroup-meta-oe: fix lvgl inclusion mdio-tools: fix mdio-netlink kernel module reproducibility gutenprint: fix a build race-condition Yogesh Tyagi (1): tbb-native: Fix build with gcc-13 Yogita Urade (18): graphviz: fix CVE-2023-46045 hdf5: upgrade to 1.14.4 poppler: CVE-2024-6239 krb5: fix CVE-2024-26458 and CVE-2024-26461 php: upgrade 8.2.20 -> 8.2.24 postgresql: upgrade 16.4 -> 16.5 poppler: fix CVE-2024-56378 poppler: fix CVE-2025-32364 poppler: fix CVE-2025-32365 poppler: fix CVE-2025-43903 syslog-ng: fix CVE-2024-47619 postgresql: upgrade 16.8 -> 16.9 mariadb: upgrade 10.11.9 -> 10.11.12 poppler: fix CVE-2025-52886 poppler: fix CVE-2025-50420 postgresql: upgrade 16.9 -> 16.10 indent: fix CVE-2023-40305 poppler: fix CVE-2025-52885 Zhang Peng (21): hiredis: remove ANSI color from ptest result frr: fix CVE-2024-34088 frr: fix CVE-2024-31950 frr: fix CVE-2024-31951 frr: fix CVE-2024-31948 frr: fix CVE-2024-31949 libgsf: upgrade 1.14.52 -> 1.14.53 glade: fix CVE-2020-36774 opensc: fix CVE-2024-8443 lapack: fix TMPDIR reference in do_package_qa iperf3: upgrade 3.16 -> 3.18 gnuplot: fix CVE-2025-3359 gnuplot: fix CVE-2025-31176 gnuplot: fix CVE-2025-31177 gnuplot: fix CVE-2025-31178 gnuplot: fix CVE-2025-31179 gnuplot: fix CVE-2025-31180 gnuplot: fix CVE-2025-31181 iperf3: fix CVE-2025-54349 iperf3: fix CVE-2025-54350 wxwidgets: fix CVE-2024-58249 Zoltán Böszörményi (1): gutenprint: 5.3.5 akash hadke (1): python3-flatbuffers: provide nativesdk support alperak (8): tayga: Fix contains reference to TMPDIR [buildpaths] warning etcd-cpp-apiv3: Fix contains reference to TMPDIR [buildpaths] warning exiv2: Upgrade 0.28.2 to 0.28.3 for CVE fix jsonrpc: Fix contains reference to TMPDIR [buildpaths] warning rdist: Fix contains reference to TMPDIR [buildpaths] warning perfetto: Fix contains reference to TMPDIR [buildpaths] warning hplip: Fix contains reference to TMPDIR [buildpaths] warning boinc-client: Fix contains reference to TMPDIR [buildpaths] warning gudnimar (1): pipewire: upgrade 1.0.5 -> 1.0.9 hongxu (2): p7zip: fix CVE-2023-52169 and CVE-2023-52168 indent: fix CVE-2024-0911 kjlau0112 (1): mbedtls: drop tag parameter from SRC_URI. mark.yang (1): srecord: fix build failure with gcc-15 meta-raspberrypi: 1918a27419..8767e2ff80: Adam Schafer (1): add raspi-utils recipe to scarthgap branch Andrei Gherzan (1): docs: Fix ReadTheDocs sphinx.configuration requirement Ayoub Zaki (1): raspberrypi5: add bcm2712d0 overlay required for booting up correctly Bassem Nomany (1): mesa: update to 24.3.1 Damiano Ferrari (2): rpi-eeprom: Update to latest release rpi-bootfiles: Update to latest release Florin Sarbu (1): linux-raspberrypi.inc: Change defconfig for RPi3 64 bits Garrett Brown (1): linux: Enable CONFIG_I2C_BRCMSTB for proper HDMI I2C support Gijs Peskens (1): raspberrypi5.conf: Add CM5 dtb's Jaeyoon Jung (1): linux-raspberrypi: Drop deprecated configs from android-driver.cfg Joshua Watt (1): linux-firmware-rpidistro: Fix WiFi on Raspberry Pi 5 Khem Raj (2): linux-raspberrypi-6.6: Upgrade to 6.6.63 rpi-base: Remove bcm2712-rpi-5-b.dtb from RPI_KERNEL_DEVICETREE target Leon Anavi (11): yocto-builder/Dockerfile: Ubuntu 22.04 rpi-base.inc: vc4-kms-dsi-ili9881-7inch.dtbo u-boot_%.bbappend: Increase CONFIG_SYS_BOOTM_LEN wayland-protocols: Upgrade 1.38 -> 1.45 mesa: Upgrade 24.3.1 -> 25.1.3 mesa: Upgrade 25.1.3 -> 25.1.6 mesa_%.bbappend: DISTRO_FEATURES for wayland mesa: wayland-protocols: Fix signatures linux-firmware-rpidistro: Update and stabilize rpi-base.inc: Add w1-gpio-pi5.dtbo rpi-base.inc: Add rpi-backlight.dtbo Markus Volk (4): linux-raspberrypi: add recipe for 6.12 linux-raspberrypi: update 6.12.2 -> 6.12.25 rpi-default-versions: Switch default kernel to 6.12 rpi-bootfiles: update to latest release Martin Jansa (3): docker-build: use --no-cache Revert "rpi-default-versions: Switch default kernel to 6.12" mesa, wayland-protocols: use separate recipe instead of bbappend Matthias Klein (1): linux-firmware-rpidistro: Upgrade to bookworm/20230625-2+rpt3 Omri Sarig (1): linux-firmware-rpidistro: Fix wireless error message on RPi Pierrick Curt (1): rpi-base: build uart dts overlays by default Thomas Roos (1): Moving bcm2712d0.dtbo into rpi-base.inc meta-arm: 58268ddccb..0f1e7bf92c: Amr Mohamed (5): kas: Update kas configuration for fvp-base.yml file arm-systemready/linux-distros: new inc file for unattended installation arm-systemready/linux-distros: Add kickstart file for Fedora unattended arm-systemready/oeqa: Add new test for Fedora unattended installation kas: Add new yml file for Distros unattended installation Ben (3): arm-systemready/linux-distros: Implement unattended openSUSE arm-systemready/oeqa: Add unattended installation testcase kas: Include unattended openSUSE test Bence Balogh (1): arm-bsp/trusted-firmware-m: corstone1000: Fix MPU configuration Harsimran Singh Tungal (1): arm-bsp,kas: corstone1000: enable External System based on new yml file Hugues KAMBA MPIANA (1): arm-bsp/documentation: corstone1000: Add SystemReady IR v2.0 certification Jon Mason (4): arm-toolchain: remove libmount-mountfd-support when using binary toolchain arm-bsp/fvp-base: Get 6.10 kernel working arm/linux-yocto: disable CONFIG_MTD_NAND_FSL_IFC arm-systemready/ir-acs: Update URL Jose Quaresma (1): bsp: optee-client: cleanup old tee-supplicant Luca Fancellu (2): arm/oeqa: Introduce retry mechanism for fvp_devices run_cmd arm/lib: Handle timeout for spawn object on stop() Romain Naour (4): external-arm-toolchain: remove old sed fixup for libc.so external-arm-toolchain: wrap symlink handling under usrmerge check external-arm-toolchain: override dynamic loader path with usrmerge enabled external-arm-toolchain: rebuild libmvec.so symlink if any Ross Burton (5): arm-base/linux-yocto: revert interim 6.10 patch for fvp-base arm-system-ready/arm-systemready-ir-acs: add version to download filename CI: use canonical git.yoctoproject.org URLs arm/execstack-native: add new recipe arm/fvp-base-a-aem: remove spurious executable stack from one library Vasyl Vavrychuk (3): external-arm-toolchain: wrap base_libdir vs libdir manipulations under usrmerge check external-arm-toolchain: in libc.so GNU ld script use base_libdir external-arm-toolchain: remove ${base_libdir}/libpthread*.so from FILES:${PN} meta-security: 11ea91192d..bc865c5276: Hitendra Prajapati (2): clamav: fix CVE-2024-20505 & CVE-2024-20506 libhtp: fix CVE-2024-45797 Vijay Anusuri (2): tpm2-tools: Upgrade 5.5 -> 5.7 tpm2-tss: upgrade 4.0.1 -> 4.0.2 Change-Id: Ief5b086436b2f3a4e819546fcd1bb9a5b1f608dd Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'poky/bitbake')
-rwxr-xr-xpoky/bitbake/bin/bitbake2
-rwxr-xr-xpoky/bitbake/bin/bitbake-diffsigs9
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst2
-rw-r--r--poky/bitbake/lib/bb/__init__.py30
-rw-r--r--poky/bitbake/lib/bb/asyncrpc/client.py6
-rw-r--r--poky/bitbake/lib/bb/asyncrpc/serv.py2
-rw-r--r--poky/bitbake/lib/bb/codeparser.py33
-rw-r--r--poky/bitbake/lib/bb/command.py21
-rw-r--r--poky/bitbake/lib/bb/cooker.py45
-rw-r--r--poky/bitbake/lib/bb/data.py2
-rw-r--r--poky/bitbake/lib/bb/data_smart.py16
-rw-r--r--poky/bitbake/lib/bb/event.py19
-rw-r--r--poky/bitbake/lib/bb/exceptions.py96
-rw-r--r--poky/bitbake/lib/bb/fetch2/__init__.py64
-rw-r--r--poky/bitbake/lib/bb/fetch2/gcp.py14
-rw-r--r--poky/bitbake/lib/bb/fetch2/git.py3
-rw-r--r--poky/bitbake/lib/bb/fetch2/gitsm.py44
-rw-r--r--poky/bitbake/lib/bb/fetch2/wget.py4
-rw-r--r--poky/bitbake/lib/bb/msg.py4
-rw-r--r--poky/bitbake/lib/bb/parse/ast.py20
-rw-r--r--poky/bitbake/lib/bb/persist_data.py1
-rw-r--r--poky/bitbake/lib/bb/runqueue.py24
-rw-r--r--poky/bitbake/lib/bb/server/process.py2
-rw-r--r--poky/bitbake/lib/bb/tests/fetch.py8
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/recipes/g1.bb2
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/recipes/h1.bb0
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue.py11
-rw-r--r--poky/bitbake/lib/bb/tests/support/httpserver.py4
-rw-r--r--poky/bitbake/lib/bb/tinfoil.py16
-rw-r--r--poky/bitbake/lib/bb/ui/knotty.py20
-rw-r--r--poky/bitbake/lib/bb/ui/teamcity.py5
-rw-r--r--poky/bitbake/lib/bb/utils.py33
-rw-r--r--poky/bitbake/lib/bblayers/query.py15
-rw-r--r--poky/bitbake/lib/hashserv/tests.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/builds/buildtest.py2
35 files changed, 307 insertions, 274 deletions
diff --git a/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake
index f494eaa132..a2a42a3f62 100755
--- a/poky/bitbake/bin/bitbake
+++ b/poky/bitbake/bin/bitbake
@@ -27,7 +27,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
bb.utils.check_system_locale()
-__version__ = "2.8.0"
+__version__ = "2.8.1"
if __name__ == "__main__":
if __version__ != bb.__version__:
diff --git a/poky/bitbake/bin/bitbake-diffsigs b/poky/bitbake/bin/bitbake-diffsigs
index 8202c78623..9d6cb8c944 100755
--- a/poky/bitbake/bin/bitbake-diffsigs
+++ b/poky/bitbake/bin/bitbake-diffsigs
@@ -72,16 +72,17 @@ def find_siginfo_task(bbhandler, pn, taskname, sig1=None, sig2=None):
elif sig2 not in sigfiles:
logger.error('No sigdata files found matching %s %s with signature %s' % (pn, taskname, sig2))
sys.exit(1)
+
+ latestfiles = [sigfiles[sig1]['path'], sigfiles[sig2]['path']]
else:
sigfiles = find_siginfo(bbhandler, pn, taskname)
latestsigs = sorted(sigfiles.keys(), key=lambda h: sigfiles[h]['time'])[-2:]
if not latestsigs:
logger.error('No sigdata files found matching %s %s' % (pn, taskname))
sys.exit(1)
- sig1 = latestsigs[0]
- sig2 = latestsigs[1]
-
- latestfiles = [sigfiles[sig1]['path'], sigfiles[sig2]['path']]
+ latestfiles = [sigfiles[latestsigs[0]]['path']]
+ if len(latestsigs) > 1:
+ latestfiles.append(sigfiles[latestsigs[1]]['path'])
return latestfiles
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
index 899e584f91..f23fb7f2a7 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
@@ -424,7 +424,7 @@ overview of their function and contents.
Example usage::
- BB_HASHSERVE_UPSTREAM = "hashserv.yocto.io:8687"
+ BB_HASHSERVE_UPSTREAM = "hashserv.yoctoproject.org:8686"
:term:`BB_INVALIDCONF`
Used in combination with the ``ConfigParsed`` event to trigger
diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py
index cdec9e4d6c..3fb2ec5d14 100644
--- a/poky/bitbake/lib/bb/__init__.py
+++ b/poky/bitbake/lib/bb/__init__.py
@@ -9,7 +9,7 @@
# SPDX-License-Identifier: GPL-2.0-only
#
-__version__ = "2.8.0"
+__version__ = "2.8.1"
import sys
if sys.version_info < (3, 8, 0):
@@ -37,6 +37,34 @@ class BBHandledException(Exception):
import os
import logging
from collections import namedtuple
+import multiprocessing as mp
+
+# Python 3.14 changes the default multiprocessing context from "fork" to
+# "forkserver". However, bitbake heavily relies on "fork" behavior to
+# efficiently pass data to the child processes. Places that need this should do:
+# from bb import multiprocessing
+# in place of
+# import multiprocessing
+
+class MultiprocessingContext(object):
+ """
+ Multiprocessing proxy object that uses the "fork" context for a property if
+ available, otherwise goes to the main multiprocessing module. This allows
+ it to be a drop-in replacement for the multiprocessing module, but use the
+ fork context
+ """
+ def __init__(self):
+ super().__setattr__("_ctx", mp.get_context("fork"))
+
+ def __getattr__(self, name):
+ if hasattr(self._ctx, name):
+ return getattr(self._ctx, name)
+ return getattr(mp, name)
+
+ def __setattr__(self, name, value):
+ raise AttributeError(f"Unable to set attribute {name}")
+
+multiprocessing = MultiprocessingContext()
class NullHandler(logging.Handler):
diff --git a/poky/bitbake/lib/bb/asyncrpc/client.py b/poky/bitbake/lib/bb/asyncrpc/client.py
index a350b4fb12..6fa2839f48 100644
--- a/poky/bitbake/lib/bb/asyncrpc/client.py
+++ b/poky/bitbake/lib/bb/asyncrpc/client.py
@@ -87,7 +87,11 @@ class AsyncClient(object):
import websockets
async def connect_sock():
- websocket = await websockets.connect(uri, ping_interval=None)
+ websocket = await websockets.connect(
+ uri,
+ ping_interval=None,
+ open_timeout=self.timeout,
+ )
return WebsocketConnection(websocket, self.timeout)
self._connect_sock = connect_sock
diff --git a/poky/bitbake/lib/bb/asyncrpc/serv.py b/poky/bitbake/lib/bb/asyncrpc/serv.py
index a66117acad..953c02ef3e 100644
--- a/poky/bitbake/lib/bb/asyncrpc/serv.py
+++ b/poky/bitbake/lib/bb/asyncrpc/serv.py
@@ -11,7 +11,7 @@ import os
import signal
import socket
import sys
-import multiprocessing
+from bb import multiprocessing
import logging
from .connection import StreamConnection, WebsocketConnection
from .exceptions import ClientError, ServerError, ConnectionClosedError, InvokeError
diff --git a/poky/bitbake/lib/bb/codeparser.py b/poky/bitbake/lib/bb/codeparser.py
index 2e8b7ced3c..1001ca1900 100644
--- a/poky/bitbake/lib/bb/codeparser.py
+++ b/poky/bitbake/lib/bb/codeparser.py
@@ -72,6 +72,11 @@ def add_module_functions(fn, functions, namespace):
parser.parse_python(None, filename=fn, lineno=1, fixedhash=fixedhash+f)
#bb.warn("Cached %s" % f)
except KeyError:
+ targetfn = inspect.getsourcefile(functions[f])
+ if fn != targetfn:
+ # Skip references to other modules outside this file
+ #bb.warn("Skipping %s" % name)
+ continue
lines, lineno = inspect.getsourcelines(functions[f])
src = "".join(lines)
parser.parse_python(src, filename=fn, lineno=lineno, fixedhash=fixedhash+f)
@@ -82,14 +87,14 @@ def add_module_functions(fn, functions, namespace):
if e in functions:
execs.remove(e)
execs.add(namespace + "." + e)
- modulecode_deps[name] = [parser.references.copy(), execs, parser.var_execs.copy(), parser.contains.copy()]
+ modulecode_deps[name] = [parser.references.copy(), execs, parser.var_execs.copy(), parser.contains.copy(), parser.extra]
#bb.warn("%s: %s\nRefs:%s Execs: %s %s %s" % (name, fn, parser.references, parser.execs, parser.var_execs, parser.contains))
def update_module_dependencies(d):
for mod in modulecode_deps:
excludes = set((d.getVarFlag(mod, "vardepsexclude") or "").split())
if excludes:
- modulecode_deps[mod] = [modulecode_deps[mod][0] - excludes, modulecode_deps[mod][1] - excludes, modulecode_deps[mod][2] - excludes, modulecode_deps[mod][3]]
+ modulecode_deps[mod] = [modulecode_deps[mod][0] - excludes, modulecode_deps[mod][1] - excludes, modulecode_deps[mod][2] - excludes, modulecode_deps[mod][3], modulecode_deps[mod][4]]
# A custom getstate/setstate using tuples is actually worth 15% cachesize by
# avoiding duplication of the attribute names!
@@ -112,21 +117,22 @@ class SetCache(object):
codecache = SetCache()
class pythonCacheLine(object):
- def __init__(self, refs, execs, contains):
+ def __init__(self, refs, execs, contains, extra):
self.refs = codecache.internSet(refs)
self.execs = codecache.internSet(execs)
self.contains = {}
for c in contains:
self.contains[c] = codecache.internSet(contains[c])
+ self.extra = extra
def __getstate__(self):
- return (self.refs, self.execs, self.contains)
+ return (self.refs, self.execs, self.contains, self.extra)
def __setstate__(self, state):
- (refs, execs, contains) = state
- self.__init__(refs, execs, contains)
+ (refs, execs, contains, extra) = state
+ self.__init__(refs, execs, contains, extra)
def __hash__(self):
- l = (hash(self.refs), hash(self.execs))
+ l = (hash(self.refs), hash(self.execs), hash(self.extra))
for c in sorted(self.contains.keys()):
l = l + (c, hash(self.contains[c]))
return hash(l)
@@ -155,7 +161,7 @@ class CodeParserCache(MultiProcessCache):
# so that an existing cache gets invalidated. Additionally you'll need
# to increment __cache_version__ in cache.py in order to ensure that old
# recipe caches don't trigger "Taskhash mismatch" errors.
- CACHE_VERSION = 11
+ CACHE_VERSION = 12
def __init__(self):
MultiProcessCache.__init__(self)
@@ -169,8 +175,8 @@ class CodeParserCache(MultiProcessCache):
self.pythoncachelines = {}
self.shellcachelines = {}
- def newPythonCacheLine(self, refs, execs, contains):
- cacheline = pythonCacheLine(refs, execs, contains)
+ def newPythonCacheLine(self, refs, execs, contains, extra):
+ cacheline = pythonCacheLine(refs, execs, contains, extra)
h = hash(cacheline)
if h in self.pythoncachelines:
return self.pythoncachelines[h]
@@ -338,6 +344,7 @@ class PythonParser():
self.contains = {}
for i in codeparsercache.pythoncache[h].contains:
self.contains[i] = set(codeparsercache.pythoncache[h].contains[i])
+ self.extra = codeparsercache.pythoncache[h].extra
return
if h in codeparsercache.pythoncacheextras:
@@ -346,6 +353,7 @@ class PythonParser():
self.contains = {}
for i in codeparsercache.pythoncacheextras[h].contains:
self.contains[i] = set(codeparsercache.pythoncacheextras[h].contains[i])
+ self.extra = codeparsercache.pythoncacheextras[h].extra
return
if fixedhash and not node:
@@ -364,8 +372,11 @@ class PythonParser():
self.visit_Call(n)
self.execs.update(self.var_execs)
+ self.extra = None
+ if fixedhash:
+ self.extra = bbhash(str(node))
- codeparsercache.pythoncacheextras[h] = codeparsercache.newPythonCacheLine(self.references, self.execs, self.contains)
+ codeparsercache.pythoncacheextras[h] = codeparsercache.newPythonCacheLine(self.references, self.execs, self.contains, self.extra)
class ShellParser():
def __init__(self, name, log):
diff --git a/poky/bitbake/lib/bb/command.py b/poky/bitbake/lib/bb/command.py
index 1fcb9bf14c..5e166fe45c 100644
--- a/poky/bitbake/lib/bb/command.py
+++ b/poky/bitbake/lib/bb/command.py
@@ -420,15 +420,30 @@ class CommandsSync:
return command.cooker.recipecaches[mc].pkg_dp
getDefaultPreference.readonly = True
+
def getSkippedRecipes(self, command, params):
+ """
+ Get the map of skipped recipes for the specified multiconfig/mc name (`params[0]`).
+
+ Invoked by `bb.tinfoil.Tinfoil.get_skipped_recipes`
+
+ :param command: Internally used parameter.
+ :param params: Parameter array. params[0] is multiconfig/mc name. If not given, then default mc '' is assumed.
+ :return: Dict whose keys are virtualfns and values are `bb.cooker.SkippedPackage`
+ """
+ try:
+ mc = params[0]
+ except IndexError:
+ mc = ''
+
# Return list sorted by reverse priority order
import bb.cache
def sortkey(x):
vfn, _ = x
- realfn, _, mc = bb.cache.virtualfn2realfn(vfn)
- return (-command.cooker.collections[mc].calc_bbfile_priority(realfn)[0], vfn)
+ realfn, _, item_mc = bb.cache.virtualfn2realfn(vfn)
+ return -command.cooker.collections[item_mc].calc_bbfile_priority(realfn)[0], vfn
- skipdict = OrderedDict(sorted(command.cooker.skiplist.items(), key=sortkey))
+ skipdict = OrderedDict(sorted(command.cooker.skiplist_by_mc[mc].items(), key=sortkey))
return list(skipdict.items())
getSkippedRecipes.readonly = True
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index 6318ef4a8f..778cbb5897 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -12,12 +12,12 @@
import sys, os, glob, os.path, re, time
import itertools
import logging
-import multiprocessing
+from bb import multiprocessing
import threading
from io import StringIO, UnsupportedOperation
from contextlib import closing
from collections import defaultdict, namedtuple
-import bb, bb.exceptions, bb.command
+import bb, bb.command
from bb import utils, data, parse, event, cache, providers, taskdata, runqueue, build
import queue
import signal
@@ -134,7 +134,8 @@ class BBCooker:
self.baseconfig_valid = False
self.parsecache_valid = False
self.eventlog = None
- self.skiplist = {}
+ # The skiplists, one per multiconfig
+ self.skiplist_by_mc = defaultdict(dict)
self.featureset = CookerFeatures()
if featureSet:
for f in featureSet:
@@ -612,8 +613,8 @@ class BBCooker:
localdata = {}
for mc in self.multiconfigs:
- taskdata[mc] = bb.taskdata.TaskData(halt, skiplist=self.skiplist, allowincomplete=allowincomplete)
- localdata[mc] = data.createCopy(self.databuilder.mcdata[mc])
+ taskdata[mc] = bb.taskdata.TaskData(halt, skiplist=self.skiplist_by_mc[mc], allowincomplete=allowincomplete)
+ localdata[mc] = bb.data.createCopy(self.databuilder.mcdata[mc])
bb.data.expandKeys(localdata[mc])
current = 0
@@ -933,7 +934,7 @@ class BBCooker:
for mc in self.multiconfigs:
# First get list of recipes, including skipped
recipefns = list(self.recipecaches[mc].pkg_fn.keys())
- recipefns.extend(self.skiplist.keys())
+ recipefns.extend(self.skiplist_by_mc[mc].keys())
# Work out list of bbappends that have been applied
applied_appends = []
@@ -2097,7 +2098,6 @@ class Parser(multiprocessing.Process):
except Exception as exc:
tb = sys.exc_info()[2]
exc.recipe = filename
- exc.traceback = list(bb.exceptions.extract_traceback(tb, context=3))
return True, None, exc
# Need to turn BaseExceptions into Exceptions here so we gracefully shutdown
# and for example a worker thread doesn't just exit on its own in response to
@@ -2298,8 +2298,12 @@ class CookerParser(object):
return False
except ParsingFailure as exc:
self.error += 1
- logger.error('Unable to parse %s: %s' %
- (exc.recipe, bb.exceptions.to_string(exc.realexception)))
+
+ exc_desc = str(exc)
+ if isinstance(exc, SystemExit) and not isinstance(exc.code, str):
+ exc_desc = 'Exited with "%d"' % exc.code
+
+ logger.error('Unable to parse %s: %s' % (exc.recipe, exc_desc))
self.shutdown(clean=False)
return False
except bb.parse.ParseError as exc:
@@ -2308,20 +2312,33 @@ class CookerParser(object):
self.shutdown(clean=False, eventmsg=str(exc))
return False
except bb.data_smart.ExpansionError as exc:
+ def skip_frames(f, fn_prefix):
+ while f and f.tb_frame.f_code.co_filename.startswith(fn_prefix):
+ f = f.tb_next
+ return f
+
self.error += 1
bbdir = os.path.dirname(__file__) + os.sep
- etype, value, _ = sys.exc_info()
- tb = list(itertools.dropwhile(lambda e: e.filename.startswith(bbdir), exc.traceback))
+ etype, value, tb = sys.exc_info()
+
+ # Remove any frames where the code comes from bitbake. This
+ # prevents deep (and pretty useless) backtraces for expansion error
+ tb = skip_frames(tb, bbdir)
+ cur = tb
+ while cur:
+ cur.tb_next = skip_frames(cur.tb_next, bbdir)
+ cur = cur.tb_next
+
logger.error('ExpansionError during parsing %s', value.recipe,
exc_info=(etype, value, tb))
self.shutdown(clean=False)
return False
except Exception as exc:
self.error += 1
- etype, value, tb = sys.exc_info()
+ _, value, _ = sys.exc_info()
if hasattr(value, "recipe"):
logger.error('Unable to parse %s' % value.recipe,
- exc_info=(etype, value, exc.traceback))
+ exc_info=sys.exc_info())
else:
# Most likely, an exception occurred during raising an exception
import traceback
@@ -2342,7 +2359,7 @@ class CookerParser(object):
for virtualfn, info_array in result:
if info_array[0].skipped:
self.skipped += 1
- self.cooker.skiplist[virtualfn] = SkippedPackage(info_array[0])
+ self.cooker.skiplist_by_mc[mc][virtualfn] = SkippedPackage(info_array[0])
self.bb_caches[mc].add_info(virtualfn, info_array, self.cooker.recipecaches[mc],
parsed=parsed, watcher = self.cooker.add_filewatch)
return True
diff --git a/poky/bitbake/lib/bb/data.py b/poky/bitbake/lib/bb/data.py
index 505f42950f..f672a84451 100644
--- a/poky/bitbake/lib/bb/data.py
+++ b/poky/bitbake/lib/bb/data.py
@@ -293,7 +293,7 @@ def build_dependencies(key, keys, mod_funcs, shelldeps, varflagsexcl, ignored_va
if key in mod_funcs:
exclusions = set()
moddep = bb.codeparser.modulecode_deps[key]
- value = handle_contains("", moddep[3], exclusions, d)
+ value = handle_contains(moddep[4], moddep[3], exclusions, d)
return frozenset((moddep[0] | keys & moddep[1]) - ignored_vars), value
if key[-1] == ']':
diff --git a/poky/bitbake/lib/bb/data_smart.py b/poky/bitbake/lib/bb/data_smart.py
index 0128a5bb17..7b67127c06 100644
--- a/poky/bitbake/lib/bb/data_smart.py
+++ b/poky/bitbake/lib/bb/data_smart.py
@@ -31,7 +31,7 @@ logger = logging.getLogger("BitBake.Data")
__setvar_keyword__ = [":append", ":prepend", ":remove"]
__setvar_regexp__ = re.compile(r'(?P<base>.*?)(?P<keyword>:append|:prepend|:remove)(:(?P<add>[^A-Z]*))?$')
-__expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~:]+?}")
+__expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~:]+}")
__expand_python_regexp__ = re.compile(r"\${@(?:{.*?}|.)+?}")
__whitespace_split__ = re.compile(r'(\s)')
__override_regexp__ = re.compile(r'[a-z0-9]+')
@@ -272,12 +272,9 @@ class VariableHistory(object):
return
if 'op' not in loginfo or not loginfo['op']:
loginfo['op'] = 'set'
- if 'detail' in loginfo:
- loginfo['detail'] = str(loginfo['detail'])
if 'variable' not in loginfo or 'file' not in loginfo:
raise ValueError("record() missing variable or file.")
var = loginfo['variable']
-
if var not in self.variables:
self.variables[var] = []
if not isinstance(self.variables[var], list):
@@ -336,7 +333,8 @@ class VariableHistory(object):
flag = '[%s] ' % (event['flag'])
else:
flag = ''
- o.write("# %s %s:%s%s\n# %s\"%s\"\n" % (event['op'], event['file'], event['line'], display_func, flag, re.sub('\n', '\n# ', event['detail'])))
+ o.write("# %s %s:%s%s\n# %s\"%s\"\n" % \
+ (event['op'], event['file'], event['line'], display_func, flag, re.sub('\n', '\n# ', str(event['detail']))))
if len(history) > 1:
o.write("# pre-expansion value:\n")
o.write('# "%s"\n' % (commentVal))
@@ -390,7 +388,7 @@ class VariableHistory(object):
if isset and event['op'] == 'set?':
continue
isset = True
- items = d.expand(event['detail']).split()
+ items = d.expand(str(event['detail'])).split()
for item in items:
# This is a little crude but is belt-and-braces to avoid us
# having to handle every possible operation type specifically
@@ -582,12 +580,9 @@ class DataSmart(MutableMapping):
else:
loginfo['op'] = keyword
self.varhistory.record(**loginfo)
- # todo make sure keyword is not __doc__ or __module__
- # pay the cookie monster
# more cookies for the cookie monster
- if ':' in var:
- self._setvar_update_overrides(base, **loginfo)
+ self._setvar_update_overrides(base, **loginfo)
if base in self.overridevars:
self._setvar_update_overridevars(var, value)
@@ -640,6 +635,7 @@ class DataSmart(MutableMapping):
nextnew.update(vardata.contains.keys())
new = nextnew
self.overrides = None
+ self.expand_cache = {}
def _setvar_update_overrides(self, var, **loginfo):
# aka pay the cookie monster
diff --git a/poky/bitbake/lib/bb/event.py b/poky/bitbake/lib/bb/event.py
index 4761c86880..a12adbc937 100644
--- a/poky/bitbake/lib/bb/event.py
+++ b/poky/bitbake/lib/bb/event.py
@@ -19,7 +19,6 @@ import sys
import threading
import traceback
-import bb.exceptions
import bb.utils
# This is the pid for which we should generate the event. This is set when
@@ -195,7 +194,12 @@ def fire_ui_handlers(event, d):
ui_queue.append(event)
return
- with bb.utils.lock_timeout(_thread_lock):
+ with bb.utils.lock_timeout_nocheck(_thread_lock) as lock:
+ if not lock:
+ # If we can't get the lock, we may be recursively called, queue and return
+ ui_queue.append(event)
+ return
+
errors = []
for h in _ui_handlers:
#print "Sending event %s" % event
@@ -214,6 +218,9 @@ def fire_ui_handlers(event, d):
for h in errors:
del _ui_handlers[h]
+ while ui_queue:
+ fire_ui_handlers(ui_queue.pop(), d)
+
def fire(event, d):
"""Fire off an Event"""
@@ -759,13 +766,7 @@ class LogHandler(logging.Handler):
def emit(self, record):
if record.exc_info:
- etype, value, tb = record.exc_info
- if hasattr(tb, 'tb_next'):
- tb = list(bb.exceptions.extract_traceback(tb, context=3))
- # Need to turn the value into something the logging system can pickle
- record.bb_exc_info = (etype, value, tb)
- record.bb_exc_formatted = bb.exceptions.format_exception(etype, value, tb, limit=5)
- value = str(value)
+ record.bb_exc_formatted = traceback.format_exception(*record.exc_info)
record.exc_info = None
fire(record, None)
diff --git a/poky/bitbake/lib/bb/exceptions.py b/poky/bitbake/lib/bb/exceptions.py
deleted file mode 100644
index 801db9c82f..0000000000
--- a/poky/bitbake/lib/bb/exceptions.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#
-# Copyright BitBake Contributors
-#
-# SPDX-License-Identifier: GPL-2.0-only
-#
-
-import inspect
-import traceback
-import bb.namedtuple_with_abc
-from collections import namedtuple
-
-
-class TracebackEntry(namedtuple.abc):
- """Pickleable representation of a traceback entry"""
- _fields = 'filename lineno function args code_context index'
- _header = ' File "{0.filename}", line {0.lineno}, in {0.function}{0.args}'
-
- def format(self, formatter=None):
- if not self.code_context:
- return self._header.format(self) + '\n'
-
- formatted = [self._header.format(self) + ':\n']
-
- for lineindex, line in enumerate(self.code_context):
- if formatter:
- line = formatter(line)
-
- if lineindex == self.index:
- formatted.append(' >%s' % line)
- else:
- formatted.append(' %s' % line)
- return formatted
-
- def __str__(self):
- return ''.join(self.format())
-
-def _get_frame_args(frame):
- """Get the formatted arguments and class (if available) for a frame"""
- arginfo = inspect.getargvalues(frame)
-
- try:
- if not arginfo.args:
- return '', None
- # There have been reports from the field of python 2.6 which doesn't
- # return a namedtuple here but simply a tuple so fallback gracefully if
- # args isn't present.
- except AttributeError:
- return '', None
-
- firstarg = arginfo.args[0]
- if firstarg == 'self':
- self = arginfo.locals['self']
- cls = self.__class__.__name__
-
- arginfo.args.pop(0)
- del arginfo.locals['self']
- else:
- cls = None
-
- formatted = inspect.formatargvalues(*arginfo)
- return formatted, cls
-
-def extract_traceback(tb, context=1):
- frames = inspect.getinnerframes(tb, context)
- for frame, filename, lineno, function, code_context, index in frames:
- formatted_args, cls = _get_frame_args(frame)
- if cls:
- function = '%s.%s' % (cls, function)
- yield TracebackEntry(filename, lineno, function, formatted_args,
- code_context, index)
-
-def format_extracted(extracted, formatter=None, limit=None):
- if limit:
- extracted = extracted[-limit:]
-
- formatted = []
- for tracebackinfo in extracted:
- formatted.extend(tracebackinfo.format(formatter))
- return formatted
-
-
-def format_exception(etype, value, tb, context=1, limit=None, formatter=None):
- formatted = ['Traceback (most recent call last):\n']
-
- if hasattr(tb, 'tb_next'):
- tb = extract_traceback(tb, context)
-
- formatted.extend(format_extracted(tb, formatter, limit))
- formatted.extend(traceback.format_exception_only(etype, value))
- return formatted
-
-def to_string(exc):
- if isinstance(exc, SystemExit):
- if not isinstance(exc.code, str):
- return 'Exited with "%d"' % exc.code
- return str(exc)
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index 5bf2c4b8cf..1a6ff25d4d 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -237,7 +237,7 @@ class URI(object):
# to RFC compliant URL format. E.g.:
# file://foo.diff -> file:foo.diff
if urlp.scheme in self._netloc_forbidden:
- uri = re.sub("(?<=:)//(?!/)", "", uri, 1)
+ uri = re.sub(r"(?<=:)//(?!/)", "", uri, count=1)
reparse = 1
if reparse:
@@ -499,30 +499,30 @@ def fetcher_init(d):
Calls before this must not hit the cache.
"""
- revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
- try:
- # fetcher_init is called multiple times, so make sure we only save the
- # revs the first time it is called.
- if not bb.fetch2.saved_headrevs:
- bb.fetch2.saved_headrevs = dict(revs)
- except:
- pass
-
- # When to drop SCM head revisions controlled by user policy
- srcrev_policy = d.getVar('BB_SRCREV_POLICY') or "clear"
- if srcrev_policy == "cache":
- logger.debug("Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
- elif srcrev_policy == "clear":
- logger.debug("Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
- revs.clear()
- else:
- raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
+ with bb.persist_data.persist('BB_URI_HEADREVS', d) as revs:
+ try:
+ # fetcher_init is called multiple times, so make sure we only save the
+ # revs the first time it is called.
+ if not bb.fetch2.saved_headrevs:
+ bb.fetch2.saved_headrevs = dict(revs)
+ except:
+ pass
- _checksum_cache.init_cache(d.getVar("BB_CACHEDIR"))
+ # When to drop SCM head revisions controlled by user policy
+ srcrev_policy = d.getVar('BB_SRCREV_POLICY') or "clear"
+ if srcrev_policy == "cache":
+ logger.debug("Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
+ elif srcrev_policy == "clear":
+ logger.debug("Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
+ revs.clear()
+ else:
+ raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
+
+ _checksum_cache.init_cache(d.getVar("BB_CACHEDIR"))
- for m in methods:
- if hasattr(m, "init"):
- m.init(d)
+ for m in methods:
+ if hasattr(m, "init"):
+ m.init(d)
def fetcher_parse_save():
_checksum_cache.save_extras()
@@ -536,8 +536,8 @@ def fetcher_compare_revisions(d):
when bitbake was started and return true if they have changed.
"""
- headrevs = dict(bb.persist_data.persist('BB_URI_HEADREVS', d))
- return headrevs != bb.fetch2.saved_headrevs
+ with dict(bb.persist_data.persist('BB_URI_HEADREVS', d)) as headrevs:
+ return headrevs != bb.fetch2.saved_headrevs
def mirror_from_string(data):
mirrors = (data or "").replace('\\n',' ').split()
@@ -1662,13 +1662,13 @@ class FetchMethod(object):
if not hasattr(self, "_latest_revision"):
raise ParameterError("The fetcher for this URL does not support _latest_revision", ud.url)
- revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
- key = self.generate_revision_key(ud, d, name)
- try:
- return revs[key]
- except KeyError:
- revs[key] = rev = self._latest_revision(ud, d, name)
- return rev
+ with bb.persist_data.persist('BB_URI_HEADREVS', d) as revs:
+ key = self.generate_revision_key(ud, d, name)
+ try:
+ return revs[key]
+ except KeyError:
+ revs[key] = rev = self._latest_revision(ud, d, name)
+ return rev
def sortable_revision(self, ud, d, name):
latest_rev = self._build_revision(ud, d, name)
diff --git a/poky/bitbake/lib/bb/fetch2/gcp.py b/poky/bitbake/lib/bb/fetch2/gcp.py
index eb3e0c6a6b..2ee9ed2194 100644
--- a/poky/bitbake/lib/bb/fetch2/gcp.py
+++ b/poky/bitbake/lib/bb/fetch2/gcp.py
@@ -23,7 +23,6 @@ import urllib.parse, urllib.error
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import logger
-from bb.fetch2 import runfetchcmd
class GCP(FetchMethod):
"""
@@ -48,7 +47,6 @@ class GCP(FetchMethod):
ud.basename = os.path.basename(ud.path)
ud.localfile = d.expand(urllib.parse.unquote(ud.basename))
- ud.basecmd = "gsutil stat"
def get_gcp_client(self):
from google.cloud import storage
@@ -59,17 +57,20 @@ class GCP(FetchMethod):
Fetch urls using the GCP API.
Assumes localpath was called first.
"""
+ from google.api_core.exceptions import NotFound
logger.debug2(f"Trying to download gs://{ud.host}{ud.path} to {ud.localpath}")
if self.gcp_client is None:
self.get_gcp_client()
- bb.fetch2.check_network_access(d, ud.basecmd, f"gs://{ud.host}{ud.path}")
- runfetchcmd("%s %s" % (ud.basecmd, f"gs://{ud.host}{ud.path}"), d)
+ bb.fetch2.check_network_access(d, "blob.download_to_filename", f"gs://{ud.host}{ud.path}")
# Path sometimes has leading slash, so strip it
path = ud.path.lstrip("/")
blob = self.gcp_client.bucket(ud.host).blob(path)
- blob.download_to_filename(ud.localpath)
+ try:
+ blob.download_to_filename(ud.localpath)
+ except NotFound:
+ raise FetchError("The GCP API threw a NotFound exception")
# Additional sanity checks copied from the wget class (although there
# are no known issues which mean these are required, treat the GCP API
@@ -91,8 +92,7 @@ class GCP(FetchMethod):
if self.gcp_client is None:
self.get_gcp_client()
- bb.fetch2.check_network_access(d, ud.basecmd, f"gs://{ud.host}{ud.path}")
- runfetchcmd("%s %s" % (ud.basecmd, f"gs://{ud.host}{ud.path}"), d)
+ bb.fetch2.check_network_access(d, "gcp_client.bucket(ud.host).blob(path).exists()", f"gs://{ud.host}{ud.path}")
# Path sometimes has leading slash, so strip it
path = ud.path.lstrip("/")
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index c7ff769fdf..6029144601 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -926,9 +926,8 @@ class Git(FetchMethod):
commits = None
else:
if not os.path.exists(rev_file) or not os.path.getsize(rev_file):
- from pipes import quote
commits = bb.fetch2.runfetchcmd(
- "git rev-list %s -- | wc -l" % quote(rev),
+ "git rev-list %s -- | wc -l" % shlex.quote(rev),
d, quiet=True).strip().lstrip('0')
if commits:
open(rev_file, "w").write("%d\n" % int(commits))
diff --git a/poky/bitbake/lib/bb/fetch2/gitsm.py b/poky/bitbake/lib/bb/fetch2/gitsm.py
index f7f3af7212..fab4b1164c 100644
--- a/poky/bitbake/lib/bb/fetch2/gitsm.py
+++ b/poky/bitbake/lib/bb/fetch2/gitsm.py
@@ -147,6 +147,19 @@ class GitSM(Git):
return submodules != []
+ def call_process_submodules(self, ud, d, extra_check, subfunc):
+ # If we're using a shallow mirror tarball it needs to be
+ # unpacked temporarily so that we can examine the .gitmodules file
+ if ud.shallow and os.path.exists(ud.fullshallow) and extra_check:
+ tmpdir = tempfile.mkdtemp(dir=d.getVar("DL_DIR"))
+ try:
+ runfetchcmd("tar -xzf %s" % ud.fullshallow, d, workdir=tmpdir)
+ self.process_submodules(ud, tmpdir, subfunc, d)
+ finally:
+ shutil.rmtree(tmpdir)
+ else:
+ self.process_submodules(ud, ud.clonedir, subfunc, d)
+
def need_update(self, ud, d):
if Git.need_update(self, ud, d):
return True
@@ -164,15 +177,7 @@ class GitSM(Git):
logger.error('gitsm: submodule update check failed: %s %s' % (type(e).__name__, str(e)))
need_update_result = True
- # If we're using a shallow mirror tarball it needs to be unpacked
- # temporarily so that we can examine the .gitmodules file
- if ud.shallow and os.path.exists(ud.fullshallow) and not os.path.exists(ud.clonedir):
- tmpdir = tempfile.mkdtemp(dir=d.getVar("DL_DIR"))
- runfetchcmd("tar -xzf %s" % ud.fullshallow, d, workdir=tmpdir)
- self.process_submodules(ud, tmpdir, need_update_submodule, d)
- shutil.rmtree(tmpdir)
- else:
- self.process_submodules(ud, ud.clonedir, need_update_submodule, d)
+ self.call_process_submodules(ud, d, not os.path.exists(ud.clonedir), need_update_submodule)
if need_update_list:
logger.debug('gitsm: Submodules requiring update: %s' % (' '.join(need_update_list)))
@@ -195,16 +200,7 @@ class GitSM(Git):
raise
Git.download(self, ud, d)
-
- # If we're using a shallow mirror tarball it needs to be unpacked
- # temporarily so that we can examine the .gitmodules file
- if ud.shallow and os.path.exists(ud.fullshallow) and self.need_update(ud, d):
- tmpdir = tempfile.mkdtemp(dir=d.getVar("DL_DIR"))
- runfetchcmd("tar -xzf %s" % ud.fullshallow, d, workdir=tmpdir)
- self.process_submodules(ud, tmpdir, download_submodule, d)
- shutil.rmtree(tmpdir)
- else:
- self.process_submodules(ud, ud.clonedir, download_submodule, d)
+ self.call_process_submodules(ud, d, self.need_update(ud, d), download_submodule)
def unpack(self, ud, destdir, d):
def unpack_submodules(ud, url, module, modpath, workdir, d):
@@ -263,14 +259,6 @@ class GitSM(Git):
newfetch = Fetch([url], d, cache=False)
urldata.extend(newfetch.expanded_urldata())
- # If we're using a shallow mirror tarball it needs to be unpacked
- # temporarily so that we can examine the .gitmodules file
- if ud.shallow and os.path.exists(ud.fullshallow) and ud.method.need_update(ud, d):
- tmpdir = tempfile.mkdtemp(dir=d.getVar("DL_DIR"))
- subprocess.check_call("tar -xzf %s" % ud.fullshallow, cwd=tmpdir, shell=True)
- self.process_submodules(ud, tmpdir, add_submodule, d)
- shutil.rmtree(tmpdir)
- else:
- self.process_submodules(ud, ud.clonedir, add_submodule, d)
+ self.call_process_submodules(ud, d, ud.method.need_update(ud, d), add_submodule)
return urldata
diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py
index 2e92117634..5bb3b2f361 100644
--- a/poky/bitbake/lib/bb/fetch2/wget.py
+++ b/poky/bitbake/lib/bb/fetch2/wget.py
@@ -87,7 +87,7 @@ class Wget(FetchMethod):
if not ud.localfile:
ud.localfile = d.expand(urllib.parse.unquote(ud.host + ud.path).replace("/", "."))
- self.basecmd = d.getVar("FETCHCMD_wget") or "/usr/bin/env wget -t 2 -T 30"
+ self.basecmd = d.getVar("FETCHCMD_wget") or "/usr/bin/env wget -t 2 -T 100"
if ud.type == 'ftp' or ud.type == 'ftps':
self.basecmd += " --passive-ftp"
@@ -371,7 +371,7 @@ class Wget(FetchMethod):
except (FileNotFoundError, netrc.NetrcParseError):
pass
- with opener.open(r, timeout=30) as response:
+ with opener.open(r, timeout=100) as response:
pass
except (urllib.error.URLError, ConnectionResetError, TimeoutError) as e:
if try_again:
diff --git a/poky/bitbake/lib/bb/msg.py b/poky/bitbake/lib/bb/msg.py
index 3e18596faa..4f616ff42e 100644
--- a/poky/bitbake/lib/bb/msg.py
+++ b/poky/bitbake/lib/bb/msg.py
@@ -89,10 +89,6 @@ class BBLogFormatter(logging.Formatter):
msg = logging.Formatter.format(self, record)
if hasattr(record, 'bb_exc_formatted'):
msg += '\n' + ''.join(record.bb_exc_formatted)
- elif hasattr(record, 'bb_exc_info'):
- etype, value, tb = record.bb_exc_info
- formatted = bb.exceptions.format_exception(etype, value, tb, limit=5)
- msg += '\n' + ''.join(formatted)
return msg
def colorize(self, record):
diff --git a/poky/bitbake/lib/bb/parse/ast.py b/poky/bitbake/lib/bb/parse/ast.py
index 7581d003fd..327e45c8ac 100644
--- a/poky/bitbake/lib/bb/parse/ast.py
+++ b/poky/bitbake/lib/bb/parse/ast.py
@@ -391,6 +391,14 @@ def finalize(fn, d, variant = None):
if d.getVar("_FAILPARSINGERRORHANDLED", False) == True:
raise bb.BBHandledException()
+ while True:
+ inherits = d.getVar('__BBDEFINHERITS', False) or []
+ if not inherits:
+ break
+ inherit, filename, lineno = inherits.pop(0)
+ d.setVar('__BBDEFINHERITS', inherits)
+ bb.parse.BBHandler.inherit(inherit, filename, lineno, d, deferred=True)
+
for var in d.getVar('__BBHANDLERS', False) or []:
# try to add the handler
handlerfn = d.getVarFlag(var, "filename", False)
@@ -444,14 +452,6 @@ def multi_finalize(fn, d):
logger.debug("Appending .bbappend file %s to %s", append, fn)
bb.parse.BBHandler.handle(append, d, True)
- while True:
- inherits = d.getVar('__BBDEFINHERITS', False) or []
- if not inherits:
- break
- inherit, filename, lineno = inherits.pop(0)
- d.setVar('__BBDEFINHERITS', inherits)
- bb.parse.BBHandler.inherit(inherit, filename, lineno, d, deferred=True)
-
onlyfinalise = d.getVar("__ONLYFINALISE", False)
safe_d = d
@@ -487,7 +487,9 @@ def multi_finalize(fn, d):
d.setVar("BBEXTENDVARIANT", variantmap[name])
else:
d.setVar("PN", "%s-%s" % (pn, name))
- bb.parse.BBHandler.inherit(extendedmap[name], fn, 0, d)
+ inherits = d.getVar('__BBDEFINHERITS', False) or []
+ inherits.append((extendedmap[name], fn, 0))
+ d.setVar('__BBDEFINHERITS', inherits)
safe_d.setVar("BBCLASSEXTEND", extended)
_create_variants(datastores, extendedmap.keys(), extendfunc, onlyfinalise)
diff --git a/poky/bitbake/lib/bb/persist_data.py b/poky/bitbake/lib/bb/persist_data.py
index bcca791edf..c4454b153a 100644
--- a/poky/bitbake/lib/bb/persist_data.py
+++ b/poky/bitbake/lib/bb/persist_data.py
@@ -154,6 +154,7 @@ class SQLTable(collections.abc.MutableMapping):
def __exit__(self, *excinfo):
self.connection.__exit__(*excinfo)
+ self.connection.close()
@_Decorators.retry()
@_Decorators.transaction
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index 93079a9776..db68f97e68 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -14,6 +14,7 @@ import os
import sys
import stat
import errno
+import itertools
import logging
import re
import bb
@@ -728,6 +729,8 @@ class RunQueueData:
if mc == frommc:
fn = taskData[mcdep].build_targets[pn][0]
newdep = '%s:%s' % (fn,deptask)
+ if newdep not in taskData[mcdep].taskentries:
+ bb.fatal("Task mcdepends on non-existent task %s" % (newdep))
taskData[mc].taskentries[tid].tdepends.append(newdep)
for mc in taskData:
@@ -2189,12 +2192,20 @@ class RunQueueExecute:
if not hasattr(self, "sorted_setscene_tids"):
# Don't want to sort this set every execution
self.sorted_setscene_tids = sorted(self.rqdata.runq_setscene_tids)
+ # Resume looping where we left off when we returned to feed the mainloop
+ self.setscene_tids_generator = itertools.cycle(self.rqdata.runq_setscene_tids)
task = None
if not self.sqdone and self.can_start_task():
- # Find the next setscene to run
- for nexttask in self.sorted_setscene_tids:
+ loopcount = 0
+ # Find the next setscene to run, exit the loop when we've processed all tids or found something to execute
+ while loopcount < len(self.rqdata.runq_setscene_tids):
+ loopcount += 1
+ nexttask = next(self.setscene_tids_generator)
if nexttask in self.sq_buildable and nexttask not in self.sq_running and self.sqdata.stamps[nexttask] not in self.build_stamps.values() and nexttask not in self.sq_harddep_deferred:
+ if nexttask in self.sq_deferred and self.sq_deferred[nexttask] not in self.runq_complete:
+ # Skip deferred tasks quickly before the 'expensive' tests below - this is key to performant multiconfig builds
+ continue
if nexttask not in self.sqdata.unskippable and self.sqdata.sq_revdeps[nexttask] and \
nexttask not in self.sq_needed_harddeps and \
self.sqdata.sq_revdeps[nexttask].issubset(self.scenequeue_covered) and \
@@ -2224,8 +2235,7 @@ class RunQueueExecute:
if t in self.runq_running and t not in self.runq_complete:
continue
if nexttask in self.sq_deferred:
- if self.sq_deferred[nexttask] not in self.runq_complete:
- continue
+ # Deferred tasks that were still deferred were skipped above so we now need to process
logger.debug("Task %s no longer deferred" % nexttask)
del self.sq_deferred[nexttask]
valid = self.rq.validate_hashes(set([nexttask]), self.cooker.data, 0, False, summary=False)
@@ -2751,8 +2761,12 @@ class RunQueueExecute:
logger.debug2("%s was unavailable and is a hard dependency of %s so skipping" % (task, dep))
self.sq_task_failoutright(dep)
continue
+
+ # For performance, only compute allcovered once if needed
+ if self.sqdata.sq_deps[task]:
+ allcovered = self.scenequeue_covered | self.scenequeue_notcovered
for dep in sorted(self.sqdata.sq_deps[task]):
- if self.sqdata.sq_revdeps[dep].issubset(self.scenequeue_covered | self.scenequeue_notcovered):
+ if self.sqdata.sq_revdeps[dep].issubset(allcovered):
if dep not in self.sq_buildable:
self.sq_buildable.add(dep)
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 76b189291d..34b3a2ae9d 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -13,7 +13,7 @@
import bb
import bb.event
import logging
-import multiprocessing
+from bb import multiprocessing
import threading
import array
import os
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 33cc9bcac6..b57cf511a4 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -1419,12 +1419,12 @@ class FetchLatestVersionTest(FetcherTest):
("dtc", "git://git.yoctoproject.org/bbfetchtests-dtc.git;branch=master;protocol=https", "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf", "", "")
: "1.4.0",
# combination version pattern
- ("sysprof", "git://gitlab.gnome.org/GNOME/sysprof.git;protocol=https;branch=master", "cd44ee6644c3641507fb53b8a2a69137f2971219", "", "")
+ ("sysprof", "git://git.yoctoproject.org/sysprof.git;protocol=https;branch=master", "cd44ee6644c3641507fb53b8a2a69137f2971219", "", "")
: "1.2.0",
- ("u-boot-mkimage", "git://source.denx.de/u-boot/u-boot.git;branch=master;protocol=https", "62c175fbb8a0f9a926c88294ea9f7e88eb898f6c", "", "")
+ ("u-boot-mkimage", "git://git.yoctoproject.org/bbfetchtests-u-boot.git;branch=master;protocol=https", "62c175fbb8a0f9a926c88294ea9f7e88eb898f6c", "", "")
: "2014.01",
# version pattern "yyyymmdd"
- ("mobile-broadband-provider-info", "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https;branch=master", "4ed19e11c2975105b71b956440acdb25d46a347d", "", "")
+ ("mobile-broadband-provider-info", "git://git.yoctoproject.org/mobile-broadband-provider-info.git;protocol=https;branch=master", "4ed19e11c2975105b71b956440acdb25d46a347d", "", "")
: "20120614",
# packages with a valid UPSTREAM_CHECK_GITTAGREGEX
# mirror of git://anongit.freedesktop.org/xorg/driver/xf86-video-omap since network issues interfered with testing
@@ -1715,6 +1715,8 @@ class GitShallowTest(FetcherTest):
if cwd is None:
cwd = self.gitdir
actual_refs = self.git(['for-each-ref', '--format=%(refname)'], cwd=cwd).splitlines()
+ # Resolve references into the same format as the comparision (needed by git 2.48 onwards)
+ actual_refs = self.git(['rev-parse', '--symbolic-full-name'] + actual_refs, cwd=cwd).splitlines()
full_expected = self.git(['rev-parse', '--symbolic-full-name'] + expected_refs, cwd=cwd).splitlines()
self.assertEqual(sorted(set(full_expected)), sorted(set(actual_refs)))
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/g1.bb b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/g1.bb
new file mode 100644
index 0000000000..3c7dca0257
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/g1.bb
@@ -0,0 +1,2 @@
+do_build[mcdepends] = "mc::mc-1:h1:do_invalid"
+
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/h1.bb b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/h1.bb
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/h1.bb
diff --git a/poky/bitbake/lib/bb/tests/runqueue.py b/poky/bitbake/lib/bb/tests/runqueue.py
index cc87e8d6a8..74f5ded2e6 100644
--- a/poky/bitbake/lib/bb/tests/runqueue.py
+++ b/poky/bitbake/lib/bb/tests/runqueue.py
@@ -26,7 +26,7 @@ class RunQueueTests(unittest.TestCase):
a1_sstatevalid = "a1:do_package a1:do_package_qa a1:do_packagedata a1:do_package_write_ipk a1:do_package_write_rpm a1:do_populate_lic a1:do_populate_sysroot"
b1_sstatevalid = "b1:do_package b1:do_package_qa b1:do_packagedata b1:do_package_write_ipk b1:do_package_write_rpm b1:do_populate_lic b1:do_populate_sysroot"
- def run_bitbakecmd(self, cmd, builddir, sstatevalid="", slowtasks="", extraenv=None, cleanup=False):
+ def run_bitbakecmd(self, cmd, builddir, sstatevalid="", slowtasks="", extraenv=None, cleanup=False, allowfailure=False):
env = os.environ.copy()
env["BBPATH"] = os.path.realpath(os.path.join(os.path.dirname(__file__), "runqueue-tests"))
env["BB_ENV_PASSTHROUGH_ADDITIONS"] = "SSTATEVALID SLOWTASKS TOPDIR"
@@ -41,6 +41,8 @@ class RunQueueTests(unittest.TestCase):
output = subprocess.check_output(cmd, env=env, stderr=subprocess.STDOUT,universal_newlines=True, cwd=builddir)
print(output)
except subprocess.CalledProcessError as e:
+ if allowfailure:
+ return e.output
self.fail("Command %s failed with %s" % (cmd, e.output))
tasks = []
tasklog = builddir + "/task.log"
@@ -314,6 +316,13 @@ class RunQueueTests(unittest.TestCase):
["mc_2:a1:%s" % t for t in rerun_tasks]
self.assertEqual(set(tasks), set(expected))
+ # Check that a multiconfig that doesn't exist rasies a correct error message
+ error_output = self.run_bitbakecmd(["bitbake", "g1"], tempdir, "", extraenv=extraenv, cleanup=True, allowfailure=True)
+ self.assertIn("non-existent task", error_output)
+ # If the word 'Traceback' or 'KeyError' is in the output we've regressed
+ self.assertNotIn("Traceback", error_output)
+ self.assertNotIn("KeyError", error_output)
+
self.shutdown(tempdir)
def test_hashserv_single(self):
diff --git a/poky/bitbake/lib/bb/tests/support/httpserver.py b/poky/bitbake/lib/bb/tests/support/httpserver.py
index 78f7660053..03327e923b 100644
--- a/poky/bitbake/lib/bb/tests/support/httpserver.py
+++ b/poky/bitbake/lib/bb/tests/support/httpserver.py
@@ -3,7 +3,7 @@
#
import http.server
-import multiprocessing
+from bb import multiprocessing
import os
import traceback
import signal
@@ -43,7 +43,7 @@ class HTTPService(object):
self.process = multiprocessing.Process(target=self.server.server_start, args=[self.root_dir, self.logger])
# The signal handler from testimage.bbclass can cause deadlocks here
- # if the HTTPServer is terminated before it can restore the standard
+ # if the HTTPServer is terminated before it can restore the standard
#signal behaviour
orig = signal.getsignal(signal.SIGTERM)
signal.signal(signal.SIGTERM, signal.SIG_DFL)
diff --git a/poky/bitbake/lib/bb/tinfoil.py b/poky/bitbake/lib/bb/tinfoil.py
index dcd3910cc4..4dc4590c31 100644
--- a/poky/bitbake/lib/bb/tinfoil.py
+++ b/poky/bitbake/lib/bb/tinfoil.py
@@ -188,11 +188,19 @@ class TinfoilCookerAdapter:
self._cache[name] = attrvalue
return attrvalue
+ class TinfoilSkiplistByMcAdapter:
+ def __init__(self, tinfoil):
+ self.tinfoil = tinfoil
+
+ def __getitem__(self, mc):
+ return self.tinfoil.get_skipped_recipes(mc)
+
def __init__(self, tinfoil):
self.tinfoil = tinfoil
self.multiconfigs = [''] + (tinfoil.config_data.getVar('BBMULTICONFIG') or '').split()
self.collections = {}
self.recipecaches = {}
+ self.skiplist_by_mc = self.TinfoilSkiplistByMcAdapter(tinfoil)
for mc in self.multiconfigs:
self.collections[mc] = self.TinfoilCookerCollectionAdapter(tinfoil, mc)
self.recipecaches[mc] = self.TinfoilRecipeCacheAdapter(tinfoil, mc)
@@ -201,8 +209,6 @@ class TinfoilCookerAdapter:
# Grab these only when they are requested since they aren't always used
if name in self._cache:
return self._cache[name]
- elif name == 'skiplist':
- attrvalue = self.tinfoil.get_skipped_recipes()
elif name == 'bbfile_config_priorities':
ret = self.tinfoil.run_command('getLayerPriorities')
bbfile_config_priorities = []
@@ -514,12 +520,12 @@ class Tinfoil:
"""
return defaultdict(list, self.run_command('getOverlayedRecipes', mc))
- def get_skipped_recipes(self):
+ def get_skipped_recipes(self, mc=''):
"""
Find recipes which were skipped (i.e. SkipRecipe was raised
during parsing).
"""
- return OrderedDict(self.run_command('getSkippedRecipes'))
+ return OrderedDict(self.run_command('getSkippedRecipes', mc))
def get_all_providers(self, mc=''):
return defaultdict(list, self.run_command('allProviders', mc))
@@ -533,6 +539,7 @@ class Tinfoil:
def get_runtime_providers(self, rdep):
return self.run_command('getRuntimeProviders', rdep)
+ # TODO: teach this method about mc
def get_recipe_file(self, pn):
"""
Get the file name for the specified recipe/target. Raises
@@ -541,6 +548,7 @@ class Tinfoil:
"""
best = self.find_best_provider(pn)
if not best or (len(best) > 3 and not best[3]):
+ # TODO: pass down mc
skiplist = self.get_skipped_recipes()
taskdata = bb.taskdata.TaskData(None, skiplist=skiplist)
skipreasons = taskdata.get_reasons(pn)
diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py
index f86999bb09..3784c93ad8 100644
--- a/poky/bitbake/lib/bb/ui/knotty.py
+++ b/poky/bitbake/lib/bb/ui/knotty.py
@@ -577,6 +577,8 @@ def main(server, eventHandler, params, tf = TerminalFilter):
else:
log_exec_tty = False
+ should_print_hyperlinks = sys.stdout.isatty() and os.environ.get('NO_COLOR', '') == ''
+
helper = uihelper.BBUIHelper()
# Look for the specially designated handlers which need to be passed to the
@@ -640,7 +642,7 @@ def main(server, eventHandler, params, tf = TerminalFilter):
return_value = 0
errors = 0
warnings = 0
- taskfailures = []
+ taskfailures = {}
printintervaldelta = 10 * 60 # 10 minutes
printinterval = printintervaldelta
@@ -726,6 +728,8 @@ def main(server, eventHandler, params, tf = TerminalFilter):
if isinstance(event, bb.build.TaskFailed):
return_value = 1
print_event_log(event, includelogs, loglines, termfilter)
+ k = "{}:{}".format(event._fn, event._task)
+ taskfailures[k] = event.logfile
if isinstance(event, bb.build.TaskBase):
logger.info(event._message)
continue
@@ -821,7 +825,7 @@ def main(server, eventHandler, params, tf = TerminalFilter):
if isinstance(event, bb.runqueue.runQueueTaskFailed):
return_value = 1
- taskfailures.append(event.taskstring)
+ taskfailures.setdefault(event.taskstring)
logger.error(str(event))
continue
@@ -942,11 +946,21 @@ def main(server, eventHandler, params, tf = TerminalFilter):
try:
termfilter.clearFooter()
summary = ""
+ def format_hyperlink(url, link_text):
+ if should_print_hyperlinks:
+ start = f'\033]8;;{url}\033\\'
+ end = '\033]8;;\033\\'
+ return f'{start}{link_text}{end}'
+ return link_text
+
if taskfailures:
summary += pluralise("\nSummary: %s task failed:",
"\nSummary: %s tasks failed:", len(taskfailures))
- for failure in taskfailures:
+ for (failure, log_file) in taskfailures.items():
summary += "\n %s" % failure
+ if log_file:
+ hyperlink = format_hyperlink(f"file://{log_file}", log_file)
+ summary += "\n log: {}".format(hyperlink)
if warnings:
summary += pluralise("\nSummary: There was %s WARNING message.",
"\nSummary: There were %s WARNING messages.", warnings)
diff --git a/poky/bitbake/lib/bb/ui/teamcity.py b/poky/bitbake/lib/bb/ui/teamcity.py
index fca46c2874..7eeaab8d63 100644
--- a/poky/bitbake/lib/bb/ui/teamcity.py
+++ b/poky/bitbake/lib/bb/ui/teamcity.py
@@ -30,7 +30,6 @@ import bb.build
import bb.command
import bb.cooker
import bb.event
-import bb.exceptions
import bb.runqueue
from bb.ui import uihelper
@@ -102,10 +101,6 @@ class TeamcityLogFormatter(logging.Formatter):
details = ""
if hasattr(record, 'bb_exc_formatted'):
details = ''.join(record.bb_exc_formatted)
- elif hasattr(record, 'bb_exc_info'):
- etype, value, tb = record.bb_exc_info
- formatted = bb.exceptions.format_exception(etype, value, tb, limit=5)
- details = ''.join(formatted)
if record.levelno in [bb.msg.BBLogFormatter.ERROR, bb.msg.BBLogFormatter.CRITICAL]:
# ERROR gets a separate errorDetails field
diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py
index ebee65d3dd..1b4fb93a30 100644
--- a/poky/bitbake/lib/bb/utils.py
+++ b/poky/bitbake/lib/bb/utils.py
@@ -14,7 +14,7 @@ import logging
import bb
import bb.msg
import locale
-import multiprocessing
+from bb import multiprocessing
import fcntl
import importlib
import importlib.machinery
@@ -1174,8 +1174,6 @@ def process_profilelog(fn, pout = None):
#
def multiprocessingpool(*args, **kwargs):
- import multiprocessing.pool
- #import multiprocessing.util
#multiprocessing.util.log_to_stderr(10)
# Deal with a multiprocessing bug where signals to the processes would be delayed until the work
# completes. Putting in a timeout means the signals (like SIGINT/SIGTERM) get processed.
@@ -1854,15 +1852,42 @@ def path_is_descendant(descendant, ancestor):
return False
+# Recomputing the sets in signal.py is expensive (bitbake -pP idle)
+# so try and use _signal directly to avoid it
+valid_signals = signal.valid_signals()
+try:
+ import _signal
+ sigmask = _signal.pthread_sigmask
+except ImportError:
+ sigmask = signal.pthread_sigmask
+
# If we don't have a timeout of some kind and a process/thread exits badly (for example
# OOM killed) and held a lock, we'd just hang in the lock futex forever. It is better
# we exit at some point than hang. 5 minutes with no progress means we're probably deadlocked.
+# This function can still deadlock python since it can't signal the other threads to exit
+# (signals are handled in the main thread) and even os._exit() will wait on non-daemon threads
+# to exit.
@contextmanager
def lock_timeout(lock):
- held = lock.acquire(timeout=5*60)
try:
+ s = sigmask(signal.SIG_BLOCK, valid_signals)
+ held = lock.acquire(timeout=5*60)
if not held:
+ bb.server.process.serverlog("Couldn't get the lock for 5 mins, timed out, exiting.\n%s" % traceback.format_stack())
os._exit(1)
yield held
finally:
lock.release()
+ sigmask(signal.SIG_SETMASK, s)
+
+# A version of lock_timeout without the check that the lock was locked and a shorter timeout
+@contextmanager
+def lock_timeout_nocheck(lock):
+ try:
+ s = sigmask(signal.SIG_BLOCK, valid_signals)
+ l = lock.acquire(timeout=10)
+ yield l
+ finally:
+ if l:
+ lock.release()
+ sigmask(signal.SIG_SETMASK, s)
diff --git a/poky/bitbake/lib/bblayers/query.py b/poky/bitbake/lib/bblayers/query.py
index bfc18a7593..9b2e081cfd 100644
--- a/poky/bitbake/lib/bblayers/query.py
+++ b/poky/bitbake/lib/bblayers/query.py
@@ -142,10 +142,11 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
# Ensure we list skipped recipes
# We are largely guessing about PN, PV and the preferred version here,
# but we have no choice since skipped recipes are not fully parsed
- skiplist = list(self.tinfoil.cooker.skiplist.keys())
- mcspec = 'mc:%s:' % mc
+ skiplist = list(self.tinfoil.cooker.skiplist_by_mc[mc].keys())
+
if mc:
- skiplist = [s[len(mcspec):] for s in skiplist if s.startswith(mcspec)]
+ mcspec = f'mc:{mc}:'
+ skiplist = [s[len(mcspec):] if s.startswith(mcspec) else s for s in skiplist]
for fn in skiplist:
recipe_parts = os.path.splitext(os.path.basename(fn))[0].split('_')
@@ -162,7 +163,7 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
def print_item(f, pn, ver, layer, ispref):
if not selected_layer or layer == selected_layer:
if not bare and f in skiplist:
- skipped = ' (skipped: %s)' % self.tinfoil.cooker.skiplist[f].skipreason
+ skipped = ' (skipped: %s)' % self.tinfoil.cooker.skiplist_by_mc[mc][f].skipreason
else:
skipped = ''
if show_filenames:
@@ -301,7 +302,7 @@ Lists recipes with the bbappends that apply to them as subitems.
if self.show_appends_for_pn(pn, cooker_data, args.mc):
appends = True
- if not args.pnspec and self.show_appends_for_skipped():
+ if not args.pnspec and self.show_appends_for_skipped(args.mc):
appends = True
if not appends:
@@ -317,9 +318,9 @@ Lists recipes with the bbappends that apply to them as subitems.
return self.show_appends_output(filenames, best_filename)
- def show_appends_for_skipped(self):
+ def show_appends_for_skipped(self, mc):
filenames = [os.path.basename(f)
- for f in self.tinfoil.cooker.skiplist.keys()]
+ for f in self.tinfoil.cooker.skiplist_by_mc[mc].keys()]
return self.show_appends_output(filenames, None, " (skipped)")
def show_appends_output(self, filenames, best_filename, name_suffix = ''):
diff --git a/poky/bitbake/lib/hashserv/tests.py b/poky/bitbake/lib/hashserv/tests.py
index 5349cd5867..ed1ade749c 100644
--- a/poky/bitbake/lib/hashserv/tests.py
+++ b/poky/bitbake/lib/hashserv/tests.py
@@ -11,7 +11,7 @@ from bb.asyncrpc import InvokeError
from .client import ClientPool
import hashlib
import logging
-import multiprocessing
+from bb import multiprocessing
import os
import sys
import tempfile
diff --git a/poky/bitbake/lib/toaster/tests/builds/buildtest.py b/poky/bitbake/lib/toaster/tests/builds/buildtest.py
index cacfccd4d3..e54d561334 100644
--- a/poky/bitbake/lib/toaster/tests/builds/buildtest.py
+++ b/poky/bitbake/lib/toaster/tests/builds/buildtest.py
@@ -128,7 +128,7 @@ class BuildTest(unittest.TestCase):
if os.environ.get("TOASTER_TEST_USE_SSTATE_MIRROR"):
ProjectVariable.objects.get_or_create(
name="SSTATE_MIRRORS",
- value="file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH",
+ value="file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH",
project=project)
ProjectTarget.objects.create(project=project,