diff options
| author | Andrew Geissler <geissonator@yahoo.com> | 2025-11-03 19:09:31 +0300 |
|---|---|---|
| committer | Andrew Geissler <geissonator@yahoo.com> | 2025-11-03 22:31:57 +0300 |
| commit | 6cb7f76381dbeb50bbf963f9192344f02d985637 (patch) | |
| tree | e194737ad2b6c562f463cc7a22116ef4aebd1232 /poky/bitbake/lib/bb | |
| parent | 1f52643312f6f67537eb27bef9156e8b8bc66040 (diff) | |
| download | openbmc-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/lib/bb')
29 files changed, 290 insertions, 259 deletions
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) |
