diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2024-12-14 02:56:42 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2024-12-14 04:38:25 +0300 |
commit | e73366c8bab752f44899222f9df7ce7ed080f2e9 (patch) | |
tree | 57ae1423728ade061bb318ab6413a18e1afb9c20 /poky/bitbake/lib | |
parent | 1d19bb6db66dd40f999dbfcd25be489aa4ecd0b3 (diff) | |
download | openbmc-styhead.tar.xz |
subtree updatesstyhead
poky: subtree update:5d88faa0f3..ecd195a3ef
Aditya Tayade (1):
e2fsprogs: removed 'sed -u' option
Adrian Freihofer (12):
oe-selftest: fitimage refactor u-boot-tools-native
oe-selftest: fitimage drop test-mkimage-wrapper
oe-selftest: fitimage cleanup asserts
oe-selftest: fitimage fix test_initramfs_bundle
kernel-fitimage: fix handling of empty default dtb
pybootchartgui.py: python 3.12+ regexes
kernel-fitimage: fix intentation
kernel-fitimage: fix external dtb check
uboot-config: fix devtool modify with kernel-fitimage
devtool: modify kernel adds append twice
devtool: remove obsolete SRCTREECOVEREDTASKS handling
cml1: add do_savedefconfig
Alban Bedel (2):
bind: Fix build with the `httpstats` package config enabled
util-linux: Add `findmnt` to the bash completion RDEPENDS
Alejandro Hernandez Samaniego (1):
tclibc-picolibc: Adds a new TCLIBC variant to build with picolibc as C library
Aleksandar Nikolic (2):
cve-check: Introduce CVE_CHECK_MANIFEST_JSON_SUFFIX
scripts/install-buildtools: Update to 5.1
Alessandro Pecugi (1):
runqemu: add sd card device
Alexander Kanavin (100):
perf: drop newt from tui build requirements
libnewt: move to meta-oe
python3: submit deterministic_imports.patch upstream as a ticket
glib-networking: submit eagain.patch upstream
psmisc: merge .inc into .bb
psmisc: drop duplicate entries
psmisc: remove 0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
openssh: drop add-test-support-for-busybox.patch
libfm-extra: drop unneeded 0001-nls.m4-Take-it-from-gettext-0.15.patch
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
python3: drop deterministic_imports.patch
lib/oe/recipeutils: return a dict in get_recipe_upgrade_status() instead of a tuple
lib/recipeutils: add a function to determine recipes with shared include files
recipeutils/get_recipe_upgrade_status: group recipes when they need to be upgraded together
devtool/upgrade: use PN instead of BPN for naming newly created upgraded recipes
devtool/upgrade: rename RECIPE_UPDATE_EXTRA_TASKS -> RECIPE_UPGRADE_EXTRA_TASKS
python3-jinja2: fix upstream version check
ca-certificates: get sources from debian tarballs
pulseaudio, desktop-file-utils: correct freedesktop.org -> www.freedesktop.org SRC_URI
xf86-video-intel: correct SRC_URI as freedesktop anongit is down
python3-cython: correct upstream version check
python3-babel: drop custom PYPI settings
python3-cython: fix upstream check again
sysvinit: take release tarballs from github
bash: upgrade 5.2.21 -> 5.2.32
boost: upgrade 1.85.0 -> 1.86.0
ccache: upgrade 4.10.1 -> 4.10.2
cmake: upgrade 3.30.1 -> 3.30.2
dpkg: upgrade 1.22.10 -> 1.22.11
e2fsprogs: upgrade 1.47.0 -> 1.47.1
epiphany: upgrade 46.0 -> 46.3
gstreamer1.0: upgrade 1.24.5 -> 1.24.6
kmod: upgrade 32 -> 33
kmscube: upgrade to latest revision
libadwaita: upgrade 1.5.2 -> 1.5.3
libedit: upgrade 20240517-3.1 -> 20240808-3.1
libnl: upgrade 3.9.0 -> 3.10.0
librepo: upgrade 1.17.0 -> 1.18.1
libva: upgrade 2.20.0 -> 2.22.0
linux-firmware: upgrade 20240513 -> 20240811
lua: upgrade 5.4.6 -> 5.4.7
mpg123: upgrade 1.32.6 -> 1.32.7
mtools: upgrade 4.0.43 -> 4.0.44
nghttp2: upgrade 1.62.0 -> 1.62.1
puzzles: upgrade to latest revision
python3-dtschema: upgrade 2024.4 -> 2024.5
python3-uritools: upgrade 4.0.2 -> 4.0.3
python3-webcolors: upgrade 1.13 -> 24.8.0
sqlite3: upgrade 3.45.3 -> 3.46.1
stress-ng: upgrade 0.17.08 -> 0.18.02
webkitgtk: upgrade 2.44.1 -> 2.44.3
weston: upgrade 13.0.1 -> 13.0.3
xkeyboard-config: upgrade 2.41 -> 2.42
xz: upgrade 5.4.6 -> 5.6.2
mesa: set PV from the .inc file and not via filenames
meta/lib/oe/sstatesig.py: do not error out if sstate files fail on os.stat()
piglit: add a patch to address host contamination for wayland-scanner
selftest: always tweak ERROR_QA/WARN_QA per package
selftest: use INIT_MANAGER to enable systemd instead of custom settings
xmlto: check upstream version tags, not new commits
glib-2.0: update 2.80.2 -> 2.80.4
lttng-modules: update 2.13.13 -> 2.13.14
automake: update 1.16.5 -> 1.17
fmt: update 10.2.1 -> 11.0.2
git: 2.45.2 -> 2.46.0
perlcross: update 1.5.2 -> 1.6
perl: update 5.38.2 -> 5.40.0
gnu-config: update to latest revision
python3-license-expression: update 30.3.0 -> 30.3.1
python3-pip: 24.0 -> 24.2
python3-pyopenssl: update 24.1.0 -> 24.2.1
python3-pyyaml: update 6.0.1 -> 6.0.2
python3-scons: update 4.7.0 -> 4.8.0
cargo-c-native: update 0.9.30 -> 0.10.3
go-helloworld: update to latest revision
vulkan-samples: update to latest revision
ffmpeg: update 6.1.1 -> 7.0.2
libksba: update 1.6.6 -> 1.6.7
p11-kit: update 0.25.3 -> 0.25.5
iproute2: upgrade 6.9.0 -> 6.10.0
ifupdown: upgrade 0.8.41 -> 0.8.43
libdnf: upgrade 0.73.2 -> 0.73.3
mmc-utils: upgrade to latest revision
adwaita-icon-theme: upgrade 46.0 -> 46.2
hicolor-icon-theme: upgrade 0.17 -> 0.18
waffle: upgrade 1.8.0 -> 1.8.1
libtraceevent: upgrade 1.8.2 -> 1.8.3
alsa-utils: upgrade 1.2.11 -> 1.2.12
lz4: upgrade 1.9.4 -> 1.10.0
vte: upgrade 0.74.2 -> 0.76.3
cracklib: update 2.9.11 -> 2.10.2
selftest/sstatetests: run CDN mirror check only once
package_rpm: use zstd's default compression level
package_rpm: restrict rpm to 4 threads
ref-manual: merge two separate descriptions of RECIPE_UPGRADE_EXTRA_TASKS
Alexander Sverdlin (1):
linux-firmware: Move Silabs wfx firmware to a separate package
Alexandre Belloni (1):
oeqa/selftest/oescripts: pinentry update to 1.3.1
Alexis Lothoré (4):
oeqa/ssh: allow to retrieve raw, unformatted ouput
oeqa/utils/postactions: transfer whole archive over ssh instead of doing individual copies
oeqa/postactions: fix exception handling
oeqa/postactions: do not uncompress retrieved archive on host
Andrew Oppelt (1):
testexport: support for executing tests over serial
Andrey Zhizhikin (1):
devicetree.bbclass: switch away from S = WORKDIR
Antonin Godard (38):
ref-manual: add missing CVE_CHECK manifest variables
ref-manual: add new vex class
ref-manual: add new retain class and variables
ref-manual: add missing nospdx class
ref-manual: add new RECIPE_UPGRADE_EXTRA_TASKS variable
ref-manual: drop siteconfig class
ref-manual: add missing TESTIMAGE_FAILED_QA_ARTIFACTS
ref-manual: add missing image manifest variables
ref-manual: add missing EXTERNAL_KERNEL_DEVICETREE variable
ref-manual: drop TCLIBCAPPEND variable
ref-manual: add missing OPKGBUILDCMD variable
ref-manual: add missing variable PRSERV_UPSTREAM
ref-manual: merge patch-status-* to patch-status
ref-manual: add mission pep517-backend sanity check
release-notes-5.1: update release note for styhead
release-notes-5.1: fix spdx bullet point
ref-manual: fix ordering of insane checks list
release-notes-5.1: add beaglebone-yocto parselogs test oeqa failure
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
migration-guides: 5.1: fix titles
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
Benjamin Szőke (1):
mc: fix source URL
Bruce Ashfield (40):
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
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
linux-libc-headers: update to v6.10
kernel-devsrc: remove 64 bit vdso cmd files
linux-yocto: introduce 6.10 reference kernel
linux-yocto/6.10: update to v6.10
linux-yocto/6.10: update to v6.10.2
linux-yocto/6.10: update to v6.10.3
oeqa/runtime/parselogs: update pci BAR ignore for kernel 6.10
oeqa/runtime/parselogs: mips: skip sysctl warning
yocto-bsp: set temporary preferred version for genericarm64
lttng-modules: backport patches for kernel v6.11
linux-yocto-dev: bump to v6.11
linux-yocto-rt/6.10: update to -rt14
linux-yocto/6.10: cfg: disable nfsd legacy client tracking
linux-yocto/6.6: update to v6.6.44
poky/poky-tiny: bump preferred version to 6.10
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.10: fix CONFIG_PWM_SYSFS config warning
linux-yocto/6.10: update to v6.10.7
linux-yocto/6.10: update to v6.10.8
linux-yocto/6.6: update to v6.6.49
linux-yocto/6.6: update to v6.6.50
linux-yocto/6.10: cfg: arm64 configuration updates
linux-yocto/6.6: update to v6.6.52
linux-yocto/6.6: update to v6.6.54
linux-yocto/6.10: update to v6.10.11
linux-yocto/6.10: update to v6.10.12
linux-yocto/6.10: update to v6.10.13
linux-yocto/6.10: update to v6.10.14
linux-yocto/6.10: genericarm64.cfg: enable CONFIG_DMA_CMA
linux-yocto/6.10: cfg: gpio: allow to re-enable the deprecated GPIO sysfs interface
linux-yocto/6.10: bsp/genericarm64: disable ARM64_SME
Carlos Alberto Lopez Perez (1):
icu: Backport patch to fix build issues with long paths (>512 chars)
Changhyeok Bae (1):
ethtool: upgrade 6.7 -> 6.9
Changqing Li (11):
pixman: fix do_compile error
vulkan-samples: fix do_compile error when -Og enabled
multilib.conf: remove appending to PKG_CONFIG_PATH
pixman: update patch for fixing inline failure with -Og
rt-tests: rt_bmark.py: fix TypeError
libcap-ng: update SRC_URI
apt-native: don't let dpkg overwrite files by default
webkitgtk: fix do_configure error on beaglebone-yocto
bitbake.conf: drop VOLATILE_LOG_DIR, use FILESYSTEM_PERMS_TABLES instead
bitbake.conf: drop VOLATILE_TMP_DIR, use FILESYSTEM_PERMS_TABLES instead
rxvt-unicode.inc: disable the terminfo installation by setting TIC to :
Chen Qi (13):
pciutils: remove textrel INSANE_SKIP
systemd: upgrade from 255.6 to 256
systemd-boot: upgrade from 255.6 to 256
util-linux/util-linux-libuuid: upgrade from 2.39.3 to 2.40.1
libssh2: remove util-linux-col from ptest dependencies
kexec-tools: avoid kernel warning
json-c: use upstream texts for SUMMARY and DESCRIPTION
util-linux/util-linux-libuuid: upgrade from 2.40.1 to 2.40.2
shadow: upgrade from 4.15.1 to 4.16.0
json-c: avoid ptest failure caused by valgrind
toolchain-shar-extract.sh: exit when post-relocate-setup.sh fails
libgfortran: fix buildpath QA issue
shadow: use update-alternatives to handle groups.1
Chris Laplante (4):
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: persist_data: close connection in SQLTable __exit__
bitbake: fetch2: use persist_data context managers
Chris Spencer (1):
cargo_common.bbclass: Support git repos with submodules
Christian Lindeberg (3):
bitbake: fetch2: Add gomod fetcher
bitbake: fetch2: Add gomodgit fetcher
bitbake: tests/fetch: Update GoModTest and GoModGitTest
Christian Taedcke (1):
iptables: fix memory corruption when parsing nft rules
Clara Kowalsky (1):
resulttool: Add support to create test report in JUnit XML format
Claus Stovgaard (1):
lib/oe/package-manager: skip processing installed-pkgs with empty globs
Clayton Casciato (1):
uboot-sign: fix concat_dtb arguments
Clément Péron (1):
openssl: Remove patch already upstreamed
Colin McAllister (2):
udev-extraconf: Add collect flag to mount
busybox: Fix cut with "-s" flag
Corentin Lévy (1):
python3-libarchive-c: add ptest
Dan McGregor (1):
bitbake: prserv: increment 9 to 10 correctly
Daniel McGregor (1):
libpam: use libdir in conditional
Daniel Semkowicz (1):
os-release: Fix VERSION_CODENAME in case it is empty
Daniil Batalov (1):
spdx30_tasks.py: fix typo in call of is_file method
Deepesh Varatharajan (1):
rust: Rust Oe-Selftest Reduce the testcases in exclude list
Deepthi Hemraj (5):
llvm: Fix CVE-2024-0151
glibc: stable 2.39 branch updates.
binutils: stable 2.42 branch updates
glibc: stable 2.40 branch updates
glibc: stable 2.40 branch updates.
Denys Dmytriyenko (3):
llvm: extend llvm-config reproducibility fix to nativesdk class
nativesdk-libtool: sanitize the script, remove buildpaths
gcc: unify cleanup of include-fixed, apply to cross-canadian
Divya Chellam (1):
python3: Upgrade 3.12.5 -> 3.12.6
Dmitry Baryshkov (12):
mesa: fix QA warnings caused by freedreno tools
xserver-xorg: fix CVE-2023-5574 status
lib/spdx30_tasks: improve error message
linux-firmware: make qcom-sc8280xp-lenovo-x13s-audio install Linaro licence
linux-firmware: add packages with SM8550 and SM8650 audio topology files
linux-firmware: move -qcom-qcm2290-wifi before -ath10k
linux-firmware: use wildcards to grab all qcom-qcm2290/qrb4210 wifi files
linux-firmware: package qcom-vpu firmware
linux-firmware: restore qcom/vpu-1.0/venus.mdt compatibility symlink
piglit: add missing dependency on wayland
linux-firmware: add packages for Qualcomm XElite GPU firmware
linux-firmware: split ath10k package
Enguerrand de Ribaucourt (6):
bitbake: fetch2/npmsw: fix fetching git revisions not on master
bitbake: fetch2/npmsw: allow packages not declaring a registry version
npm: accept unspecified versions in package.json
recipetool: create_npm: resolve licenses defined in package.json
recipetool: create: split guess_license function
recipetool: create_npm: reuse license utils
Enrico Jörns (2):
bitbake: bitbake-diffsigs: fix handling when finding only a single sigfile
archiver.bbclass: fix BB_GENERATE_MIRROR_TARBALLS checking
Esben Haabendal (1):
mesa: Fix build with etnaviv gallium driver
Etienne Cordonnier (3):
oeqa/runtime: fix race-condition in minidebuginfo test
bitbake: gcp.py: remove slow calls to gsutil stat
systemd: make home directory readable by systemd-coredump
Fabio Estevam (1):
u-boot: upgrade 2024.04 -> 2024.07
Florian Amstutz (1):
u-boot: Fix potential index error issues in do_deploy with multiple u-boot configurations
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.
Guðni Már Gilbert (7):
python3-setuptools: drop python3-2to3 from RDEPENDS
bluez5: drop modifications to Python shebangs
bluez5: cleanup redundant backslashes
python3-attrs: drop python3-ctypes from RDEPENDS
gobject-introspection: split tools and giscanner into a separate package
bluez5: upgrade 5.77 -> 5.78
bluez5: remove redundant patch for MAX_INPUT
Harish Sadineni (4):
gcc-runtime: enabling "network" task specific flag
oeqa/selftest/gcc: Fix host key verfication failure
oeqa/selftest/gcc: Fix kex exchange identification error
binutils: Add missing perl modules to RDEPENDS for nativsdk variant
Het Patel (1):
zlib: Add CVE_PRODUCT to exclude false positives
Hiago De Franco (1):
weston: backport patch to allow neatvnc < v0.9.0
Hongxu Jia (1):
gcc-source: Fix racing on building gcc-source-14.2.0 and lib32-gcc-source-14.2.0
Intaek Hwang (6):
alsa-plugins: set CVE_PRODUCT
mpfr: set CVE_PRODUCT
libatomic-ops: set CVE_PRODUCT
gstreamer1.0-plugins-bad: set CVE_PRODUCT
python3-lxml: set CVE_PRODUCT
python3-psutil: set CVE_PRODUCT
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 (2):
python3-websockets: added python3-zipp as RDEPENDS
ref-manual: added wic.zst to the IMAGE_TYPES
Jinfeng Wang (2):
glib-2.0: fix glib-2.0 ptest failure when upgrading tzdata2024b
tzdata/tzcode-native: upgrade 2024a -> 2024b
Johannes Schneider (3):
systemd: add PACKAGECONFIG for bpf-framework
systemd: bpf-framework: 'propagate' the '--sysroot=' for crosscompilation
systemd: bpf-framework: pass 'recipe-sysroot' to BPF compiler
John Ripple (1):
packagegroup-core-tools-profile.bb: Enable aarch64 valgrind
Jon Mason (6):
oeqa/runtime/ssh: add retry logic and sleeps to allow for slower systems
oeqa/runtime/ssh: check for all errors at the end
docs: modify reference from python2.py to python.py
kernel.bbclass: remove unused CMDLINE_CONSOLE
oeqa/runtime/ssh: increase the number of attempts
wpa-supplicant: add patch to check for kernel header version when compiling macsec
Jonas Gorski (1):
rootfs-postcommands.bbclass: make opkg status reproducible
Jonas Munsin (1):
bzip2: set CVE_PRODUCT
Jonathan GUILLOT (1):
cronie: add inotify PACKAGECONFIG option
Jose Quaresma (14):
go: upgrade 1.22.3 -> 1.22.4
go: drop the old 1.4 bootstrap C version
openssh: fix CVE-2024-6387
go: upgrade 1.22.4 -> 1.22.5
openssh: drop rejected patch fixed in 8.6p1 release
openssh: systemd sd-notify patch was rejected upstream
oeqa/runtime/scp: requires openssh-sftp-server
libssh2: fix ptest regression with openssh 9.8p1
openssh: systemd notification was implemented upstream
openssh: upgrade 9.7p1 -> 9.8p1
libssh2: disable-DSA-by-default
go: upgrade 1.22.5 -> 1.22.6
bitbake: bitbake: doc/user-manual: Update the BB_HASHSERVE_UPSTREAM
oeqa/selftest: Update the BB_HASHSERVE_UPSTREAM
Joshua Watt (22):
binutils-cross-testsuite: Rename to binutils-testsuite
classes/spdx-common: Move SPDX_SUPPLIER
scripts/pull-spdx-licenses.py: Add script
licenses: Update to SPDX license version 3.24.0
classes/create-spdx-2.2: Handle SemVer License List Versions
classes-recipe/image: Add image file manifest
classes-global/staging: Exclude do_create_spdx from automatic sysroot extension
classes-recipe/image_types: Add SPDX_IMAGE_PURPOSE to images
classes-recipe: nospdx: Add class
classes-recipe/baremetal-image: Add image file manifest
selftest: sstatetests: Exclude all SPDX tasks
classes/create-spdx-2.2: Handle empty packages
classes/create-spdx-3.0: Add classes
selftest: spdx: Add SPDX 3.0 test cases
classes/spdx-common: Move to library
classes/create-spdx-3.0: Move tasks to library
Switch default spdx version to 3.0
classes-recipe/multilib_script: Expand before splitting
classes/create-spdx-image-3.0: Fix SSTATE_SKIP_CREATION
lib/spdx30_tasks: Report all missing providers
lib/oe/sbom30.py: Fix build parameters
bitbake: Remove custom exception backtrace formatting
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 (7):
classes/kernel: No symlink in postinst without KERNEL_IMAGETYPE_SYMLINK
ref-manual: add DEFAULT_TIMEZONE variable
ptest-runner: Update 2.4.4 -> 2.4.5
runqemu: Fix detection of -serial parameter
buildcfg.py: add dirty status to get_metadata_git_describe
doc/features: remove duplicate word in distribution feature ext2
doc/features: describe distribution feature pni-name
Kai Kang (3):
glibc: fix fortran header file conflict for arm
systemd: fix VERSION_TAG related build error
kexec-tools: update COMPATIBLE_HOST because of makedumpfile
Katawann (1):
cve-check: add field "modified" to JSON report
Khem Raj (38):
llvm: Update to 18.1.8
utils.bbclass: Use objdump instead of readelf to compute SONAME
mesa: Including missing LLVM header
mesa: Add packageconfig knob to control tegra gallium driver
gdb: Upgrade to 15.1 release
busybox: Fix tc applet build when using kernel 6.8+
busybox: CVE-2023-42364 and CVE-2023-42365 fixes
busybox: Add fix for CVE-2023-42366
gcc-14: Mark CVE-2023-4039 as fixed in GCC14+
systemd: Replace deprecate udevadm command
glibc: Upgrade to 2.40
glibc: Remove redundant configure option --disable-werror
libyaml: Update status of CVE-2024-35328
libyaml: Change CVE status to wontfix
binutils: Upgrade to 2.43 release
binutils: Fix comment about major version
gcc: Upgrade to GCC 14.2
gnupg: Document CVE-2022-3219 and mark wontfix
systemd: Refresh patch to remove patch-fuzz
quota: Apply a backport to fix basename API with musl
bluez5: Fix build with musl
musl: Update to 1.2.5 release
musl: Upgrade to latest tip of trunk
gdb: Fix build with latest clang
fmt: Get rid of std::copy
aspell: Backport a fix to build with gcc-15/clang-19
openssh: Mark CVE-2023-51767 as wont-fix
python: Backport fixes for CVE-2024-7592
ffmpeg: Fix build on musl linux systems
kea: Replace Name::NameString with vector of uint8_t
webkitgtk: Fix build issues with clang-19
glibc: Fix the arm/arm64 worsize.h uniificationb patch
gcc: Fix spurious '/' in GLIBC_DYNAMIC_LINKER on microblaze
libpcre2: Update base uri PhilipHazel -> PCRE2Project
linux-yocto: Enable l2tp drivers when ptest featuee is on
bluez: Fix mesh builds on musl
qemu: Fix build on musl/riscv64
ffmpeg: Disable asm optimizations on x86
Konrad Weihmann (6):
testimage: fallback for empty IMAGE_LINK_NAME
python3-docutils: fix interpreter lines
testexport: fallback for empty IMAGE_LINK_NAME
python_flit_core: remove python3 dependency
runqemu: keep generating tap devices
runqemu: remove unused uid variable
Lee Chee Yang (10):
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
release-notes-5.1: update for several section
migration-guide: add release notes for 4.0.22
migration-guides: add release notes for 5.0.4
migration-guides: add release notes for 5.0.5
migration-guides: add release notes for 4.0.23
Leon Anavi (1):
u-boot.inc: WORKDIR -> UNPACKDIR transition
Leonard Göhrs (1):
bitbake: fetch2/npm: allow the '@' character in package names
Louis Rannou (1):
image_qa: fix error handling
Marc Ferland (2):
appstream: refresh patch
appstream: add qt6 PACKAGECONFIG option
Marcus Folkesson (1):
bootimg-partition: break out code to a common library.
Mark Hatle (7):
create-sdpx-2.2.bbclass: Switch from exists to isfile checking debugsrc
package.py: Fix static debuginfo split
package.py: Fix static library processing
selftest-hardlink: Add additional test cases
spdx30_tasks.py: switch from exists to isfile checking debugsrc
create-spdx-*: Support multilibs via SPDX_MULTILIB_SSTATE_ARCHS
oeqa sdk cases: Skip SDK test cases when TCLIBC is newlib
Markus Volk (4):
libinput: update 1.25.0 -> 1.26.1
systemd: dont set polkit permissions manually
gtk4: update 4.14.4 -> 4.14.5
gcc: add a backport patch to fix an issue with tzdata 2024b
Marta Rybczynska (9):
classes/kernel.bbclass: update CVE_PRODUCT
cve-check: encode affected product/vendor in CVE_STATUS
cve-extra-inclusions: encode CPEs of affected packages
cve-check: annotate CVEs during analysis
vex.bbclass: add a new class
cve-check-map: add new statuses
selftest: add test_product_match
cve-json-to-text: add script
cve-check: remove the TEXT format support
Martin Hundeb?ll (1):
ofono: upgrade 2.7 -> 2.8
Martin Jansa (10):
libgfortran.inc: fix nativesdk-libgfortran dependencies
hdparm: drop NO_GENERIC_LICENSE[hdparm]
gstreamer1.0-plugins-bad: add PACKAGECONFIG for gtk3
kernel.bbclass: add original package name to RPROVIDES for -image and -base
meta-world-pkgdata: Inherit nopackages
populate_sdk_base: inherit nopackages
mc: set ac_cv_path_ZIP to avoid buildpaths QA issues
bitbake.conf: DEBUG_PREFIX_MAP: add -fmacro-prefix-map for STAGING_DIR_NATIVE
bitbake: Revert "fetch2/gitsm: use configparser to parse .gitmodules"
ffmpeg: fix packaging examples
Mathieu Dubois-Briand (1):
oeqa/postactions: Fix archive retrieval from target
Matthew Bullock (1):
openssh: allow configuration of hostkey type
Matthias Pritschet (1):
ref-manual: fix typo and move SYSROOT_DIRS example
Michael Halstead (1):
yocto-uninative: Update to 4.6 for glibc 2.40
Michael Opdenacker (1):
doc: Makefile: publish pdf and epub versions too
Michal Sieron (1):
insane: remove obsolete QA errors
Mikko Rapeli (2):
systemd: update from 256 to 256.4
ovmf-native: remove .pyc files from install
Mingli Yu (1):
llvm: Enable libllvm for native build
Niko Mauno (17):
dnf/mesa: Fix missing leading whitespace with ':append'
systemd: Mitigate /var/log type mismatch issue
systemd: Mitigate /var/tmp type mismatch issue
libyaml: Amend CVE status as 'upstream-wontfix'
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
bitbake.conf: Mark VOLATILE_LOG_DIR as obsolete
bitbake.conf: Mark VOLATILE_TMP_DIR as obsolete
docs: Replace VOLATILE_LOG_DIR with FILESYSTEM_PERMS_TABLES
docs: Replace VOLATILE_TMP_DIR with FILESYSTEM_PERMS_TABLES
Ola x Nilsson (4):
scons.bbclass: Add scons class prefix to do_configure
insane: Remove redundant returns
ffmpeg: Package example files in ffmpeg-examples
glibc: Fix missing randomness in __gen_tempname
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
Otavio Salvador (1):
u-boot: Ensure we use BFD as linker even if using GCC for it
Patrick Wicki (1):
gpgme: move gpgme-tool to own sub-package
Paul Barker (1):
meta-ide-support: Mark recipe as MACHINE-specific
Paul Eggleton (1):
classes: add new retain class for retaining build results
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 (2):
buildhistory: Fix intermittent package file list creation
buildhistory: Restoring files from preserve list
Peter Kjellerstedt (9):
systemd: Correct the indentation in do_install()
systemd: Move the MIME file to a separate package
license_image.bbclass: Rename license-incompatible to license-exception
test-manual: Add a missing dot
systemd.bbclass: Clean up empty parent directories
oeqa/selftest/bbclasses: Add tests for systemd and update-rc.d interaction
systemd: Remove a leftover reference to ${datadir}/mime
bitbake: fetch2/gomod: Support URIs with only a hostname
image.bbclass: Drop support for ImageQAFailed exceptions in image_qa
Peter Marko (17):
cargo: remove True option to getVar calls
poky-sanity: remove True option to getVar calls
flac: fix buildpaths warnings
bitbake: fetch/clearcase: remove True option to getVar calls in clearcase module
busybox: Patch CVE-2021-42380
busybox: Patch CVE-2023-42363
libstd-rs,rust-cross-canadian: set CVE_PRODUCT to rust
glibc: cleanup old cve status
libmnl: explicitly disable doxygen
libyaml: ignore CVE-2024-35326
libyaml: Ignore CVE-2024-35325
wpa-supplicant: Ignore CVE-2024-5290
cve-check: add support for cvss v4.0
go: upgrade 1.22.6 -> 1.22.7
go: upgrade 1.22.7 -> 1.22.8
cve-check: do not skip cve status description after :
cve-check: fix malformed cve status description with : characters
Philip Lorenz (1):
curl: Reenable auth support for native and nativesdk
Primoz Fiser (2):
pulseaudio: Add PACKAGECONFIG for optional OSS support
pulseaudio: Remove from time64.inc exception list
Purushottam Choudhary (2):
kmscube: Upgrade to latest revision
virglrenderer: Add patch to fix -int-conversion build issue
Quentin Schulz (4):
bitbake: doc: releases: mark mickledore as outdated
bitbake: doc: releases: add nanbield to the outdated manuals
bitbake: doc: releases: add scarthgap
weston-init: fix weston not starting when xwayland is enabled
Rasmus Villemoes (3):
iptables: remove /etc/ethertypes
openssh: factor out sshd hostkey setup to separate function
systemd: include sysvinit in default PACKAGECONFIG only if in DISTRO_FEATURES
Regis Dargent (1):
udev-extraconf: fix network.sh script did not configure hotplugged interfaces
Ricardo Simoes (2):
volatile-binds: Do not create workdir if OverlayFS is disabled
volatile-binds: Remove workdir if OverlayFS fails
Richard Purdie (116):
maintainers: Drop go-native as recipe removed
oeqa/runtime/parselogs: Add some kernel log trigger keywords
bitbake: codeparser/data: Ensure module function contents changing is accounted for
bitbake: codeparser: Skip non-local functions for module dependencies
native/nativesdk: Stop overriding unprefixed *FLAGS variables
qemu: Upgrade 9.0.0 -> 9.0.1
oeqa/runtime/ssh: In case of failure, show exit code and handle -15 (SIGTERM)
oeqa/selftest/reproducibile: Explicitly list virtual targets
abi_version/package: Bump hashequiv version and package class version
testimage/postactions: Allow artifact collection to be skipped
python3: Drop generating a static libpython
bitbake.conf: Drop obsolete debug compiler options
bitbake.conf: Further cleanup compiler optimization flags
oeqa/selftest/incompatible_lic: Ensure tests work with ERROR_QA changes
oeqa/selftest/locale: Ensure tests work with ERROR_QA changes
meson: Fix native meson config
busybox: reconfigure wget https support by default for security
poky-tiny: Update FULL_OPTIMIZATION to match core changes
icu/perf: Drop SPDX_S variable
insane: Promote long standing warnings to errors
selftest/fortran-helloworld: Fix buildpaths error
build-appliance-image: Update to master head revision
distro/include: Add yocto-space-optimize, disabling debugging for large components
testimage: Fix TESTIMAGE_FAILED_QA_ARTIFACTS setting
oeqa/postactions: Separate artefact collection from test result collection
qemu: Drop mips workaround
poky: Enable yocto-space-optimize.inc
time64.inc: Add warnings exclusion for known toolchain problems for now
pseudo: Fix to work with glibc 2.40
pseudo: Update to include open symlink handling bugfix
create-spdx-3.0/populate_sdk_base: Add SDK_CLASSES inherit mechanism to fix tarball SPDX manifests
libtool: Upgrade 2.5.0 -> 2.5.1
qemu: Upgrade 9.0.1 -> 9.0.2
populate_sdk_base: Ensure nativesdk targets have do_package_qa run
cve_check: Use a local copy of the database during builds
pixman: Backport fix for recent binutils
musl: Show error when used with multilibs
sdpx: Avoid loading of SPDX_LICENSE_DATA into global config
perf: Drop perl buildpaths skip
m4: Drop ptest INSANE_SKIPs
gettext: Drop ptest INSANE_SKIPs
glibc-y2038-tests: Fix debug split and drop INSANE_SKIPs
glibc-y2038-tests: Don't force distro policy
glib-initial: Inherit nopackages
vim: Drop vim-tools INSANE_SKIP as not needed
coreutils: Fix intermittent ptest issue
coreutils: Update merged patch to backport status
bitbake.conf: Add truncate to HOSTTOOLS
bitbake.conf: Include cve-check-map earlier, before distro
bitbake: BBHandler: Handle comments in addtask/deltask
bitbake: cache: Drop unused function
bitbake: cookerdata: Separate out data_hash and hook to tinfoil
bitbake: BBHandler/ast: Improve addtask handling
bitbake: build: Ensure addtask before/after tasknames have prefix applied
bitbake: codeparser: Allow code visitor expressions to be declared in metadata
lib/oe: Use new visitorcode functionality for qa.handle_error()
insane: Optimise ERROR_QA/WARN_QA references in do_populate_sysroot
insane: Drop oe.qa.add_message usage
insane: Add missing vardepsexclude
insane: Further simplify code
insane: Allow ERROR_QA to use 'contains' hash optimisations for do_package_qa
selftest/sstatetests: Extend to cover ERROR_QA/WARN_QA common issues
lz4: Fix static library reproducibility issue
lz4: Disable static libraries again
abi-version/ssate: Bump to avoid systemd hash corruption issue
buildhistory: Simplify intercept call sites and drop SSTATEPOSTINSTFUNC usage
sstate: Drop SSTATEPOSTINSTFUNC support
lttng-tools: 2.13.13 -> 2.13.14
libtool: 2.5.1 -> 2.5.2
gettext: Drop obsolete ptest conditional in do_install
elfutils: Drop obsolete ptest conditional in do_install
expat: 2.6.2 -> 2.6.3
license: Fix directory layout issues
sstate: Make do_recipe_qa and do_populate_lic non-arch specific
bitbake: siggen: Fix rare file-checksum hash issue
insane: Remove dependency on TCLIBC from QA test
conf/defaultsetup.conf: Drop TCLIBCAPPEND
poky.conf: Drop TCLIBCAPPEND
layer.conf: Drop scarthgap namespace from LAYERSERIES
layer.conf: Update to styhead
Revert "python3-setuptools: upgrade 72.1.0 -> 72.2.0"
ruby: Make docs generation deterministic
libedit: Make docs generation deterministic
poky-tiny: Drop TCLIBCAPPEND
libsdl2: Fix non-deterministic configure option for libsamplerate
bitbake: toaster: Update fixtures for styhead
scripts/install-buildtools: Update to 5.0.3
build-appliance-image: Update to master head revision
poky.conf: Bump version for 5.1 styhead release
build-appliance-image: Update to master head revision
bitbake: fetch2/git: Use quote from shlex, not pipes
efi-bootdisk.wks: Increase overhead-factor to avoid test failures
binutils: Fix binutils mingw packaging
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
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: fetch/wget: Increase timeout to 100s from 30s
openssl: Fix SDK environment script to avoid unbound variable
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
Robert Joslyn (1):
curl: Update to 8.9.1
Robert Yang (8):
bitbake: cache: Remove invalid symlink for bb_cache.dat
bitbake: fetch2/git: Use git shallow fetch to implement clone_shallow_local()
bitbake: bitbake: tests/fetch: Update GitShallowTest for clone_shallow_local()
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
Rohini Sangam (1):
vim: Upgrade 9.1.0698 -> 9.1.0764
Ross Burton (92):
expect: fix configure with GCC 14
expect: update code for Tcl channel implementation
libxcrypt: correct the check for a working libucontext.h
bash: fix configure checks that fail with GCC 14.1
gstreamer1.0: disable flaky baseparser tests
librsvg: don't try to run target code at build time
librsvg: upgrade to 2.57.3
linux-libc-headers: remove redundant install_headers patch
glibc: add task to list exported symbols
oeqa/sdk: add out-of-tree kernel module building test
openssl: disable tests unless ptest is enabled
openssl: strip the test suite
openssl: rewrite ptest installation
ell: upgrade 0.66 -> 0.67
ofono: upgrade 2.8 -> 2.9
ruby: upgrade 3.3.0 -> 3.3.4
gtk+3: upgrade 3.24.42 -> 3.24.43
pango: upgrade 1.52.2 -> 1.54.0
Revert "python3: drop deterministic_imports.patch"
python3: add dependency on -compression to -core
python3-jsonschema: rename nongpl PACKAGECONFIG
python3-setuptools: RDEPEND on python3-unixadmin
python3-poetry-core: remove python3-pathlib2 dependency
pytest-runner: remove python3-py dependency
python3-chardet: remove pytest-runner DEPENDS
python3-websockets: remove unused imports
python3-beartype: add missing RDEPENDS
python3-jsonschema: remove obsolete RDEPENDS
python3-pluggy: clean up RDEPENDS
python3-scons: remove obsolete RDEPENDS
gi-docgen: remove obsolete python3-toml dependency
python3-jinja2: remove obsolete python3-toml dependency
python3-setuptools-rust: remove obsolete python3-toml dependency
python3-setuptools-scm: remove obsolete python3-tomli dependency
python3-zipp: remove obsolete dependencies
python3-importlib-metadata: remove obsolete dependencies
python3-pathspec: use python_flit_core
python3-pyasn1: merge bb/inc
python3-pyasn1: use python_setuptools_build_meta build class
python3-beartype: use python_setuptools_build_meta build class
python3-cffi: use python_setuptools_build_meta build class
python3-psutil: use python_setuptools_build_meta build class
python3-pycryptodome(x): use python_setuptools_build_meta build class
python3-pyelftools: use python_setuptools_build_meta build class
python3-ruemel-yaml: use python_setuptools_build_meta build class
python3-scons: use python_setuptools_build_meta build class
python3-websockets: use python_setuptools_build_meta build class
python3-setuptools-scm: remove python3-tomli dependency
python3-spdx-tools: use python_setuptools_build_meta build class
python3-subunit: use python_setuptools_build_meta build class
python3-uritools: use python_setuptools_build_meta build class
python3-yamllint: use python_setuptools_build_meta build class
python3-mako: add dependency on python3-misc for timeit
python3-uritools: enable ptest
gi-docgen: upgrade to 2024.1
python3-pytest: clean up RDEPENDS
libcap-ng: clean up recipe
glib-networking: upgrade 2.78.1 -> 2.80.0
python3-unittest-automake-output: add dependency on unittest
python3-idna: generalise RDEPENDS
python3-jsonpointer: upgrade 2.4 -> 3.0.0
ptest-packagelists: sort entries
python3-cffi: generalise RDEPENDS
python3-cffi: enable ptest
python3-packaging: enable ptest
python3-idna: enable ptest
setuptools3: check for a PEP517 build system selection
insane: add pep517-backend to WARN_QA
python3-numpy: ignore pep517-backend warnings
bmaptool: temporarily silence the pep517-backend warning
meson: upgrade 1.4.0 -> 1.5.1
python3-pathlib2: remove recipe (moved to meta-python)
python3-rfc3986-validator: remove recipe (moved to meta-python)
python3-py: remove recipe (moved to meta-python)
pytest-runner: remove recipe (moved to meta-python)
python3-importlib-metadata: remove recipe (moved to meta-python)
python3-toml: remove recipe (moved to meta-python)
python3-tomli: remove recipe (moved to meta-python)
bblayers/machines: add bitbake-layers command to list machines
ffmpeg: fix build with binutils 2.43 on arm with commerical codecs
vulkan-samples: limit to aarch64/x86-64
bitbake: fetch2/gitsm: use configparser to parse .gitmodules
systemd: add missing dependency on libkmod to udev
sanity: check for working user namespaces
bitbake.conf: mark TCLIBCAPPEND as deprecated
bitbake: fetch2: don't try to preserve all attributes when unpacking files
icu: update patch Upstream-Status
ffmpeg: nasm is x86 only, so only DEPEND if x86
ffmpeg: no need for textrel INSANE_SKIP
strace: download release tarballs from GitHub
tcl: skip io-13.6 test case
groff: fix rare build race in hdtbl
Ryan Eatmon (3):
u-boot.inc: Refactor do_* steps into functions that can be overridden
oe-setup-build: Fix typo
oe-setup-build: Change how we get the SHELL value
Sabeeh Khan (1):
linux-firmware: add new package for cc33xx firmware
Sakib Sajal (1):
blktrace: ask for python3 specifically
Samantha Jalabert (1):
cve_check: Update selftest with new status detail
Sergei Zhmylev (1):
lsb-release: fix Distro Codename shell escaping
Shunsuke Tokumoto (1):
python3-setuptools: Add "python:setuptools" to CVE_PRODUCT
Siddharth Doshi (5):
libxml2: Upgrade 2.12.7 -> 2.12.8
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
Simone Weiß (2):
gnutls: upgrade 3.8.5 -> 3.8.6
curl: Ignore CVE-2024-32928
Sreejith Ravi (1):
package.py: Add Requires.private field in process_pkgconfig
Stefan Mueller-Klieser (1):
icu: fix make-icudata package config
Steve Sakoman (3):
release-notes-4.0: update BB_HASHSERVE_UPSTREAM for new infrastructure
poky.conf: bump version for 5.1.1
build-appliance-image: Update to styhead head revision
Sundeep KOKKONDA (3):
binutils: stable 2.42 branch updates
oeqa/selftest/reproducibile: rename of reproducible directories
rust: rustdoc reproducibility issue fix
Talel BELHAJSALEM (1):
contributor-guide: Remove duplicated words
Teresa Remmet (1):
recipes-bsp: usbutils: Fix usb-devices command using busybox
Theodore A. Roth (2):
ca-certificates: update 20211016 -> 20240203
ca-certificates: Add comment for provenance of SRCREV
Thomas Perrot (2):
opensbi: bump to 1.5
opensbi: bump to 1.5.1
Tim Orling (8):
python3-rpds-py: upgrade 0.18.1 -> 0.20.0
python3-alabaster: upgrade 0.7.16 -> 1.0.0
python3-cffi: upgrade 1.16.0 -> 1.17.0
python3-more-itertools: upgrade 10.3.0 -> 10.4.0
python3-wheel: upgrade 0.43.0 -> 0.44.0
python3-zipp: upgrade 3.19.2 -> 3.20.0
python3-attrs: upgrade 23.2.0 -> 24.2.0
python3-setuptools-rust: upgrade 1.9.0 -> 1.10.1
Tom Hochstein (2):
time64.inc: Simplify GLIBC_64BIT_TIME_FLAGS usage
weston: Add missing runtime dependency on freerdp
Trevor Gamblin (37):
dhcpcd: upgrade 10.0.6 -> 10.0.8
python3-hypothesis: upgrade 6.103.0 -> 6.103.2
python3-psutil: upgrade 5.9.8 -> 6.0.0
python3-testtools: upgrade 2.7.1 -> 2.7.2
python3-urllib3: upgrade 2.2.1 -> 2.2.2
maintainers.inc: add self for unassigned python recipes
MAINTAINERS.md: fix patchtest entry
python3-pytest-subtests: upgrade 0.12.1 -> 0.13.0
python3-hypothesis: upgrade 6.103.2 -> 6.105.1
python3-setuptools: upgrade 69.5.1 -> 70.3.0
bind: upgrade 9.18.27 -> 9.20.0
cmake: upgrade 3.29.3 -> 3.30.1
dpkg: upgrade 1.22.6 -> 1.22.10
nettle: upgrade 3.9.1 -> 3.10
patchtest/patch.py: remove cruft
scripts/patchtest.README: cleanup, add selftest notes
kea: upgrade 2.4.1 -> 2.6.1
python3-sphinx: upgrade 7.4.7 -> 8.0.2
python3-hypothesis: upgrade 6.108.4 -> 6.108.10
python3-pytest: upgrade 8.3.1 -> 8.3.2
python3-sphinxcontrib-applehelp: upgrade 1.0.8 -> 2.0.0
python3-sphinxcontrib-devhelp: upgrade 1.0.6 -> 2.0.0
python3-sphinxcontrib-htmlhelp: upgrade 2.0.6 -> 2.1.0
python3-sphinxcontrib-qthelp: upgrade 1.0.8 -> 2.0.0
python3-sphinxcontrib-serializinghtml: upgrade 1.1.10 -> 2.0.0
libassuan: upgrade 2.5.7 -> 3.0.1
python3-setuptools: upgrade 71.1.0 -> 72.1.0
python3-hypothesis: upgrade 6.108.10 -> 6.110.1
python3-cython: upgrade 3.0.10 -> 3.0.11
python3: upgrade 3.12.4 -> 3.12.5
python3: skip readline limited history tests
piglit: upgrade 22eaf6a91c -> c11c9374c1
python3-hypothesis: upgrade 6.111.1 -> 6.111.2
python3-pyparsing: upgrade 3.1.2 -> 3.1.4
patchtest: test_mbox: remove duplicate regex definition
patchtest: test_shortlog_length: omit shortlog prefixes
patchtest: test_non_auh_upgrade: improve parse logic
Troels Dalsgaard Hoffmeyer (1):
bitbake: build/exec_task: Log str() instead of repr() for exceptions in build
Tronje Krabbe (1):
rust-target-config: Update data layouts for 32-bit arm targets
Ulrich Ölmann (2):
initramfs-framework: fix typos
buildhistory: fix typos
Vijay Anusuri (4):
wget: Fix for CVE-2024-38428
apr: upgrade 1.7.4 -> 1.7.5
xserver-xorg: upgrade 21.1.13 -> 21.1.14
xwayland: upgrade 24.1.3 -> 24.1.4
Vivek Puar (1):
linux-firmware: upgrade 20240811 -> 20240909
Wadim Egorov (1):
watchdog: Set watchdog_module in default config
Wang Mingyu (125):
alsa-lib: upgrade 1.2.11 -> 1.2.12
alsa-plugins: upgrade 1.2.7.1 -> 1.2.12
alsa-ucm-conf: upgrade 1.2.11 -> 1.2.12
git: upgrade 2.45.1 -> 2.45.2
createrepo-c: upgrade 1.1.1 -> 1.1.2
diffoscope: upgrade 267 -> 271
enchant2: upgrade 2.7.3 -> 2.8.1
fribidi: upgrade 1.0.14 -> 1.0.15
gstreamer: upgrade 1.24.3 -> 1.24.4
libevdev: upgrade 1.13.1 -> 1.13.2
libjitterentropy: upgrade 3.4.1 -> 3.5.0
libpcre2: upgrade 10.43 -> 10.44
pciutils: upgrade 3.12.0 -> 3.13.0
rng-tools: upgrade 6.16 -> 6.17
ttyrun: upgrade 2.32.0 -> 2.33.1
btrfs-tools: handle rename of inode_includes() from e2fsprogs 1.47.1
rt-tests: upgrade 2.6 -> 2.7
base-passwd: upgrade 3.6.3 -> 3.6.4
btrfs-tools: upgrade 6.8.1 -> 6.9.2
ccache: upgrade 4.10 -> 4.10.1
createrepo-c: upgrade 1.1.2 -> 1.1.3
cups: upgrade 2.4.9 -> 2.4.10
debianutils: upgrade 5.19 -> 5.20
diffoscope: upgrade 271 -> 272
dnf: upgrade 4.20.0 -> 4.21.0
gdbm: upgrade 1.23 -> 1.24
gstreamer: upgrade 1.24.4 -> 1.24.5
harfbuzz: upgrade 8.5.0 -> 9.0.0
libadwaita: upgrade 1.5.1 -> 1.5.2
libdnf: upgrade 0.73.1 -> 0.73.2
libdrm: upgrade 2.4.120 -> 2.4.122
libproxy: upgrade 0.5.6 -> 0.5.7
librsvg: upgrade 2.57.3 -> 2.58.1
libsdl2: upgrade 2.30.4 -> 2.30.5
opkg: upgrade 0.6.3 -> 0.7.0
opkg-utils: upgrade 0.6.3 -> 0.7.0
pinentry: upgrade 1.3.0 -> 1.3.1
python3-certifi: upgrade 2024.6.2 -> 2024.7.4
python3-hatchling: upgrade 1.24.2 -> 1.25.0
python3-importlib-metadata: upgrade 7.1.0 -> 8.0.0
python3-maturin: upgrade 1.6.0 -> 1.7.0
python3-pycairo: upgrade 1.26.0 -> 1.26.1
python3-trove-classifiers: upgrade 2024.5.22 -> 2024.7.2
repo: upgrade 2.45 -> 2.46
sysstat: upgrade 12.7.5 -> 12.7.6
wireless-regdb: upgrade 2024.05.08 -> 2024.07.04
cryptodev: upgrade 1.13 -> 1.14
asciidoc: upgrade 10.2.0 -> 10.2.1
glslang: upgrade 1.3.283.0 -> 1.3.290.0
gsettings-desktop-schemas: upgrade 46.0 -> 46.1
kexec-tools: upgrade 2.0.28 -> 2.0.29
libproxy: upgrade 0.5.7 -> 0.5.8
librsvg: upgrade 2.58.1 -> 2.58.2
libsolv: upgrade 0.7.29 -> 0.7.30
libtirpc: upgrade 1.3.4 -> 1.3.5
orc: upgrade 0.4.38 -> 0.4.39
python3-bcrypt: upgrade 4.1.3 -> 4.2.0
python3-dbusmock: upgrade 0.31.1 -> 0.32.1
python3-hypothesis: upgrade 6.105.1 -> 6.108.4
python3-importlib-metadata: upgrade 8.0.0 -> 8.2.0
python3-jsonschema: upgrade 4.22.0 -> 4.23.0
python3-pytest-subtests: upgrade 0.13.0 -> 0.13.1
python3-pytest: upgrade 8.2.2 -> 8.3.1
python3-setuptools: upgrade 70.3.0 -> 71.1.0
python3-sphinx: upgrade 7.3.7 -> 7.4.7
python3-sphinxcontrib-htmlhelp: upgrade 2.0.5 -> 2.0.6
python3-sphinxcontrib-qthelp: upgrade 1.0.7 -> 1.0.8
spirv-headers: upgrade 1.3.283.0 -> 1.3.290.0
spirv-tools: upgrade 1.3.283.0 -> 1.3.290.0
strace: upgrade 6.9 -> 6.10
sysklogd: upgrade 2.5.2 -> 2.6.0
vulkan-headers: upgrade 1.3.283.0 -> 1.3.290.0
vulkan-loader: upgrade 1.3.283.0 -> 1.3.290.0
vulkan-tools: upgrade 1.3.283.0 -> 1.3.290.0
vulkan-utility-libraries: upgrade 1.3.283.0 -> 1.3.290.0
vulkan-validation-layers: upgrade 1.3.283.0 -> 1.3.290.0
vulkan-volk: upgrade 1.3.283.0 -> 1.3.290.0
xwayland: upgrade 24.1.0 -> 24.1.1
binutils: upgrade 2.43 -> 2.43.1
btrfs-tools: upgrade 6.9.2 -> 6.10.1
createrepo-c: upgrade 1.1.3 -> 1.1.4
diffoscope: upgrade 272 -> 276
dnf: upgrade 4.21.0 -> 4.21.1
enchant2: upgrade 2.8.1 -> 2.8.2
erofs-utils: upgrade 1.7.1 -> 1.8.1
ethtool: upgrade 6.9 -> 6.10
freetype: upgrade 2.13.2 -> 2.13.3
libx11: upgrade 1.8.9 -> 1.8.10
libxfont2: upgrade 2.0.6 -> 2.0.7
libxtst: upgrade 1.2.4 -> 1.2.5
pkgconf: upgrade 2.2.0 -> 2.3.0
python3-babel: upgrade 2.15.0 -> 2.16.0
python3-hypothesis: upgrade 6.110.1 -> 6.111.1
python3-lxml: upgrade 5.2.2 -> 5.3.0
python3-setuptools: upgrade 72.1.0 -> 72.2.0
rpcbind: upgrade 1.2.6 -> 1.2.7
sysklogd: upgrade 2.6.0 -> 2.6.1
ttyrun: upgrade 2.33.1 -> 2.34.0
xwayland: upgrade 24.1.1 -> 24.1.2
systemd: upgrade 256.4 -> 256.5
acpica: upgrade 20240322 -> 20240827
cairo: upgrade 1.18.0 -> 1.18.2
dhcpcd: upgrade 10.0.8 -> 10.0.10
diffoscope: upgrade 276 -> 277
ell: upgrade 0.67 -> 0.68
libdrm: upgrade 2.4.122 -> 2.4.123
libsoup: upgrade 3.4.4 -> 3.6.0
liburcu: upgrade 0.14.0 -> 0.14.1
mc: upgrade 4.8.31 -> 4.8.32
nghttp2: upgrade 1.62.1 -> 1.63.0
ofono: upgrade 2.9 -> 2.10
python3-certifi: upgrade 2024.7.4 -> 2024.8.30
python3-idna: upgrade 3.7 -> 3.8
python3-maturin: upgrade 1.7.0 -> 1.7.1
python3-pbr: upgrade 6.0.0 -> 6.1.0
python3-websockets: upgrade 12.0 -> 13.0.1
python3-zipp: upgrade 3.20.0 -> 3.20.1
taglib: upgrade 2.0.1 -> 2.0.2
wayland-protocols: upgrade 1.36 -> 1.37
wayland: upgrade 1.23.0 -> 1.23.1
git: upgrade 2.46.0 -> 2.46.1
libevdev: upgrade 1.13.2 -> 1.13.3
orc: upgrade 0.4.39 -> 0.4.40
wireless-regdb: upgrade 2024.07.04 -> 2024.10.07
xwayland: upgrade 24.1.2 -> 24.1.3
Weisser, Pascal.ext (1):
qemuboot: Trigger write_qemuboot_conf task on changes of kernel image realpath
Yash Shinde (12):
rust: Oe-selftest fixes for rust v1.76
rust: Upgrade 1.75.0->1.76.0
rust: reproducibility issue fix with v1.76
rust: Oe-selftest changes for rust v1.77
rust: Upgrade 1.76.0->1.77.0
rust: Upgrade 1.77.0->1.77.1
rust: Upgrade 1.77.1->1.77.2
rust: Oe-selftest changes for rust v1.78
rust: Upgrade 1.77.2->1.78.0
zlib: Enable PIE for native builds
rust: Oe-selftest changes for rust v1.79
rust: Upgrade 1.78.0->1.79.0
Yi Zhao (9):
libsdl2: upgrade 2.30.3 -> 2.30.4
less: upgrade 643 -> 661
util-linux: install lastlog2 volatile file
rpm: fix expansion of %_libdir in macros
libsdl2: upgrade 2.30.5 -> 2.30.6
bind: upgrade 9.20.0 -> 9.20.1
libpcap: upgrade 1.10.4 -> 1.10.5
libsdl2: upgrade 2.30.6 -> 2.30.7
systemd: fix broken links for sysvinit-compatible commands
Yoann Congal (10):
Revert "insane: skip unimplemented-ptest on S=WORKDIR recipes"
insane: skip unimplemented-ptest checks if disabled
spirv-tools: Fix git-describe related reproducibility
spirv-tools: Update merged patch to backport status
oeqa/selftest: Only rewrite envvars paths that absolutely point to builddir
migration/release-notes-5.1: document oeqa/selftest envvars change
release-notes-5.1: document added python3-libarchive-c ptest
release-notes-5.1: document fixed _test_devtool_add_git_url test
release-notes-5.1: document spirv-tools reproducibility
python3-maturin: sort external libs in wheel files
Yuri D'Elia (1):
bitbake: fetch2/git: Enforce default remote name to "origin"
Zoltan Boszormenyi (1):
rpcbind: Fix boot time start failure
aszh07 (2):
xz: Update LICENSE variable for xz packages
ffmpeg: Add "libswresample libavcodec" to CVE_PRODUCT
gudnimg (1):
bluez5: upgrade 5.72 -> 5.77
hongxu (7):
libgpg-error: 1.49 -> 1.50
man-pages: 6.8 -> 6.9.1
libxml2: 2.12.8 -> 2.13.3
readline: 8.2 -> 8.2.13
libxslt: 1.1.39 -> 1.1.42
xmlto: 0.0.28 -> 0.0.29
gnupg: 2.4.5 -> 2.5.0
simit.ghane (2):
libgcrypt: Fix building error with '-O2' in sysroot path
libgcrypt: upgrade 1.10.3 -> 1.11.0
y75zhang (1):
bitbake: fetch/wget: checkstatus: drop shared connecton when catch Timeout error
meta-openembedded: 487a2d5695..5d54a52fbe:
Adrian Freihofer (1):
networkmanager: remove modemmanager rdepends
Akash Hadke (1):
python3-flatbuffers: provide nativesdk support
Alba Herrerías (1):
yelp: fix unterminated string
Alexander Kanavin (1):
libnewt: add from oe-core
Alexander Stein (1):
luajit: Fix host development package
Alexandre Truong (99):
ace: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
acpitool: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
anthy: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
atop: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
bitwise: Include UPSTREAM_CHECK_REGEX to fix UNKNOWN_BROKEN status
cfengine-masterfiles: Include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
ckermit: Include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
cloc: include UPSTREAM_CHECK_REGEX to fix UNKNOWN_BROKEN status
cups-filters: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
cxxtest: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
czmq: include UPSTREAM_CHECK_REGEX to fix UNKNOWN_BROKEN status
daemontools: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
doxygen: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
duktape: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
fftw: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
fltk: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
fltk-native: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
fwupd: include UPSTREAM_CHECK_REGEX to fix UNKNOWN_BROKEN status
gmime: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
gnome-themes-extra: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
gradm: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
graphviz: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
gtkperf: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
hplip: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
icewm: include UPSTREAM_CHECK_REGEX to fix UNKNOWN_BROKEN status
irssi: include UPSTREAM_CHECK_REGEX to fix UNKNOWN_BROKEN status
jansson: modify existing UPSTREAM_CHECK_REGEX
lcov: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
leptonica: include UPSTREAM_CHECK_REGEX to fix UNKNOWN_BROKEN status
libcdio-paranoia: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libdbus-c++: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libftdi: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
libgnt: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libiodbc: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libjs-jquery: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
liblinebreak: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libmng: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libmtp: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libnice: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libopusenc: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libpaper: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libpcsc-perl: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libsdl-gfx: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
libsigc++-2.0: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libsigc++-3: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libsmi: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libspiro: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libstatgrab: include UPSTREAM_CHECK_REGEX to fix UNKNOWN_BROKEN status
libwmf: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
libx86-1: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
libxml++-5.0: include UPSTREAM_CHECK_REGEX to fix UNKNOWN_BROKEN status
logwarn: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
lprng: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
mcpp: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
mozjs-115: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
mscgen: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
msgpack-cpp: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
msktutil: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
nmon: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
nss: modify UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
obexftp: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
onig: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
openbox: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
openct: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
openobex: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
p7zip: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
pngcheck: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
rsyslog: modify existing UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
sblim-cmpi-devel: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
sblim-sfc-common: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
ttf-ubuntu-font-family: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
ttf-wqy-zenhei: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
uml-utilities: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
xrdp: include UPSTREAM_CHECK_* to fix UNKNOWN_BROKEN status
xscreensaver: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
can-isotp: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
con2fbmap: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
cpufrequtils: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
dbus-daemon-proxy: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
devmem2: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
edid-decode: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
fb-test: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
firmwared: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
funyahoo-plusplus: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
hunspell-dictionaries: switch branch from master to main
hunspell-dictionaries: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
icyque: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
iksemel: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
kconfig-frontends: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
libbacktrace: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
libc-bench: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
libubox: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
linux-serial-test: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
musl-rpmatch: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
pam-plugin-ccreds: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
pcimem: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
pim435: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
properties-cpp: include UPSTREAM_CHECK_COMMITS to fix UNKNOWN_BROKEN status
pegtl: add ptest support
Alexandre Videgrain (1):
openbox: fix crash on alt+tab with fullscreen app
Anuj Mittal (1):
tbb: pass TBB_STRICT=OFF to disable -Werror
Archana Polampalli (1):
apache2: Upgrade 2.4.60 -> 2.4.61
Armin Kuster (2):
meta-openemnedded: Add myself as styhead maintainer
audit: fix build when systemd is enabled.
BINDU (1):
flatbuffers: adapt for cross-compilation environments
Barry Grussling (1):
postgresql: Break perl RDEPENDS
Bartosz Golaszewski (4):
python3-gpiod: update to v2.2.0
python3-virtualenv: add missing run-time dependencies
libgpiod: update v2.1.2 -> v2.1.3
python3-gpiod: update v2.2.0 -> v2.2.1
Benjamin Szőke (1):
tree: fix broken links
Carlos Alberto Lopez Perez (1):
sysprof: upgrade 3.44.0 -> 3.48.0
Changqing Li (4):
python3-h5py: remove unneeded CFLAGS
pavucontrol: update SRC_URI
libatasmart: Update SRC_URI
libdbi-perl: upgrade 1.643 -> 1.644
Chen Qi (2):
python3-protobuf: remove useless and problematic .pth file
jansson: add JSON_INTEGER_IS_LONG_LONG for cmake
Christian Eggers (2):
lvgl: fix version in shared library file name
lvgl: update upstream-status of all patches
Christophe Vu-Brugier (2):
nvme-cli: upgrade 2.9.1 -> 2.10.2
exfatprogs: upgrade 1.2.4 -> 1.2.5
Dimitri Bouras (1):
python3-geomet: Switch to setuptools_build_meta build backend
Dmitry Baryshkov (6):
android-tools: make PN-adbd as a systemd package
deqp-runner: improved version of parallel-deqp-runner
packagegroup-meta-oe: include deqp-runner into packagegroup-meta-oe-graphics
README.md: discourage use of GitHub pull request system
android-tools: create flag flag file for adbd at a proper location
gpsd: apply patch to fix gpsd building on Musl
Einar Gunnarsson (2):
yavta: Update to kernel 6.8
v4l-utils: Install media ctrl pkgconfig files
Enrico Jörns (6):
libconfuse: move to meta-oe
libconfuse: provide native and nativesdk support
libconfuse: replace DESCRIPTION by SUMMARY
libconfuse: switch to release tar archive
libconfuse: add backported patch to fix search path logic
genimage: add new recipe
Esben Haabendal (1):
netplan: add missing runtime dependencies
Etienne Cordonnier (3):
uutils-coreutils: upgrade 0.0.26 -> 0.0.27
uutils-coreutils: disable buildpaths error
perfetto: upgrade 31.0 -> 47.0
Fabio Estevam (1):
imx-cst: Add recipe
Faiz HAMMOUCHE (6):
uim: update UPSTREAM_CHECK_* variables to fix devtool upgrades
unixodbc: update UPSTREAM_CHECK_* variables to fix devtool upgrades
xdotool: update UPSTREAM_CHECK_* variables to fix devtool upgrades
xf86-input-tslib: update UPSTREAM_CHECK_* variables to fix devtool upgrades
wvstrams: Unmaintained upstream, add UPSTREAM_VERSION_UNKNOWN
wvdial: Unmaintained upstream, add UPSTREAM_VERSION_UNKNOWN
Fathi Boudra (2):
python3-django: upgrade 4.2.11 -> 4.2.16
python3-django: upgrade 5.0.6 -> 5.0.9
Frank de Brabander (1):
python3-pydantic-core: fix incompatible version
Fredrik Hugosson (1):
lvm2: Remove the lvm2-udevrules package
Ghislain Mangé (1):
wireshark: fix typo in PACKAGECONFIG[zstd]
Gianfranco Costamagna (1):
vbxguestdrivers: upgrade 7.0.18 -> 7.0.20
Guocai He (1):
mariadb: File conflicts for multilib
Guðni Már Gilbert (5):
python3-incremental: improve packaging
python3-twisted: upgrade 24.3.0 -> 24.7.0
python3-incremental: drop python3-twisted-core from RDEPENDS
python3-twisted: add python3-attrs to RDEPENDS
python3-automat: upgrade 22.10.0 -> 24.8.1
Harish Sadineni (1):
bpftool: Add support for riscv64
Hauke Lampe (1):
postgresql: Use packageconfig flag for readline dependency
Hitendra Prajapati (1):
tcpdump: fix CVE-2024-2397
Hongxu Jia (1):
nodejs: support cross compile without qemu user conditionally
Hubert Wiśniewski (1):
libcamera: Use multiple of sizeof as malloc size
J. S. (8):
znc: Fix buildpaths QA errors
webmin: upgrade 2.111 -> 2.202
nodejs: upgrade 20.16.0 -> 20.17.0
syslog-ng: upgrade 4.6.0 -> 4.7.0
xfce4-panel: upgrade 4.18.3 -> 4.18.4
nodejs: upgrade 20.17.0 -> 20.18.0
xfce4-panel: upgrade 4.18.4 -> 4.18.5
nodejs: cleanup
Jamin Lin (1):
drgn: add new recipe
Jan Luebbe (2):
python3-grpcio-reflection: new recipe
python3-grpcio-channelz: new recipe
Jan Vermaete (3):
python3-protobuf: added python3-ctypes as RDEPENDS
protobuf: version bump 4.25.3 -> 4.25.4
netdata: version bump 1.47.0 -> 1.47.1
Jason Schonberg (1):
nodejs: upgrade 20.13.0 -> 20.16.0
Jeremy A. Puhlman (1):
net-snmp: Set ps flag value since it checks the host
Jeroen Knoops (1):
nng: Rename default branch of github.com:nanomsg/nng.git
Jiaying Song (3):
nftables: change ptest output format
wireguard-tools: fix do_fetch error
vlock: fix do_fetch error
Jose Quaresma (6):
composefs: the srcrev hash was the release tag
ostree: Upgrade 2024.6 -> 2024.7
composefs: upgrade 1.0.4 -> 1.0.5
gpsd: make the meta-python dependency conditionally
Revert "gpsd: make the meta-python dependency conditionally"
gpsd: condition the runtime dependence of pyserial on the pygps
Justin Bronder (1):
python3-xmodem: replace hardcoded /usr with ${prefix}
Jörg Sommer (5):
dnsmasq: Install conf example from upstream instead of our version
dnsmasq: set config dhcp6, broken-rtc by FEATURES
gpsd: upgrade 3.24 -> 3.25; new gpsd-snmp
bluealsa: upgrade 4.0.0+git -> 4.3.0
zsh: update 5.8 -> 5.9
Kai Kang (1):
libosinfo: add runtime dependency osinfo-db
Katariina Lounento (1):
libtar: patch CVEs
Keith McRae (1):
ntp: Fix status call reporting incorrect value
Khem Raj (142):
python3-tornado: Switch to python_setuptools_build_meta
rdma-core: Fix recvfrom override errors with glibc 2.40 and clang
tipcutils: Replace WORKDIR with UNPACKDIR
rdma-core: Do not use overloadable attribute with musl
python3-pint: Upgrade to 24.1
flite: Fix buld with clang fortify enabled distros
python3-inflate64: Fix build with clang fortified glibc headers
renderdoc: Upgrade to 1.33
renderdoc: Fix build with clang fortify and glibc 2.40
overlayfs-tools: Fix build with musl
webmin: Upgrade to 2.111 release
opencv: Check GTK3DISTROFEATURES for enabling gtk support
opencv: Add missing trailing slash
sysprof: Fix build with llvm libunwind
log4cpp: Fix buildpaths QA error
ldns: Upgrade to 1.8.4
libwmf: Fix buildpaths QA Errors in libwmf-config
Revert "libftdi: Fix missing ftdi_eeprom"
vsomeip: Fix build with GCC-14
turbostat: Add band-aid to build from 6.10+ kernel
python3-daemon: Fix build with PEP-575 build backend
zfs: Upgrade to 2.2.5 release
e2tools: Fix buildpaths QA warning in config.status in ptest
glibmm: Upgrade to 2.66.7 release
transmission: Upgrade to 4.0.6 release
wolfssl: Add packageconfig for reproducible build
lprng: Specify target paths for needed utilities
sharutils: Let POSIX_SHELL be overridable from environment
freediameter: Fix buildpaths QA error
libforms: Remove buildpaths from fd2ps and fdesign scripts
blueman: Fix buildpathe issue with cython generated code
fvwm: Fix buildpaths QA Errors
proftpd: Upgrade to 1.3.8b
botan: Make it reproducible
ndisc: Remove buildpaths from binaries
python3-kivy: Remove buildpaths from comments in generated C sources
keepalived: Make build reproducible
fwknop: Upgrade to 2.6.11
fwknop: Specify target locations of gpg and wget
ippool: Fix buildpaths QA error
ot-br-posix: Define config files explicitly
libyui: Upgrade to 4.6.2
fluentbit: Make it deprecated
python3-pyproj: Fix buildpaths QA Error
python3-pyproj: Remove absolute paths from cython generated .c files
libyui-ncurses: Fix buildpaths QA Error
ftgl: Upgrade to 2.4.0
ftgl: Switch to maintained fork
frr: Upgrade to 10.1 release
python3-pandas: Downgrade version check for numpy to 1.x
python3-pycocotools: Use build pep517-backend
python3-pycocotools: Downgrade numpy version needed to 1.x
python3-pycocotools: Remove absolute paths from comments
raptor2: Do not use curl-config to detect curl
libgsf: Fix build with libxml2 2.13+
libspatialite: Upgrade to 5.1
libblockdev: Fix build with latest e2fsprogs
bluealsa: Fix build on musl
bluealsa: Update cython patch to latest upstream patch
mariadb: Upgrade to 10.11.9 release
gerbera: Upgrade to 2.2.0
e2tools: Fix build with automake 1.17
minidlna: Upgrade to 1.3.3 release
vlc: Upgrade to 3.0.21
libplacebo: Add recipe
mpv: Upgrade to 0.38.0 release
libmpdclient,mpc: Upgrade to 2.22 and 0.35 respectively
vlc: Disable recipe
mpd: Upgrade to 0.23.15+git
xdg-desktop-portal-wlr: Update to latest on master branch
ltrace: Switch to gitlab SRC_URI
webkitgtk3: Fix build with latest clang
python3-grpcio: Upgrade to 1.66.1 release
grpc: Upgrade to 1.66.1 release
mozjs-115: fix build with clang and libc++ 19
nmap: Upgrade to 7.95
etcd-cpp-apiv3: Fix build with gprc 2.66+
paho-mqtt-cpp: Upgrade to 1.4.1 release
poppler: Upgrade to 24.09.0 release
nodejs: Fix build with libc++ 19
poco: Drop RISCV patch
paho-mqtt-cpp: Move to tip of 1.4.x branch
netdata: Upgrade to 1.47.0
freeipmi: Add recipe
opentelemetry-cpp: Fix build with clang-19
opengl-es-cts,vulkan-cts: Upgrade recipes to 3.2.11.0 and 1.3.9.2
libcereal: Fix build with clang-19
libjxl: Upgrade to 0.10.3 release
python3-serpent: Add missing rdeps for ptests to run
python3-parse-type: Add missing rdep on six for ptests
paho-mqtt-cpp: Use system paho-mqtt-c
python3-serpent: Fix typo attr -> attrs
python3-tzdata: Add missing attrs modules rdep for ptests
python3-trustme: Add missing ptest rdeps on attrs and six modules
python3-service-identity: Fix ptest rdeps
python3-fsspec: Add recipe
ptest-packagelists-meta-python: Add python3-fsspec to fast test list
python3-pyyaml-include: Add missing dependencies for ptests
python3-py-cpuinfo: Fix ptest runtime deps
python3-flask: Add missing ptest deps
yavta: Upgrade SRCREV to include 64bit time_t print format errors
libjxl: Do not use -mrelax-all on RISCV with clang
python3-wrapt: Add missing rdep on misc modules for ptests
python3-pillow: Add missing rdep on py3-compile for ptests
python-ujson: Use python_setuptools_build_meta
python3-pylint: Add missing ptest rdep on python3-misc
python3-fastjsonschema: Add missing rdeps for ptests
python3-pytest-mock: Upgrade to 3.14.0
protobuf-c: Link with libatomic on riscv32
highway: Disable RVV on RISCV-32
dav1d: Disable asm code on rv32
mosh: Use libatomic on rv32 for atomics
dlm: Disable fcf-protection on riscv32
usbguard: Link with libatomic on rv32
transmission: Link with libatomic on riscv32
ot-br-posix: Link with libatomic on rv32
opentelemetry-cpp: Link with libatomic on rv32
mozjs-115: Fix build on riscv32
netdata: Add checks for 64-bit atomic builtins
liburing: Upgrade to 2.7 and fix build on riscv32
highway: Fix cmake to detect riscv32
libjxl: Disable sizeless-vectors on riscv32
kernel-selftest: Fix build on 32bit arches with 64bit time_t
reptyr: Do not build for riscv32
python3-typer: Disable test_rich_markup_mode tests
python3-pydbus: Add missing rdep on xml module for ptests
python3-pdm: Upgrade to 2.19.1
python3-pdm-backend: Upgrade to 2.4.1 release
python3-ujson: Add python misc modules to ptest rdeps
python3-gunicorn: Add missing rdeps for ptests
python3-eth-hash: Add packageconfigs and switch to pep517-backend
python3-validators: Add missing rdeps for ptests
python3-pint: Upgrade to 0.24.3
python3-pytest-mock: Fix ptests
python3-sqlparse: Add missing rdep on mypy module for ptests
libhugetlbfs: Use linker wrapper during build
webkitgtk3: Always use -g1 for debug flags
webkitgtk3: Fix build break with latest gir
ndisc6: Fix reproducible build
rsyslog: Enable 64bit atomics check
xmlsec1: Switch SRC_URI to use github release
python3-pdm-build-locked: Add recipe
Kieran Bingham (1):
libcamera: Add support for pycamera
Leon Anavi (39):
python3-eth-utils: Upgrade 3.0.0 -> 4.1.1
python3-requests-file: Upgrade 1.5.1 -> 2.1.0
python3-filelock: Upgrade 3.14.0 -> 3.15.3
python3-hexbytes: Upgrade 1.2.0 -> 1.2.1
python3-moteus: Upgrade 0.3.70 -> 0.3.71
python3-tornado: Upgrade 6.4 -> 6.4.1
python3-paho-mqtt: Upgrade 2.0.0 -> 2.1.0
python3-pyperclip: Upgrade 1.8.2 -> 1.9.0
python3-whitenoise: Upgrade 6.6.0 -> 6.7.0
python3-pycocotools: Upgrade 2.0.7 -> 2.0.8
python3-cbor2: Upgrade 5.6.3 -> 5.6.4
python3-gunicorn: Upgrade 21.2.0 -> 22.0.0
python3-aiohttp: Upgrade 3.9.5 -> 3.10.0
python3-aiosignal: switch to PEP-517 build backend
python3-pycares: switch to PEP-517 build backend
python3-multidict: switch to PEP-517 build backend
python3-cachetools: Upgrade 5.3.3 -> 5.4.0
python3-coverage: switch to PEP-517 build backend
coverage: Upgrade 7.6.0 -> 7.6.1
python3-aiohttp: Upgrade 3.10.0 -> 3.10.1
python3-hatch-requirements-txt: Add recipe
python3-pymongo: Upgrade 4.7.3 -> 4.8.0
python3-itsdangerous: Upgrade 2.1.2 -> 2.2.0
python3-sniffio: witch to PEP-517 build backend
python3-sniffio: Upgrade 1.3.0 -> 1.3.1
python3-qface: Upgrade 2.0.10 -> 2.0.11
python3-argcomplete: switch to PEP-517 build backend
python3-argcomplete: Upgrade 3.4.0 -> 3.5.0
python3-prettytable: Upgrade 3.10.2 -> 3.11.0
python3-transitions: Upgrade 0.9.1 -> 0.9.2
python3-apispec: Upgrade 6.4.0 -> 6.6.1
python3-imageio: Upgrade 2.34.2 -> 2.35.0
python3-aiohttp: Upgrade 3.10.1 -> 3.10.3
python3-watchdog: Upgrade 4.0.1 -> 4.0.2
python3-soupsieve: Upgrade 2.5 -> 2.6
python3-fastjsonschema: Upgrade 2.18.0 -> 2.20.0
python3-dirty-equals: Upgrade 0.7.1 -> 0.8.0
python3-path: Upgrade 16.14.0 -> 17.0.0
python3-astroid: Upgrade 3.2.4 -> 3.3.2
Libo Chen (1):
thin-provisioning-tools: install missed thin_shrink and era_repair
Liyin Zhang (1):
sound-theme-freedesktop: Update SRC_URI
Luca Boccassi (4):
dbus-broker: upgrade 32 -> 36
polkit: stop overriding DAC on /usr/share/polkit-1/rules.d
polkit: update 124 -> 125
polkit: install group rules in /usr/share/ instead of /etc/
Marc Ferland (3):
polkit: update SRC_URI
polikt: add elogind packageconfig option
polkit: add libs-only PACKAGECONFIG option
Markus Volk (28):
exiv2: update 0.28.0 -> 0.28.2
wireplumber: update 0.5.3 -> 0.5.5
pipewire: update 1.0.7 -> 1.2.0
flatpak: add PACKAGECONFIG for dconf
lvm2: install all systemd service files
nss: update 3.101 > 3.102
geary: update 44.1 -> 46.0
dav1d: update 1.4.2 -> 1.4.3
pipewire: update 1.2.0 -> 1.2.1
flatpak: update 1.15.8 -> 1.15.9
blueman: update 2.3.5 -> 2.4.3
pipewire: update 1.2.1 -> 1.2.2
webkitgtk3: update 2.44.2 -> 2.44.3
iwd: update 2.18 -> 2.19
bubblewrap: update 0.9.0 -> 0.10.0
flatpak: update 1.15.9 -> 1.15.10
pipewire: update 1.2.2 -> 1.2.3
cleanup after polkit fix
libspelling: add recipe
wireplumber: update 0.5.5. -> 0.5.6
gnome-disk-utility: update 46.0 -> 46.1
rygel: update 0.42.5 -> 0.44.0
colord: add configuration to fix runtime
iwd: update 2.19 -> 2.20
iwd: use internal ell
gnome-shell: add gnome-control-center dependency
gnome-desktop: update 44.0 -> 44.1
cryptsetup: fix udev PACKAGECONFIG
Martin Jansa (15):
lvgl: install lv_conf.h in ${includedir}/${BPN}
giflib: fix build with gold and avoid imagemagick-native dependency
recipes: ignore various issues fatal with gcc-14 (for 32bit MACHINEs)
recipes: ignore various issues fatal with gcc-14
bolt: package systemd_system_unitdir correctly
pkcs11-provider: backport a fix for build with gcc-14
blueman: fix installation paths
polkit-group-rule: package polkit rules
vdpauinfo: require x11 in DISTRO_FEATURES
gpm: fix buildpaths QA issue
xerces-c: fix buildpaths QA issue
gcab: keep buildpaths QA issue as a warning
gcab: fix buildpaths QA issue
nmap: depend on libpcre2 not libpcre
xmlrpc-c: update SRCREV
Maxin John (1):
nginx: add PACKAGECONFIG knobs for fastcgi, scgi and uwsgi
Michael Trimarchi (1):
cpuset: Add recipe for cpuset tool 1.6.2
Mikko Rapeli (3):
fwupd: skip buildpaths errors
gcab: ignore buildpaths error from sources
libjcat: skip buildpaths check
Neel Gandhi (1):
v4l-utils: Install media ctrl header and library files
Nikhil R (1):
rocksdb: Add an option to set static library
Niko Mauno (27):
pkcs11-provider: Upgrade 0.3 -> 0.5
opensc: Amend FILES:${PN} declaration
opensc: Add 'readline' PACKAGECONFIG option
opensc: Drop virtual/libiconv from DEPENDS
opensc: Fix LICENSE declaration
opensc: Cosmetic fixes
python3-xlsxwriter: Fix LICENSE
python3-ansi2html: Fix HOMEPAGE and LICENSE
python3-cbor2: Fix LICENSE and LIC_FILES_CHKSUM
python3-cbor2: Sanitize recipe content
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-parse-type: Cosmetic fixes
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
python3-smbus2: Fix LIC_FILES_CHKSUM
python3-xmodem: Fix LIC_FILES_CHKSUM
Ninette Adhikari (15):
imagemagick: Update status for CVE
mercurial: Update CVE status for CVE-2022-43410
influxdb: Update CVE status for CVE-2019-10329
links: CVE status update for CVE-2008-3319
usrsctp: CVE status update for CVE-2019-20503
libraw: CVE status update for CVE-2020-22628 and CVE-2023-1729
xsp: CVE status update for CVE-2006-2658
apache2:apache2-native: CVE status update
gimp: CVE status update
php-native: CVE status update for CVE-2022-4900
xterm: CVE status update CVE-1999-0965
redis: Update status for CVE-2022-3734
monkey: Update status for CVE-2013-2183
apache2: Update CVE status
imagemagick: Update status for CVE
Peter Kjellerstedt (2):
libdevmapper: Inherit nopackages
poppler: Correct the configuration options
Peter Marko (4):
cjson: fix buildpath warnings
squid: Upgrade to 6.10
nginx: Upgrade stable 1.26.0 -> 1.26.2
nginx: Upgrade mainline 1.25.3 -> 1.27.1
Poonam Jadhav (1):
tcpreplay: Fix CVE-2023-4256
Przemyslaw Zegan (1):
libftdi: Fix missing ftdi_eeprom
Quentin Schulz (1):
nftables: fix pep517-backend warning
Randolph Sapp (2):
vulkan-cts: add workaround for createMeshShaderMiscTestsEXT
opencl-clhpp: add native and nativesdk
Randy MacLeod (2):
libee: remove recipe since libee is obsolete
liblinebreak: remove obsolete library
Ricardo Simoes (8):
magic-enum: add recipe
magic-enum: Disable unused-value warning in tests
memtool: Add recipe
directfb: Order PACKAGECONFIG alphabetically
directfb: Add freetype PACKAGECONFIG
directfb: Add zlib PACKAGECONFIG
directfb: Fix C++17 build warning
magic-enum: Upgrade v0.9.5 -> v0.9.6
Richard Tollerton (1):
tmux: Upgrade to 3.4
Robert Middleton (1):
Upgrade dbus-cxx to 2.5.2
Ross Burton (9):
libabigail: add recipe for the ABI Generic Analysis and Instrumentation Library
libabigail: refresh musl/fts patch
python3-importlib-metadata: add from openembedded-core
python3-pathlib2: add from openembedded-core
python3-py: add from openembedded-core
python3-pytest-runner: add from openembedded-core
python3-rfc3986-validator: add from openembedded-core
python3-toml: add from openembedded-core
python3-tomli: add from openembedded-core
Rouven Czerwinski (1):
softhsm: add destroyed global access prevention patch
Ryan Eatmon (2):
mpv: Fix typo in x11 option
kernel-selftest: Update to allow for turning on all tests
Shinji Matsunaga (1):
audit: Fix CVE_PRODUCT
Siddharth Doshi (1):
apache2: Upgrade 2.4.59 -> 2.4.60
Soumya Sambu (4):
php: Upgrade to 8.2.20
python3-werkzeug: upgrade 3.0.1 -> 3.0.3
gtk+: Fix CVE-2024-6655
python3-flask-cors: Fix CVE-2024-6221
Thomas Perrot (1):
vdpauinfo: add recipe
Tim Orling (7):
python3-configobj: switch to PEP-517 build backend
python3-tzdata: add recipe for v2024.1
python3-tzdata: enable ptest
python3-pydantic-core: upgrade 2.18.4 -> 2.21.0
python3-pydantic: upgrade 2.7.3 -> 2.8.2
python3-pydantic-core: backport patch
python3-psycopg: add v3.2.1
Tom Geelen (4):
python3-sqlparse 0.4.4 -> 0.5.0
python3-bleak 0.21.1 -> 0.22.2
python3-aiohue: 4.7.1 -> 4.7.2
python3-pyjwt 2.8.0 -> 2.9.0
Trevor Gamblin (1):
python3-pandas: upgrade 2.0.3 -> 2.2.2
Trevor Woerner (2):
apache2: use update-alternatives for httpd
python3-matplotlib-inline: update 0.1.6 → 0.1.7 plus fixes
Tymoteusz Burak (1):
dediprog-flasher: Add recipe
Valeria Petrov (1):
apache2: do not depend on zlib header and libs from host
Vijay Anusuri (3):
tipcutils: Add systemd support
krb5: upgrade 1.21.2 -> 1.21.3
wireshark: upgrade 4.2.6 -> 4.2.7
Vyacheslav Yurkov (1):
overlayfs: Use explicit version
Wang Mingyu (306):
cryptsetup: upgrade 2.7.2 -> 2.7.3
ctags: upgrade 6.1.20240602.0 -> 6.1.20240623.0
dialog: upgrade 1.3-20240307 -> 1.3-20240619
editorconfig-core-c: upgrade 0.12.7 -> 0.12.9
exiftool: upgrade 12.85 -> 12.87
frr: upgrade 10.0 -> 10.0.1
gensio: upgrade 2.8.4 -> 2.8.5
gtkwave: upgrade 3.3.119 -> 3.3.120
iniparser: upgrade 4.2.2 -> 4.2.4
libbpf: upgrade 1.4.2 -> 1.4.3
libcgi-perl: upgrade 4.64 -> 4.66
libcrypt-openssl-random-perl: upgrade 0.16 -> 0.17
libdaq: upgrade 3.0.14 -> 3.0.15
libextutils-helpers-perl: upgrade 0.026 -> 0.027
libfido2: upgrade 1.14.0 -> 1.15.0
libimobiledevice-glue: upgrade 1.2.0 -> 1.3.0
mcelog: upgrade 199 -> 200
msgraph: upgrade 0.2.2 -> 0.2.3
networkmanager-openvpn: upgrade 1.11.0 -> 1.12.0
opentelemetry-cpp: upgrade 1.15.0 -> 1.16.0
openvpn: upgrade 2.6.10 -> 2.6.11
python3-ansi2html: upgrade 1.9.1 -> 1.9.2
python3-argcomplete: upgrade 3.3.0 -> 3.4.0
python3-bandit: upgrade 1.7.8 -> 1.7.9
python3-coverage: upgrade 7.5.3 -> 7.5.4
python3-djangorestframework: upgrade 3.15.1 -> 3.15.2
python3-email-validator: upgrade 2.1.1 -> 2.2.0
python3-filelock: upgrade 3.15.3 -> 3.15.4
python3-flexparser: upgrade 0.3 -> 0.3.1
python3-google-api-python-client: upgrade 2.131.0 -> 2.134.0
python3-google-auth: upgrade 2.29.0 -> 2.30.0
python3-googleapis-common-protos: upgrade 1.63.0 -> 1.63.1
python3-huey: upgrade 2.5.0 -> 2.5.1
python3-langtable: upgrade 0.0.66 -> 0.0.67
python3-marshmallow: upgrade 3.21.2 -> 3.21.3
python3-meh: upgrade 0.51 -> 0.52
python3-openpyxl: upgrade 3.1.3 -> 3.1.4
python3-parse: upgrade 1.20.1 -> 1.20.2
python3-pdm-backend: upgrade 2.3.0 -> 2.3.1
python3-pint: upgrade 0.23 -> 0.24
python3-portalocker: upgrade 2.8.2 -> 2.10.0
python3-prompt-toolkit: upgrade 3.0.45 -> 3.0.47
python3-pycodestyle: upgrade 2.11.1 -> 2.12.0
python3-pymisp: upgrade 2.4.190 -> 2.4.194
python3-pymongo: upgrade 4.7.2 -> 4.7.3
python3-pyproject-api: upgrade 1.6.1 -> 1.7.1
python3-redis: upgrade 5.0.4 -> 5.0.6
python3-responses: upgrade 0.25.0 -> 0.25.3
python3-robotframework: upgrade 7.0 -> 7.0.1
python3-scikit-build: upgrade 0.17.6 -> 0.18.0
python3-sqlalchemy: upgrade 2.0.30 -> 2.0.31
python3-tox: upgrade 4.15.0 -> 4.15.1
python3-types-psutil: upgrade 5.9.5.20240516 -> 6.0.0.20240621
python3-virtualenv: upgrade 20.26.2 -> 20.26.3
qpdf: upgrade 11.9.0 -> 11.9.1
tesseract: upgrade 5.3.4 -> 5.4.1
thingsboard-gateway: upgrade 3.5 -> 3.5.1
openldap: upgrade 2.6.7 -> 2.6.8
openldap: fix lib32-openldap build failure with gcc-14
sblim-sfcc: fix build failure with gcc-14
openct: fix build failure with gcc-14
libcurses-perl: upgrade 1.41 -> 1.45
ctags: upgrade 6.1.20240623.0 -> 6.1.20240630.0
feh: upgrade 3.10.2 -> 3.10.3
gexiv2: upgrade 0.14.2 -> 0.14.3
isomd5sum: upgrade 1.2.4 -> 1.2.5
libndp: upgrade 1.8 -> 1.9
networkmanager: upgrade 1.48.0 -> 1.48.2
python3-a2wsgi: upgrade 1.10.4 -> 1.10.6
python3-aiofiles: upgrade 23.2.1 -> 24.1.0
python3-alembic: upgrade 1.13.1 -> 1.13.2
python3-awesomeversion: upgrade 24.2.0 -> 24.6.0
python3-dbus-fast: upgrade 2.21.3 -> 2.22.1
python3-gast: upgrade 0.5.4 -> 0.6.0
python3-google-api-core: upgrade 2.19.0 -> 2.19.1
python3-google-api-python-client: upgrade 2.134.0 -> 2.135.0
python3-googleapis-common-protos: upgrade 1.63.1 -> 1.63.2
python3-imageio: upgrade 2.34.1 -> 2.34.2
python3-ipython: upgrade 8.25.0 -> 8.26.0
python3-openpyxl: upgrade 3.1.4 -> 3.1.5
python3-pdm: upgrade 2.15.4 -> 2.16.1
python3-pymodbus: upgrade 3.6.8 -> 3.6.9
python3-rapidjson: upgrade 1.17 -> 1.18
python3-redis: upgrade 5.0.6 -> 5.0.7
python3-twine: upgrade 5.1.0 -> 5.1.1
python3-types-setuptools: upgrade 70.0.0.20240524 -> 70.1.0.20240627
python3-web3: upgrade 6.19.0 -> 6.20.0
fetchmail: disable rpath to fix buildpaths warning.
procmail: fix build failure with gcc-14
botan: upgrade 3.4.0 -> 3.5.0
ctags: upgrade 6.1.20240630.0 -> 6.1.20240714.0
exiftool: upgrade 12.87 -> 12.89
gnome-keyring: upgrade 46.1 -> 46.2
hwdata: upgrade 0.383 -> 0.384
imlib2: upgrade 1.12.2 -> 1.12.3
ipset: upgrade 7.21 -> 7.22
libass: upgrade 0.17.2 -> 0.17.3
libbpf: upgrade 1.4.3 -> 1.4.5
lvm2: upgrade 2.03.24 -> 2.03.25
libio-socket-ssl-perl: upgrade 2.085 -> 2.088
mpich: upgrade 4.2.1 -> 4.2.2
nano: upgrade 8.0 -> 8.1
networkmanager: upgrade 1.48.2 -> 1.48.4
poke: upgrade 4.1 -> 4.2
python3-argh: upgrade 0.31.2 -> 0.31.3
python3-astroid: upgrade 3.2.2 -> 3.2.3
python3-coverage: upgrade 7.5.4 -> 7.6.0
python3-humanize: upgrade 4.9.0 -> 4.10.0
python3-moteus: upgrade 0.3.71 -> 0.3.72
python3-oletools: upgrade 0.60.1 -> 0.60.2
python3-pdm-backend: upgrade 2.3.1 -> 2.3.2
python3-pillow: upgrade 10.3.0 -> 10.4.0
python3-portalocker: upgrade 2.10.0 -> 2.10.1
python3-prettytable: upgrade 3.10.0 -> 3.10.2
python3-py7zr: upgrade 0.21.0 -> 0.21.1
python3-sympy: upgrade 1.12.1 -> 1.13.0
python3-tomlkit: upgrade 0.12.5 -> 0.13.0
python3-types-setuptools: upgrade 70.1.0.20240627 -> 70.3.0.20240710
python3-validators: upgrade 0.28.3 -> 0.32.0
qcbor: upgrade 1.3 -> 1.4
sngrep: upgrade 1.8.1 -> 1.8.2
thin-provisioning-tools: upgrade 1.0.12 -> 1.0.13
tree: upgrade 2.1.1 -> 2.1.3
wireshark: upgrade 4.2.5 -> 4.2.6
wolfssl: upgrade 5.7.0 -> 5.7.2
xterm: upgrade 392 -> 393
zenity: upgrade 4.0.1 -> 4.0.2
apache2: upgrade 2.4.61 -> 2.4.62
cfengine-masterfiles: upgrade 3.21.0 -> 3.21.5
cmark: upgrade 0.31.0 -> 0.31.1
cryptsetup: upgrade 2.7.3 -> 2.7.4
ctags: upgrade 6.1.20240714.0 -> 6.1.20240804.0
eog: upgrade 45.3 -> 45.4
fwupd: upgrade 1.9.18 -> 1.9.22
gmime: upgrade 3.2.13 -> 3.2.15
gnome-bluetooth: upgrade 46.0 -> 46.1
googletest: upgrade 1.14.0 -> 1.15.2
icewm: upgrade 3.4.5 -> 3.6.0
leptonica: upgrade 1.82.0 -> 1.84.1
libiodbc: upgrade 3.52.15 -> 3.52.16
liblinebreak: upgrade 1.2 -> 2.1
libnvme: upgrade 1.9 -> 1.10
libpaper: upgrade 2.1.2 -> 2.2.5
libpcsc-perl: upgrade 1.4.14 -> 1.4.15
libsdl-gfx: upgrade 2.0.25 -> 2.0.27
libtdb: upgrade 1.4.10 -> 1.4.11
libtracefs: upgrade 1.8.0 -> 1.8.1
logwarn: upgrade 1.0.14 -> 1.0.17
logwatch: upgrade 7.10 -> 7.11
msgpack-cpp: upgrade 6.1.0 -> 6.1.1
neatvnc: upgrade 0.8.0 -> 0.8.1
networkmanager: upgrade 1.48.4 -> 1.48.6
nss: upgrade 3.102 -> 3.103
openipmi: upgrade 2.0.35 -> 2.0.36
opentelemetry-cpp: upgrade 1.16.0 -> 1.16.1
openvpn: upgrade 2.6.11 -> 2.6.12
python3-a2wsgi: upgrade 1.10.6 -> 1.10.7
python3-aiohappyeyeballs: upgrade 2.3.2 -> 2.3.4
python3-astroid: upgrade 3.2.3 -> 3.2.4
python3-autobahn: upgrade 23.6.2 -> 24.4.2
python3-croniter: upgrade 2.0.5 -> 3.0.3
python3-langtable: upgrade 0.0.67 -> 0.0.68
python3-pdm-backend: upgrade 2.3.2 -> 2.3.3
python3-pure-eval: upgrade 0.2.2 -> 0.2.3
python3-pyfanotify: upgrade 0.2.2 -> 0.3.0
python3-pymisp: upgrade 2.4.194 -> 2.4.195
python3-pymodbus: upgrade 3.6.9 -> 3.7.0
python3-pytest-lazy-fixtures: upgrade 1.0.7 -> 1.1.1
python3-qface: upgrade 2.0.8 -> 2.0.10
python3-rapidjson: upgrade 1.18 -> 1.19
python3-redis: upgrade 5.0.7 -> 5.0.8
python3-regex: upgrade 2024.5.15 -> 2024.7.24
python3-sqlparse: upgrade 0.5.0 -> 0.5.1
python3-sympy: upgrade 1.13.0 -> 1.13.1
python3-tqdm: upgrade 4.66.4 -> 4.66.5
python3-types-setuptools: upgrade 70.3.0.20240710 -> 71.1.0.20240726
python3-validators: upgrade 0.32.0 -> 0.33.0
python3-web3: upgrade 6.20.0 -> 6.20.1
python3-xmlschema: upgrade 3.3.1 -> 3.3.2
qcbor: upgrade 1.4 -> 1.4.1
rsyslog: upgrade 8.2404.0 -> 8.2406.0
ttf-abyssinica: upgrade 2.100 -> 2.201
wavemon: upgrade 0.9.5 -> 0.9.6
xmlsec1: upgrade 1.3.4 -> 1.3.5
picocom: upgrade 2023-04 -> 2024
hostapd: upgrade 2.10 -> 2.11
python3-incremental: upgrade 22.10.0 -> 24.7.2
colord-gtk: upgrade 0.3.0 -> 0.3.1
ctags: upgrade 6.1.20240804.0 -> 6.1.20240825.0
fwupd: upgrade 1.9.22 -> 1.9.24
hwdata: upgrade 0.384 -> 0.385
lastlog2: upgrade 1.2.0 -> 1.3.1
libbytesize: upgrade 2.10 -> 2.11
libei: upgrade 1.2.1 -> 1.3.0
libnet-dns-perl: upgrade 1.45 -> 1.46
libtdb: upgrade 1.4.11 -> 1.4.12
libtest-harness-perl: upgrade 3.48 -> 3.50
xdg-dbus-proxy: upgrade 0.1.5 -> 0.1.6
mdns: upgrade 2200.120.24 -> 2200.140.11
mutter: upgrade 46.2 -> 46.4
networkmanager: upgrade 1.48.6 -> 1.48.10
pamela: upgrade 1.1.0 -> 1.2.0
pcsc-tools: upgrade 1.7.1 -> 1.7.2
postgresql: upgrade 16.3 -> 16.4
python3-aiohappyeyeballs: upgrade 2.3.4 -> 2.4.0
python3-aiohttp: upgrade 3.10.3 -> 3.10.5
python3-aiohue: upgrade 4.7.2 -> 4.7.3
python3-cachetools: upgrade 5.4.0 -> 5.5.0
python3-dbus-fast: upgrade 2.22.1 -> 2.24.0
python3-eth-utils: upgrade 4.1.1 -> 5.0.0
python3-gunicorn: upgrade 22.0.0 -> 23.0.0
python3-imageio: upgrade 2.35.0 -> 2.35.1
python3-importlib-metadata: upgrade 8.2.0 -> 8.4.0
python3-marshmallow: upgrade 3.21.3 -> 3.22.0
python3-nocasedict: upgrade 2.0.3 -> 2.0.4
python3-nocaselist: upgrade 2.0.2 -> 2.0.3
python3-paramiko: upgrade 3.4.0 -> 3.4.1
python3-py7zr: upgrade 0.21.1 -> 0.22.0
python3-pycodestyle: upgrade 2.12.0 -> 2.12.1
python3-pymisp: upgrade 2.4.195 -> 2.4.196
python3-pyzstd: upgrade 0.16.0 -> 0.16.1
python3-simplejson: upgrade 3.19.2 -> 3.19.3
python3-sqlalchemy: upgrade 2.0.31 -> 2.0.32
python3-sympy: upgrade 1.13.1 -> 1.13.2
python3-tomlkit: upgrade 0.13.0 -> 0.13.2
python3-typer: upgrade 0.12.3 -> 0.12.5
python3-types-python-dateutil: upgrade 2.9.0.20240316 -> 2.9.0.20240821
python3-types-setuptools: upgrade 71.1.0.20240726 -> 73.0.0.20240822
python3-xxhash: upgrade 3.4.1 -> 3.5.0
rsyslog: upgrade 8.2406.0 -> 8.2408.0
samba: upgrade 4.19.7 -> 4.19.8
sanlock: upgrade 3.9.3 -> 3.9.4
unbound: upgrade 1.20.0 -> 1.21.0
lastlog2: remove recipe since it has been merged into util-linux
ctags: upgrade 6.1.20240825.0 -> 6.1.20240908.0
eog: upgrade 45.4 -> 47.0
flatpak-xdg-utils: upgrade 1.0.5 -> 1.0.6
gensio: upgrade 2.8.5 -> 2.8.7
gnome-autoar: upgrade 0.4.4 -> 0.4.5
hwdata: upgrade 0.385 -> 0.387
libbpf: upgrade 1.4.5 -> 1.4.6
libcompress-raw-bzip2-perl: upgrade 2.212 -> 2.213
libcompress-raw-lzma-perl: upgrade 2.212 -> 2.213
libcompress-raw-zlib-perl: upgrade 2.212 -> 2.213
libextutils-helpers-perl: upgrade 0.027 -> 0.028
libio-compress-lzma-perl: upgrade 2.212 -> 2.213
libio-compress-perl: upgrade 2.212 -> 2.213
libio-socket-ssl-perl: upgrade 2.088 -> 2.089
libspiro: upgrade 20221101 -> 20240903
nano: upgrade 8.1 -> 8.2
python3-dbus-fast: upgrade 2.24.0 -> 2.24.2
python3-executing: upgrade 2.0.1 -> 2.1.0
python3-filelock: upgrade 3.15.4 -> 3.16.0
python3-httpx: upgrade 0.27.0 -> 0.27.2
python3-ipython: upgrade 8.26.0 -> 8.27.0
python3-kiwisolver: upgrade 1.4.5 -> 1.4.7
python3-parse-type: upgrade 0.6.2 -> 0.6.3
python3-pefile: upgrade 2023.2.7 -> 2024.8.26
python3-platformdirs: upgrade 4.2.2 -> 4.3.1
python3-pulsectl: upgrade 24.4.0 -> 24.8.0
python3-pymetno: upgrade 0.12.0 -> 0.13.0
python3-pymisp: upgrade 2.4.196 -> 2.4.197
python3-pymodbus: upgrade 3.7.0 -> 3.7.2
python3-rich: upgrade 13.7.1 -> 13.8.0
python3-scikit-build: upgrade 0.18.0 -> 0.18.1
python3-types-psutil: upgrade 6.0.0.20240621 -> 6.0.0.20240901
python3-types-python-dateutil: upgrade 2.9.0.20240821 -> 2.9.0.20240906
python3-validators: upgrade 0.33.0 -> 0.34.0
python3-virtualenv: upgrade 20.26.3 -> 20.26.4
python3-watchdog: upgrade 4.0.2 -> 5.0.2
python3-yarl: upgrade 1.9.4 -> 1.10.0
python3-zeroconf: upgrade 0.132.2 -> 0.134.0
uhubctl: upgrade 2.5.0 -> 2.6.0
valijson: upgrade 1.0.2 -> 1.0.3
xfsdump: upgrade 3.1.12 -> 3.2.0
xterm: upgrade 393 -> 394
bdwgc: upgrade 8.2.6 -> 8.2.8
ctags: upgrade 6.1.20240908.0 -> 6.1.20240915.0
gnome-backgrounds: upgrade 46.0 -> 47.0
gnome-chess: upgrade 46.0 -> 47.0
gnome-font-viewer: upgrade 46.0 -> 47.0
libmanette: upgrade 0.2.7 -> 0.2.9
pegtl: upgrade 3.2.7 -> 3.2.8
python3-elementpath: upgrade 4.4.0 -> 4.5.0
python3-eventlet: upgrade 0.36.1 -> 0.37.0
python3-filelock: upgrade 3.16.0 -> 3.16.1
python3-greenlet: upgrade 3.0.3 -> 3.1.0
python3-nmap: upgrade 1.6.0 -> 1.9.1
python3-paramiko: upgrade 3.4.1 -> 3.5.0
python3-platformdirs: upgrade 4.3.1 -> 4.3.6
python3-psycopg: upgrade 3.2.1 -> 3.2.2
python3-pyasn1-modules: upgrade 0.4.0 -> 0.4.1
python3-pymisp: upgrade 2.4.197 -> 2.4.198
python3-pyproject-api: upgrade 1.7.1 -> 1.7.2
python3-pyunormalize: upgrade 15.1.0 -> 16.0.0
python3-regex: upgrade 2024.7.24 -> 2024.9.11
python3-rich: upgrade 13.8.0 -> 13.8.1
python3-robotframework: upgrade 7.0.1 -> 7.1
python3-virtualenv: upgrade 20.26.4 -> 20.26.5
python3-xmlschema: upgrade 3.3.2 -> 3.4.1
python3-yarl: upgrade 1.10.0 -> 1.11.1
stunnel: upgrade 5.72 -> 5.73
tecla: upgrade 46.0 -> 47.0
traceroute: upgrade 2.1.5 -> 2.1.6
nmap: Fix off-by-one overflow in the IP protocol table.
python3-alembic: upgrade 1.13.2 -> 1.13.3
Yi Zhao (48):
libldb: upgrade 2.8.0 -> 2.8.1
samba: upgrade 4.19.6 -> 4.19.7
devecot: set dovecot.conf file mode with chmod
packagegroup-xfce-extended: fix typo of gobject-introspection-data feature
lastlog2: specify correct pamlibdir
wtmpdb: specify correct pamlibdir
libnftnl: upgrade 1.2.6 -> 1.2.7
nftables: upgrade 1.0.9 -> 1.1.0
netplan: upgrade 1.0 -> 1.0.1
snort3: upgrade 3.1.84.0 -> 3.3.1.0
snort3: upgrade 3.3.1.0 -> 3.3.2.0
tcpreplay: upgrade 4.4.4 -> 4.5.1
libdaq: upgrade 3.0.15 -> 3.0.16
audit: upgrade 4.0.1 -> 4.0.2
snort3: upgrade 3.3.2.0 -> 3.3.3.0
snort3: upgrade 3.3.3.0 -> 3.3.4.0
tcpdump: upgrade 4.99.4 -> 4.99.5
cryptsetup: upgrade 2.7.4 -> 2.7.5
dracut: upgrade 102 -> 103
freeradius: upgrade 3.2.3 -> 3.2.5
autofs: upgrade 5.1.8 -> 5.1.9
mbedtls: upgrade 3.6.0 -> 3.6.1
mbedtls: upgrade 2.28.8 -> 2.28.9
drbd-utils: upgrade 9.27.0 -> 9.28.0
mm-common: upgrade 1.0.4 -> 1.0.6
lvm2: upgrade 2.03.25 -> 2.03.26
geoclue: upgrade 2.7.1 -> 2.7.2
s-nail: upgrade 14.9.24 -> 14.9.25
crash: upgrade 8.0.4 -> 8.0.5
mce-inject: upgrade to latest git rev
mce-test: update to latest git rev
fltk: upgrade 1.3.8 -> 1.3.9
openjpeg: upgrade 2.5.0 -> 2.5.2
netplan: upgrade 1.0.1 -> 1.1
libssh: upgrade 0.10.6 -> 0.11.1
jsoncpp: upgrade 1.9.5 -> 1.9.6
debootstrap: upgrade 1.0.132 -> 1.0.137
frr: upgrade 10.1 -> 10.1.1
open-vm-tools: upgrade 12.3.5 -> 12.4.5
v4l-utils: upgrade 1.26.1 -> 1.28.1
catch2: upgrade 3.6.0 -> 3.7.0
tbb: upgrade 2021.11.0 -> 2021.13.0
abseil-cpp: upgrade 20240116.2 -> 20240722.0
protobuf: add abseil-cpp to RDEPENDS
protobuf: upgrade 4.25.4 -> 4.25.5
lksctp-tools: upgrade 1.0.19 -> 1.0.20
tcpslice: upgrade 1.7 -> 1.8
libhugetlbfs: upgrade 2.23 -> 2.24
Yoann Congal (39):
python3-redis: add an archive prefix to avoid clashing with redis
pidgin: Upgrade to 2.14.13
daq: fix SRC_URI to point to the real 2.0.7 release
pidgin: Update Upstream-Status for gcc-14 compatibility patch
pidgin: Remove gcc-14 compatibility workaround
dbus-broker: update UPSTREAM_CHECK_* variables to fix devtool upgrades
mariadb: update UPSTREAM_CHECK_* variables to fix devtool upgrades
mbuffer: update UPSTREAM_CHECK_* variables to fix devtool upgrades
microcom: update UPSTREAM_CHECK_* variables to fix devtool upgrades
openbox-xdgmenu: update UPSTREAM_CHECK_* variables to fix devtool upgrades
proxy-libintl: update UPSTREAM_CHECK_* variables to fix devtool upgrades
pugixml: update UPSTREAM_CHECK_* variables to fix devtool upgrades
pv: update UPSTREAM_CHECK_* variables to fix devtool upgrades
sblim-sfcc: update UPSTREAM_CHECK_* variables to fix devtool upgrades
source-code-pro-fonts: update UPSTREAM_CHECK_* variables to fix devtool upgrades
stalonetray: update UPSTREAM_CHECK_* variables to fix devtool upgrades
testfloat: update UPSTREAM_CHECK_* variables to fix devtool upgrades
tk: update UPSTREAM_CHECK_* variables to fix devtool upgrades
tmux: update UPSTREAM_CHECK_* variables to fix devtool upgrades
ttf-abyssinica: update UPSTREAM_CHECK_* variables to fix devtool upgrades
zeromq: update UPSTREAM_CHECK_* variables to fix devtool upgrades
qad: Add UPSTREAM_CHECK_COMMITS
reboot-mode: Add UPSTREAM_CHECK_COMMITS
s-suite: Add UPSTREAM_CHECK_COMMITS
syzkaller: Add UPSTREAM_CHECK_COMMITS
yavta: Add UPSTREAM_CHECK_COMMITS
zsync-curl: Add UPSTREAM_CHECK_COMMITS
klibc: fix debug pkgs reproducibility
polkit: Switch PAM files to common-*
polkit: fix build on sysvinit
grilo: fix buildpaths QA error
non-repro-meta-python: exclude packages that failed previously
README.md: Hint at "git request-pull"
non-repro-meta-networking: exclude packages that failed previously
non-repro-meta-filesystems: update known reproducible packages
non-repro-meta-networking: update known non-reproducible list
polkit: Update Upstream-Status of a merged patch
wtmpdb: fix installed-vs-shipped build error
minidlna: fix reproducibility
Yogesh Tyagi (1):
python3-pybind11 : upgrade 2.11.1 -> 2.12.0
Yogita Urade (3):
hdf5: upgrade to 1.14.4
poppler: CVE-2024-6239
krb5: fix CVE-2024-26458 and CVE-2024-26461
Zhang Peng (1):
hiredis: remove ANSI color from ptest result
alba@thehoodiefirm.com (1):
apache2:apache2-native: sort CVE status
alperak (61):
recipes: set S to fix the QA warning
pcp: Fix contains reference to TMPDIR [buildpaths] warnings
boinc-client: Fix contains reference to TMPDIR [buildpaths] warning
rdist: Fix contains reference to TMPDIR [buildpaths] warning
gphoto2: Fix contains reference to TMPDIR [buildpaths] warning
hplip: Fix contains reference to TMPDIR [buildpaths] warning
jsonrpc: Fix contains reference to TMPDIR [buildpaths] warning
exiv2: Upgrade 0.28.2 to 0.28.3 for CVE fix
tayga: Fix contains reference to TMPDIR [buildpaths] warning
etcd-cpp-apiv3: Fix contains reference to TMPDIR [buildpaths] warning
python3-lazy: switch to PEP-517 build backend
python3-classes: switch to PEP-517 build backend
python3-eventlet: switch to PEP-517 build backend
python3-bitstruct: switch to PEP-517 build backend
python3-dbus-fast: switch to PEP-517 build backend
python3-brotli: switch to PEP-517 build backend
python3-pymongo: switch to PEP-517 build backend
python3-can: switch to PEP-517 build backend
python3-pyaudio: switch to PEP-517 build backend
python3-term: switch to PEP-517 build backend
python3-screeninfo: switch to PEP-517 build backend
python3-pykickstart: switch to PEP-517 build backend
python3-click-repl: switch to PEP-517 build backend
python3-evdev: switch to PEP-517 build backend
python3-qrcode: switch to PEP-517 build backend
python3-pyproj: switch to PEP-517 build backend
python3-file-magic: switch to PEP-517 build backend
python3-joblib: switch to PEP-517 build backend
python3-dill: switch to PEP-517 build backend
python3-luma-oled: switch to PEP-517 build backend
python3-pyudev: switch to PEP-517 build backend
python3-xmlschema: switch to PEP-517 build backend
python3-lru-dict: switch to PEP-517 build backend
python3-ipython: switch to PEP-517 build backend
python3-portion: switch to PEP-517 build backend
python3-lazy-object-proxy: switch to PEP-517 build backend
python3-aioserial: switch to PEP-517 build backend
perfetto: Fix contains reference to TMPDIR [buildpaths] warning
python3-reedsolo: upgrade 2.0.13 -> 2.1.0b1
blueman: Fix do_package QA issue
python3-service-identity: switch to PEP-517 build backend
python3-parse-type: switch to PEP-517 build backend
python3-regex: switch to PEP-517 build backend
python3-pytest-timeout: switch to PEP-517 build backend
python3-pytest-metadata: switch to PEP-517 build backend
python3-pyroute: switch to PEP-517 build backend
python3-pyjwt: switch to PEP-517 build backend
python3-pyasn1-modules: switch to PEP-517 build backend
python3-py-cpuinfo: switch to PEP-517 build backend
python3-django: switch to PEP-517 build backend
python3-greenlet: switch to PEP-517 build backend
python3-gevent: switch to PEP-517 build backend
python3-msgpack: upgrade 1.0.8 -> 1.1.0
python3-sqlalchemy: Upgrade 2.0.32 -> 2.0.35 and switch to PEP-517 build backend
python3-alembic: switch to PEP-517 build backend
python3-inflate64: switch to PEP-517 build backend
python3-spidev: switch to PEP-517 build backend
python3-pastedeploy: switch to PEP-517 build backend
python3-reedsolo: switch to PEP-517 build backend
curlpp: Fix build issue
libhugetlbfs: Fix contains reference to TMPDIR [buildpaths] error
ptak (1):
opencv: upgrade 4.9.0 -> 4.10.0
quic-raghuvar (2):
android-tools-adbd.service: Change /var to /etc in ConditionPathExists
android-toold-adbd: Fix inconsistency between selinux configurations
rajmohan r (1):
unbound: Add ptest for unbound
s-tokumoto (2):
capnproto: Add "capnp" to CVE_PRODUCT
fuse: Add "fuse:fuse" to CVE_PRODUCT
meta-security: b4a8bc606f..e2c44c8b5d:
Anusmita Dutta Mazumder (1):
Add styhead LAYERSERIES_COMPAT
Armin Kuster (18):
recipes-*: convert WORKDIR->UNPACKDIR
apparmor: fix QA Warnings
python3-fail2ban: convert WORKDIR->UNPACKDIR
krill: Fix QA warnings
suricata: fix QA warnings
isic: Fix config error
arpwatch: Fix compile error
chipsec: Fix QA Warnings
tpm-tools: fix QA and compile errors.
ima-policy: Fix S=UNPACKDIR
harden/initscripts: UNPACKDIR fix
harden-image-minima: Fix usermod
aide: update to latest stable.
python3-privacyidea: switch to PEP-517 build backend
switch to PEP-517 build backend
python3-tpm2-pyts: switch to PEP-517 build backend
gitlab-ci: minor tweaks to try
layer.conf: Update to styhead release name series
Chen Qi (1):
libgssglue: switch to use git source
Hitendra Prajapati (2):
sssd: Fix CVE-2023-3758
libhtp: fix CVE-2024-45797
Martin Jansa (4):
{tcp,udp}-smack-test: fix few more implicit-function-declaration issues fatal with gcc-14
README.md: fix sendemail.to value
suricata: run whole autotools_do_configure not just oe_runconf
layer.conf: Update to styhead release name series
Mikko Rapeli (9):
python3-tpm2-pytss: update from 2.1.0 to 2.3.0
parsec-service: UNPACKDIR fixes
bastille: UNPACKDIR fixes
initramfs-framework-ima: UNPACKDIR fix
ima-policy-appraise-all: UNPACKDIR fix
ima-policy-simple: UNPACKDIR fix
ima-policy-hashed: set S
ima-policy-appraise-all: set S
ima-policy-simple: set S
Rasmus Villemoes (1):
fail2ban: update to 1.1.0+
Ricardo Salveti (1):
tpm2-tss: drop libgcrypt
Siddharth Doshi (1):
Suricata: Security Fix for CVE-2024-37151, CVE-2024-38534, CVE-2024-38535, CVE-2024-38536
Stefan Berger (3):
meta-integrity: Remove stale variables and documentation
meta-integrity: Add IMA_EVM_PRIVKEY_KEY_OPT to pass options to evmctl
meta-integrity: Enable passing private key password
Vijay Anusuri (1):
tpm2-tools: Upgrade 5.5 -> 5.7
Wang Mingyu (3):
ima-policy-hashed: Start WORKDIR -> UNPACKDIR transition
suricata: Start WORKDIR -> UNPACKDIR transition
trousers: Start WORKDIR -> UNPACKDIR transition
Yi Zhao (3):
openscap: fix PACKAGECONFIG[remediate_service]
openscap: upgrade 1.3.10 -> 1.4.0
scap-security-guide: upgrade 0.1.73 -> 0.1.74
meta-raspberrypi: eb8ffc4e63..97d7a6b5ec:
Andrew Lalaev (1):
rpi-base.inc: add the disable-wifi-pi5 overlay
Bastian Wanner (1):
udev-rules-rpi.bb: Fix psplash systemd connection
Garrett Brown (1):
linux: Enable CONFIG_I2C_BRCMSTB for proper HDMI I2C support
Jaeyoon Jung (1):
linux-raspberrypi: Drop deprecated configs from android-driver.cfg
Jan Vermaete (5):
kas: updated the refspec syntax of the kas file
README.md: pi3-disable-bt is renamed to disable-bt in kas example
rpi-base.inc: added the disable-bt-pi5 device tree overlay
raspi-utils: added new recipe
extra-build-config.md: added a white line
Khem Raj (6):
linux-raspberrypi: Upgrade kernel to 6.6.36
weston-init.bbappend: Delete
layer.conf: Update to walnascar (5.2) layer/release series
linux-raspberrypi-6.6: Upgrade to 6.6.63
rpi-base: Remove bcm2712-rpi-5-b.dtb from RPI_KERNEL_DEVICETREE target
SECURITY.md: Add instructions for reporting security issues
Leon Anavi (2):
rpi-u-boot-scr: WORKDIR -> UNPACKDIR transition
conf/layer.conf: Remove meta-lts-mixins
Luca Carlon (1):
picamera-libs: removed unused libraries from python3-picamera
Martin Jansa (1):
mesa: rename bbappend to match new recipe name from oe-core
Matthias Klein (1):
linux-firmware-rpidistro: Upgrade to bookworm/20230625-2+rpt3
Pierrick Curt (1):
rpi-base: build uart dts overlays by default
Robert Yang (1):
conf/layer.conf: Remove duplicated BBFILES
Victor Löfgren (1):
README.md: Update link to compatible layers
Vincent Davis Jr (2):
rpi-default-providers: remove vlc,ffmpeg PREFFERED_PROVIDER
docs: include PREFERRED_PROVIDER_ffmpeg,vlc change
meta-arm: 981425c54e..18bc3f9389:
Ali Can Ozaslan (2):
arm-bsp/trusted-firmware-m: corstone1000: Increase PS size
arm-bsp/optee: corstone1000: Update upstream status
Amr Mohamed (5):
arm-systemready/README.md: add ARM_FVP_EULA_ACCEPT
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 (18):
arm-bsp/optee:corstone1000: Update optee to v4.2
arm-bsp/optee: Remove OP-TEE OS v4.1 recipe
arm-bsp/trusted-firmware-a: Upgrade Corstone1000 to TF-A v2.11
arm-bsp/u-boot: corstone1000: use mdata v2
arm-bsp/trusted-firmware-a: corstone1000: update upstream statuses
arm-bsp/trusted-firmware-m: corstone1000: upgrade to TF-M v2.1.x
arm-bsp/trusted-services: corstone1000: align PSA crypto structs with TF-M
arm-bsp/trusted-firmware-m: Remove TF-M v2.0 recipe
arm-bsp/trusted-firmware-m: corstone1000: fix bank offset
arm-bsp/trusted-firmware-m: corstone1000: add Secure Debug
arm-bsp/documentation: corstone1000: add Secure Debug test
CI: Add secure debug build for Corstone-1000
arm-bsp/linux-yocto: corstone1000: bump to v6.10
arm-bsp/documentation: corstone1000: remove TEE driver load
arm-bsp/trusted-firmware-m: corstone1000: Fix MPU configuration
arm-bsp/trusted-firmware-m: corstone1000: Update metadata handling
arm-bsp/trusted-firmware-m: corstone1000: Update patches
arm-bsp/trusted-firmware-m: corstone1000: Fix Secure Debug connection due to token version mismatch
Delane Brandy (1):
arm-bsp/corstone1000: Update Corstone-1000 user guide
Emekcan Aras (1):
arm-bsp/trusted-firmware-m: corstone1000: Switch to metadata v2
Harsimran Singh Tungal (7):
arm-bsp/u-boot: corstone1000: fix U-Boot patch
arm-bsp/trusted-services: corstone1000: fix compilation issues
arm-bsp/trusted-services: fix compilation issues for ts-newlib
arm-bsp/trusted-firmware-a: corstone1000: fix compilation issue for FVP multicore
arm-bsp,kas: corstone1000: enable External System based on new yml file
arm-bsp,documentation: corstone1000: update user documentation
arm-bsp/trusted-services: corstone1000: Update Trusted-Services patches
Hugues KAMBA MPIANA (4):
arm-bsp/documentation: corstone1000: Mention PMOD module as prerequisite
arm-bsp/documentation: corstone1000: Amend documentation for CORSTONE1000-2024.11 release
kas: corstone-1000: Update the SHA of the Yocto layer dependencies for the CORSTONE1000-2024.11 release.
kas: corstone-1000: Pin Yocto layer dependencies for CORSTONE1000-2024.11 release
Hugues Kamba-Mpiana (2):
arm-bsp/documentation: corstone1000: Deprecation of Sphinx context injection
arm-bsp/documentation: corstone1000: Install Sphinx theme as recommended
Javier Tia (3):
arm/optee: Add optee udev rules
arm: Enable Secure Boot in all required recipes
arm/qemuarm64-secureboot: Enable UEFI Secure Boot
Jon Mason (31):
arm-bsp/fvp-base: update version to 11.26.11
arm/qemuarm64-secureboot: fix qemu parameter
arm-toolchain: fix for WORKDIR changes
arm-systemready: WORKDIR to UNPACKDIR changes
CI: remove ts-smm-gateway for qemuarm64-secureboot-ts
arm-toolchain: update to 13.3
CI: remove unnecessary clang settings
CI: add poky-altcfg
arm/opencsd: update to 1.5.3
arm/boot-wrapper-aarch64: update with latest patch
arm/gn: update to the latest commit
CI: remove xorg test removal from edk2
arm-bsp/fvp-base: add edk2 testimage support
arm-bsp/fvp-base: u-boot patch clean-up
arm: use devtool to clean-up patches
arm-bsp: remove unreferenced patches and configs
arm/trusted-firmware-a: remove workaround patch for qemuarm64-secureboot
arm/qemu-efi-disk: add rootwait to bootargs
arm/arm-tstee: pin kernel to 6.6 to workaround issue
arm/trusted-firmware-a: update LICENSE entry
arm/musl: work around trusted services error
arm/libts: Patch to fix 6.10 kernel builds breaks
arm-bsp/documentation: corstone1000: Improve user guide
arm-toolchain: remove libmount-mountfd-support when using binary toolchain
arm-bsp/fvp-base: support poky-altcfg
arm-bsp/fvp-base: Get 6.10 kernel working
arm-bsp/fvp: Re-enable parselogs
arm/optee-os: Backport the clang fixes
arm-bsp/fvp-base: use trusted-firmware-a v2.11
CI: Rework qemuarm64-secureboot matrix
CI: remove branch name
Luca Fancellu (2):
arm/oeqa: Introduce retry mechanism for fvp_devices run_cmd
arm/lib: Handle timeout for spawn object on stop()
Mariam Elshakfy (1):
arm/trusted-services: Move ts-newlib compilation fix to meta-arm
Martin Jansa (1):
layer.conf: Update to styhead release name series
Mikko Rapeli (8):
optee-os: asm debug prefix fixes
optee-os: remove absolute paths
optee-os-tadevkit: remove buildpaths INSANE_SKIP
optee-os: remove buildpaths INSANE_SKIP
optee-os: fix buildpaths QA failure on corstone1000
ts-newlib: setup git with check_git_config
arm/optee-client: fix systemd service dependencies
trusted-firmware-a: fix panic on kv260/zynqmp
Peter Hoyes (1):
arm/fvpboot: Revert "Disable timing annotation by default"
Quentin Schulz (2):
add basic b4 config file
arm/trusted-firmware-a: add recipe for more-recent-but-not-yet-released source code
Ross Burton (9):
CI: update to Kas 4.4 image
arm-systemready: explicitly disable SPDX in the fake image classes
arm/edk2-firmware: set CVE_PRODUCT to the correct CPE
arm-bsp/linux-yocto: update for linux 6.10
CI: switch to building against styhead branches where possible
CI: add KAS_BUILD_DIR variable
CI: remove duplicate arm-systemready-ir-acs
CI: transform testimage reports into JUnit XML reports
arm-base/linux-yocto: revert interim 6.10 patch for fvp-base
Ziad Elhanafy (2):
arm/oeqa: Enable pexpect profiling for testcase debugging
arm-systemready/linux-distros: Follow WORKDIR -> UNPACKDIR transition
Change-Id: I8c03dc8ed1822e0356c1d3dcf86b5c408aff3f78
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'poky/bitbake/lib')
33 files changed, 873 insertions, 351 deletions
diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py index ab8bce3d57..9f9285de3d 100644 --- a/poky/bitbake/lib/bb/build.py +++ b/poky/bitbake/lib/bb/build.py @@ -743,7 +743,7 @@ def _exec_task(fn, task, d, quieterr): if quieterr: if not handled: - logger.warning(repr(exc)) + logger.warning(str(exc)) event.fire(TaskFailedSilent(task, fn, logfn, localdata), localdata) else: errprinted = errchk.triggered @@ -752,7 +752,7 @@ def _exec_task(fn, task, d, quieterr): if verboseStdoutLogging or handled: errprinted = True if not handled: - logger.error(repr(exc)) + logger.error(str(exc)) event.fire(TaskFailed(task, fn, logfn, localdata, errprinted), localdata) return 1 @@ -932,9 +932,13 @@ def add_tasks(tasklist, d): # don't assume holding a reference d.setVar('_task_deps', task_deps) +def ensure_task_prefix(name): + if name[:3] != "do_": + name = "do_" + name + return name + def addtask(task, before, after, d): - if task[:3] != "do_": - task = "do_" + task + task = ensure_task_prefix(task) d.setVarFlag(task, "task", 1) bbtasks = d.getVar('__BBTASKS', False) or [] @@ -946,19 +950,20 @@ def addtask(task, before, after, d): if after is not None: # set up deps for function for entry in after.split(): + entry = ensure_task_prefix(entry) if entry not in existing: existing.append(entry) d.setVarFlag(task, "deps", existing) if before is not None: # set up things that depend on this func for entry in before.split(): + entry = ensure_task_prefix(entry) existing = d.getVarFlag(entry, "deps", False) or [] if task not in existing: d.setVarFlag(entry, "deps", [task] + existing) def deltask(task, d): - if task[:3] != "do_": - task = "do_" + task + task = ensure_task_prefix(task) bbtasks = d.getVar('__BBTASKS', False) or [] if task in bbtasks: diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py index 18d5574a31..958652e0e3 100644 --- a/poky/bitbake/lib/bb/cache.py +++ b/poky/bitbake/lib/bb/cache.py @@ -28,7 +28,7 @@ import shutil logger = logging.getLogger("BitBake.Cache") -__cache_version__ = "155" +__cache_version__ = "156" def getCacheFile(path, filename, mc, data_hash): mcspec = '' @@ -441,7 +441,7 @@ class Cache(object): else: symlink = os.path.join(self.cachedir, "bb_cache.dat") - if os.path.exists(symlink): + if os.path.exists(symlink) or os.path.islink(symlink): bb.utils.remove(symlink) try: os.symlink(os.path.basename(self.cachefile), symlink) @@ -779,25 +779,6 @@ class MulticonfigCache(Mapping): for k in self.__caches: yield k -def init(cooker): - """ - The Objective: Cache the minimum amount of data possible yet get to the - stage of building packages (i.e. tryBuild) without reparsing any .bb files. - - To do this, we intercept getVar calls and only cache the variables we see - being accessed. We rely on the cache getVar calls being made for all - variables bitbake might need to use to reach this stage. For each cached - file we need to track: - - * Its mtime - * The mtimes of all its dependencies - * Whether it caused a parse.SkipRecipe exception - - Files causing parsing errors are evicted from the cache. - - """ - return Cache(cooker.configuration.data, cooker.configuration.data_hash) - class CacheData(object): """ diff --git a/poky/bitbake/lib/bb/codeparser.py b/poky/bitbake/lib/bb/codeparser.py index 691bdff75e..d249af326e 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,17 @@ 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()] + visitorcode = None + if hasattr(functions[f], 'visitorcode'): + visitorcode = getattr(functions[f], "visitorcode") + modulecode_deps[name] = [parser.references.copy(), execs, parser.var_execs.copy(), parser.contains.copy(), parser.extra, visitorcode] #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], modulecode_deps[mod][5]] # A custom getstate/setstate using tuples is actually worth 15% cachesize by # avoiding duplication of the attribute names! @@ -112,21 +120,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 +164,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 = 14 def __init__(self): MultiProcessCache.__init__(self) @@ -169,8 +178,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] @@ -255,7 +264,15 @@ class PythonParser(): def visit_Call(self, node): name = self.called_node_name(node.func) - if name and (name.endswith(self.getvars) or name.endswith(self.getvarflags) or name in self.containsfuncs or name in self.containsanyfuncs): + if name and name in modulecode_deps and modulecode_deps[name][5]: + visitorcode = modulecode_deps[name][5] + contains, execs, warn = visitorcode(name, node.args) + for i in contains: + self.contains[i] = contains[i] + self.execs |= execs + if warn: + self.warn(node.func, warn) + elif name and (name.endswith(self.getvars) or name.endswith(self.getvarflags) or name in self.containsfuncs or name in self.containsanyfuncs): if isinstance(node.args[0], ast.Constant) and isinstance(node.args[0].value, str): varname = node.args[0].value if name in self.containsfuncs and isinstance(node.args[1], ast.Constant): @@ -338,6 +355,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 +364,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 +383,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/cooker.py b/poky/bitbake/lib/bb/cooker.py index 6754f986bf..582fc35f24 100644 --- a/poky/bitbake/lib/bb/cooker.py +++ b/poky/bitbake/lib/bb/cooker.py @@ -17,7 +17,7 @@ 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 @@ -281,7 +281,6 @@ class BBCooker: self.databuilder = bb.cookerdata.CookerDataBuilder(self.configuration, False) self.databuilder.parseBaseConfiguration() self.data = self.databuilder.data - self.data_hash = self.databuilder.data_hash self.extraconfigdata = {} eventlog = self.data.getVar("BB_DEFAULT_EVENTLOG") @@ -370,6 +369,11 @@ class BBCooker: if not clean: bb.parse.BBHandler.cached_statements = {} + # If writes were made to any of the data stores, we need to recalculate the data + # store cache + if hasattr(self, "databuilder"): + self.databuilder.calc_datastore_hashes() + def parseConfiguration(self): self.updateCacheSync() @@ -1338,7 +1342,7 @@ class BBCooker: self.buildSetVars() self.reset_mtime_caches() - bb_caches = bb.cache.MulticonfigCache(self.databuilder, self.data_hash, self.caches_array) + bb_caches = bb.cache.MulticonfigCache(self.databuilder, self.databuilder.data_hash, self.caches_array) layername = self.collections[mc].calc_bbfile_priority(fn)[2] infos = bb_caches[mc].parse(fn, self.collections[mc].get_file_appends(fn), layername) @@ -2097,7 +2101,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 @@ -2112,7 +2115,7 @@ class CookerParser(object): self.mcfilelist = mcfilelist self.cooker = cooker self.cfgdata = cooker.data - self.cfghash = cooker.data_hash + self.cfghash = cooker.databuilder.data_hash self.cfgbuilder = cooker.databuilder # Accounting statistics @@ -2298,8 +2301,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 +2315,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 diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py index 0649e40995..3ad5cf3dd0 100644 --- a/poky/bitbake/lib/bb/cookerdata.py +++ b/poky/bitbake/lib/bb/cookerdata.py @@ -254,9 +254,16 @@ class CookerDataBuilder(object): self.data = self.basedata self.mcdata = {} + def calc_datastore_hashes(self): + data_hash = hashlib.sha256() + data_hash.update(self.data.get_hash().encode('utf-8')) + multiconfig = (self.data.getVar("BBMULTICONFIG") or "").split() + for config in multiconfig: + data_hash.update(self.mcdata[config].get_hash().encode('utf-8')) + self.data_hash = data_hash.hexdigest() + def parseBaseConfiguration(self, worker=False): mcdata = {} - data_hash = hashlib.sha256() try: self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles) @@ -279,7 +286,6 @@ class CookerDataBuilder(object): bb.event.fire(bb.event.ConfigParsed(), self.data) bb.parse.init_parser(self.data) - data_hash.update(self.data.get_hash().encode('utf-8')) mcdata[''] = self.data multiconfig = (self.data.getVar("BBMULTICONFIG") or "").split() @@ -289,11 +295,9 @@ class CookerDataBuilder(object): parsed_mcdata = self.parseConfigurationFiles(self.prefiles, self.postfiles, config) bb.event.fire(bb.event.ConfigParsed(), parsed_mcdata) mcdata[config] = parsed_mcdata - data_hash.update(parsed_mcdata.get_hash().encode('utf-8')) if multiconfig: bb.event.fire(bb.event.MultiConfigParsed(mcdata), self.data) - self.data_hash = data_hash.hexdigest() except bb.data_smart.ExpansionError as e: logger.error(str(e)) raise bb.BBHandledException() @@ -328,6 +332,7 @@ class CookerDataBuilder(object): for mc in mcdata: self.mcdata[mc] = bb.data.createCopy(mcdata[mc]) self.data = self.mcdata[''] + self.calc_datastore_hashes() def reset(self): # We may not have run parseBaseConfiguration() yet 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..c6049d578e 100644 --- a/poky/bitbake/lib/bb/data_smart.py +++ b/poky/bitbake/lib/bb/data_smart.py @@ -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 diff --git a/poky/bitbake/lib/bb/event.py b/poky/bitbake/lib/bb/event.py index 4761c86880..952c85c0bd 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 @@ -759,13 +758,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..8f0ed2b9e2 100644 --- a/poky/bitbake/lib/bb/fetch2/__init__.py +++ b/poky/bitbake/lib/bb/fetch2/__init__.py @@ -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() @@ -1317,7 +1317,7 @@ class FetchData(object): if checksum_name in self.parm: checksum_expected = self.parm[checksum_name] - elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3", "az", "crate", "gs"]: + elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3", "az", "crate", "gs", "gomod"]: checksum_expected = None else: checksum_expected = d.getVarFlag("SRC_URI", checksum_name) @@ -1606,7 +1606,7 @@ class FetchMethod(object): if urlpath.find("/") != -1: destdir = urlpath.rsplit("/", 1)[0] + '/' bb.utils.mkdirhier("%s/%s" % (unpackdir, destdir)) - cmd = 'cp -fpPRH "%s" "%s"' % (file, destdir) + cmd = 'cp --force --preserve=timestamps --no-dereference --recursive -H "%s" "%s"' % (file, destdir) else: urldata.unpack_tracer.unpack("archive-extract", unpackdir) @@ -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) @@ -2088,6 +2088,7 @@ from . import npmsw from . import az from . import crate from . import gcp +from . import gomod methods.append(local.Local()) methods.append(wget.Wget()) @@ -2110,3 +2111,5 @@ methods.append(npmsw.NpmShrinkWrap()) methods.append(az.Az()) methods.append(crate.Crate()) methods.append(gcp.GCP()) +methods.append(gomod.GoMod()) +methods.append(gomod.GoModGit()) diff --git a/poky/bitbake/lib/bb/fetch2/clearcase.py b/poky/bitbake/lib/bb/fetch2/clearcase.py index 1a9c863769..2b3bd70693 100644 --- a/poky/bitbake/lib/bb/fetch2/clearcase.py +++ b/poky/bitbake/lib/bb/fetch2/clearcase.py @@ -108,7 +108,7 @@ class ClearCase(FetchMethod): ud.module.replace("/", "."), ud.label.replace("/", ".")) - ud.viewname = "%s-view%s" % (ud.identifier, d.getVar("DATETIME", d, True)) + ud.viewname = "%s-view%s" % (ud.identifier, d.getVar("DATETIME")) ud.csname = "%s-config-spec" % (ud.identifier) ud.ccasedir = os.path.join(d.getVar("DL_DIR"), ud.type) ud.viewdir = os.path.join(ud.ccasedir, ud.viewname) @@ -196,7 +196,7 @@ class ClearCase(FetchMethod): def need_update(self, ud, d): if ("LATEST" in ud.label) or (ud.customspec and "LATEST" in ud.customspec): - ud.identifier += "-%s" % d.getVar("DATETIME",d, True) + ud.identifier += "-%s" % d.getVar("DATETIME") return True if os.path.exists(ud.localpath): return False 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..5b678827ed 100644 --- a/poky/bitbake/lib/bb/fetch2/git.py +++ b/poky/bitbake/lib/bb/fetch2/git.py @@ -262,7 +262,7 @@ class Git(FetchMethod): for name in ud.names: ud.unresolvedrev[name] = 'HEAD' - ud.basecmd = d.getVar("FETCHCMD_git") or "git -c gc.autoDetach=false -c core.pager=cat -c safe.bareRepository=all" + ud.basecmd = d.getVar("FETCHCMD_git") or "git -c gc.autoDetach=false -c core.pager=cat -c safe.bareRepository=all -c clone.defaultRemoteName=origin" write_tarballs = d.getVar("BB_GENERATE_MIRROR_TARBALLS") or "0" ud.write_tarballs = write_tarballs != "0" or ud.rebaseable @@ -551,18 +551,31 @@ class Git(FetchMethod): runfetchcmd("touch %s.done" % ud.fullmirror, d) def clone_shallow_local(self, ud, dest, d): - """Clone the repo and make it shallow. + """ + Shallow fetch from ud.clonedir (${DL_DIR}/git2/<gitrepo> by default): + - For BB_GIT_SHALLOW_DEPTH: git fetch --depth <depth> rev + - For BB_GIT_SHALLOW_REVS: git fetch --shallow-exclude=<revs> rev + """ + + bb.utils.mkdirhier(dest) + init_cmd = "%s init -q" % ud.basecmd + if ud.bareclone: + init_cmd += " --bare" + runfetchcmd(init_cmd, d, workdir=dest) + runfetchcmd("%s remote add origin %s" % (ud.basecmd, ud.clonedir), d, workdir=dest) - The upstream url of the new clone isn't set at this time, as it'll be - set correctly when unpacked.""" - runfetchcmd("%s clone %s %s %s" % (ud.basecmd, ud.cloneflags, ud.clonedir, dest), d) + # Check the histories which should be excluded + shallow_exclude = '' + for revision in ud.shallow_revs: + shallow_exclude += " --shallow-exclude=%s" % revision - to_parse, shallow_branches = [], [] for name in ud.names: revision = ud.revisions[name] depth = ud.shallow_depths[name] - if depth: - to_parse.append('%s~%d^{}' % (revision, depth - 1)) + + # The --depth and --shallow-exclude can't be used together + if depth and shallow_exclude: + raise bb.fetch2.FetchError("BB_GIT_SHALLOW_REVS is set, but BB_GIT_SHALLOW_DEPTH is not 0.") # For nobranch, we need a ref, otherwise the commits will be # removed, and for non-nobranch, we truncate the branch to our @@ -575,36 +588,49 @@ class Git(FetchMethod): else: ref = "refs/remotes/origin/%s" % branch - shallow_branches.append(ref) - runfetchcmd("%s update-ref %s %s" % (ud.basecmd, ref, revision), d, workdir=dest) + fetch_cmd = "%s fetch origin %s" % (ud.basecmd, revision) + if depth: + fetch_cmd += " --depth %s" % depth + + if shallow_exclude: + fetch_cmd += shallow_exclude - # Map srcrev+depths to revisions - parsed_depths = runfetchcmd("%s rev-parse %s" % (ud.basecmd, " ".join(to_parse)), d, workdir=dest) + # Advertise the revision for lower version git such as 2.25.1: + # error: Server does not allow request for unadvertised object. + # The ud.clonedir is a local temporary dir, will be removed when + # fetch is done, so we can do anything on it. + adv_cmd = 'git branch -f advertise-%s %s' % (revision, revision) + runfetchcmd(adv_cmd, d, workdir=ud.clonedir) - # Resolve specified revisions - parsed_revs = runfetchcmd("%s rev-parse %s" % (ud.basecmd, " ".join('"%s^{}"' % r for r in ud.shallow_revs)), d, workdir=dest) - shallow_revisions = parsed_depths.splitlines() + parsed_revs.splitlines() + runfetchcmd(fetch_cmd, d, workdir=dest) + runfetchcmd("%s update-ref %s %s" % (ud.basecmd, ref, revision), d, workdir=dest) # Apply extra ref wildcards - all_refs = runfetchcmd('%s for-each-ref "--format=%%(refname)"' % ud.basecmd, - d, workdir=dest).splitlines() + all_refs_remote = runfetchcmd("%s ls-remote origin 'refs/*'" % ud.basecmd, \ + d, workdir=dest).splitlines() + all_refs = [] + for line in all_refs_remote: + all_refs.append(line.split()[-1]) + extra_refs = [] for r in ud.shallow_extra_refs: if not ud.bareclone: r = r.replace('refs/heads/', 'refs/remotes/origin/') if '*' in r: matches = filter(lambda a: fnmatch.fnmatchcase(a, r), all_refs) - shallow_branches.extend(matches) + extra_refs.extend(matches) else: - shallow_branches.append(r) + extra_refs.append(r) - # Make the repository shallow - shallow_cmd = [self.make_shallow_path, '-s'] - for b in shallow_branches: - shallow_cmd.append('-r') - shallow_cmd.append(b) - shallow_cmd.extend(shallow_revisions) - runfetchcmd(subprocess.list2cmdline(shallow_cmd), d, workdir=dest) + for ref in extra_refs: + ref_fetch = os.path.basename(ref) + runfetchcmd("%s fetch origin --depth 1 %s" % (ud.basecmd, ref_fetch), d, workdir=dest) + revision = runfetchcmd("%s rev-parse FETCH_HEAD" % ud.basecmd, d, workdir=dest) + runfetchcmd("%s update-ref %s %s" % (ud.basecmd, ref, revision), d, workdir=dest) + + # The url is local ud.clonedir, set it to upstream one + repourl = self._get_repo_url(ud) + runfetchcmd("%s remote set-url origin %s" % (ud.basecmd, shlex.quote(repourl)), d, workdir=dest) def unpack(self, ud, destdir, d): """ unpack the downloaded src to destdir""" @@ -926,9 +952,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/gomod.py b/poky/bitbake/lib/bb/fetch2/gomod.py new file mode 100644 index 0000000000..21fbe80f56 --- /dev/null +++ b/poky/bitbake/lib/bb/fetch2/gomod.py @@ -0,0 +1,268 @@ +""" +BitBake 'Fetch' implementation for Go modules + +The gomod/gomodgit fetchers are used to download Go modules to the module cache +from a module proxy or directly from a version control repository. + +Example SRC_URI: + +SRC_URI += "gomod://golang.org/x/net;version=v0.9.0;sha256sum=..." +SRC_URI += "gomodgit://golang.org/x/net;version=v0.9.0;repo=go.googlesource.com/net;srcrev=..." + +Required SRC_URI parameters: + +- version + The version of the module. + +Optional SRC_URI parameters: + +- mod + Fetch and unpack the go.mod file only instead of the complete module. + The go command may need to download go.mod files for many different modules + when computing the build list, and go.mod files are much smaller than + module zip files. + The default is "0", set mod=1 for the go.mod file only. + +- sha256sum + The checksum of the module zip file, or the go.mod file in case of fetching + only the go.mod file. Alternatively, set the SRC_URI varible flag for + "module@version.sha256sum". + +- protocol + The method used when fetching directly from a version control repository. + The default is "https" for git. + +- repo + The URL when fetching directly from a version control repository. Required + when the URL is different from the module path. + +- srcrev + The revision identifier used when fetching directly from a version control + repository. Alternatively, set the SRCREV varible for "module@version". + +- subdir + The module subdirectory when fetching directly from a version control + repository. Required when the module is not located in the root of the + repository. + +Related variables: + +- GO_MOD_PROXY + The module proxy used by the fetcher. + +- GO_MOD_CACHE_DIR + The directory where the module cache is located. + This must match the exported GOMODCACHE variable for the go command to find + the downloaded modules. + +See the Go modules reference, https://go.dev/ref/mod, for more information +about the module cache, module proxies and version control systems. +""" + +import hashlib +import os +import re +import shutil +import subprocess +import zipfile + +import bb +from bb.fetch2 import FetchError +from bb.fetch2 import MissingParameterError +from bb.fetch2 import runfetchcmd +from bb.fetch2 import subprocess_setup +from bb.fetch2.git import Git +from bb.fetch2.wget import Wget + + +def escape(path): + """Escape capital letters using exclamation points.""" + return re.sub(r'([A-Z])', lambda m: '!' + m.group(1).lower(), path) + + +class GoMod(Wget): + """Class to fetch Go modules from a Go module proxy via wget""" + + def supports(self, ud, d): + """Check to see if a given URL is for this fetcher.""" + return ud.type == 'gomod' + + def urldata_init(self, ud, d): + """Set up to download the module from the module proxy. + + Set up to download the module zip file to the module cache directory + and unpack the go.mod file (unless downloading only the go.mod file): + + cache/download/<module>/@v/<version>.zip: The module zip file. + cache/download/<module>/@v/<version>.mod: The go.mod file. + """ + + proxy = d.getVar('GO_MOD_PROXY') or 'proxy.golang.org' + moddir = d.getVar('GO_MOD_CACHE_DIR') or 'pkg/mod' + + if 'version' not in ud.parm: + raise MissingParameterError('version', ud.url) + + module = ud.host + if ud.path != '/': + module += ud.path + ud.parm['module'] = module + + # Set URL and filename for wget download + path = escape(module + '/@v/' + ud.parm['version']) + if ud.parm.get('mod', '0') == '1': + path += '.mod' + else: + path += '.zip' + ud.parm['unpack'] = '0' + ud.url = bb.fetch2.encodeurl( + ('https', proxy, '/' + path, None, None, None)) + ud.parm['downloadfilename'] = path + + # Set name parameter if sha256sum is set in recipe + name = f"{module}@{ud.parm['version']}" + if d.getVarFlag('SRC_URI', name + '.sha256sum'): + ud.parm['name'] = name + + # Set subdir for unpack + ud.parm['subdir'] = os.path.join(moddir, 'cache/download', + os.path.dirname(path)) + + super().urldata_init(ud, d) + + def unpack(self, ud, rootdir, d): + """Unpack the module in the module cache.""" + + # Unpack the module zip file or go.mod file + super().unpack(ud, rootdir, d) + + if ud.localpath.endswith('.zip'): + # Unpack the go.mod file from the zip file + module = ud.parm['module'] + unpackdir = os.path.join(rootdir, ud.parm['subdir']) + name = os.path.basename(ud.localpath).rsplit('.', 1)[0] + '.mod' + bb.note(f"Unpacking {name} to {unpackdir}/") + with zipfile.ZipFile(ud.localpath) as zf: + with open(os.path.join(unpackdir, name), mode='wb') as mf: + try: + f = module + '@' + ud.parm['version'] + '/go.mod' + shutil.copyfileobj(zf.open(f), mf) + except KeyError: + # If the module does not have a go.mod file, synthesize + # one containing only a module statement. + mf.write(f'module {module}\n'.encode()) + + +class GoModGit(Git): + """Class to fetch Go modules directly from a git repository""" + + def supports(self, ud, d): + """Check to see if a given URL is for this fetcher.""" + return ud.type == 'gomodgit' + + def urldata_init(self, ud, d): + """Set up to download the module from the git repository. + + Set up to download the git repository to the module cache directory and + unpack the module zip file and the go.mod file: + + cache/vcs/<hash>: The bare git repository. + cache/download/<module>/@v/<version>.zip: The module zip file. + cache/download/<module>/@v/<version>.mod: The go.mod file. + """ + + moddir = d.getVar('GO_MOD_CACHE_DIR') or 'pkg/mod' + + if 'version' not in ud.parm: + raise MissingParameterError('version', ud.url) + + module = ud.host + if ud.path != '/': + module += ud.path + ud.parm['module'] = module + + # Set host, path and srcrev for git download + if 'repo' in ud.parm: + repo = ud.parm['repo'] + idx = repo.find('/') + if idx != -1: + ud.host = repo[:idx] + ud.path = repo[idx:] + else: + ud.host = repo + ud.path = '' + if 'protocol' not in ud.parm: + ud.parm['protocol'] = 'https' + name = f"{module}@{ud.parm['version']}" + ud.names = [name] + srcrev = d.getVar('SRCREV_' + name) + if srcrev: + if 'srcrev' not in ud.parm: + ud.parm['srcrev'] = srcrev + else: + if 'srcrev' in ud.parm: + d.setVar('SRCREV_' + name, ud.parm['srcrev']) + if 'branch' not in ud.parm: + ud.parm['nobranch'] = '1' + + # Set subpath, subdir and bareclone for git unpack + if 'subdir' in ud.parm: + ud.parm['subpath'] = ud.parm['subdir'] + key = f"git3:{ud.parm['protocol']}://{ud.host}{ud.path}".encode() + ud.parm['key'] = key + ud.parm['subdir'] = os.path.join(moddir, 'cache/vcs', + hashlib.sha256(key).hexdigest()) + ud.parm['bareclone'] = '1' + + super().urldata_init(ud, d) + + def unpack(self, ud, rootdir, d): + """Unpack the module in the module cache.""" + + # Unpack the bare git repository + super().unpack(ud, rootdir, d) + + moddir = d.getVar('GO_MOD_CACHE_DIR') or 'pkg/mod' + + # Create the info file + module = ud.parm['module'] + repodir = os.path.join(rootdir, ud.parm['subdir']) + with open(repodir + '.info', 'wb') as f: + f.write(ud.parm['key']) + + # Unpack the go.mod file from the repository + unpackdir = os.path.join(rootdir, moddir, 'cache/download', + escape(module), '@v') + bb.utils.mkdirhier(unpackdir) + srcrev = ud.parm['srcrev'] + version = ud.parm['version'] + escaped_version = escape(version) + cmd = f"git ls-tree -r --name-only '{srcrev}'" + if 'subpath' in ud.parm: + cmd += f" '{ud.parm['subpath']}'" + files = runfetchcmd(cmd, d, workdir=repodir).split() + name = escaped_version + '.mod' + bb.note(f"Unpacking {name} to {unpackdir}/") + with open(os.path.join(unpackdir, name), mode='wb') as mf: + f = 'go.mod' + if 'subpath' in ud.parm: + f = os.path.join(ud.parm['subpath'], f) + if f in files: + cmd = ['git', 'cat-file', 'blob', srcrev + ':' + f] + subprocess.check_call(cmd, stdout=mf, cwd=repodir, + preexec_fn=subprocess_setup) + else: + # If the module does not have a go.mod file, synthesize one + # containing only a module statement. + mf.write(f'module {module}\n'.encode()) + + # Synthesize the module zip file from the repository + name = escaped_version + '.zip' + bb.note(f"Unpacking {name} to {unpackdir}/") + with zipfile.ZipFile(os.path.join(unpackdir, name), mode='w') as zf: + prefix = module + '@' + version + '/' + for f in files: + cmd = ['git', 'cat-file', 'blob', srcrev + ':' + f] + data = subprocess.check_output(cmd, cwd=repodir, + preexec_fn=subprocess_setup) + zf.writestr(prefix + f, data) diff --git a/poky/bitbake/lib/bb/fetch2/npm.py b/poky/bitbake/lib/bb/fetch2/npm.py index 15f3f19bc8..ac76d64cdb 100644 --- a/poky/bitbake/lib/bb/fetch2/npm.py +++ b/poky/bitbake/lib/bb/fetch2/npm.py @@ -42,11 +42,12 @@ from bb.utils import is_semver def npm_package(package): """Convert the npm package name to remove unsupported character""" - # Scoped package names (with the @) use the same naming convention - # as the 'npm pack' command. + # For scoped package names ('@user/package') the '/' is replaced by a '-'. + # This is similar to what 'npm pack' does, but 'npm pack' also strips the + # leading '@', which can lead to ambiguous package names. name = re.sub("/", "-", package) name = name.lower() - name = re.sub(r"[^\-a-z0-9]", "", name) + name = re.sub(r"[^\-a-z0-9@]", "", name) name = name.strip("-") return name diff --git a/poky/bitbake/lib/bb/fetch2/npmsw.py b/poky/bitbake/lib/bb/fetch2/npmsw.py index b55e885d7b..a5fa598deb 100644 --- a/poky/bitbake/lib/bb/fetch2/npmsw.py +++ b/poky/bitbake/lib/bb/fetch2/npmsw.py @@ -97,7 +97,7 @@ class NpmShrinkWrap(FetchMethod): integrity = params.get("integrity", None) resolved = params.get("resolved", None) - version = params.get("version", None) + version = params.get("version", resolved) # Handle registry sources if is_semver(version) and integrity: @@ -184,6 +184,7 @@ class NpmShrinkWrap(FetchMethod): uri = URI("git://" + str(groups["url"])) uri.params["protocol"] = str(groups["protocol"]) uri.params["rev"] = str(groups["rev"]) + uri.params["nobranch"] = "1" uri.params["destsuffix"] = destsuffix url = str(uri) diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py index 2e92117634..80f5ea46c7 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" @@ -244,7 +244,12 @@ class Wget(FetchMethod): fetch.connection_cache.remove_connection(h.host, h.port) raise urllib.error.URLError(err) else: - r = h.getresponse() + try: + r = h.getresponse() + except TimeoutError as e: + if fetch.connection_cache: + fetch.connection_cache.remove_connection(h.host, h.port) + raise TimeoutError(e) # Pick apart the HTTPResponse object to get the addinfourl # object initialized properly. @@ -371,7 +376,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..001ba8d289 100644 --- a/poky/bitbake/lib/bb/parse/ast.py +++ b/poky/bitbake/lib/bb/parse/ast.py @@ -240,14 +240,16 @@ class ExportFuncsNode(AstNode): data.setVar(func, sentinel + " " + calledfunc + "\n", parsing=True) class AddTaskNode(AstNode): - def __init__(self, filename, lineno, func, before, after): + def __init__(self, filename, lineno, tasks, before, after): AstNode.__init__(self, filename, lineno) - self.func = func + self.tasks = tasks self.before = before self.after = after def eval(self, data): - bb.build.addtask(self.func, self.before, self.after, data) + tasks = self.tasks.split() + for task in tasks: + bb.build.addtask(task, self.before, self.after, data) class DelTaskNode(AstNode): def __init__(self, filename, lineno, tasks): @@ -348,21 +350,11 @@ def handlePythonMethod(statements, filename, lineno, funcname, modulename, body) def handleExportFuncs(statements, filename, lineno, m, classname): statements.append(ExportFuncsNode(filename, lineno, m.group(1), classname)) -def handleAddTask(statements, filename, lineno, m): - func = m.group("func") - before = m.group("before") - after = m.group("after") - if func is None: - return - - statements.append(AddTaskNode(filename, lineno, func, before, after)) - -def handleDelTask(statements, filename, lineno, m): - func = m.group(1) - if func is None: - return +def handleAddTask(statements, filename, lineno, tasks, before, after): + statements.append(AddTaskNode(filename, lineno, tasks, before, after)) - statements.append(DelTaskNode(filename, lineno, func)) +def handleDelTask(statements, filename, lineno, tasks): + statements.append(DelTaskNode(filename, lineno, tasks)) def handleBBHandlers(statements, filename, lineno, m): statements.append(BBHandlerNode(filename, lineno, m.group(1))) diff --git a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py index c13e4b9755..4bdb11994f 100644 --- a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py +++ b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py @@ -23,8 +23,8 @@ __func_start_regexp__ = re.compile(r"(((?P<py>python(?=(\s|\()))|(?P<fr>faker __inherit_regexp__ = re.compile(r"inherit\s+(.+)" ) __inherit_def_regexp__ = re.compile(r"inherit_defer\s+(.+)" ) __export_func_regexp__ = re.compile(r"EXPORT_FUNCTIONS\s+(.+)" ) -__addtask_regexp__ = re.compile(r"addtask\s+(?P<func>\w+)\s*((before\s*(?P<before>((.*(?=after))|(.*))))|(after\s*(?P<after>((.*(?=before))|(.*)))))*") -__deltask_regexp__ = re.compile(r"deltask\s+(.+)") +__addtask_regexp__ = re.compile(r"addtask\s+([^#\n]+)(?P<comment>#.*|.*?)") +__deltask_regexp__ = re.compile(r"deltask\s+([^#\n]+)(?P<comment>#.*|.*?)") __addhandler_regexp__ = re.compile(r"addhandler\s+(.+)" ) __def_regexp__ = re.compile(r"def\s+(\w+).*:" ) __python_func_regexp__ = re.compile(r"(\s+.*)|(^$)|(^#)" ) @@ -239,29 +239,38 @@ def feeder(lineno, s, fn, root, statements, eof=False): m = __addtask_regexp__.match(s) if m: - if len(m.group().split()) == 2: - # Check and warn for "addtask task1 task2" - m2 = re.match(r"addtask\s+(?P<func>\w+)(?P<ignores>.*)", s) - if m2 and m2.group('ignores'): - logger.warning('addtask ignored: "%s"' % m2.group('ignores')) - - # Check and warn for "addtask task1 before task2 before task3", the - # similar to "after" - taskexpression = s.split() - for word in ('before', 'after'): - if taskexpression.count(word) > 1: - logger.warning("addtask contained multiple '%s' keywords, only one is supported" % word) + after = "" + before = "" + + # This code splits on 'before' and 'after' instead of on whitespace so we can defer + # evaluation to as late as possible. + tasks = m.group(1).split(" before ")[0].split(" after ")[0] + + for exp in m.group(1).split(" before "): + exp2 = exp.split(" after ") + if len(exp2) > 1: + after = after + " ".join(exp2[1:]) - # Check and warn for having task with exprssion as part of task name + for exp in m.group(1).split(" after "): + exp2 = exp.split(" before ") + if len(exp2) > 1: + before = before + " ".join(exp2[1:]) + + # Check and warn for having task with a keyword as part of task name + taskexpression = s.split() for te in taskexpression: if any( ( "%s_" % keyword ) in te for keyword in bb.data_smart.__setvar_keyword__ ): raise ParseError("Task name '%s' contains a keyword which is not recommended/supported.\nPlease rename the task not to include the keyword.\n%s" % (te, ("\n".join(map(str, bb.data_smart.__setvar_keyword__)))), fn) - ast.handleAddTask(statements, fn, lineno, m) + + if tasks is not None: + ast.handleAddTask(statements, fn, lineno, tasks, before, after) return m = __deltask_regexp__.match(s) if m: - ast.handleDelTask(statements, fn, lineno, m) + task = m.group(1) + if task is not None: + ast.handleDelTask(statements, fn, lineno, task) return m = __addhandler_regexp__.match(s) 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 3462ed4457..7f95140c49 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 @@ -2189,12 +2190,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 +2233,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) @@ -2748,8 +2756,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/siggen.py b/poky/bitbake/lib/bb/siggen.py index 8f24535528..a6163b55ea 100644 --- a/poky/bitbake/lib/bb/siggen.py +++ b/poky/bitbake/lib/bb/siggen.py @@ -878,7 +878,7 @@ def clean_checksum_file_path(file_checksum_tuple): f, cs = file_checksum_tuple if "/./" in f: return "./" + f.split("/./")[1] - return f + return os.path.basename(f) def dump_this_task(outfile, d): import bb.parse diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py index 701129d138..363f3a2185 100644 --- a/poky/bitbake/lib/bb/tests/fetch.py +++ b/poky/bitbake/lib/bb/tests/fetch.py @@ -1427,12 +1427,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", "", "") : "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 @@ -2034,9 +2034,9 @@ class GitShallowTest(FetcherTest): self.add_empty_file('b') self.git('checkout -b a_branch', cwd=self.srcdir) self.add_empty_file('c') + self.git('tag v0.0 HEAD', cwd=self.srcdir) self.add_empty_file('d') self.git('checkout master', cwd=self.srcdir) - self.git('tag v0.0 a_branch', cwd=self.srcdir) self.add_empty_file('e') self.git('merge --no-ff --no-edit a_branch', cwd=self.srcdir) self.add_empty_file('f') @@ -2052,7 +2052,7 @@ class GitShallowTest(FetcherTest): self.fetch_shallow(uri) - self.assertRevCount(5) + self.assertRevCount(4) self.assertRefs(['master', 'origin/master', 'origin/a_branch']) def test_shallow_multi_one_uri_depths(self): @@ -2199,7 +2199,7 @@ class GitShallowTest(FetcherTest): self.fetch_shallow() - self.assertRevCount(5) + self.assertRevCount(2) def test_shallow_invalid_revs(self): self.add_empty_file('a') @@ -2218,7 +2218,10 @@ class GitShallowTest(FetcherTest): self.git('tag v0.0 master', cwd=self.srcdir) self.d.setVar('BB_GIT_SHALLOW_DEPTH', '0') self.d.setVar('BB_GIT_SHALLOW_REVS', 'v0.0') - self.fetch_shallow() + + with self.assertRaises(bb.fetch2.FetchError), self.assertLogs("BitBake.Fetcher", level="ERROR") as cm: + self.fetch_shallow() + self.assertIn("fatal: no commits selected for shallow requests", cm.output[0]) def test_shallow_fetch_missing_revs_fails(self): self.add_empty_file('a') @@ -2249,7 +2252,7 @@ class GitShallowTest(FetcherTest): revs = len(self.git('rev-list master').splitlines()) self.assertNotEqual(orig_revs, revs) self.assertRefs(['master', 'origin/master']) - self.assertRevCount(orig_revs - 1758) + self.assertRevCount(orig_revs - 1760) def test_that_unpack_throws_an_error_when_the_git_clone_nor_shallow_tarball_exist(self): self.add_empty_file('a') @@ -3387,3 +3390,212 @@ class FetchPremirroronlyBrokenTarball(FetcherTest): fetcher.download() output = "".join(logs.output) self.assertFalse(" not a git repository (or any parent up to mount point /)" in output) + +class GoModTest(FetcherTest): + + @skipIfNoNetwork() + def test_gomod_url(self): + urls = ['gomod://github.com/Azure/azure-sdk-for-go/sdk/storage/azblob;version=v1.0.0;' + 'sha256sum=9bb69aea32f1d59711701f9562d66432c9c0374205e5009d1d1a62f03fb4fdad'] + + fetcher = bb.fetch2.Fetch(urls, self.d) + ud = fetcher.ud[urls[0]] + self.assertEqual(ud.url, 'https://proxy.golang.org/github.com/%21azure/azure-sdk-for-go/sdk/storage/azblob/%40v/v1.0.0.zip') + self.assertNotIn('name', ud.parm) + + fetcher.download() + fetcher.unpack(self.unpackdir) + downloaddir = os.path.join(self.unpackdir, 'pkg/mod/cache/download') + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'github.com/!azure/azure-sdk-for-go/sdk/storage/azblob/@v/v1.0.0.zip'))) + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'github.com/!azure/azure-sdk-for-go/sdk/storage/azblob/@v/v1.0.0.mod'))) + self.assertEqual(bb.utils.sha256_file(os.path.join(downloaddir, 'github.com/!azure/azure-sdk-for-go/sdk/storage/azblob/@v/v1.0.0.mod')), + '7873b8544842329b4f385a3aa6cf82cc2bc8defb41a04fa5291c35fd5900e873') + + @skipIfNoNetwork() + def test_gomod_url_go_mod_only(self): + urls = ['gomod://github.com/Azure/azure-sdk-for-go/sdk/storage/azblob;version=v1.0.0;mod=1;' + 'sha256sum=7873b8544842329b4f385a3aa6cf82cc2bc8defb41a04fa5291c35fd5900e873'] + + fetcher = bb.fetch2.Fetch(urls, self.d) + ud = fetcher.ud[urls[0]] + self.assertEqual(ud.url, 'https://proxy.golang.org/github.com/%21azure/azure-sdk-for-go/sdk/storage/azblob/%40v/v1.0.0.mod') + self.assertNotIn('name', ud.parm) + + fetcher.download() + fetcher.unpack(self.unpackdir) + downloaddir = os.path.join(self.unpackdir, 'pkg/mod/cache/download') + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'github.com/!azure/azure-sdk-for-go/sdk/storage/azblob/@v/v1.0.0.mod'))) + + @skipIfNoNetwork() + def test_gomod_url_sha256sum_varflag(self): + urls = ['gomod://gopkg.in/ini.v1;version=v1.67.0'] + self.d.setVarFlag('SRC_URI', 'gopkg.in/ini.v1@v1.67.0.sha256sum', 'bd845dfc762a87a56e5a32a07770dc83e86976db7705d7f89c5dbafdc60b06c6') + + fetcher = bb.fetch2.Fetch(urls, self.d) + ud = fetcher.ud[urls[0]] + self.assertEqual(ud.url, 'https://proxy.golang.org/gopkg.in/ini.v1/%40v/v1.67.0.zip') + self.assertEqual(ud.parm['name'], 'gopkg.in/ini.v1@v1.67.0') + + fetcher.download() + fetcher.unpack(self.unpackdir) + downloaddir = os.path.join(self.unpackdir, 'pkg/mod/cache/download') + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.zip'))) + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.mod'))) + self.assertEqual(bb.utils.sha256_file(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.mod')), + '13aedd85db8e555104108e0e613bb7e4d1242af7f27c15423dd9ab63b60b72a1') + + @skipIfNoNetwork() + def test_gomod_url_no_go_mod_in_module(self): + urls = ['gomod://gopkg.in/ini.v1;version=v1.67.0;' + 'sha256sum=bd845dfc762a87a56e5a32a07770dc83e86976db7705d7f89c5dbafdc60b06c6'] + + fetcher = bb.fetch2.Fetch(urls, self.d) + ud = fetcher.ud[urls[0]] + self.assertEqual(ud.url, 'https://proxy.golang.org/gopkg.in/ini.v1/%40v/v1.67.0.zip') + self.assertNotIn('name', ud.parm) + + fetcher.download() + fetcher.unpack(self.unpackdir) + downloaddir = os.path.join(self.unpackdir, 'pkg/mod/cache/download') + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.zip'))) + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.mod'))) + self.assertEqual(bb.utils.sha256_file(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.mod')), + '13aedd85db8e555104108e0e613bb7e4d1242af7f27c15423dd9ab63b60b72a1') + + @skipIfNoNetwork() + def test_gomod_url_host_only(self): + urls = ['gomod://go.opencensus.io;version=v0.24.0;' + 'sha256sum=203a767d7f8e7c1ebe5588220ad168d1e15b14ae70a636de7ca9a4a88a7e0d0c'] + + fetcher = bb.fetch2.Fetch(urls, self.d) + ud = fetcher.ud[urls[0]] + self.assertEqual(ud.url, 'https://proxy.golang.org/go.opencensus.io/%40v/v0.24.0.zip') + self.assertNotIn('name', ud.parm) + + fetcher.download() + fetcher.unpack(self.unpackdir) + downloaddir = os.path.join(self.unpackdir, 'pkg/mod/cache/download') + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'go.opencensus.io/@v/v0.24.0.zip'))) + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'go.opencensus.io/@v/v0.24.0.mod'))) + self.assertEqual(bb.utils.sha256_file(os.path.join(downloaddir, 'go.opencensus.io/@v/v0.24.0.mod')), + '0dc9ccc660ad21cebaffd548f2cc6efa27891c68b4fbc1f8a3893b00f1acec96') + +class GoModGitTest(FetcherTest): + + @skipIfNoNetwork() + def test_gomodgit_url_repo(self): + urls = ['gomodgit://golang.org/x/net;version=v0.9.0;' + 'repo=go.googlesource.com/net;' + 'srcrev=694cff8668bac64e0864b552bffc280cd27f21b1'] + + fetcher = bb.fetch2.Fetch(urls, self.d) + ud = fetcher.ud[urls[0]] + self.assertEqual(ud.host, 'go.googlesource.com') + self.assertEqual(ud.path, '/net') + self.assertEqual(ud.names, ['golang.org/x/net@v0.9.0']) + self.assertEqual(self.d.getVar('SRCREV_golang.org/x/net@v0.9.0'), '694cff8668bac64e0864b552bffc280cd27f21b1') + + fetcher.download() + self.assertTrue(os.path.exists(ud.localpath)) + + fetcher.unpack(self.unpackdir) + vcsdir = os.path.join(self.unpackdir, 'pkg/mod/cache/vcs') + self.assertTrue(os.path.exists(os.path.join(vcsdir, 'ed42bd05533fd84ae290a5d33ebd3695a0a2b06131beebd5450825bee8603aca'))) + downloaddir = os.path.join(self.unpackdir, 'pkg/mod/cache/download') + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'golang.org/x/net/@v/v0.9.0.zip'))) + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'golang.org/x/net/@v/v0.9.0.mod'))) + self.assertEqual(bb.utils.sha256_file(os.path.join(downloaddir, 'golang.org/x/net/@v/v0.9.0.mod')), + 'c5d6851ede50ec1c001afb763040194b68961bf06997e2605e8bf06dcd2aeb2e') + + @skipIfNoNetwork() + def test_gomodgit_url_subdir(self): + urls = ['gomodgit://github.com/Azure/azure-sdk-for-go/sdk/storage/azblob;version=v1.0.0;' + 'repo=github.com/Azure/azure-sdk-for-go;subdir=sdk/storage/azblob;' + 'srcrev=ec928e0ed34db682b3f783d3739d1c538142e0c3'] + + fetcher = bb.fetch2.Fetch(urls, self.d) + ud = fetcher.ud[urls[0]] + self.assertEqual(ud.host, 'github.com') + self.assertEqual(ud.path, '/Azure/azure-sdk-for-go') + self.assertEqual(ud.parm['subpath'], 'sdk/storage/azblob') + self.assertEqual(ud.names, ['github.com/Azure/azure-sdk-for-go/sdk/storage/azblob@v1.0.0']) + self.assertEqual(self.d.getVar('SRCREV_github.com/Azure/azure-sdk-for-go/sdk/storage/azblob@v1.0.0'), 'ec928e0ed34db682b3f783d3739d1c538142e0c3') + + fetcher.download() + self.assertTrue(os.path.exists(ud.localpath)) + + fetcher.unpack(self.unpackdir) + vcsdir = os.path.join(self.unpackdir, 'pkg/mod/cache/vcs') + self.assertTrue(os.path.exists(os.path.join(vcsdir, 'd31d6145676ed3066ce573a8198f326dea5be45a43b3d8f41ce7787fd71d66b3'))) + downloaddir = os.path.join(self.unpackdir, 'pkg/mod/cache/download') + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'github.com/!azure/azure-sdk-for-go/sdk/storage/azblob/@v/v1.0.0.zip'))) + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'github.com/!azure/azure-sdk-for-go/sdk/storage/azblob/@v/v1.0.0.mod'))) + self.assertEqual(bb.utils.sha256_file(os.path.join(downloaddir, 'github.com/!azure/azure-sdk-for-go/sdk/storage/azblob/@v/v1.0.0.mod')), + '7873b8544842329b4f385a3aa6cf82cc2bc8defb41a04fa5291c35fd5900e873') + + @skipIfNoNetwork() + def test_gomodgit_url_srcrev_var(self): + urls = ['gomodgit://gopkg.in/ini.v1;version=v1.67.0'] + self.d.setVar('SRCREV_gopkg.in/ini.v1@v1.67.0', 'b2f570e5b5b844226bbefe6fb521d891f529a951') + + fetcher = bb.fetch2.Fetch(urls, self.d) + ud = fetcher.ud[urls[0]] + self.assertEqual(ud.host, 'gopkg.in') + self.assertEqual(ud.path, '/ini.v1') + self.assertEqual(ud.names, ['gopkg.in/ini.v1@v1.67.0']) + self.assertEqual(ud.parm['srcrev'], 'b2f570e5b5b844226bbefe6fb521d891f529a951') + + fetcher.download() + fetcher.unpack(self.unpackdir) + vcsdir = os.path.join(self.unpackdir, 'pkg/mod/cache/vcs') + self.assertTrue(os.path.exists(os.path.join(vcsdir, 'b7879a4be9ba8598851b8278b14c4f71a8316be64913298d1639cce6bde59bc3'))) + downloaddir = os.path.join(self.unpackdir, 'pkg/mod/cache/download') + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.zip'))) + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.mod'))) + self.assertEqual(bb.utils.sha256_file(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.mod')), + '13aedd85db8e555104108e0e613bb7e4d1242af7f27c15423dd9ab63b60b72a1') + + @skipIfNoNetwork() + def test_gomodgit_url_no_go_mod_in_module(self): + urls = ['gomodgit://gopkg.in/ini.v1;version=v1.67.0;' + 'srcrev=b2f570e5b5b844226bbefe6fb521d891f529a951'] + + fetcher = bb.fetch2.Fetch(urls, self.d) + ud = fetcher.ud[urls[0]] + self.assertEqual(ud.host, 'gopkg.in') + self.assertEqual(ud.path, '/ini.v1') + self.assertEqual(ud.names, ['gopkg.in/ini.v1@v1.67.0']) + self.assertEqual(self.d.getVar('SRCREV_gopkg.in/ini.v1@v1.67.0'), 'b2f570e5b5b844226bbefe6fb521d891f529a951') + + fetcher.download() + fetcher.unpack(self.unpackdir) + vcsdir = os.path.join(self.unpackdir, 'pkg/mod/cache/vcs') + self.assertTrue(os.path.exists(os.path.join(vcsdir, 'b7879a4be9ba8598851b8278b14c4f71a8316be64913298d1639cce6bde59bc3'))) + downloaddir = os.path.join(self.unpackdir, 'pkg/mod/cache/download') + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.zip'))) + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.mod'))) + self.assertEqual(bb.utils.sha256_file(os.path.join(downloaddir, 'gopkg.in/ini.v1/@v/v1.67.0.mod')), + '13aedd85db8e555104108e0e613bb7e4d1242af7f27c15423dd9ab63b60b72a1') + + @skipIfNoNetwork() + def test_gomodgit_url_host_only(self): + urls = ['gomodgit://go.opencensus.io;version=v0.24.0;' + 'repo=github.com/census-instrumentation/opencensus-go;' + 'srcrev=b1a01ee95db0e690d91d7193d037447816fae4c5'] + + fetcher = bb.fetch2.Fetch(urls, self.d) + ud = fetcher.ud[urls[0]] + self.assertEqual(ud.host, 'github.com') + self.assertEqual(ud.path, '/census-instrumentation/opencensus-go') + self.assertEqual(ud.names, ['go.opencensus.io@v0.24.0']) + self.assertEqual(self.d.getVar('SRCREV_go.opencensus.io@v0.24.0'), 'b1a01ee95db0e690d91d7193d037447816fae4c5') + + fetcher.download() + fetcher.unpack(self.unpackdir) + vcsdir = os.path.join(self.unpackdir, 'pkg/mod/cache/vcs') + self.assertTrue(os.path.exists(os.path.join(vcsdir, 'aae3ac7b2122ed3345654e6327855e9682f4a5350d63e93dbcfc51c4419df0e1'))) + downloaddir = os.path.join(self.unpackdir, 'pkg/mod/cache/download') + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'go.opencensus.io/@v/v0.24.0.zip'))) + self.assertTrue(os.path.exists(os.path.join(downloaddir, 'go.opencensus.io/@v/v0.24.0.mod'))) + self.assertEqual(bb.utils.sha256_file(os.path.join(downloaddir, 'go.opencensus.io/@v/v0.24.0.mod')), + '0dc9ccc660ad21cebaffd548f2cc6efa27891c68b4fbc1f8a3893b00f1acec96') diff --git a/poky/bitbake/lib/bb/tests/parse.py b/poky/bitbake/lib/bb/tests/parse.py index 72d1962e7e..410679d5a1 100644 --- a/poky/bitbake/lib/bb/tests/parse.py +++ b/poky/bitbake/lib/bb/tests/parse.py @@ -177,7 +177,19 @@ python () { addtask_deltask = """ addtask do_patch after do_foo after do_unpack before do_configure before do_compile -addtask do_fetch do_patch +addtask do_fetch2 do_patch2 + +addtask do_myplaintask +addtask do_myplaintask2 +deltask do_myplaintask2 +addtask do_mytask# comment +addtask do_mytask2 # comment2 +addtask do_mytask3 +deltask do_mytask3# comment +deltask do_mytask4 # comment2 + +# Ensure a missing task prefix on after works +addtask do_mytask5 after mytask MYVAR = "do_patch" EMPTYVAR = "" @@ -185,17 +197,12 @@ deltask do_fetch ${MYVAR} ${EMPTYVAR} deltask ${EMPTYVAR} """ def test_parse_addtask_deltask(self): - import sys - with self.assertLogs() as logs: - f = self.parsehelper(self.addtask_deltask) - d = bb.parse.handle(f.name, self.d)[''] + f = self.parsehelper(self.addtask_deltask) + d = bb.parse.handle(f.name, self.d)[''] - output = "".join(logs.output) - self.assertTrue("addtask contained multiple 'before' keywords" in output) - self.assertTrue("addtask contained multiple 'after' keywords" in output) - self.assertTrue('addtask ignored: " do_patch"' in output) - #self.assertTrue('dependent task do_foo for do_patch does not exist' in output) + self.assertEqual(['do_fetch2', 'do_patch2', 'do_myplaintask', 'do_mytask', 'do_mytask2', 'do_mytask5'], d.getVar("__BBTASKS")) + self.assertEqual(['do_mytask'], d.getVarFlag("do_mytask5", "deps")) broken_multiline_comment = """ # First line of comment \\ 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/prserv/__init__.py b/poky/bitbake/lib/prserv/__init__.py index a817b03c1e..ffc5a40a28 100644 --- a/poky/bitbake/lib/prserv/__init__.py +++ b/poky/bitbake/lib/prserv/__init__.py @@ -34,7 +34,7 @@ def increase_revision(ver): logger.critical("Unable to increase revision value %s: %s" % (ver, e)) raise e - return ".".join(fields[0:-1] + list(str(val + 1))) + return ".".join(fields[0:-1] + [ str(val + 1) ]) def _revision_greater_or_equal(rev1, rev2): """Compares x.y.z revision numbers, using integer comparison diff --git a/poky/bitbake/lib/prserv/tests.py b/poky/bitbake/lib/prserv/tests.py index 8765b129f2..df0c003003 100644 --- a/poky/bitbake/lib/prserv/tests.py +++ b/poky/bitbake/lib/prserv/tests.py @@ -84,6 +84,8 @@ class FunctionTests(unittest.TestCase): self.assertEqual(increase_revision("1.0"), "1.1") self.assertEqual(increase_revision("1.1.1"), "1.1.2") self.assertEqual(increase_revision("1.1.1.3"), "1.1.1.4") + self.assertEqual(increase_revision("9"), "10") + self.assertEqual(increase_revision("1.9"), "1.10") self.assertRaises(ValueError, increase_revision, "1.a") self.assertRaises(ValueError, increase_revision, "1.") self.assertRaises(ValueError, increase_revision, "") diff --git a/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py b/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py index 5f43400cdc..e33c7f3954 100755 --- a/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py +++ b/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py @@ -9,7 +9,7 @@ # # Edit the 'current_releases' table for each new release cycle # -# Usage: ./get_fixtures all +# Usage: ./get_fixtures --all # import os @@ -35,12 +35,13 @@ verbose = False # [Codename, Yocto Project Version, Release Date, Current Version, Support Level, Poky Version, BitBake branch] current_releases = [ # Release slot #1 - ['Scarthgap','5.0','April 2024','5.0.0 (April 2024)','Long Term Support (until April 2028)','','2.8'], + ['Scarthgap','5.0','April 2024','5.0.0 (April 2024)','Long Term Support (until April 2028)','','2.8'], # Release slot #2 'local' ['HEAD','HEAD','','Local Yocto Project','HEAD','','HEAD'], # Release slot #3 'master' ['Master','master','','Yocto Project master','master','','master'], # Release slot #4 + ['Styhead','5.1','November 2024','5.1.0 (November 2024)','Support for 7 months (until May 2025)','','2.10'], # ['Nanbield','4.3','November 2023','4.3.0 (November 2023)','Support for 7 months (until May 2024)','','2.6'], # ['Mickledore','4.2','April 2023','4.2.0 (April 2023)','Support for 7 months (until October 2023)','','2.4'], # ['Langdale','4.1','October 2022','4.1.2 (January 2023)','Support for 7 months (until May 2023)','','2.2'], diff --git a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml index d381027c7b..4a3865099f 100644 --- a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml +++ b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml @@ -23,6 +23,11 @@ <field type="CharField" name="branch">master</field> </object> <object model="orm.bitbakeversion" pk="4"> + <field type="CharField" name="name">styhead</field> + <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field> + <field type="CharField" name="branch">2.10</field> + </object> + <object model="orm.bitbakeversion" pk="5"> <field type="CharField" name="name">kirkstone</field> <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field> <field type="CharField" name="branch">2.0</field> @@ -51,9 +56,16 @@ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/\">OpenEmbedded master</a> branch.</field> </object> <object model="orm.release" pk="4"> + <field type="CharField" name="name">styhead</field> + <field type="CharField" name="description">Openembedded Styhead</field> + <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field> + <field type="CharField" name="branch_name">styhead</field> + <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=styhead\">OpenEmbedded Styhead</a> branch.</field> + </object> + <object model="orm.release" pk="5"> <field type="CharField" name="name">kirkstone</field> <field type="CharField" name="description">Openembedded Kirkstone</field> - <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field> + <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field> <field type="CharField" name="branch_name">kirkstone</field> <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=kirkstone\">OpenEmbedded Kirkstone</a> branch.</field> </object> @@ -75,6 +87,10 @@ <field rel="ManyToOneRel" to="orm.release" name="release">4</field> <field type="CharField" name="layer_name">openembedded-core</field> </object> + <object model="orm.releasedefaultlayer" pk="5"> + <field rel="ManyToOneRel" to="orm.release" name="release">5</field> + <field type="CharField" name="layer_name">openembedded-core</field> + </object> <!-- Layer for the Local release --> diff --git a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml index 21355aeb7b..d782a8e62d 100644 --- a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml +++ b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml @@ -26,6 +26,12 @@ <field type="CharField" name="dirpath">bitbake</field> </object> <object model="orm.bitbakeversion" pk="4"> + <field type="CharField" name="name">styhead</field> + <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field> + <field type="CharField" name="branch">styhead</field> + <field type="CharField" name="dirpath">bitbake</field> + </object> + <object model="orm.bitbakeversion" pk="5"> <field type="CharField" name="name">kirkstone</field> <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field> <field type="CharField" name="branch">kirkstone</field> @@ -56,9 +62,16 @@ <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/">Yocto Project Master branch</a>.</field> </object> <object model="orm.release" pk="4"> + <field type="CharField" name="name">styhead</field> + <field type="CharField" name="description">Yocto Project 5.1 "Styhead"</field> + <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field> + <field type="CharField" name="branch_name">styhead</field> + <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=styhead">Yocto Project Styhead branch</a>.</field> + </object> + <object model="orm.release" pk="5"> <field type="CharField" name="name">kirkstone</field> <field type="CharField" name="description">Yocto Project 4.0 "Kirkstone"</field> - <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field> + <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field> <field type="CharField" name="branch_name">kirkstone</field> <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=kirkstone">Yocto Project Kirkstone branch</a>.</field> </object> @@ -112,6 +125,18 @@ <field rel="ManyToOneRel" to="orm.release" name="release">4</field> <field type="CharField" name="layer_name">meta-yocto-bsp</field> </object> + <object model="orm.releasedefaultlayer" pk="13"> + <field rel="ManyToOneRel" to="orm.release" name="release">5</field> + <field type="CharField" name="layer_name">openembedded-core</field> + </object> + <object model="orm.releasedefaultlayer" pk="14"> + <field rel="ManyToOneRel" to="orm.release" name="release">5</field> + <field type="CharField" name="layer_name">meta-poky</field> + </object> + <object model="orm.releasedefaultlayer" pk="15"> + <field rel="ManyToOneRel" to="orm.release" name="release">5</field> + <field type="CharField" name="layer_name">meta-yocto-bsp</field> + </object> <!-- Default layers provided by poky openembedded-core @@ -152,6 +177,13 @@ <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">4</field> + <field type="CharField" name="branch">styhead</field> + <field type="CharField" name="dirpath">meta</field> + </object> + <object model="orm.layer_version" pk="5"> + <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field> + <field type="IntegerField" name="layer_source">0</field> + <field rel="ManyToOneRel" to="orm.release" name="release">5</field> <field type="CharField" name="branch">kirkstone</field> <field type="CharField" name="dirpath">meta</field> </object> @@ -164,14 +196,14 @@ <field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field> <field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field> </object> - <object model="orm.layer_version" pk="5"> + <object model="orm.layer_version" pk="6"> <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">1</field> <field type="CharField" name="branch">scarthgap</field> <field type="CharField" name="dirpath">meta-poky</field> </object> - <object model="orm.layer_version" pk="6"> + <object model="orm.layer_version" pk="7"> <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">2</field> @@ -179,17 +211,24 @@ <field type="CharField" name="commit">HEAD</field> <field type="CharField" name="dirpath">meta-poky</field> </object> - <object model="orm.layer_version" pk="7"> + <object model="orm.layer_version" pk="8"> <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">3</field> <field type="CharField" name="branch">master</field> <field type="CharField" name="dirpath">meta-poky</field> </object> - <object model="orm.layer_version" pk="8"> + <object model="orm.layer_version" pk="9"> <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">4</field> + <field type="CharField" name="branch">styhead</field> + <field type="CharField" name="dirpath">meta-poky</field> + </object> + <object model="orm.layer_version" pk="10"> + <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> + <field type="IntegerField" name="layer_source">0</field> + <field rel="ManyToOneRel" to="orm.release" name="release">5</field> <field type="CharField" name="branch">kirkstone</field> <field type="CharField" name="dirpath">meta-poky</field> </object> @@ -202,14 +241,14 @@ <field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field> <field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field> </object> - <object model="orm.layer_version" pk="9"> + <object model="orm.layer_version" pk="11"> <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">1</field> <field type="CharField" name="branch">scarthgap</field> <field type="CharField" name="dirpath">meta-yocto-bsp</field> </object> - <object model="orm.layer_version" pk="10"> + <object model="orm.layer_version" pk="12"> <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">2</field> @@ -217,17 +256,24 @@ <field type="CharField" name="commit">HEAD</field> <field type="CharField" name="dirpath">meta-yocto-bsp</field> </object> - <object model="orm.layer_version" pk="11"> + <object model="orm.layer_version" pk="13"> <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">3</field> <field type="CharField" name="branch">master</field> <field type="CharField" name="dirpath">meta-yocto-bsp</field> </object> - <object model="orm.layer_version" pk="12"> + <object model="orm.layer_version" pk="14"> <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">4</field> + <field type="CharField" name="branch">styhead</field> + <field type="CharField" name="dirpath">meta-yocto-bsp</field> + </object> + <object model="orm.layer_version" pk="15"> + <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> + <field type="IntegerField" name="layer_source">0</field> + <field rel="ManyToOneRel" to="orm.release" name="release">5</field> <field type="CharField" name="branch">kirkstone</field> <field type="CharField" name="dirpath">meta-yocto-bsp</field> </object> |