summaryrefslogtreecommitdiff
path: root/poky/bitbake/lib
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2024-07-12 00:47:55 +0300
committerPatrick Williams <patrick@stwcx.xyz>2024-07-12 17:50:03 +0300
commit1f52643312f6f67537eb27bef9156e8b8bc66040 (patch)
tree414305d3bae0fc73d9d87db668e0bd0d60ab46b8 /poky/bitbake/lib
parentbdf952eeb3a133bf83dc181c254ad183777e556a (diff)
downloadopenbmc-scarthgap.tar.xz
subtree updatesscarthgap
meta-openembedded: 4958bfe013..78a14731cf: Alex Kiernan (1): mdns: Upgrade 2200.80.16 -> 2200.100.94.0.2 Alexander Kanavin (2): vlc: do not depend on mpeg2dec libgweather: fix build with gobject-introspection 1.80.0 Alexander Vickberg (2): Revert "nng: upgrade 1.5.2 -> 12" nng: upgrade 1.5.2 -> 1.7.3 Andre Paiusco (1): ydotool: Add new package Archana Polampalli (1): nodejs: upgrade 20.11.1 -> 20.12.2 Armin Kuster (1): meta-openemnedded: Add myself as scarthgap maintainer Bartosz Golaszewski (1): libgpiod: update to v2.1.2 Beniamin Sandu (7): mbedtls: upgrade 3.5.2 -> 3.6.0 mbedtls: upgrade 2.28.7 -> 2.28.8 unbound: upgrade 1.19.1 -> 1.19.3 libtorrent: remove CVE mention libtorrent-rasterbar: add initial recipe for 2.0.10 libtorrent: remove incorrect CVE mapping libtorrent-rasterbar: fix CVE mapping Chad Rockey (1): cppzmq-dev expects /usr/lib/libzmq.a Changqing Li (3): nodejs: don't always disable io_uring fuse3: remove sysv init script and install fuse kernel module explictly python3-grpcio: fix do_compile failure for qemuppc64/qemuppc Dan McGregor (3): dash: correct licence libfido2: new recipe libcbor: use shared libraries Eero Aaltonen (2): docopt.cpp: turn boost to a PACKAGECONFIG option docopt.cpp: add support for native and nativesdk Electric Worry (1): meta-python: missing closing brace Etienne Cordonnier (1): uutils-coreutils: upgrade 0.0.24 -> 0.0.25 Fathi Boudra (1): composefs: add a new recipe Geoff Parker (2): python3-tornado: extend for native and nativesdk python3-pycurl: extend for native and nativesdk Gerard Salvatella (1): libwebsockets: fix buildpath warnings Guðni Már Gilbert (11): python3-ecdsa: remove python3-pbr python3-ecdsa: cleanup DEPENDS python3-ecdsa: upgrade 0.18.0 -> 0.19.0 python3-twisted: cleanup FILES and recipe in general python3-twisted: upgrade 22.10.0 -> 24.3.0 python3-incremental: cleanup RDEPENDS and use python_setuptools_build_meta python3-txdbus: cleanup RDEPENDS python3-pyhamcrest: cleanup RDEPENDS and correct build backend python3-protobuf: drop python3-six from RDEPENDS python3-twisted: prepend split PACKAGES python3-twisted: remove obsolete python3-twisted-flow Hitendra Prajapati (1): tcpdump: fix CVE-2024-2397 Jaeyoon Jung (1): lvgl: Set resolution prior to buffer Jan Luebbe (1): Add class for appending dm-verity hash data to block device images Justin Bronder (2): python3-colorlog: BBCLASEXTEND native nativesdk python3-gcovr: add dep on python3-colorlog Kai Kang (1): daq: fix incompatible pointer type error Khem Raj (35): microsoft-gsl: Disable disabled-macro-expansion warning as error on clang/musl meta-python-image-ptest: Use 2G RAM for some demanding tests python3-pydbus: Add bash dependency for ptests highway,libjxl: Remove -mfp16-format=ieee when using clang compiler python3-pydantic-core: Enable benchmark tests python3-pydbus: Fix typo in ptest package name python3-netaddr: Ignore failing tests on musl python3-pydantic: Ignore failing testcases python3-pydantic-core: Skip failing ptests python3-whoosh: Fix an intermittent ptest python3-pyzmq: Fix ptests Revert "libqmi: upgrade 1.34.0 -> 1.35.2" Revert "libmbim: upgrade 1.30.0 -> 1.31.2" nftables: Fix ptest runs python3-flexparser,python3-flexcache: Add recipes python3-pint: Switch to using github SRC_URI libxml++: Delete recipe for 2.42.1 jemalloc: Update to tip of dev branch libteam: Add missing dependencies revealed by ptests oprofile: Fix failing ptests ptest-packagelists-meta-oe: jemalloc and oprofile are passing now ostree: Add missing dependencies for ptests unixodbc: Upgrade to 2.3.12 pv: Fix ptest failures unixodbc: Enable UTF8 init psqlodbc: Fix ptests python3-websockets: Remove recipe freediameter: Upgrade to latest on master 1.5.0+ Revert "libtorrent: remove CVE mention" python3-traitlets: Upgrade to 5.14.3 sdbus-c++: Fix build and upgrade to latest git ydotool: Do not package systemd unit files on non-systemd distros fwupd: Upgrade to 1.9.18 release Revert "nautilus: update 45.1 -> 46.1" pcapplusplus: Fix build with gcc14 Markus Volk (30): apache2: preset mpm=prefork by default gnome-user-share: add recipe gnome-control-center: update 46.0 -> 46.0.1 gdm: update 45.0.1 -> 46.0 gnome-user-share: remove hardcoded paths ghex: update 45.1 -> 46.0 libjxl: add recipe gnome-backgrounds: add runtime depenency for libjxl highway: add recipe webkitgtk3: update 2.42.5 -> 2.44.0 gnome-control-center: restore Upstream-Status line dav1d: update 1.4.0 -> 1.4.1 edid-decode: allow to build native variant pipewire: update 1.0.4 -> 1.0.5 wireplumber: update 0.5.0 -> 0.5.1 gnome-shell: update 46.0 -> 46.1 mutter: update 46.0 -> 46.1 xdg-desktop-portal-gnome: update 46.0 -> 46.1 gnome-calendar: update 46.0 -> 46.1 gnome-shell-extensions: update 46.0 -> 46.1 spice-gtk: use hwdata instead of usbids spice-gtk: add PACKAGECONFIG for webdav gnome-remote-desktop: update 46.0 -> 46.1 gnome-control-center: update 46.0.1 -> 46.1 gupnp: fix reproducibility issue gssdp: fix a reproducibility issue rygel: update 0.42.4 -> 0.42.5 networkmanager: fix gir build nautilus: update 45.1 -> 46.1 flatpak: update 1.15.6 -> 1.15.8 Martin Hundebøll (1): nodejs-oe-cache: fix offline install of dependencies Martin Jansa (7): gtkmm4: add x11 to REQUIRED_DISTRO_FEATURES libjxl: drop -mfp16-format=ieee freediameter: fix dependency from libidn to libidn2 gst-instruments: enable ui PACKAGECONFIG only with GTK3DISTROFEATURES aravis: fix LICENSE and enable viewer PACKAGECONFIG only with GTK3DISTROFEATURES libdeflate: fix build with -mcpu=cortex-a76+crypto without -march=armv8.2-a+crypto libwebsockets: remove STAGING_LIBDIR with / Maxim Perevozchikov (1): nginx: Disable login for www user Mikko Rapeli (1): fwupd: fix uefi capsule update build error Mingli Yu (2): c-ares: Improve the ptest output msgraph: Add opengl to REQUIRED_DISTRO_FEATURES Ninette Adhikari (5): st: Update status for CVE-2017-16224 procmail: Update status for CVE-1999-0475 mpd: Update status for CVE-2020-7465 and CVE-2020-7466 sthttpd: Update status for CVE-2017-10671 open-vm-tools: Update status for CVE-2014-4199 and CVE-2014-4200 Perceval Arenou (1): aravis: new recipe Peter Hoyes (2): python3-networkx: Add BBCLASSEXTEND for native and nativesdk python3-decorator: Add BBCLASSEXTEND for native and nativesdk Peter Kjellerstedt (1): libnice: Update to 0.1.22 Peter Marko (9): syslog-ng: fix build without ipv6 in distro features autoconf-2.13-native_2.13: replace oldincludedir waf-samba: replace oldincludedir soci: update build options gnome-shell: correct regression with glib-2.0 2.78.5 re2: remove dev dependencies from main package re2: rework solibs handling jemalloc: add +git to version cjson: fix buildpath warnings Randolph Sapp (1): vulkan-cts: add workaround for createMeshShaderMiscTestsEXT Randy MacLeod (5): ncftp: Upgrade to 3.2.7 pimd: switch SRC_URI to https tnftp: switch the SRC_URI to https postfix: switch SRC_URI to http libmad: switch links/SRC_URI to https sites Robert Yang (1): freeradius: 3.0.26 -> 3.2.3 Ross Burton (2): yajl: set correct homepage renderdoc: remove vim-native DEPENDS Rui Costa (2): avro: add recipe for c++ avro: extend avro-c++ to native and nativesdk Scott Murray (1): abseil-cpp: backport RISC-V fix Siddharth Doshi (1): nano: Security fix for CVE-2024-5742 Soumya Sambu (4): apache2: Upgrade v2.4.58 -> v2.4.59 php: Upgrade to 8.2.18 unixodbc: Fix CVE-2024-1013 php: Upgrade to 8.2.20 Stanislav Angelovic (1): chore(sdbus-c++): upgrade to 2.0.0 release Tim Orling (1): liberror-perl: move recipe from oe-core Tom Geelen (7): python3-casttube: upgrade 0.2.0 -> 0.2.1 python3-sqlalchemy: upgrade 2.0.25 --> 2.0.27 python3-charset-normalizer: add native build option to recipe python3-chromecast: upgrade 13.1.0 -> 14.0.0 python3-pychromecast: upgrade 14.0.0 -> 14.0.1 python3-zeroconf: upgrade 0.131.0 -> 0.132.0 python3-sqlalchemy: upgrade 2.0.27 -> 2.0.29 Tomasz Żyjewski (1): python: python-libusb1: add recipe Vijay Anusuri (2): c-ares: Update SRC tarball path tipcutils: Add systemd support Wang Mingyu (111): gjs: upgrade 1.80.0 -> 1.80.2 gnome-backgrounds: upgrade 45.0 -> 46.0 gnome-font-viewer: upgrade 45.0 -> 46.0 libblockdev: upgrade 3.1.0 -> 3.1.1 libdeflate: upgrade 1.19 -> 1.20 libmbim: upgrade 1.30.0 -> 1.31.2 libqmi: upgrade 1.34.0 -> 1.35.2 libtommath: upgrade 1.2.1 -> 1.3.0 mcelog: upgrade 197 -> 198 metacity: upgrade 3.50.0 -> 3.52.0 python3-asgiref: upgrade 3.7.2 -> 3.8.1 python3-blivet: upgrade 3.9.1 -> 3.9.2 python3-cassandra-driver: upgrade 3.29.0 -> 3.29.1 python3-djangorestframework: upgrade 3.14.0 -> 3.15.1 python3-eth-rlp: upgrade 2.0.0 -> 2.1.0 python3-eventlet: upgrade 0.35.2 -> 0.36.1 python3-filelock: upgrade 3.13.1 -> 3.13.3 python3-flask-marshmallow: upgrade 1.2.0 -> 1.2.1 python3-flatbuffers: upgrade 24.3.7 -> 24.3.25 python3-google-api-core: upgrade 2.17.1 -> 2.18.0 python3-google-api-python-client: upgrade 2.122.0 -> 2.124.0 python3-google-auth: upgrade 2.28.2 -> 2.29.0 python3-graphviz: upgrade 0.20.1 -> 0.20.3 python3-gspread: upgrade 6.0.2 -> 6.1.0 python3-jdatetime: upgrade 4.1.1 -> 5.0.0 python3-pdm: upgrade 2.12.4 -> 2.13.2 python3-pyasn1-modules: upgrade 0.3.0 -> 0.4.0 python3-pymisp: upgrade 2.4.187 -> 2.4.188 python3-pytest-asyncio: upgrade 0.23.5 -> 0.23.6 python3-pytest-cov: upgrade 4.1.0 -> 5.0.0 python3-pytest-lazy-fixtures: upgrade 1.0.6 -> 1.0.7 python3-pywbem: upgrade 1.6.2 -> 1.6.3 python3-pywbemtools: upgrade 1.2.0 -> 1.2.1 python3-pyzstd: upgrade 0.15.9 -> 0.15.10 python3-requests-oauthlib: upgrade 1.4.0 -> 2.0.0 python3-sentry-sdk: upgrade 1.42.0 -> 1.44.0 python3-socketio: upgrade 5.11.1 -> 5.11.2 python3-thrift: upgrade 0.16.0 -> 0.20.0 python3-tox: upgrade 4.14.1 -> 4.14.2 python3-web3: upgrade 6.15.1 -> 6.16.0 st: upgrade 0.9 -> 0.9.1 thingsboard-gateway: upgrade 3.4.5 -> 3.4.6 thrift: upgrade 0.19.0 -> 0.20.0 tracker-miners: upgrade 3.7.0 -> 3.7.1 tracker: upgrade 3.7.0 -> 3.7.1 wireshark: upgrade 4.2.3 -> 4.2.4 wolfssl: upgrade 5.6.6 -> 5.7.0 abseil-cpp: upgrade 20240116.1 -> 20240116.2 adw-gtk3: upgrade 5.2 -> 5.3 bindfs: upgrade 1.17.6 -> 1.17.7 cryptsetup: upgrade 2.7.1 -> 2.7.2 file-roller: upgrade 44.0 -> 44.1 gnome-online-accounts: upgrade 3.50.0 -> 3.50.1 gnome-text-editor: upgrade 46.0 -> 46.1 gtkwave: upgrade 3.3.117 -> 3.3.119 hwdata: upgrade 0.380 -> 0.381 libbpf: upgrade 1.3.0 -> 1.4.0 libcrypt-openssl-random-perl: upgrade 0.15 -> 0.16 libopus: upgrade 1.5.1 -> 1.5.2 makedumpfile: upgrade 1.7.4 -> 1.7.5 opensc: upgrade 0.25.0 -> 0.25.1 python3-aiodns: upgrade 3.1.1 -> 3.2.0 python3-aiohttp: upgrade 3.9.3 -> 3.9.4 python3-cbor2: upgrade 5.6.2 -> 5.6.3 python3-django: upgrade 5.0.3 -> 5.0.4 python3-eth-abi: upgrade 5.0.1 -> 5.1.0 python3-eth-account: upgrade 0.11.0 -> 0.12.1 python3-eth-typing: upgrade 4.0.0 -> 4.1.0 python3-execnet: upgrade 2.0.2 -> 2.1.1 python3-filelock: upgrade 3.13.3 -> 3.13.4 python3-google-api-python-client: upgrade 2.124.0 -> 2.125.0 python3-ipython: upgrade 8.22.2 -> 8.23.0 python3-javaobj-py3: upgrade 0.4.3 -> 0.4.4 python3-joblib: upgrade 1.3.2 -> 1.4.0 python3-parso: upgrade 0.8.3 -> 0.8.4 python3-path: upgrade 16.10.0 -> 16.14.0 python3-pdm: upgrade 2.13.2 -> 2.14.0 python3-pulsectl: upgrade 23.5.2 -> 24.4.0 python3-pydantic: upgrade 2.6.4 -> 2.7.0 python3-pymodbus: upgrade 3.6.6 -> 3.6.7 python3-rarfile: upgrade 4.1 -> 4.2 python3-send2trash: upgrade 1.8.2 -> 1.8.3 python3-sentry-sdk: upgrade 1.44.0 -> 1.45.0 python3-validators: upgrade 0.24.0 -> 0.28.0 python3-web3: upgrade 6.16.0 -> 6.17.0 python3-zopeinterface: upgrade 6.2 -> 6.3 rdma-core: upgrade 50.0 -> 51.0 sngrep: upgrade 1.8.0 -> 1.8.1 squid: upgrade 6.8 -> 6.9 st: upgrade 0.9.1 -> 0.9.2 tcsh: upgrade 6.24.11 -> 6.24.12 toybox: upgrade 0.8.10 -> 0.8.11 webkitgtk3: upgrade 2.44.0 -> 2.44.1 xmlsec1: upgrade 1.3.3 -> 1.3.4 asio: upgrade 1.28.0 -> 1.30.2 gensio: upgrade 2.8.3 -> 2.8.4 mpich: upgrade 4.2.0 -> 4.2.1 openfortivpn: upgrade 1.21.0 -> 1.22.0 python3-argcomplete: upgrade 3.2.3 -> 3.3.0 python3-croniter: upgrade 2.0.3 -> 2.0.5 python3-grpcio-tools: upgrade 1.62.1 -> 1.62.2 python3-grpcio: upgrade 1.62.1 -> 1.62.2 python3-pycups: upgrade 2.0.1 -> 2.0.4 python3-pymisp: upgrade 2.4.188 -> 2.4.190 python3-pywbem: upgrade 1.6.3 -> 1.7.2 python3-pywbemtools: upgrade 1.2.1 -> 1.3.0 python3-regex: upgrade 2023.12.25 -> 2024.4.16 python3-yamlloader: upgrade 1.3.2 -> 1.4.1 sanlock: upgrade 3.9.1 -> 3.9.2 postgresql: upgrade 16.2 -> 16.3 uriparser: upgrade 0.9.7 -> 0.9.8 William Lyu (3): nftables: Fix ptest output format issues nftables: Fix ShellCheck violations in ptest wrapper script "run-ptest" nftables: Fix failed ptest testcases Xiangyu Chen (1): libgpiod: fix QA error in ptest RDEPENDS Yi Zhao (6): rocksdb: fix build error for DEBUG_BUILD rocksdb: fix build error for multilib libdaq: update to latest stable version 3.0.14 snort3: update to latest stable version 3.1.84.0 libtevent: upgrade 0.16.0 -> 0.16.1 samba: upgrade 4.19.5 -> 4.19.6 Yoann Congal (3): reproducibility: move repro excludes from AB config.json to meta-oe squid: workaround a build failure with native gcc10 libfido2: remove non-functional native and nativesdk BBCLASSEXTEND Yongchang Qiao (1): packagegroup-meta-filesystems: Fix utils typo Zhang Peng (1): hiredis: change ptest output format alperak (11): python3-validators: upgrade 0.22.0 > 0.24.0 and enable ptest python3-pydbus: Drop ${PYTHON_PN} python3-bleak: enable ptest and add missing runtime dependency python3-pillow: Upgrade 10.1.0 -> 10.3.0 and fix ptest python3-flexcache: enable ptest python3-flexparser: enable ptest and add missing runtime dependencies python3-flexcache: add missing runtime dependencies libcoap: fix CVE-2024-0962 python3-ecdsa: enable ptest and add missing runtime dependency Use PYTHON_SITEPACKAGES_DIR instead of hard-coded site-packages directory path python3-scrypt: Move from PTESTS_PROBLEMS_META_PYTHON to PTESTS_SLOW_META_PYTHON gr embeter (1): python3-pytest-html: add missing runtime dependencies maffan (1): networkd-dispatcher: Add dependency on python3-json nikhil (1): giflib: upgrade to version 5.2.2 meta-security: d1522af21d..11ea91192d: Wang Mingyu (1): lynis: upgrade 3.0.9 -> 3.1.1 Yi Zhao (2): ibmswtpm2: upgrade 164-2020-192.1 -> 183-2024-03-27 ibmtpm2tss: upgrade 1661 -> 2.2.0 meta-raspberrypi: 1879cb831f..1918a27419: Martin Jansa (2): linux: drop unused rpi4-64-kernel-misc.cfg linux: drop unused 5.15 version Matthias Klein (1): linux-firmware-rpidistro: Fix wireless on model Zero 2 W Tim Orling (3): layer.conf: rpi5 recommends lts-u-boot-mixin u-boot: re-enable rapsberrypi5 raspberrypi5.conf: Fix KERNEL_IMAGETYPE_UBOOT alperak (1): rpi-cmdline: Fix being renamed of network interfaces poky: a88251b3e7..ca27724b44: Adithya Balakumar (1): wic/partition.py: Set hash_seed for empty ext partition Adriaan Schmidt (1): libcgroup_3.1.0: fix build on non-systemd systems Alexander Kanavin (13): icu: update 74-1 -> 74-2 rpm: update 4.19.1 -> 4.19.1.1 scripts/oe-setup-build: write a build environment initialization one-liner into the build directory documentation/poky.yaml.in: drop mesa/sdl from essential host packages libtraceevent: submit meson.patch upstream serf: mark patch as inappropriate for upstream submission kea: remove unnecessary reproducibility patch expect: mark patches as Inactive-Upstream apr: submit 0001-Add-option-to-disable-timed-dependant-tests.patch upstream busybox: submit CVE-2022-28391 patches upstream xinput-calibrator: mark upstream as inactive in a patch bash: mark build-tests.patch as Inappropriate icu: add upstream submission links for fix-install-manx.patch Alexandre Truong (2): oeqa/selftest/devtool: fix _test_devtool_add_git_url Revert "oeqa/selftest/devtool: fix test_devtool_add_git_style2" Anton Almqvist (1): devtool: modify: Catch git submodule error for go code Antonin Godard (1): devtool: ide-sdk: correct help typo Archana Polampalli (6): ghostscript: fix CVE-2024-33870 ghostscript: fix CVE-2024-33869 ghostscript: fix CVE-2024-33871 ghostscript: fix CVE-2024-29510 xserver-xorg: upgrade 21.1.11 -> 21.1.12 gstreamer: upgrade 1.22.11 -> 1.22.12 Bruce Ashfield (20): linux-yocto/6.6: update to v6.6.24 linux-yocto/6.6: update CVE exclusions (6.6.24) linux-yocto/6.6: update to v6.6.25 linux-yocto/6.6: update CVE exclusions (6.6.25) linux-yocto/6.6: nft: enable veth linux-yocto/6.6: update to v6.6.27 linux-yocto/6.6: update CVE exclusions (6.6.27) linux-yocto/6.6: cfg: drop obselete options linux-yocto/6.6: update to v6.6.28 linux-yocto/6.6: update CVE exclusions (6.6.28) linux-yocto/6.6: update to v6.6.29 linux-yocto/6.6: update CVE exclusions (6.6.29) linux-yocto/6.6: fix kselftest failures linux-yocto/6.6: update to v6.6.30 linux-yocto/6.6: intel configuration changes linux-yocto/6.6: update to v6.6.32 linux-yocto/6.6: cfg: introduce Intel NPU fragment linux-yocto/6.6: update to v6.6.34 linux-yocto/6.6: update to v6.6.35 linux-yocto/6.6: fix AMD boot trace Changqing Li (1): ptest-runner: Bump to 2.4.4 (95f528c) Christian Bräuner Sørensen (1): systemd: sed ROOT_HOME only if sysusers PACKAGECONFIG is set Deepthi Hemraj (2): gcc : upgrade to v13.3 llvm: Fix CVE-2024-0151 Dmitry Baryshkov (2): ffmpeg: backport patches to use new Vulkan AV1 codec API ffmpeg: backport patch to fix errors with GCC 14 Felix Nilsson (1): base-files: profile: fix error sh: 1: unknown operand Guðni Már Gilbert (4): python3-requests: cleanup RDEPENDS python3-setuptools: drop python3-2to3 from RDEPENDS python3-bcrypt: drop python3-six from RDEPENDS python3-pyopenssl: drop python3-six from RDEPENDS Heiko (1): kernel.bbclass: check, if directory exists before removing empty module directory Hitendra Prajapati (1): QEMU: Fix CVE-2024-3446 & CVE-2024-3567 Jonas Gorski (1): linuxloader: add -armhf on arm only for TARGET_FPU 'hard' Jose Quaresma (6): go: Drop the linkmode completely Revert "goarch: disable dynamic linking globally" go: upgrade 1.22.2 -> 1.22.3 go: upgrade 1.22.3 -> 1.22.4 go: drop the old 1.4 bootstrap C version openssh: fix CVE-2024-6387 Joshua Watt (3): bitbake: bb: Use namedtuple for Task data bitbake: hashserv: client: Add batch stream API bitbake: siggen: Enable batching of unihash queries Julien Stephan (3): devtool: standard: update-recipe/finish: fix update localfile in another layer oeqa/selftest/devtool: add test for updating local files into another layer oeqa: selftest: context: run tests serially if testtools/subunit modules are not found Kai Kang (1): webkitgtk: 2.44.0 -> 2.44.1 Khem Raj (12): llvm: Upgrade to 18.1.4 llvm: Upgrade to 18.1.5 llvm: Switch to using release tarballs oeqa/postactions: Do not use -l option with df kea: Remove -fvisibility-inlines-hidden from C++ flags consolekit: Disable incompatible-pointer-types warning as error gtk4: Disable int-conversion warning as error ltp: Fix build with GCC-14 iproute2: Fix build with GCC-14 zip: Fix build with gcc-14 kexec-tools: Fix build with GCC-14 on musl pcmanfm: Disable incompatible-pointer-types warning as error Lee Chee Yang (3): release-notes-5.0: update recipes changes migration-notes: add release notes for 4.0.18 release-notes-5.0: update Repositories / Downloads section Lei Maohui (1): run-postinsts.service: Removed --no-reload to fix reload warning when users execute systemctl in the first boot. Marc Ferland (1): libinput: fix building with debug-gui option Marek Vasut (1): gstreamer1.0-plugins-good: Include qttools-native during the build with qt5 PACKAGECONFIG Mark Hatle (3): sstate.bbclass: Add _SSTATE_EXCLUDEDEPS_SYSROOT to vardepsexclude gcc: Fix for CVE-2024-0151 binutils: Fix aarch64 disassembly abort Martin Hundeb?ll (1): classes: image_types: quote variable assignment needed by dash Martin Hundebøll (1): classes: image_types: apply EXTRA_IMAGECMD:squashfs* in oe_mksquashfs() Martin Jansa (7): expect: ignore various issues now fatal with gcc-14 libunwind: ignore various issues now fatal with gcc-14 p11-kit: ignore various issues fatal with gcc-14 (for 32bit MACHINEs) lrzsz connman-gnome libfm: ignore various issues fatal with gcc-14 cdrtools-native: fix build with gcc-14 db: ignore implicit-int and implicit-function-declaration issues fatal with gcc-14 rng-tools: ignore incompatible-pointer-types errors for now Maxin B. John (1): iproute2: drop obsolete patch Michael Glembotzki (1): rootfs-postcommands.bbclass: Only set DROPBEAR_RSAKEY_DIR once Michael Halstead (2): docs: add support for scarthgap 5.0 release yocto-uninative: Update to 4.5 for gcc 14 Michael Opdenacker (2): manuals: standards.md5: add standard for project names ref-manual: update releases.svg Mingli Yu (2): ncurses: Fix CVE-2023-50495 ruby: Fix CVE-2023-36617 Ola x Nilsson (1): oeqa/selftest/devtool: add test for modifying recipes using go.bbclass Paul Eggleton (2): ref-manual: variables: add USERADD_DEPENDS release-notes: add a few more new features Peter Marko (8): openssl: patch CVE-2024-4603 glib-2.0: Upgrade 2.78.4 -> 2.78.5 glib-2.0: Upgrade 2.78.5 -> 2.78.6 glibc: Update to latest on stable 2.39 branch glibc: Update to latest on stable 2.39 branch glibc: correct license ttyrun: define CVE_PRODUCT update-rc.d: add +git to PV Philip Lorenz (2): lib/package_manager/ipk: Do not hardcode payload compression algorithm ipk: Fix clean up of extracted IPK payload Poonam Jadhav (1): ppp: Add RSA-MD in LICENSE Quentin Schulz (1): docs: brief-yoctoprojectqs: explicit version dependency on websockets python module Ralph Siemsen (1): uboot-sign: fix loop in do_uboot_assemble_fitimage Rasmus Villemoes (1): git: set --with-gitconfig=/etc/gitconfig for -native builds Ricardo Simoes (1): libusb1: Set CVE_PRODUCT Richard Purdie (21): buildtools-tarball: Add python3-pip build-appliance-image: Update to scarthgap head revision curl: Backport patch to fix buildtools issues build-appliance-image: Update to scarthgap head revision local.conf.sample: Fix hashequivalence server address brief-yoctoprojectqs: Update to the correct hash equivalence server address bitbake: parse: Improve/fix cache invalidation via mtime bitbake: runqueue: Add timing warnings around slow loops bitbake: runqueue: Allow rehash loop to exit in case of interrupts bitbake: runqueue: Process unihashes in parallel at init bitbake: runqueue: Improve rehash get_unihash parallelism bitbake: tests/fetch: Tweak test to match upstream repo url change oeqa/sdk/assimp: Upgrade and fix for gcc 14 gcc-runtime: libgomp fix for gcc 14 warnings with mandb selftest bitbake: tests/fetch: Tweak to work on Fedora40 bitbake: fetch2/wget: Fix failure path for files that are empty or don't exist maintainers: Drop go-native as recipe removed linux-yocto-custom: Fix comment override syntax python3-jinja2: Upgrade 3.1.3 -> 3.1.4 oeqa/selftest/recipetool: Fix for usrmerge in DISTRO_FEATURES oeqa/selftest/devtool: Fix for usrmerge in DISTRO_FEATURES Robert Joslyn (1): libgloss: Do not apply non-existent patch Ross Burton (12): lib/oe/package-manager: allow including self in create_packages_dir selftest/classes: add localpkgfeed class oeqa/selftest/debuginfod: use localpkgfeed to speed server startup gdk-pixbuf: upgrade 2.42.11 -> 2.42.12 procps: fix build with new glibc but old kernel headers oeqa/sdkext/devtool: replace use of librdfa gawk: fix readline detection expect: fix configure with GCC 14 libxcrypt: correct the check for a working libucontext.h bash: fix configure checks that fail with GCC 14.1 insane: handle dangling symlinks in the libdir QA check curl: locale-base-en-us isn't glibc-specific Rudolf J Streif (1): bitbake: fetch2/wget: Canonicalize DL_DIR paths for wget2 compatibility Siddharth (1): openssl: Upgrade 3.2.1 -> 3.2.2 Siddharth Doshi (3): cups: Upgrade 2.4.7 -> 2.4.9 libxml2: Upgrade 2.12.6 -> 2.12.8 OpenSSL: Security fix for CVE-2024-5535 Soumya Sambu (3): ncurses: Fix CVE-2023-45918 util-linux: Fix CVE-2024-28085 git: upgrade 2.44.0 -> 2.44.1 Steve Sakoman (5): poky.conf: bump version for 5.0.1 build-appliance-image: Update to scarthgap head revision build-appliance-image: Update to scarthgap head revision poky.conf: bump version for 5.0.2 build-appliance-image: Update to scarthgap head revision Sundeep KOKKONDA (1): binutils: stable 2.42 branch updates Sven Schwermer (3): recipetool: Handle unclean response in go resolver recipetool: Handle several go-import tags in go resolver bitbake: fetch2/gcp: Add missing runfetchcmd import Trevor Gamblin (3): python3: skip test_concurrent_futures/test_shutdown patchtest: test_metadata: fix invalid escape sequences python3: upgrade 3.12.3 -> 3.12.4 Vijay Anusuri (1): wget: Fix for CVE-2024-38428 Vincent Kriek (1): devtool: sync: Fix Execution error Wang Mingyu (20): gcr: upgrade 4.2.0 -> 4.2.1 libsdl2: upgrade 2.30.0 -> 2.30.1 libxcursor: upgrade 1.2.1 -> 1.2.2 pango: upgrade 1.52.0 -> 1.52.1 bind: upgrade 9.18.24 -> 9.18.25 libxml2: upgrade 2.12.5 -> 2.12.6 mesa: upgrade 24.0.2 -> 24.0.3 babeltrace2: upgrade 2.0.5 -> 2.0.6 ell: upgrade 0.63 -> 0.64 libdnf: upgrade 0.73.0 -> 0.73.1 libx11: upgrade 1.8.7 -> 1.8.9 lttng-tools: upgrade 2.13.11 -> 2.13.13 mpg123: upgrade 1.32.5 -> 1.32.6 llvm: upgrade 18.1.2 -> 18.1.3 gdk-pixbuf: upgrade 2.42.10 -> 2.42.11 cronie: upgrade 1.7.1 -> 1.7.2 lttng-ust: upgrade 2.13.7 -> 2.13.8 taglib: upgrade 2.0 -> 2.0.1 mesa: upgrade 24.0.3 -> 24.0.5 appstream: upgrade 1.0.2 -> 1.0.3 Xiangyu Chen (2): iputils: splitting the ping6 as a package ltp: add iputils-ping6 to RDEPENDS Yi Zhao (1): libpam: fix runtime error in pam_pwhistory moudle Yogita Urade (1): libarchive: upgrade 3.7.2 -> 3.7.4 Zev Weiss (1): bash: Fix file-substitution error-handling bug Zoltan Boszormenyi (2): cracklib: Modify patch to compile with GCC 14 cdrtools-native: Fix build with GCC 14 joshua Watt (4): bitbake: cooker: Use hash client to ping upstream server bitbake: cooker: Handle ImportError for websockets bitbake: siggen/runqueue: Report which dependencies affect the taskhash classes/create-spdx-2.2: Fix SPDX Namespace Prefix meta-arm: 17df9c4ebc..58268ddccb: Abdellatif El Khlifi (5): arm-bsp/external-system: costone1000: install the firmware in the filesystem arm-bsp/u-boot: corstone1000: add external system DTS node arm-bsp/linux-yocto: corstone1000: add external system control support arm-bsp/corstone1000-recovery-image: replace core-image-minimal kas: update the layers SHAs Adam Johnston (1): arm-bsp/corstone1000: Fix RSA key generation issue Ali Can Ozaslan (1): arm-bsp/trusted-firmware-m: corstone1000: fix crypto failure on mps3 Amr Mohamed (3): arm-systemready/linux-distros: Upgrade the Debian version to 12.4 arm-systemready/linux-distros: Upgrade the Debian license arm-systemready/linux-distros: Add a third Linux distribution installation Ben Cownley (1): arm-systemready/linux-distros: Upgrade the openSUSE version to 15.5 Bence Balogh (26): kas: corstone1000: disable multiconfig for firmware builds arm-bsp/corstone1000-flash-firmware-image: add nopt generation arm/uefi_capsule: use U-Boot for capsule generation arm-bsp/documentation: corstone1000: update capsule generation steps arm-bsp/u-boot: corstone1000: update TS RPC protocol arm-bsp/trusted-services:cs1000: fix deployments arm-bsp/trusted-services: rebase corstone1000 patches arm-bsp/trusted-firmware-m: replace OpenAMP with RSE Comms arm-bsp/corstone1000-flash-firmware-image: add nopt generation arm/uefi_capsule: use U-Boot for capsule generation arm-bsp/documentation: corstone1000: update capsule generation steps arm-bsp/corstone1000-flash-firmware-image: fix capsule dependency issue arm-bsp/doc: corstone1000: update A+M communication arm-bsp/trusted-firmware-m: remove OpenAMP and Libmetal arm/trusted-services: remove OpenAMP and Libmetal arm-bsp/trusted-services: corstone1000: fix IAT test arm-bsp/trusted-services: corstone1000: add EFI var handling fixes arm-bsp/trusted-services: corstone1000: add fixes for private auth vars arm-bsp/trusted-firmware-m: corstone1000: increase PS sizes arm-bsp/trusted-services: corstone1000: increase comm buffer size arm-bsp/trusted-firmware-m: corstone1000: increase RSE_COMMS buff size kas: corstone1000: set branch to scarthgap arm-bsp/trusted-firmware-m: corstone1000: remove capsule update reset kas: corstone1000: remove Arm-FVP-EULA flag arm-bsp/documentation: corstone1000: update the boot chain arm-bsp/documentation: corstone1000: improve tests documentation Delane Brandy (1): arm-bsp/corstone1000: update the documentation Drew Reed (6): arm-systemready: Fix regex in arm-systemready-ir-acs recipe arm: Handle nodistro in firmware deployment arm-bsp: corstone1000: Configure Corstone-1000 to use the meta-arm-systemready layer arm-bsp: corstone1000: Make ESP partition available to Corstone-1000 arm-bsp/corstone1000: Update Corstone-1000 user guide ci: Add Corstone-1000 to the SystemReady ACS build Emekcan Aras (6): arm-bsp/u-boot: corstone1000: Change MMCOMM buffer location arm-bsp/trusted-services: corstone1000: Change MM comm buffer location arm-bsp/trusted-firmware-m: corstone1000: Enable host firewall in FVP arm-bsp/trusted-firmware-a: corstone1000: Remove unused NS_SHARED_RAM region kas: corstone1000: include TS and PSA dependency for firmware image build arm-bsp/trusted-firmware-a: corstone1000: fix reset sequence Gyorgy Szing (10): arm/trusted-services: Update FFA TEE driver to v2.0.0 arm/trusted-services: Update TS to v1.0.0 arm/trusted-services: fix MbedTLS build issue arm/trusted-services: fix environment handling arm/devtools/fvp-base-a-aem: update the AEM FVP to 11.25.15 arm-bsp: enable Trusted Services on the fvp-base platform arm-bsp/trusted-services: rebase corstone1000 patches Add support for the TS Firmware Update service arm/trusted-services: update to 2024 April 19 arm/trusted-services: fix oeqa script Harsimran Singh Tungal (3): arm-bsp: corstone1000: Enable SMM gateway authenticated variables arm-bsp/u-boot: corstone1000: Enable UEFI secure boot arm-bsp/documentation: corstone1000: Update user guide for secureboot test Jon Mason (13): arm-bsp/linux: remove kmeta SRCREV SHA Revert "arm-bsp/documentation: corstone1000: update capsule generation steps" Revert "arm/uefi_capsule: use U-Boot for capsule generation" Revert "arm-bsp/corstone1000-flash-firmware-image: add nopt generation" CI: add Yocto Project SSTATE Mirror CI: use scarthgap branch for meta-clang arm/edk2-basetools: add UPSTREAM_CHECK logic arm/boot-wrapper-aarch64: add to fvp-base CI arm/fvp-corstone1000: tweak the versioning arm/fvp-base-a-aem: disable version checking arm/trusted-firmware-a: update to lts-2.10.4 arm/oeqa: increase optee and ftpm test timeouts CI: correct BB_HASHSERVE_UPSTREAM Mikko Rapeli (6): trusted-firmware-a: continue if TPM device is missing optee-os: inrease heap size with fTPM oeqa runtime: add optee.py test oeqa runtime: add ftpm.py test ci/qemuarm64-secureboot.yml: install optee and test both optee and ftpm ci/qemuarm-secureboot.yml: install optee and test both optee and ftpm Ross Burton (23): arm-bsp/sgi575: upgrade trusted-firmware-a to 2.10 arm-bsp/trusted-firmware-a: remove now-unused 2.9.0 recipe arm-bsp/linux-yocto-dev: add bbappend to enable this kernel for our BSPs arm-bsp/fvp-base: improve FVP performance CI: use scarthgap branches arm/classes/wic_nopt: remove unused class arm-bsp/linux-yocto-rt: include linux-arm-platforms unconditionally ci/testimage: don't :append to IMAGE_FEATURES CI: add genericarm64 arm-bsp: add new sbsa-ref machine arm: remove generic-arm64 and qemu-generic-arm64 CI: sort jobs alphabetically CI: show the evaluated KASFILES arm-bsp/u-boot: add optimised timer implementation for fvp-base CI: add Kas schema comments CI: temporarily backport the procps fix external-arm-toolchain: ignore warnings about 32-bit time types CI: remove 32-bit time_t workaround CI: disable ptest in external-gccarm builds arm-systemready/arm-systemready-linux-distros: disable buildhistory CI: build arm-systemready distro images arm/boot-wrapper-aarch64: use https to fetch git source Revert "CI: temporarily backport the procps fix" Ziad Elhanafy (1): arm/oeqa: Enable pexpect profiling for testcase debugging Change-Id: I01f04b6622d62ba2399da50eb3a18877660f7895 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'poky/bitbake/lib')
-rw-r--r--poky/bitbake/lib/bb/__init__.py14
-rw-r--r--poky/bitbake/lib/bb/cooker.py9
-rw-r--r--poky/bitbake/lib/bb/fetch2/gcp.py1
-rw-r--r--poky/bitbake/lib/bb/fetch2/wget.py25
-rw-r--r--poky/bitbake/lib/bb/parse/__init__.py12
-rw-r--r--poky/bitbake/lib/bb/runqueue.py99
-rw-r--r--poky/bitbake/lib/bb/siggen.py11
-rw-r--r--poky/bitbake/lib/bb/tests/fetch.py8
-rw-r--r--poky/bitbake/lib/hashserv/client.py106
-rw-r--r--poky/bitbake/lib/hashserv/tests.py75
10 files changed, 294 insertions, 66 deletions
diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py
index 15013540c2..cdec9e4d6c 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.9.0"
+__version__ = "2.8.0"
import sys
if sys.version_info < (3, 8, 0):
@@ -36,6 +36,7 @@ class BBHandledException(Exception):
import os
import logging
+from collections import namedtuple
class NullHandler(logging.Handler):
@@ -227,3 +228,14 @@ def deprecate_import(current, modulename, fromlist, renames = None):
setattr(sys.modules[current], newname, newobj)
+TaskData = namedtuple("TaskData", [
+ "pn",
+ "taskname",
+ "fn",
+ "deps",
+ "provides",
+ "taskhash",
+ "unihash",
+ "hashfn",
+ "taskhash_deps",
+])
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index c5bfef55d6..6318ef4a8f 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -315,13 +315,13 @@ class BBCooker:
dbfile = (self.data.getVar("PERSISTENT_DIR") or self.data.getVar("CACHE")) + "/hashserv.db"
upstream = self.data.getVar("BB_HASHSERVE_UPSTREAM") or None
if upstream:
- import socket
try:
- sock = socket.create_connection(upstream.split(":"), 5)
- sock.close()
- except socket.error as e:
+ with hashserv.create_client(upstream) as client:
+ client.ping()
+ except (ConnectionError, ImportError) as e:
bb.warn("BB_HASHSERVE_UPSTREAM is not valid, unable to connect hash equivalence server at '%s': %s"
% (upstream, repr(e)))
+ upstream = None
self.hashservaddr = "unix://%s/hashserve.sock" % self.data.getVar("TOPDIR")
self.hashserv = hashserv.create_server(
@@ -1459,7 +1459,6 @@ class BBCooker:
if t in task or getAllTaskSignatures:
try:
- rq.rqdata.prepare_task_hash(tid)
sig.append([pn, t, rq.rqdata.get_task_unihash(tid)])
except KeyError:
sig.append(self.getTaskSignatures(target, [t])[0])
diff --git a/poky/bitbake/lib/bb/fetch2/gcp.py b/poky/bitbake/lib/bb/fetch2/gcp.py
index f40ce2eaa5..eb3e0c6a6b 100644
--- a/poky/bitbake/lib/bb/fetch2/gcp.py
+++ b/poky/bitbake/lib/bb/fetch2/gcp.py
@@ -23,6 +23,7 @@ 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):
"""
diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py
index fbfa6938ac..2e92117634 100644
--- a/poky/bitbake/lib/bb/fetch2/wget.py
+++ b/poky/bitbake/lib/bb/fetch2/wget.py
@@ -108,7 +108,8 @@ class Wget(FetchMethod):
fetchcmd = self.basecmd
- localpath = os.path.join(d.getVar("DL_DIR"), ud.localfile) + ".tmp"
+ dldir = os.path.realpath(d.getVar("DL_DIR"))
+ localpath = os.path.join(dldir, ud.localfile) + ".tmp"
bb.utils.mkdirhier(os.path.dirname(localpath))
fetchcmd += " -O %s" % shlex.quote(localpath)
@@ -128,12 +129,21 @@ class Wget(FetchMethod):
uri = ud.url.split(";")[0]
if os.path.exists(ud.localpath):
# file exists, but we didnt complete it.. trying again..
- fetchcmd += d.expand(" -c -P ${DL_DIR} '%s'" % uri)
+ fetchcmd += " -c -P " + dldir + " '" + uri + "'"
else:
- fetchcmd += d.expand(" -P ${DL_DIR} '%s'" % uri)
+ fetchcmd += " -P " + dldir + " '" + uri + "'"
self._runwget(ud, d, fetchcmd, False)
+ # Sanity check since wget can pretend it succeed when it didn't
+ # Also, this used to happen if sourceforge sent us to the mirror page
+ if not os.path.exists(localpath):
+ raise FetchError("The fetch command returned success for url %s but %s doesn't exist?!" % (uri, localpath), uri)
+
+ if os.path.getsize(localpath) == 0:
+ os.remove(localpath)
+ raise FetchError("The fetch of %s resulted in a zero size file?! Deleting and failing since this isn't right." % (uri), uri)
+
# Try and verify any checksum now, meaning if it isn't correct, we don't remove the
# original file, which might be a race (imagine two recipes referencing the same
# source, one with an incorrect checksum)
@@ -143,15 +153,6 @@ class Wget(FetchMethod):
# Our lock prevents multiple writers but mirroring code may grab incomplete files
os.rename(localpath, localpath[:-4])
- # Sanity check since wget can pretend it succeed when it didn't
- # Also, this used to happen if sourceforge sent us to the mirror page
- if not os.path.exists(ud.localpath):
- raise FetchError("The fetch command returned success for url %s but %s doesn't exist?!" % (uri, ud.localpath), uri)
-
- if os.path.getsize(ud.localpath) == 0:
- os.remove(ud.localpath)
- raise FetchError("The fetch of %s resulted in a zero size file?! Deleting and failing since this isn't right." % (uri), uri)
-
return True
def checkstatus(self, fetch, ud, d, try_again=True):
diff --git a/poky/bitbake/lib/bb/parse/__init__.py b/poky/bitbake/lib/bb/parse/__init__.py
index a4358f1374..7ffdaa6fd7 100644
--- a/poky/bitbake/lib/bb/parse/__init__.py
+++ b/poky/bitbake/lib/bb/parse/__init__.py
@@ -49,20 +49,23 @@ class SkipPackage(SkipRecipe):
__mtime_cache = {}
def cached_mtime(f):
if f not in __mtime_cache:
- __mtime_cache[f] = os.stat(f)[stat.ST_MTIME]
+ res = os.stat(f)
+ __mtime_cache[f] = (res.st_mtime_ns, res.st_size, res.st_ino)
return __mtime_cache[f]
def cached_mtime_noerror(f):
if f not in __mtime_cache:
try:
- __mtime_cache[f] = os.stat(f)[stat.ST_MTIME]
+ res = os.stat(f)
+ __mtime_cache[f] = (res.st_mtime_ns, res.st_size, res.st_ino)
except OSError:
return 0
return __mtime_cache[f]
def check_mtime(f, mtime):
try:
- current_mtime = os.stat(f)[stat.ST_MTIME]
+ res = os.stat(f)
+ current_mtime = (res.st_mtime_ns, res.st_size, res.st_ino)
__mtime_cache[f] = current_mtime
except OSError:
current_mtime = 0
@@ -70,7 +73,8 @@ def check_mtime(f, mtime):
def update_mtime(f):
try:
- __mtime_cache[f] = os.stat(f)[stat.ST_MTIME]
+ res = os.stat(f)
+ __mtime_cache[f] = (res.st_mtime_ns, res.st_size, res.st_ino)
except OSError:
if f in __mtime_cache:
del __mtime_cache[f]
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index bc7e18175d..93079a9776 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -1273,27 +1273,41 @@ class RunQueueData:
bb.parse.siggen.set_setscene_tasks(self.runq_setscene_tids)
+ starttime = time.time()
+ lasttime = starttime
+
# Iterate over the task list and call into the siggen code
dealtwith = set()
todeal = set(self.runtaskentries)
while todeal:
+ ready = set()
for tid in todeal.copy():
if not (self.runtaskentries[tid].depends - dealtwith):
- dealtwith.add(tid)
- todeal.remove(tid)
- self.prepare_task_hash(tid)
- bb.event.check_for_interrupts(self.cooker.data)
+ self.runtaskentries[tid].taskhash_deps = bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches)
+ # get_taskhash for a given tid *must* be called before get_unihash* below
+ self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches)
+ ready.add(tid)
+ unihashes = bb.parse.siggen.get_unihashes(ready)
+ for tid in ready:
+ dealtwith.add(tid)
+ todeal.remove(tid)
+ self.runtaskentries[tid].unihash = unihashes[tid]
+
+ bb.event.check_for_interrupts(self.cooker.data)
+
+ if time.time() > (lasttime + 30):
+ lasttime = time.time()
+ hashequiv_logger.verbose("Initial setup loop progress: %s of %s in %s" % (len(todeal), len(self.runtaskentries), lasttime - starttime))
+
+ endtime = time.time()
+ if (endtime-starttime > 60):
+ hashequiv_logger.verbose("Initial setup loop took: %s" % (endtime-starttime))
bb.parse.siggen.writeout_file_checksum_cache()
#self.dump_data()
return len(self.runtaskentries)
- def prepare_task_hash(self, tid):
- bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches)
- self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches)
- self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid)
-
def dump_data(self):
"""
Dump some debug information on the internal data structures
@@ -2438,14 +2452,17 @@ class RunQueueExecute:
taskdepdata_cache = {}
for task in self.rqdata.runtaskentries:
(mc, fn, taskname, taskfn) = split_tid_mcfn(task)
- pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn]
- deps = self.rqdata.runtaskentries[task].depends
- provides = self.rqdata.dataCaches[mc].fn_provides[taskfn]
- taskhash = self.rqdata.runtaskentries[task].hash
- unihash = self.rqdata.runtaskentries[task].unihash
- deps = self.filtermcdeps(task, mc, deps)
- hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn]
- taskdepdata_cache[task] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn]
+ taskdepdata_cache[task] = bb.TaskData(
+ pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn],
+ taskname = taskname,
+ fn = fn,
+ deps = self.filtermcdeps(task, mc, self.rqdata.runtaskentries[task].depends),
+ provides = self.rqdata.dataCaches[mc].fn_provides[taskfn],
+ taskhash = self.rqdata.runtaskentries[task].hash,
+ unihash = self.rqdata.runtaskentries[task].unihash,
+ hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn],
+ taskhash_deps = self.rqdata.runtaskentries[task].taskhash_deps,
+ )
self.taskdepdata_cache = taskdepdata_cache
@@ -2460,9 +2477,11 @@ class RunQueueExecute:
while next:
additional = []
for revdep in next:
- self.taskdepdata_cache[revdep][6] = self.rqdata.runtaskentries[revdep].unihash
+ self.taskdepdata_cache[revdep] = self.taskdepdata_cache[revdep]._replace(
+ unihash=self.rqdata.runtaskentries[revdep].unihash
+ )
taskdepdata[revdep] = self.taskdepdata_cache[revdep]
- for revdep2 in self.taskdepdata_cache[revdep][3]:
+ for revdep2 in self.taskdepdata_cache[revdep].deps:
if revdep2 not in taskdepdata:
additional.append(revdep2)
next = additional
@@ -2556,17 +2575,28 @@ class RunQueueExecute:
elif self.rqdata.runtaskentries[p].depends.isdisjoint(total):
next.add(p)
+ starttime = time.time()
+ lasttime = starttime
+
# When an item doesn't have dependencies in total, we can process it. Drop items from total when handled
while next:
current = next.copy()
next = set()
+ ready = {}
for tid in current:
if self.rqdata.runtaskentries[p].depends and not self.rqdata.runtaskentries[tid].depends.isdisjoint(total):
continue
+ # get_taskhash for a given tid *must* be called before get_unihash* below
+ ready[tid] = bb.parse.siggen.get_taskhash(tid, self.rqdata.runtaskentries[tid].depends, self.rqdata.dataCaches)
+
+ unihashes = bb.parse.siggen.get_unihashes(ready.keys())
+
+ for tid in ready:
orighash = self.rqdata.runtaskentries[tid].hash
- newhash = bb.parse.siggen.get_taskhash(tid, self.rqdata.runtaskentries[tid].depends, self.rqdata.dataCaches)
+ newhash = ready[tid]
origuni = self.rqdata.runtaskentries[tid].unihash
- newuni = bb.parse.siggen.get_unihash(tid)
+ newuni = unihashes[tid]
+
# FIXME, need to check it can come from sstate at all for determinism?
remapped = False
if newuni == origuni:
@@ -2587,6 +2617,15 @@ class RunQueueExecute:
next |= self.rqdata.runtaskentries[tid].revdeps
total.remove(tid)
next.intersection_update(total)
+ bb.event.check_for_interrupts(self.cooker.data)
+
+ if time.time() > (lasttime + 30):
+ lasttime = time.time()
+ hashequiv_logger.verbose("Rehash loop slow progress: %s in %s" % (len(total), lasttime - starttime))
+
+ endtime = time.time()
+ if (endtime-starttime > 60):
+ hashequiv_logger.verbose("Rehash loop took more than 60s: %s" % (endtime-starttime))
if changed:
for mc in self.rq.worker:
@@ -2806,13 +2845,19 @@ class RunQueueExecute:
additional = []
for revdep in next:
(mc, fn, taskname, taskfn) = split_tid_mcfn(revdep)
- pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn]
deps = getsetscenedeps(revdep)
- provides = self.rqdata.dataCaches[mc].fn_provides[taskfn]
- taskhash = self.rqdata.runtaskentries[revdep].hash
- unihash = self.rqdata.runtaskentries[revdep].unihash
- hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn]
- taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn]
+
+ taskdepdata[revdep] = bb.TaskData(
+ pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn],
+ taskname = taskname,
+ fn = fn,
+ deps = deps,
+ provides = self.rqdata.dataCaches[mc].fn_provides[taskfn],
+ taskhash = self.rqdata.runtaskentries[revdep].hash,
+ unihash = self.rqdata.runtaskentries[revdep].unihash,
+ hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn],
+ taskhash_deps = self.rqdata.runtaskentries[revdep].taskhash_deps,
+ )
for revdep2 in deps:
if revdep2 not in taskdepdata:
additional.append(revdep2)
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index 8ab08ec961..65ca0811d5 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -381,7 +381,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
self.taints[tid] = taint
logger.warning("%s is tainted from a forced run" % tid)
- return
+ return set(dep for _, dep in self.runtaskdeps[tid])
def get_taskhash(self, tid, deps, dataCaches):
@@ -726,10 +726,13 @@ class SignatureGeneratorUniHashMixIn(object):
return result
if self.max_parallel <= 1 or len(queries) <= 1:
- # No parallelism required. Make the query serially with the single client
+ # No parallelism required. Make the query using a single client
with self.client() as client:
- for tid, args in queries.items():
- query_result[tid] = client.get_unihash(*args)
+ keys = list(queries.keys())
+ unihashes = client.get_unihash_batch(queries[k] for k in keys)
+
+ for idx, k in enumerate(keys):
+ query_result[k] = unihashes[idx]
else:
with self.client_pool() as client_pool:
query_result = client_pool.get_unihashes(queries)
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 85c1f79ff3..33cc9bcac6 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -1421,7 +1421,7 @@ class FetchLatestVersionTest(FetcherTest):
# combination version pattern
("sysprof", "git://gitlab.gnome.org/GNOME/sysprof.git;protocol=https;branch=master", "cd44ee6644c3641507fb53b8a2a69137f2971219", "", "")
: "1.2.0",
- ("u-boot-mkimage", "git://git.denx.de/u-boot.git;branch=master;protocol=git", "62c175fbb8a0f9a926c88294ea9f7e88eb898f6c", "", "")
+ ("u-boot-mkimage", "git://source.denx.de/u-boot/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", "", "")
@@ -1511,7 +1511,7 @@ class FetchLatestVersionTest(FetcherTest):
def test_wget_latest_versionstring(self):
testdata = os.path.dirname(os.path.abspath(__file__)) + "/fetch-testdata"
- server = HTTPService(testdata)
+ server = HTTPService(testdata, host="127.0.0.1")
server.start()
port = server.port
try:
@@ -1519,10 +1519,10 @@ class FetchLatestVersionTest(FetcherTest):
self.d.setVar("PN", k[0])
checkuri = ""
if k[2]:
- checkuri = "http://localhost:%s/" % port + k[2]
+ checkuri = "http://127.0.0.1:%s/" % port + k[2]
self.d.setVar("UPSTREAM_CHECK_URI", checkuri)
self.d.setVar("UPSTREAM_CHECK_REGEX", k[3])
- url = "http://localhost:%s/" % port + k[1]
+ url = "http://127.0.0.1:%s/" % port + k[1]
ud = bb.fetch2.FetchData(url, self.d)
pupver = ud.method.latest_versionstring(ud, self.d)
verstring = pupver[0]
diff --git a/poky/bitbake/lib/hashserv/client.py b/poky/bitbake/lib/hashserv/client.py
index 0b254beddd..775faf935a 100644
--- a/poky/bitbake/lib/hashserv/client.py
+++ b/poky/bitbake/lib/hashserv/client.py
@@ -5,6 +5,7 @@
import logging
import socket
+import asyncio
import bb.asyncrpc
import json
from . import create_async_client
@@ -13,6 +14,66 @@ from . import create_async_client
logger = logging.getLogger("hashserv.client")
+class Batch(object):
+ def __init__(self):
+ self.done = False
+ self.cond = asyncio.Condition()
+ self.pending = []
+ self.results = []
+ self.sent_count = 0
+
+ async def recv(self, socket):
+ while True:
+ async with self.cond:
+ await self.cond.wait_for(lambda: self.pending or self.done)
+
+ if not self.pending:
+ if self.done:
+ return
+ continue
+
+ r = await socket.recv()
+ self.results.append(r)
+
+ async with self.cond:
+ self.pending.pop(0)
+
+ async def send(self, socket, msgs):
+ try:
+ # In the event of a restart due to a reconnect, all in-flight
+ # messages need to be resent first to keep to result count in sync
+ for m in self.pending:
+ await socket.send(m)
+
+ for m in msgs:
+ # Add the message to the pending list before attempting to send
+ # it so that if the send fails it will be retried
+ async with self.cond:
+ self.pending.append(m)
+ self.cond.notify()
+ self.sent_count += 1
+
+ await socket.send(m)
+
+ finally:
+ async with self.cond:
+ self.done = True
+ self.cond.notify()
+
+ async def process(self, socket, msgs):
+ await asyncio.gather(
+ self.recv(socket),
+ self.send(socket, msgs),
+ )
+
+ if len(self.results) != self.sent_count:
+ raise ValueError(
+ f"Expected result count {len(self.results)}. Expected {self.sent_count}"
+ )
+
+ return self.results
+
+
class AsyncClient(bb.asyncrpc.AsyncClient):
MODE_NORMAL = 0
MODE_GET_STREAM = 1
@@ -36,11 +97,27 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
if become:
await self.become_user(become)
- async def send_stream(self, mode, msg):
+ async def send_stream_batch(self, mode, msgs):
+ """
+ Does a "batch" process of stream messages. This sends the query
+ messages as fast as possible, and simultaneously attempts to read the
+ messages back. This helps to mitigate the effects of latency to the
+ hash equivalence server be allowing multiple queries to be "in-flight"
+ at once
+
+ The implementation does more complicated tracking using a count of sent
+ messages so that `msgs` can be a generator function (i.e. its length is
+ unknown)
+
+ """
+
+ b = Batch()
+
async def proc():
+ nonlocal b
+
await self._set_mode(mode)
- await self.socket.send(msg)
- return await self.socket.recv()
+ return await b.process(self.socket, msgs)
return await self._send_wrapper(proc)
@@ -89,10 +166,15 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
self.mode = new_mode
async def get_unihash(self, method, taskhash):
- r = await self.send_stream(self.MODE_GET_STREAM, "%s %s" % (method, taskhash))
- if not r:
- return None
- return r
+ r = await self.get_unihash_batch([(method, taskhash)])
+ return r[0]
+
+ async def get_unihash_batch(self, args):
+ result = await self.send_stream_batch(
+ self.MODE_GET_STREAM,
+ (f"{method} {taskhash}" for method, taskhash in args),
+ )
+ return [r if r else None for r in result]
async def report_unihash(self, taskhash, method, outhash, unihash, extra={}):
m = extra.copy()
@@ -115,8 +197,12 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
)
async def unihash_exists(self, unihash):
- r = await self.send_stream(self.MODE_EXIST_STREAM, unihash)
- return r == "true"
+ r = await self.unihash_exists_batch([unihash])
+ return r[0]
+
+ async def unihash_exists_batch(self, unihashes):
+ result = await self.send_stream_batch(self.MODE_EXIST_STREAM, unihashes)
+ return [r == "true" for r in result]
async def get_outhash(self, method, outhash, taskhash, with_unihash=True):
return await self.invoke(
@@ -237,10 +323,12 @@ class Client(bb.asyncrpc.Client):
"connect_tcp",
"connect_websocket",
"get_unihash",
+ "get_unihash_batch",
"report_unihash",
"report_unihash_equiv",
"get_taskhash",
"unihash_exists",
+ "unihash_exists_batch",
"get_outhash",
"get_stats",
"reset_stats",
diff --git a/poky/bitbake/lib/hashserv/tests.py b/poky/bitbake/lib/hashserv/tests.py
index 0809453cf8..5349cd5867 100644
--- a/poky/bitbake/lib/hashserv/tests.py
+++ b/poky/bitbake/lib/hashserv/tests.py
@@ -594,6 +594,43 @@ class HashEquivalenceCommonTests(object):
7: None,
})
+ def test_get_unihash_batch(self):
+ TEST_INPUT = (
+ # taskhash outhash unihash
+ ('8aa96fcffb5831b3c2c0cb75f0431e3f8b20554a', 'afe240a439959ce86f5e322f8c208e1fedefea9e813f2140c81af866cc9edf7e','218e57509998197d570e2c98512d0105985dffc9'),
+ # Duplicated taskhash with multiple output hashes and unihashes.
+ ('8aa96fcffb5831b3c2c0cb75f0431e3f8b20554a', '0904a7fe3dc712d9fd8a74a616ddca2a825a8ee97adf0bd3fc86082c7639914d', 'ae9a7d252735f0dafcdb10e2e02561ca3a47314c'),
+ # Equivalent hash
+ ("044c2ec8aaf480685a00ff6ff49e6162e6ad34e1", '0904a7fe3dc712d9fd8a74a616ddca2a825a8ee97adf0bd3fc86082c7639914d', "def64766090d28f627e816454ed46894bb3aab36"),
+ ("e3da00593d6a7fb435c7e2114976c59c5fd6d561", "1cf8713e645f491eb9c959d20b5cae1c47133a292626dda9b10709857cbe688a", "3b5d3d83f07f259e9086fcb422c855286e18a57d"),
+ ('35788efcb8dfb0a02659d81cf2bfd695fb30faf9', '2765d4a5884be49b28601445c2760c5f21e7e5c0ee2b7e3fce98fd7e5970796f', 'f46d3fbb439bd9b921095da657a4de906510d2cd'),
+ ('35788efcb8dfb0a02659d81cf2bfd695fb30fafa', '2765d4a5884be49b28601445c2760c5f21e7e5c0ee2b7e3fce98fd7e5970796f', 'f46d3fbb439bd9b921095da657a4de906510d2ce'),
+ ('9d81d76242cc7cfaf7bf74b94b9cd2e29324ed74', '8470d56547eea6236d7c81a644ce74670ca0bbda998e13c629ef6bb3f0d60b69', '05d2a63c81e32f0a36542ca677e8ad852365c538'),
+ )
+ EXTRA_QUERIES = (
+ "6b6be7a84ab179b4240c4302518dc3f6",
+ )
+
+ for taskhash, outhash, unihash in TEST_INPUT:
+ self.client.report_unihash(taskhash, self.METHOD, outhash, unihash)
+
+
+ result = self.client.get_unihash_batch(
+ [(self.METHOD, data[0]) for data in TEST_INPUT] +
+ [(self.METHOD, e) for e in EXTRA_QUERIES]
+ )
+
+ self.assertListEqual(result, [
+ "218e57509998197d570e2c98512d0105985dffc9",
+ "218e57509998197d570e2c98512d0105985dffc9",
+ "218e57509998197d570e2c98512d0105985dffc9",
+ "3b5d3d83f07f259e9086fcb422c855286e18a57d",
+ "f46d3fbb439bd9b921095da657a4de906510d2cd",
+ "f46d3fbb439bd9b921095da657a4de906510d2cd",
+ "05d2a63c81e32f0a36542ca677e8ad852365c538",
+ None,
+ ])
+
def test_client_pool_unihash_exists(self):
TEST_INPUT = (
# taskhash outhash unihash
@@ -636,6 +673,44 @@ class HashEquivalenceCommonTests(object):
result = client_pool.unihashes_exist(query)
self.assertDictEqual(result, expected)
+ def test_unihash_exists_batch(self):
+ TEST_INPUT = (
+ # taskhash outhash unihash
+ ('8aa96fcffb5831b3c2c0cb75f0431e3f8b20554a', 'afe240a439959ce86f5e322f8c208e1fedefea9e813f2140c81af866cc9edf7e','218e57509998197d570e2c98512d0105985dffc9'),
+ # Duplicated taskhash with multiple output hashes and unihashes.
+ ('8aa96fcffb5831b3c2c0cb75f0431e3f8b20554a', '0904a7fe3dc712d9fd8a74a616ddca2a825a8ee97adf0bd3fc86082c7639914d', 'ae9a7d252735f0dafcdb10e2e02561ca3a47314c'),
+ # Equivalent hash
+ ("044c2ec8aaf480685a00ff6ff49e6162e6ad34e1", '0904a7fe3dc712d9fd8a74a616ddca2a825a8ee97adf0bd3fc86082c7639914d', "def64766090d28f627e816454ed46894bb3aab36"),
+ ("e3da00593d6a7fb435c7e2114976c59c5fd6d561", "1cf8713e645f491eb9c959d20b5cae1c47133a292626dda9b10709857cbe688a", "3b5d3d83f07f259e9086fcb422c855286e18a57d"),
+ ('35788efcb8dfb0a02659d81cf2bfd695fb30faf9', '2765d4a5884be49b28601445c2760c5f21e7e5c0ee2b7e3fce98fd7e5970796f', 'f46d3fbb439bd9b921095da657a4de906510d2cd'),
+ ('35788efcb8dfb0a02659d81cf2bfd695fb30fafa', '2765d4a5884be49b28601445c2760c5f21e7e5c0ee2b7e3fce98fd7e5970796f', 'f46d3fbb439bd9b921095da657a4de906510d2ce'),
+ ('9d81d76242cc7cfaf7bf74b94b9cd2e29324ed74', '8470d56547eea6236d7c81a644ce74670ca0bbda998e13c629ef6bb3f0d60b69', '05d2a63c81e32f0a36542ca677e8ad852365c538'),
+ )
+ EXTRA_QUERIES = (
+ "6b6be7a84ab179b4240c4302518dc3f6",
+ )
+
+ result_unihashes = set()
+
+
+ for taskhash, outhash, unihash in TEST_INPUT:
+ result = self.client.report_unihash(taskhash, self.METHOD, outhash, unihash)
+ result_unihashes.add(result["unihash"])
+
+ query = []
+ expected = []
+
+ for _, _, unihash in TEST_INPUT:
+ query.append(unihash)
+ expected.append(unihash in result_unihashes)
+
+
+ for unihash in EXTRA_QUERIES:
+ query.append(unihash)
+ expected.append(False)
+
+ result = self.client.unihash_exists_batch(query)
+ self.assertListEqual(result, expected)
def test_auth_read_perms(self):
admin_client = self.start_auth_server()