subtree updates: openembedded poky
poky: fb1853c66c..0907793d5e:
Alexander Kanavin (30):
sudo: update 1.9.12p2 -> 1.9.13p2
procps: update 3.3.17 -> 4.0.3
selftest/overlayfs: enable systemd via INIT_MANAGER
systemd: update 252.5 -> 253.1
dpkg: update 1.21.20 -> 1.21.21
libdnf: update 0.69.0 -> 0.70.0
ethtool: update 6.1 -> 6.2
iptables: update 1.8.8 -> 1.8.9
util-macros: do not probe into host triplet when checking manpage section names
encodings: update 1.0.6 -> 1.0.7
font-alias: update 1.0.4 -> 1.0.5
sqlite3: update 3.40.1 -> 3.41.0
enchant2: upgrade 2.3.3 -> 2.3.4
make: upgrade 4.4 -> 4.4.1
vte: upgrade 0.70.2 -> 0.70.3
pango: upgrade 1.50.12 -> 1.50.13
libnotify: upgrade 0.8.1 -> 0.8.2
puzzles: upgrade to latest revision
iproute2: upgrade 6.1.0 -> 6.2.0
bind: upgrade 9.18.11 -> 9.18.12
stress-ng: remove obsolete patch
piglit: upgrade to latest revision
apt: re-enable version check
devtool/upgrade: do not delete the workspace/recipes directory
runqemu: direct mesa to use its own drivers, rather than ones provided by host distro
mesa: allow mesa-native/nativesdk only subject to opengl/vulkan DISTRO_FEATURE
mesa: enable a rich set of drivers for native builds
llvm: allow building libllvm in native builds, subject to PACKAGECONFIG
mesa: do not strip rpaths from dri drivers
mesa: update 22.3.5 -> 23.0.0
Alexandre Belloni (2):
pseudo: Update to pull in fd leak fix
stress-ng: upgrade 0.15.04 -> 0.15.06
Alexis Lothoré (8):
scripts/resulttool: call fixup_ptest_names in regression_common
oeqa/selftest/resulttool: fix ptest filtering tests
oeqa/selftest/resulttool: fix fake data used for testing
scripts/resulttool: fix ptests results containing a non reproducible path
oeqa/selftest/resulttool: add test for error propagation in test name filtering
scripts/resulttool: do not count newly passing tests as regressions
scripts/yocto_testresults_query.py: set proper branches when using resulttool
scripts/yocto_testresults_query.py: fix regression reports for branches with slashes
Andrew Geissler (1):
filemap.py: enforce maximum of 4kb block size
Arturo Buzarra (1):
run-postinsts: Set dependency for ldconfig to avoid boot issues
Bruce Ashfield (12):
perf: fix buildpaths QA warning
lttng-modules: update to v2.13.9
lttng-modules: fix for v6.3+ kernels
linux-yocto/6.1: update to v6.1.15
linux-yocto/5.15: update to v5.15.98
linux-yocto/6.1: update to v6.1.20
linux-yocto/5.15: update to v5.15.103
kernel-devsrc: fix mismatched compiler warning
linux-yocto-dev: bump to v6.3
kernel/kernel-devsrc: powerpc: add elfutils dependency
yocto-bsp/6.1: update reference boards to v6.1.20
yocto-bsp/5.15: update to v5.15.103
Carlos Alberto Lopez Perez (1):
mesa-demos: packageconfig weston should have a dependency on wayland-protocols
Changqing Li (1):
cpio: fix ptest failure
Chen Qi (4):
Revert "systemd-systemctl: Create machine-id with "uninitialized" text in it"
rpm: fix RPM_ETCCONFIGDIR value in SDK
debugedit: add recipe
rpm: add back find-debuginfo support
Clément Péron (2):
qemu: split out qemu-guest-agent, add startup scripts
runqemu: add an option to enable guest-agent virtio device
Daniel Ammann (1):
bitbake: fetch2/sftp: Fix fetching URIs with spaces
Dmitry Baryshkov (1):
mesa: import patch from upstream to fix tools build on musl
Fawzi KHABER (4):
bitbake: doc: ref-variables: add LAYERSERIES_COMPAT to term glossary
bitbake: bitbake-user-manual: update Hello World example
package.bbclass: check packages name conflict in do_package
oeqa/selftest/cases/package.py: adding unittest for package rename conflicts
Frederic Martinsons (7):
cargo.bbclass: use offline mode for building
bitbake: crate.py: authorize crate url with parameters
cargo-update-recipe-crates: generate checksum for each crates
python3-bcrypt: add crates checksums
python3-cryptography: add crates checksums
bitbake: fetch2: Add checksum capability for crate fetcher
bitbake: crate.py: make checksum verification mandatory
Geoffrey GIRY (1):
cve-check: Fix false negative version issue
James R T (1):
bitbake: ConfHandler: Allow the '@' character in variable flag names
Jialing Zhang (5):
class-recipe: add support for loongarch64
Do not remove the -m option for loongarch64
image-uefi: add support for loongarch64
add support for loongarch64
recipes: add support for loongarch64
Jose Quaresma (5):
go: fix some linkshared regression introduced in go 1.20
buildstats-summary: add an option to disable bold
oeqs/selftest: OESelftestTestContext: replace the os.environ after subprocess.check_output
oeqa/selftest: OESelftestTestContext: convert relative to full path when newbuilddir is provided
oeqa/selftest/reproducible: Split different packages from missing packages output
Joshua Watt (1):
runqemu: Fix TypeError when command fails
Kai Kang (1):
grub2: support metadata_csum_seed feature
Kenfe-Mickael Laventure (3):
buildtools-tarball: Handle spaces within user $PATH
toolchain-scripts: Handle spaces within user $PATH
populate_sdk_ext: Handle spaces within user $PATH
Khem Raj (9):
libcomps: Fix callback function prototype for PyCOMPS_hash
rpm: Fix hdr_hash function prototype
binutils: Enable --enable-new-dtags
systemd: Fix musl fix patch
systemd.bbclass: Add /usr/lib/systemd to searchpaths as well
systemtap: Disable dangling-pointer warning
glibc: Disable warnings as errors
vte: Upgrade to 0.72.0
Revert "runqemu: Add workaround for APIC hang on pre 4.15 kernels on qemux86"
Lee Chee Yang (2):
migration-guides: add release-notes for 4.0.8
migration-guides: add release-notes for 4.1.3
Maanya Goenka (1):
create-spdx: fix config build by adding dependency to enable reruns
Mark Asselstine (1):
bitbake: build: Make python output print to stdout when running with -v (verbose)
Mark Hatle (3):
bitbake: wget.py: Add catch TimeoutError exception
bitbake: wget.py: Combine urlopener exceptions
tcf-agent: Update to current version
Markus Volk (1):
gtk4: update 4.8.3 -> 4.10.0
Martin Jansa (22):
file: add few more PACKAGECONFIGs to avoid autodetected deps from host
npm.bbclass: avoid DeprecationWarning with new python
timezone: use 'tz' subdir instead of ${WORKDIR} directly
tzdata: use separate B instead of WORKDIR for zic output
git-submodule-test: disable upstream version check
tzcode-native: fix build with gcc-13 on host
selftest: devtool: set BB_HASHSERVE_UPSTREAM when setting SSTATE_MIRROR
selftest: wic: respect IMAGE_LINK_NAME
selftest: wic: respect IMAGE_LINK_NAME also in test_rawcopy_plugin_qemu
selftest: runqemu: respect IMAGE_LINK_NAME
image-artifact-names.bbclass: add INITRAMFS_IMAGE_NAME from kernel.bbclass
selftest: fitimage.py: respect INITRAMFS_IMAGE_NAME and KERNEL_FIT_LINK_NAME
image-artifact-names: add IMAGE_MACHINE_SUFFIX variable
selftest: gdbserver.py: respect IMAGE_LINK_NAME
selftest: minidebuginfo.py respect IMAGE_LINK_NAME
runqemu: get_first_file() rename cmd* to glob*
selftest: imagefeatures.py: respect IMAGE_LINK_NAME for debugfs and manifest as well
oeqa: loader.py: show warning when skipping selected module and abort if all are skipped
bmap-tools: switch to main branch
python3-scons: upgrade to v4.5.2
selftest: systemd_boot.py: respect IMAGE_LINK_NAME
selftest: eSDK rename to esdk
Martin Larsson (1):
libpam: Remove flex dependency
Michael Halstead (1):
selftest/runtime_test/virgl: Disable for all Rocky Linux
Michael Opdenacker (7):
ref-manual: clarify explanations about feature backfilling
overview-manual: add missing link to BitBake User Manual
manuals: simplify references to the BitBake User Manual
poky.yaml.in, system-requirements.rst: update system requirements
ref-manual: system-requirements.rst: simplify supported distro requirements
ref-manual: variables.rst: update LAYERSERIES_COMPAT
bitbake: bitbake-user-manual: fix links to supported release manuals
Mikko Rapeli (1):
oeqa rtc.py: skip if read-only-rootfs
Ming Liu (1):
linux: inherit pkgconfig in kernel.bbclass
Mingli Yu (4):
mdadm: Fix testcase 06wrmostly
mdadm: fix tests/02lineargrow
mdadm: Fix raid0 tests
mdadm: fix tests/00raid0
Ovidiu Panait (1):
gobject-introspection: inherit python3targetconfig
Peter Marko (2):
go: use go as CVE product for all golang recipe veriants
gcc-shared-source: do not use ${S}/.. in deploy_source_date_epoch
Piotr Łobacz (1):
systemd: fix wrong nobody-group assignment
Randy MacLeod (3):
valgrind: Disable drd/tests/bar_bad ptest
openssl: update from 3.0.8 to 3.1.0
vim: upgrade 9.0.1403 -> 9.0.1429
Richard Purdie (52):
gdb: Fix occasional build failure
staging: Separate out different multiconfig manifests
bitbake: server/xmlrpc: Fix after currentAsyncCommand locking changes
gdb: Mark patch as backport
glibc: Add missing binutils dependency
glibc: Update sstate/equiv versions to clean cache
staging/multilib: Fix manifest corruption
m4/opkg/ethtool/attr/libgpg-error: Add missing bash ptest dependency
openssl: Add missing ptest dependency on openssl-bin
valgrind: Add missing utf-32 gconv dependency for ptests
perl: Add missing procps-ps dependency for ptests
acl/attr: ptest fixes and improvements
m4: Add missing ptest dependency
libmodule-build-perl: Fix ptest dependencies
bc: Fix ptest test output naming
findutils: Fix ptest dependency issue
gawk: Fix ptest dependency
libconvert-asn1-perl: Fix ptest dependencies
libxml-sax-perl: Fix ptest dependencies
babeltrace2: Fix ptest execution in minimal images and add debug info
babeltrace: Fix ptest dependency
lttng-tools: Improve ptest debugging and fix dependencies
gettext: Add missing bash ptest dependency
glibc-tests: Add missing bash ptest dependency
opkg: Add missing python module ptest dependencies
libxml-perl: Add missing perl module ptest dependencies
gstreamer1.0: Add missing gconv ptest dependency
gnutls: Add missing python ptest dependency
busybox: Fix ptest dependencies
selftest/recipetool: Stop test corrupting tinfoil class
oeqa/selftest/sstate: Merge sstate test class with tests themselves
oeqa/selftest/sstate: Move common code to base class
oeqa/selftest/sstate: Split classes to allow more parallelism
base-files: Drop localhost.localdomain from hosts file
core-image-ptest: Switch to BBCLASSEXTEND parallel execution
ptest-packagelists: Simplify ptest list/code
scripts/combo-layer: Fix python deprecation warning
pybootchartui: Fix python syntax issue
pybootchart: Fix extents handling to account for cpu/io/mem pressure changes
matchbox-wm: Update 1.2.2 -> 1.2.3
matchbox-panel-2: Update 2.11 -> 2.12
matchbox-desktop-2: Update 2.2 -> 2.3
matchbox-terminal: Update to latest SRCREV
matchbox-config-gtk: Update to latest SRCREV
matchbox-terminal: Fix PV to match standard format
openssl: Fix reproducibility issue
resulttool: Improve overlapping ptest result reporting
poky-bleeding: Update and rework
bitbake: fetch2: Rename __BBSEENSRCREV -> __BBSRCREV_SEEN
bitbake: fetch2: Add autorev warning when it is set too late
abi_version/sstate: Handle pkgconfig output changes and bump output versions
bitbake: fetch2/local: Mention the value of localpath in failure message
Robert Joslyn (1):
curl: Update from 7.88.1 to 8.0.1
Robert Yang (3):
bitbake: fetch/git: Fix local clone url to make it work with repo
bitbake: cache: Make EXCLUDE_FROM_WORLD boolean
bitbake: bitbake: bitbake-user-manual: Update EXCLUDE_FROM_WORLD
Romuald JEANNE (1):
image_types: fix vname var init in multiubi_mkfs() function
Romuald Jeanne (2):
image_types: fix multiubi var init
oeqa/selftest/imagefeatures: set a test for mutliubi in test_image_fstypes
Ross Burton (35):
vim: add missing pkgconfig inherit
shadow: ignore CVE-2016-15024
epiphany: upgrade to 43.1
manpages: use an intercept to run mandb
oeqa/selftest/imagefeatures: add test for man-db
systemd: add ignore for CVE-2022-4415
meson: remove obsolete RPATH stripping patch
poky: set MAINTAINER clearly
vim: set modified-by to the recipe MAINTAINER
vim: upgrade to 9.0.1403
lib/resulttool: fix typo breaking resulttool log --ptest
resulttool: add log --list-ptest
python3-numpy: add missing dependency for the tests
python3: missing ptest dependencies
python3: add missing -modules dependencies
python3-unittest-automake-output: add new recipe for ptest integration
python3-atomicwrites: use python3-unittest-automake-output
python3-bcrypt: use python3-unittest-automake-output
python3-cryptography: use python3-unittest-automake-output
python3-hypothesis: use python3-unittest-automake-output
python3-jinja2: use python3-unittest-automake-output
python3-markupsafe: use python3-unittest-automake-output
python3-more-itertools: use python3-unittest-automake-output
python3-pluggy: use python3-unittest-automake-output
python3-pyasn1: : use python3-unittest-automake-output
python3-pytz: use python3-unittest-automake-output
python3-wcwidth: use python3-unittest-automake-output
python3-webcolors: use python3-unittest-automake-output
python3-jsonpointer: rewrite testing
scripts: add buildstats-summary
quilt: fix non-deterministic ownership in ptest package
scripts/lib/buildstats: handle top-level build_stats not being complete
go: fix CVE-2023-2453
libunwind: fix compile failures on 32-bit arm with Clang 16
tzdata: upgrade to 2023c
Siddharth Doshi (2):
OpenSSL: Security fix for CVE-2023-0464
openssh: upgrade 9.2p1 -> 9.3p1
Sudip Mukherjee (3):
libgit2: update license information
libgit2: upgrade to v1.6.3
cracklib: upgrade to v2.9.10
Sundeep KOKKONDA (1):
rust: added missing runtime dependencies to run rust on target
Thomas Roos (1):
qemuboot-x86.inc: allow overwrite of QB_CPU
Tim Orling (4):
cracklib: update github branch to 'main'
python3-wheel: upgrade 0.38.4 -> 0.40.0
bitbake: toaster: update gen_fixtures.py for mickledore
bitbake: toaster: update fixtures for mickledore
Tom Hochstein (2):
meson: Fix wrapper handling of implicit setup command
oeqa/sdk: Improve Meson test
Trevor Woerner (3):
cups: use BUILDROOT instead of DESTDIR
cups: check PACKAGECONFIG for pam feature
cups: add/fix web interface packaging
Ulrich Ölmann (1):
base: fix typos
Wang Mingyu (24):
autoconf-archive: upgrade 2022.09.03 -> 2023.02.20
font-util: upgrade 1.3.3 -> 1.4.0
harfbuzz: upgrade 7.0.1 -> 7.1.0
iso-codes: upgrade 4.12.0 -> 4.13.0
libmicrohttpd: upgrade 0.9.75 -> 0.9.76
meson: upgrade 1.0.0 -> 1.0.1
glib-2.0: upgrade 2.74.5 -> 2.74.6
python3-cryptography(-vectors): upgrade 39.0.1 -> 39.0.2
python3-setuptools: upgrade 67.3.3 -> 67.4.0
python3-git: upgrade 3.1.30 -> 3.1.31
repo: upgrade 2.31 -> 2.32
strace: upgrade 6.1 -> 6.2
stress-ng: upgrade 0.15.03 -> 0.15.04
lua: Fix install conflict when enable multilib.
vala: Fix install conflict when enable multilib.
dhcpcd: Fix install conflict when enable multilib.
grep: upgrade 3.8 -> 3.9
python3-setuptools: upgrade 67.4.0 -> 67.6.0
python3-poetry-core: upgrade 1.5.1 -> 1.5.2
python3-pytest: upgrade 7.2.1 -> 7.2.2
python3-scons: upgrade 4.4.0 -> 4.5.1
python3-testtools: upgrade 2.5.0 -> 2.6.0
python3-urllib3: upgrade 1.26.14 -> 1.26.15
xcb-proto: Fix install conflict when enable multilib.
Xiangyu Chen (3):
sudo: update 1.9.12p2 -> 1.9.13p3
rng-tools: splitting the rng-tools systemd/sysvinit serivce as a package
package: moving field data process before variable process in process_pkgconfig
Yash Shinde (1):
binutils: Fix CVE-2023-25586
Yoann Congal (1):
ref-manual: Add info on "mixin" layers
Yureka Lilian (1):
systemd: rebase musl patches
Zang Ruochen (1):
maintainers.inc: Modify email address
Zoltan Boszormenyi (2):
piglit: Fix build time dependency
pypi.bbclass: Set SRC_URI downloadfilename with an optional prefix
meta-openembedded: a9b2d1303b..17243e70c8:
AYP (1):
packagegroup-meta-networking: remove ntpdate
Andreas Helbech Kleist (1):
cli11: enable native/nativesdk builds
Archana Polampalli (1):
Nodejs: add missing run_ptest script
Bartosz Golaszewski (3):
libgpiod: update to v2.0
python3-gpiod: update to v2.0
reboot-mode: new package
Changqing Li (5):
rabbitmq-c: upgrade 0.11.0 -> 0.13.0
sg3-utils: upgrade 1.45 -> 1.47
liblockfile: upgrade 1.14 -> 1.17
syslog-ng: upgrade 3.38.1 -> 4.0.1
redis: upgrade 7.0.9 -> 7.0.10
Chen Pei (1):
meta-perl-base:fix SUMMARY
Christophe Vu-Brugier (2):
exfatprogs: add new recipe
exfat-utils: remove recipe
Clément Péron (1):
python3-click-repl: add mising prompt-toolkit runtime dependency
Etienne Cordonnier (8):
android-tools 10: import version from meta-clang
android-tools 10: remove dead code
android-tools 10: move adbd to its own package
android-tools 10: Add flag to enable adbd service
android-tools 10: various fixes
android-tools 10: port some patches from version 5
android-tools: fix TMPDIR
android-tools: update to 29.0.6.r14
Fabio Estevam (2):
iperf3: Update to 3.13
ettercap: Update Upstream-Status
Frederic Martinsons (2):
uutils-coreutils: Add crates checksum and use cargo-update-recipes-crates
python3-pyruvate: Add crates checksum and use cargo-update-recipes-crates
Jan Feemers (1):
nodejs: package-split between nodejs and nodejs-npm
Joe Slater (3):
libidn: update to 1.41
re2: move to version 2023-03-01
libreport: update to version 2.17.8
Justin Bronder (1):
tk: inherit pkgconfig
Khem Raj (41):
gnome-commander: Upgrade to 1.16.0 release
python3-lru-dict: Fix function pointer mismatch
hdf5: Upgrade to 1.14.0
python3-h5py: Upgrade to 3.8.0
pkcs11-helper: Update to latest tip of trunk
glm: Update to tip of trunk
libsdl2-ttf: Upgrade to 2.20.2
libsdl-image: Fix build with clang16
gphoto2: Fix build with clang16 + musl
pmdk: Upgrade to 1.12.1
pndk: Add missing dependency on native cmake
libx86-1: Fix build with clang16
mongodb: Upgrade to 4.4.19
glog: Disable 64bit atomics on rv32
mongodb: Fix type mitmatch found with clang16
gegl: Remove openmp dep for rv32 and ppc32
gnome-desktop: Make seccomp dependency optional for rv32
nodejs: Upgrade to 18.14.2
libx86-1: Fix build on 32bit x86
vlc: Upgrade to 3.0.18
redis: Upgrade 6.x recipe to 6.2.11
redis: Upgrade 7.x to 7.0.9
packagegroup-meta-multimedia: mycroft needs pulseaudio
pahole: Upgrade to tip of trunk
sg3-utils: Fix build with musl
gsoap: Upgrade to 2.8.126
waylandpp: Just enforce opengl for target recipe
freeglut: Drop -fcommon and add -Wno-implicit-function-declaration
nodejs: Depend on file-native
lirc: Fix build with usrmerge feature building on ubuntu hosts
rp-pppoe: Define _GNU_SOURCE
libssh: Fix build with clang16
packagegroup-meta-multimedia: Remove library only packages from rdeps
packagegroup-meta-oe: Remove mongodb from rdep list of packagegroup
packagegroup-meta-networking: Set PACKAGE_ARCH = "${MACHINE_ARCH}"
cmocka: Check for previous declaration of uintptr_t
ettercap: Fix build with libcurl >= 8
fluentbit: Disable upstart scripts
xfstests: Fix build with musl
nautilus: Fix build with clang and drop unused patch
gimp: Update to 2.10.34
Lei Maohui (2):
libiodbc: Install *.h files to /usr/include/iodbc to fix conflicts error with unixodbc reference to ubuntu:
pgpool2: Added a new recipe.
Manoj Saun (1):
postgresql: fix ptest failure of sysviews test
Markus Volk (13):
dav1d: add recipe
libavif: add recipe
xdg-dbus-proxy: add recipe
libnice: upgrade 0.1.18 -> 0.1.21
pipewire: update 0.3.66 -> 0.3.67
nv-codec-headers: update 11.1.5.2 -> 12.0.16.0
wireplumber: update 0.4.13 -> 0.4.14
libcamera: update 0.0.1 -> 0.0.4
xdg-desktop-portal: fix bwrap path
gvfs: add more PACKAGECONFIGS
evolution-data-server: update 3.46.3 -> 3.48.0
gtksourceview5: update 5.6.1 -> 5.7.1
libgtop: update 2.40.0 -> 2.41.1
Mingli Yu (4):
php: Upgrade to 8.1.16
opencv: Upgrade to 4.7.0
crash: Upgrade to 8.0.2
mcelog: Upgrade to v191
Peter Johennecken (1):
fluentbit: change of download name
Peter Marko (1):
dnsmasq: fix CVE-2023-28450
Petr Gotthard (4):
openvpn: upgrade 2.6.0 -> 2.6.1
libqmi: upgrade 1.32.2 -> 1.32.4
libmbim: upgrade 1.28.2 -> 1.28.4
modemmanager: upgrade 1.20.4 -> 1.20.6
Randy MacLeod (4):
rsyslog: update from 8.2212.0 to 8.2302.0
rsyslog: add disabled PACKAGECONFIG to drop capabilities
librelp: make inline errors be warnings in debug build
cmocka: update from 1.1.5+ to 1.1.7
Sakib Sajal (1):
libuser: upgrade v0.63 -> v0.64
Stefan Ghinea (1):
redis: fix service redis-server restart not working under sysvinit
Trevor Woerner (3):
cups-filters: remove duplicate configure option
cups-filters: fix ghostscript handling
hplip: add runtime dependency on ghostscript
Wang Mingyu (136):
logcheck: upgrade 1.4.0 -> 1.4.2
byacc: upgrade 20230201 -> 20230219
bubblewrap: upgrade 0.7.0 -> 0.8.0
bats: upgrade 1.8.2 -> 1.9.0
cryptsetup: upgrade 2.6.0 -> 2.6.1
c-ares: upgrade 1.18.1 -> 1.19.0
cukinia: upgrade 0.6.0 -> 0.6.1
python3-coverage: upgrade 7.2.0 -> 7.2.1
python3-decouple: upgrade 3.7 -> 3.8
python3-aiohue: upgrade 4.6.1 -> 4.6.2
python3-fastnumbers: upgrade 4.0.1 -> 5.0.1
python3-haversine: upgrade 2.7.0 -> 2.8.0
python3-google-auth: upgrade 2.16.1 -> 2.16.2
python3-google-api-python-client: upgrade 2.79.0 -> 2.80.0
python3-imageio: upgrade 2.25.1 -> 2.26.0
python3-ipython: upgrade 8.10.0 -> 8.11.0
python3-nocasedict: upgrade 1.1.0 -> 2.0.0
python3-natsort: upgrade 8.2.0 -> 8.3.1
python3-nocaselist: Upgrade 1.1.0 -> 1.1.1
python3-protobuf: upgrade 4.21.12 -> 4.22.0
python3-pydicti: upgrade 1.2.0 -> 1.2.1
python3-watchdog: upgrade 2.3.0-> 2.3.1
python3-pymisp: upgrade 2.4.168 -> 2.4.168.1
python3-wrapt: upgrade 1.14.1 -> 1.15.0
apache2: upgrade 2.4.55 -> 2.4.56
logwatch: upgrade 7.7 -> 7.8
libvpx: upgrade 1.12.0 -> 1.13.0
libjcat: upgrade 0.1.12 -> 0.1.13
librsync: upgrade 2.3.2 -> 2.3.4
lcms: upgrade 2.14 -> 2.15
gsoap: upgrade 2.0.106 -> 2.0.124
hwdata: upgrade 0.367 -> 0.368
ctags: upgrade 6.0.20230212.0 -> 6.0.20230305.0
freerdp: upgrade 2.9.0 -> 2.10.0
python3-mpmath: upgrade 1.2.1 -> 1.3.0
python3-alembic: upgrade 1.9.4 -> 1.10.2
python3-astroid: upgrade 2.14.2 -> 2.15.0
python3-charset-normalizer: upgrade 3.0.1 -> 3.1.0
python3-argcomplete upgrade 2.0.0 -> 2.1.1
python3-fastjsonschema: upgrade 2.16.2 -> 2.16.3
python3-protobuf: upgrade 4.22.0 -> 4.22.1
python3-xmlschema: upgrade 2.2.1 -> 2.2.2
python3-tqdm: upgrade 4.64.1 -> 4.65.0
python3-pyexpect: upgrade 1.0.21 -> 1.0.22
python3-pywbem: upgrade 1.6.0 -> 1.6.1
stunnel: upgrade 5.67 -> 5.69
rp-pppoe: upgrade 3.14 -> 3.15
nbdkit: upgrade 1.33.7 -> 1.33.10
php: update 8.1.16 -> 8.2.3
tcsh: upgrade 6.22.04 -> 6.24.07
monit: upgrade 5.32.0 -> 5.33.0
poppler: upgrade 23.02.0 -> 23.03.0
satyr: upgrade 0.40 -> 0.42
nginx: upgrade 1.20.1 -> 1.23.3
raptor2: upgrade 2.0.15 -> 2.0.16
spawn-fcgi: upgrade 1.6.4 -> 1.6.5
unixodbc: Fix install conflict when enable multilib.
xdebug: upgrade 3.1.1 -> 3.2.0
postgresql: Fix install conflict when enable multilib.
networkmanager: upgrade 1.42.0 -> 1.42.4
rdma-core: upgrade 44.0 -> 45.0
python3-gcovr: upgrade 5.2 -> 6.0
makeself: upgrade 2.4.5 -> 2.5.0
ctags: upgrade 6.0.20230305.0 -> 6.0.20230312.0
python3-gmqtt: upgrade 0.6.11 -> 0.6.12
python3-google-api-python-client: upgrade 2.80.0 -> 2.81.0
python3-msgpack: upgrade 1.0.4 -> 1.0.5
python3-portion: upgrade 2.3.1 -> 2.4.0
python3-paramiko: upgrade 3.0.0 -> 3.1.0
python3-openpyxl: upgrade 3.1.1 -> 3.1.2
python3-pymisp: upgrade 2.4.168.1 -> 2.4.169
python3-pydantic: upgrade 1.10.5 -> 1.10.6
python3-pytest-xdist: upgrade 3.2.0 -> 3.2.1
python3-pymodbus: upgrade 3.1.3 -> 3.2.0
python3-smpplib: upgrade 2.2.1 -> 2.2.2
python3-twitter: upgrade 4.12.1 -> 4.13.0
python3-unidiff: upgrade 0.7.4 -> 0.7.5
python3-xlsxwriter: upgrade 3.0.8 -> 3.0.9
python3-pykickstart: upgrade 3.44 -> 3.45
python3-web3: upgrade 5.31.3 -> 5.31.4
python3-pymodbus: upgrade 3.2.0 -> 3.2.1
python3-geojson: upgrade 2.5.0 -> 3.0.1
python3-sentry-sdk: upgrade 1.15.0 -> 1.17.0
python3-apt: upgrade 2.5.2 -> 2.5.3
python3-argcomplete: upgrade 2.1.1 -> 3.0.0
python3-cmake: upgrade 3.25.2 -> 3.26.0
python3-coverage: upgrade 7.2.1 -> 7.2.2
python3-eth-typing: upgrade 3.2.0 -> 3.3.0
python3-daemon: upgrade 2.3.2 -> 3.0.1
python3-engineio: upgrade 4.3.4 -> 4.4.0
python3-flask-socketio: upgrade 5.3.2 -> 5.3.3
python3-pykickstart: upgrade 3.45 -> 3.47
python3-pymisp: upgrade 2.4.169 -> 2.4.169.2
python3-simplejson: upgrade 3.18.3 -> 3.18.4
python3-rapidjson: upgrade 1.9 -> 1.10
python3-socketio: upgrade 5.7.2 -> 5.8.0
python3-sqlalchemy: upgrade 2.0.4 -> 2.0.7
python3-tzlocal: upgrade 4.2 -> 4.3
python3-typeguard: upgrade 2.13.3 -> 3.0.1
python3-web3: upgrade 5.31.4 -> 6.0.0
python3-zeroconf: upgrade 0.47.3 -> 0.47.4
tracker: upgrade 3.4.2 -> 3.5.0
xterm: upgrade 378 -> 379
python3-zopeinterface: upgrade 5.5.2 -> 6.0
xf86-video-amdgpu: upgrade 22.0.0 -> 23.0.0
libclass-method-modifiers-perl: upgrade 2.13 -> 2.15
libcompress-raw-bzip2-perl: upgrade 2.201 -> 2.204
libcompress-raw-lzma-perl: upgrade 2.201 -> 2.204
libcompress-raw-zlib-perl: upgrade 2.202 -> 2.204
libio-compress-lzma-perl: upgrade 2.201 -> 2.204
libio-compress-perl: upgrade 2.201 -> 2.204
libtest-deep-perl: upgrade 1.130 -> 1.204
opencl-headers: upgrade 2022.09.30 -> 2023.02.06
php: upgrade 8.2.3 -> 8.2.4
googletest: upgrade 1.12.1 -> 1.13.0
consolation: upgrade 0.0.8 -> 0.0.9
can-utils: upgrade 2021.08.0 -> 2023.03
nbdkit: upgrade 1.33.10 -> 1.33.11
adcli: upgrade 0.9.0 -> 0.9.2
gnome-chess: upgrade 43.1 -> 43.2
xfstests: upgrade 2023.01.01 -> 2023.03.05
gnome-backgrounds: upgrade 43 -> 44.0
libwacom: upgrade 2.5.0 -> 2.6.0
libass: upgrade 0.17.0 -> 0.17.1
libnet-dns-perl: upgrade 1.36 -> 1.37
libadwaita: upgrade 1.2.1 -> 1.3.1
libcgi-perl: upgrade 4.55 -> 4.56
libpeas: upgrade 1.34.0 -> 1.36.0
gvfs: upgrade 1.50.3 -> 1.50.4
gnome-system-monitor: upgrade 42.0 -> 44.0
nautilus: upgrade 43.2 -> 44.0
babl: upgrade 0.1.98 -> 0.1.102
ctags: upgrade 6.0.20230312.0 -> 6.0.20230319.0
folks: upgrade 0.15.5 -> 0.15.6
gegl: upgrade 0.4.40 -> 0.4.42
gnome-autoar: upgrade 0.4.3 -> 0.4.4
Xiangyu Chen (2):
libbpf: upgrade 0.8.0 -> 1.1.0
abseil-cpp: upgrade 20221014.0 -> 20230125.1
Yi Zhao (25):
audit: upgrade 3.0.9 -> 3.1
audit: drop version 2.8.5
frr: add UPSTREAM_CHECK_GITTAGREGEX
quagga: drop recipe
libssh: upgrade 0.8.9 -> 0.10.4
strongswan: 5.9.9 -> 5.9.10
libnfnetlink: upgrade 1.0.1 -> 1.0.2
libnetfilter-cthelper: upgrade 1.0.0 -> 1.0.1
libnetfilter-cttimeout: upgrade 1.0.0 -> 1.0.1
traceroute: upgrade 2.1.1 -> 2.1.2
freeradius: add UPSTREAM_CHECK_GITTAGREGEX
libyang: fix ptest
libyang: upgrade 2.0.194 -> 2.1.30
frr: support more arches
netplan: add missing runtime dependencies
python3-rich: add recipe
packagegroup-meta-networking: add frr
packagegroup-meta-oe: enable build libyang on riscv32/64
libnftnl: upgrade 1.2.4 -> 1.2.5
libldb: upgrade 2.6.1 -> 2.7.1
samba: upgrade 4.17.5 -> 4.18.0
libssh: add ptest
mbedtls: add ptest
libyang: upgrade 2.1.30 -> 2.1.55
tcpreplay: 4.4.2 -> 4.4.3
Yoann Congal (4):
libusb-compat: Revert "libusb-compat: move libraries to base_libdir"
libusb-compat: upgrade sources to fix -native build
libusb-compat: add simple ptest (example programs)
libusb-compat: RDEPENDS on libusb1
Yue Tao (1):
Introduce python3-trustme to fix ptest error of python3-requests-toolbelt
Zhixiong Chi (2):
ntp: drop the deprecated ntpdate
python3-betamax: fix ptest failture of fixture and record modes
Zoltán Böszörményi (13):
opencl-icd-loader: Add RPROVIDES:${PN} = "virtual/opencl-icd"
ocl-icd: Add PROVIDES and RPROVIDES for virtual/opencl-icd
meta-oe/conf/layer.conf: Add PREFERRED_[R]PROVIDER_virtual/opencl-icd
python3-ninja: New recipe
python3-cmake: New recipe
python3-scikit-build: New recipe
python3-pyproject-metadata: New recipe
opencv: Support OpenVINO
python3-executing: New recipe
python3-pure-eval: New recipe
python3-stack-data: New recipe
python3-ipython: Add missing dependency
opencv: Fix PACKAGECONFIG[openvino]
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Idbfcd5f4c03ed5bd9c72558714edbe0200495aad
diff --git a/poky/scripts/buildstats-summary b/poky/scripts/buildstats-summary
new file mode 100755
index 0000000..f521d78
--- /dev/null
+++ b/poky/scripts/buildstats-summary
@@ -0,0 +1,126 @@
+#! /usr/bin/python3
+#
+# Dump a summary of the specified buildstats to the terminal, filtering and
+# sorting by walltime.
+#
+# SPDX-License-Identifier: GPL-2.0-only
+
+import argparse
+import dataclasses
+import datetime
+import enum
+import os
+import pathlib
+import sys
+
+scripts_path = os.path.dirname(os.path.realpath(__file__))
+sys.path.append(os.path.join(scripts_path, "lib"))
+import buildstats
+
+
+@dataclasses.dataclass
+class Task:
+ recipe: str
+ task: str
+ start: datetime.datetime
+ duration: datetime.timedelta
+
+
+class Sorting(enum.Enum):
+ start = 1
+ duration = 2
+
+ # argparse integration
+ def __str__(self) -> str:
+ return self.name
+
+ def __repr__(self) -> str:
+ return self.name
+
+ @staticmethod
+ def from_string(s: str):
+ try:
+ return Sorting[s]
+ except KeyError:
+ return s
+
+
+def read_buildstats(path: pathlib.Path) -> buildstats.BuildStats:
+ if not path.exists():
+ raise Exception(f"No such file or directory: {path}")
+ if path.is_file():
+ return buildstats.BuildStats.from_file_json(path)
+ if (path / "build_stats").is_file():
+ return buildstats.BuildStats.from_dir(path)
+ raise Exception(f"Cannot find buildstats in {path}")
+
+
+def dump_buildstats(args, bs: buildstats.BuildStats):
+ tasks = []
+ for recipe in bs.values():
+ for task, stats in recipe.tasks.items():
+ t = Task(
+ recipe.name,
+ task,
+ datetime.datetime.fromtimestamp(stats["start_time"]),
+ datetime.timedelta(seconds=int(stats.walltime)),
+ )
+ tasks.append(t)
+
+ tasks.sort(key=lambda t: getattr(t, args.sort.name))
+
+ minimum = datetime.timedelta(seconds=args.shortest)
+ highlight = datetime.timedelta(seconds=args.highlight)
+
+ for t in tasks:
+ if t.duration >= minimum:
+ line = f"{t.duration} {t.recipe}:{t.task}"
+ if args.highlight and t.duration >= highlight:
+ print(f"\033[1m{line}\033[0m")
+ else:
+ print(line)
+
+
+def main(argv=None) -> int:
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter
+ )
+
+ parser.add_argument(
+ "buildstats", metavar="BUILDSTATS", help="Buildstats file", type=pathlib.Path
+ )
+ parser.add_argument(
+ "--sort",
+ "-s",
+ type=Sorting.from_string,
+ choices=list(Sorting),
+ default=Sorting.start,
+ help="Sort tasks",
+ )
+ parser.add_argument(
+ "--shortest",
+ "-t",
+ type=int,
+ default=1,
+ metavar="SECS",
+ help="Hide tasks shorter than SECS seconds",
+ )
+ parser.add_argument(
+ "--highlight",
+ "-g",
+ type=int,
+ default=60,
+ metavar="SECS",
+ help="Highlight tasks longer than SECS seconds (0 disabled)",
+ )
+
+ args = parser.parse_args(argv)
+
+ bs = read_buildstats(args.buildstats)
+ dump_buildstats(args, bs)
+
+ return 0
+
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/poky/scripts/combo-layer b/poky/scripts/combo-layer
index 7f2020f..2312cef 100755
--- a/poky/scripts/combo-layer
+++ b/poky/scripts/combo-layer
@@ -19,7 +19,7 @@
import configparser
import re
import copy
-import pipes
+import shlex
import shutil
from string import Template
from functools import reduce
@@ -1275,7 +1275,7 @@
target = os.path.join(wargs["destdir"], dest_dir)
if not os.path.isdir(target):
os.makedirs(target)
- quoted_target = pipes.quote(target)
+ quoted_target = shlex.quote(target)
# os.sysconf('SC_ARG_MAX') is lying: running a command with
# string length 629343 already failed with "Argument list too
# long" although SC_ARG_MAX = 2097152. "man execve" explains
@@ -1287,7 +1287,7 @@
unquoted_args = []
cmdsize = 100 + len(quoted_target)
while update:
- quoted_next = pipes.quote(update[0])
+ quoted_next = shlex.quote(update[0])
size_next = len(quoted_next) + len(dest_dir) + 1
logger.debug('cmdline length %d + %d < %d?' % (cmdsize, size_next, os.sysconf('SC_ARG_MAX')))
if cmdsize + size_next < max_cmdsize:
diff --git a/poky/scripts/lib/buildstats.py b/poky/scripts/lib/buildstats.py
index fa94c65..6db60d5 100644
--- a/poky/scripts/lib/buildstats.py
+++ b/poky/scripts/lib/buildstats.py
@@ -234,6 +234,7 @@
"""
Parse the top-level build_stats file for build-wide start and duration.
"""
+ start = elapsed = 0
with open(path) as fobj:
for line in fobj.readlines():
key, val = line.split(':', 1)
diff --git a/poky/scripts/lib/devtool/upgrade.py b/poky/scripts/lib/devtool/upgrade.py
index 967d157..6c4a62b 100644
--- a/poky/scripts/lib/devtool/upgrade.py
+++ b/poky/scripts/lib/devtool/upgrade.py
@@ -125,11 +125,8 @@
return af
def _cleanup_on_error(rd, srctree):
- rdp = os.path.split(rd)[0] # recipes folder
if os.path.exists(rd):
shutil.rmtree(rd)
- if not len(os.listdir(rdp)):
- os.rmdir(rdp)
srctree = os.path.abspath(srctree)
if os.path.exists(srctree):
shutil.rmtree(srctree)
diff --git a/poky/scripts/lib/resulttool/log.py b/poky/scripts/lib/resulttool/log.py
index eb3927e..15148ca 100644
--- a/poky/scripts/lib/resulttool/log.py
+++ b/poky/scripts/lib/resulttool/log.py
@@ -28,12 +28,10 @@
def log(args, logger):
results = resultutils.load_resultsdata(args.source)
- ptest_count = sum(1 for _, _, _, r in resultutils.test_run_results(results) if 'ptestresult.sections' in r)
- if ptest_count > 1 and not args.prepend_run:
- print("%i ptest sections found. '--prepend-run' is required" % ptest_count)
- return 1
-
for _, run_name, _, r in resultutils.test_run_results(results):
+ if args.list_ptest:
+ print('\n'.join(sorted(r['ptestresult.sections'].keys())))
+
if args.dump_ptest:
for sectname in ['ptestresult.sections', 'ltpposixresult.sections', 'ltpresult.sections']:
if sectname in r:
@@ -48,6 +46,9 @@
os.makedirs(dest_dir, exist_ok=True)
dest = os.path.join(dest_dir, '%s.log' % name)
+ if os.path.exists(dest):
+ print("Overlapping ptest logs found, skipping %s. The '--prepend-run' option would avoid this" % name)
+ continue
print(dest)
with open(dest, 'w') as f:
f.write(logdata)
@@ -86,6 +87,8 @@
parser.set_defaults(func=log)
parser.add_argument('source',
help='the results file/directory/URL to import')
+ parser.add_argument('--list-ptest', action='store_true',
+ help='list the ptest test names')
parser.add_argument('--ptest', action='append', default=[],
help='show logs for a ptest')
parser.add_argument('--dump-ptest', metavar='DIR',
diff --git a/poky/scripts/lib/resulttool/regression.py b/poky/scripts/lib/resulttool/regression.py
index 74fd5f3..1facbcd 100644
--- a/poky/scripts/lib/resulttool/regression.py
+++ b/poky/scripts/lib/resulttool/regression.py
@@ -190,11 +190,20 @@
else:
logger.error('Failed to retrieved base test case status: %s' % k)
if result:
- resultstring = "Regression: %s\n %s\n" % (base_name, target_name)
- for k in sorted(result):
- resultstring += ' %s: %s -> %s\n' % (k, result[k]['base'], result[k]['target'])
+ new_pass_count = sum(test['target'] is not None and test['target'].startswith("PASS") for test in result.values())
+ # Print a regression report only if at least one test has a regression status (FAIL, SKIPPED, absent...)
+ if new_pass_count < len(result):
+ resultstring = "Regression: %s\n %s\n" % (base_name, target_name)
+ for k in sorted(result):
+ if not result[k]['target'] or not result[k]['target'].startswith("PASS"):
+ resultstring += ' %s: %s -> %s\n' % (k, result[k]['base'], result[k]['target'])
+ if new_pass_count > 0:
+ resultstring += f' Additionally, {new_pass_count} previously failing test(s) is/are now passing\n'
+ else:
+ resultstring = "Improvement: %s\n %s\n (+%d test(s) passing)" % (base_name, target_name, new_pass_count)
+ result = None
else:
- resultstring = "Match: %s\n %s" % (base_name, target_name)
+ resultstring = "Match: %s\n %s" % (base_name, target_name)
return result, resultstring
def get_results(logger, source):
@@ -206,12 +215,38 @@
regression_common(args, logger, base_results, target_results)
+# Some test case naming is poor and contains random strings, particularly lttng/babeltrace.
+# Truncating the test names works since they contain file and line number identifiers
+# which allows us to match them without the random components.
+def fixup_ptest_names(results, logger):
+ for r in results:
+ for i in results[r]:
+ tests = list(results[r][i]['result'].keys())
+ for test in tests:
+ new = None
+ if test.startswith(("ptestresult.lttng-tools.", "ptestresult.babeltrace.", "ptestresult.babeltrace2")) and "_-_" in test:
+ new = test.split("_-_")[0]
+ elif test.startswith(("ptestresult.curl.")) and "__" in test:
+ new = test.split("__")[0]
+ elif test.startswith(("ptestresult.dbus.")) and "__" in test:
+ new = test.split("__")[0]
+ elif test.startswith("ptestresult.binutils") and "build-st-" in test:
+ new = test.split(" ")[0]
+ elif test.startswith("ptestresult.gcc") and "/tmp/runtest." in test:
+ new = ".".join(test.split(".")[:2])
+ if new:
+ results[r][i]['result'][new] = results[r][i]['result'][test]
+ del results[r][i]['result'][test]
+
def regression_common(args, logger, base_results, target_results):
if args.base_result_id:
base_results = resultutils.filter_resultsdata(base_results, args.base_result_id)
if args.target_result_id:
target_results = resultutils.filter_resultsdata(target_results, args.target_result_id)
+ fixup_ptest_names(base_results, logger)
+ fixup_ptest_names(target_results, logger)
+
matches = []
regressions = []
notfound = []
@@ -243,29 +278,11 @@
else:
notfound.append("%s not found in target" % a)
print("\n".join(sorted(matches)))
+ print("\n")
print("\n".join(sorted(regressions)))
print("\n".join(sorted(notfound)))
-
return 0
-# Some test case naming is poor and contains random strings, particularly lttng/babeltrace.
-# Truncating the test names works since they contain file and line number identifiers
-# which allows us to match them without the random components.
-def fixup_ptest_names(results, logger):
- for r in results:
- for i in results[r]:
- tests = list(results[r][i]['result'].keys())
- for test in tests:
- new = None
- if test.startswith(("ptestresult.lttng-tools.", "ptestresult.babeltrace.", "ptestresult.babeltrace2")) and "_-_" in test:
- new = test.split("_-_")[0]
- elif test.startswith(("ptestresult.curl.")) and "__" in test:
- new = test.split("__")[0]
- if new:
- results[r][i]['result'][new] = results[r][i]['result'][test]
- del results[r][i]['result'][test]
-
-
def regression_git(args, logger):
base_results = {}
target_results = {}
@@ -327,9 +344,6 @@
base_results = resultutils.git_get_result(repo, revs[index1][2])
target_results = resultutils.git_get_result(repo, revs[index2][2])
- fixup_ptest_names(base_results, logger)
- fixup_ptest_names(target_results, logger)
-
regression_common(args, logger, base_results, target_results)
return 0
diff --git a/poky/scripts/lib/resulttool/resultutils.py b/poky/scripts/lib/resulttool/resultutils.py
index 8917022..7666331 100644
--- a/poky/scripts/lib/resulttool/resultutils.py
+++ b/poky/scripts/lib/resulttool/resultutils.py
@@ -142,7 +142,7 @@
return decode_log(ptest['log'])
def ptestresult_get_log(results, section):
- return generic_get_log('ptestresuls.sections', results, section)
+ return generic_get_log('ptestresult.sections', results, section)
def generic_get_rawlogs(sectname, results):
if sectname not in results:
diff --git a/poky/scripts/lib/wic/filemap.py b/poky/scripts/lib/wic/filemap.py
index 4d9da28..85b39d5 100644
--- a/poky/scripts/lib/wic/filemap.py
+++ b/poky/scripts/lib/wic/filemap.py
@@ -46,6 +46,13 @@
bsize = stat.st_blksize
else:
raise IOError("Unable to determine block size")
+
+ # The logic in this script only supports a maximum of a 4KB
+ # block size
+ max_block_size = 4 * 1024
+ if bsize > max_block_size:
+ bsize = max_block_size
+
return bsize
class ErrorNotSupp(Exception):
diff --git a/poky/scripts/postinst-intercepts/update_mandb b/poky/scripts/postinst-intercepts/update_mandb
new file mode 100644
index 0000000..a061bb4
--- /dev/null
+++ b/poky/scripts/postinst-intercepts/update_mandb
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# SPDX-License-Identifier: MIT
+#
+
+set -eu
+
+# Create a temporary man_db.conf with paths to the rootfs, as mandb needs absolute paths
+CONFIG=$(mktemp --tmpdir update-mandb.XXXXX)
+sed "s:\(\s\)/:\1$D/:g" $D${sysconfdir}/man_db.conf > $CONFIG
+
+PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D${bindir}/mandb --config-file $CONFIG --create
+
+rm -f $CONFIG
+
+chown -R man:man $D${localstatedir}/cache/man/
diff --git a/poky/scripts/pybootchartgui/pybootchartgui/draw.py b/poky/scripts/pybootchartgui/pybootchartgui/draw.py
index 4326361..6d445aa 100644
--- a/poky/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/poky/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -356,6 +356,12 @@
h += 30 + bar_h
if trace.disk_stats:
h += 30 + bar_h
+ if trace.cpu_pressure:
+ h += 30 + bar_h
+ if trace.io_pressure:
+ h += 30 + bar_h
+ if trace.mem_pressure:
+ h += 30 + bar_h
if trace.monitor_disk:
h += 30 + bar_h
if trace.mem_stats:
diff --git a/poky/scripts/pybootchartgui/pybootchartgui/parsing.py b/poky/scripts/pybootchartgui/pybootchartgui/parsing.py
index 362d515..63a53b6 100644
--- a/poky/scripts/pybootchartgui/pybootchartgui/parsing.py
+++ b/poky/scripts/pybootchartgui/pybootchartgui/parsing.py
@@ -131,7 +131,7 @@
def compile(self, writer):
def find_parent_id_for(pid):
- if pid is 0:
+ if pid == 0:
return 0
ppid = self.parent_map.get(pid)
if ppid:
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 58b0c19..09b0ad5 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -82,6 +82,7 @@
kvm-vhost - enable KVM with vhost when running x86/x86_64 (VT-capable CPU required)
publicvnc - enable a VNC server open to all hosts
audio - enable audio
+ guestagent - enable guest agent communication
[*/]ovmf* - OVMF firmware file or base name for booting with UEFI
tcpserial=<port> - specify tcp serial port number
qemuparams=<xyz> - specify custom parameters to QEMU
@@ -116,10 +117,10 @@
if not os.access(dev_tun, os.W_OK):
raise RunQemuError("TUN control device %s is not writable, please fix (e.g. sudo chmod 666 %s)" % (dev_tun, dev_tun))
-def get_first_file(cmds):
- """Return first file found in wildcard cmds"""
- for cmd in cmds:
- all_files = glob.glob(cmd)
+def get_first_file(globs):
+ """Return first file found in wildcard globs"""
+ for g in globs:
+ all_files = glob.glob(g)
if all_files:
for f in all_files:
if not os.path.isdir(f):
@@ -216,6 +217,8 @@
self.cleaned = False
# Files to cleanup after run
self.cleanup_files = []
+ self.guest_agent = False
+ self.guest_agent_sockpath = '/tmp/qga.sock'
def acquire_taplock(self, error=True):
logger.debug("Acquiring lockfile %s..." % self.taplock)
@@ -447,30 +450,16 @@
self.set("MACHINE", arg)
def set_dri_path(self):
- # As runqemu can be run within bitbake (when using testimage, for example),
- # we need to ensure that we run host pkg-config, and that it does not
- # get mis-directed to native build paths set by bitbake.
- env = os.environ.copy()
- try:
- del env['PKG_CONFIG_PATH']
- del env['PKG_CONFIG_DIR']
- del env['PKG_CONFIG_LIBDIR']
- del env['PKG_CONFIG_SYSROOT_DIR']
- except KeyError:
- pass
- try:
- dripath = subprocess.check_output("PATH=/bin:/usr/bin:$PATH pkg-config --variable=dridriverdir dri", shell=True, env=env)
- except subprocess.CalledProcessError as e:
- raise RunQemuError("Could not determine the path to dri drivers on the host via pkg-config.\nPlease install Mesa development files (particularly, dri.pc) on the host machine.")
- self.qemu_environ['LIBGL_DRIVERS_PATH'] = dripath.decode('utf-8').strip()
-
- # This preloads uninative libc pieces and therefore ensures that RPATH/RUNPATH
- # in host mesa drivers doesn't trick uninative into loading host libc.
- preload_items = ['libdl.so.2', 'librt.so.1', 'libpthread.so.0']
- uninative_path = os.path.dirname(self.get("UNINATIVE_LOADER"))
- if os.path.exists(uninative_path):
- preload_paths = [os.path.join(uninative_path, i) for i in preload_items]
- self.qemu_environ['LD_PRELOAD'] = " ".join(preload_paths)
+ drivers_path = os.path.join(self.bindir_native, '../lib/dri')
+ if not os.path.exists(drivers_path) or not os.listdir(drivers_path):
+ raise RunQemuError("""
+qemu has been built without opengl support and accelerated graphics support is not available.
+To enable it, add:
+DISTRO_FEATURES_NATIVE:append = " opengl"
+DISTRO_FEATURES_NATIVESDK:append = " opengl"
+to your build configuration.
+""")
+ self.qemu_environ['LIBGL_DRIVERS_PATH'] = drivers_path
def check_args(self):
for debug in ("-d", "--debug"):
@@ -526,6 +515,10 @@
elif arg == 'publicvnc':
self.publicvnc = True
self.qemu_opt_script += ' -vnc :0'
+ elif arg == 'guestagent':
+ self.guest_agent = True
+ elif arg.startswith('guestagent-sockpath='):
+ self.guest_agent_sockpath = '%s' % arg[len('guestagent-sockpath='):]
elif arg.startswith('tcpserial='):
self.tcpserial_portnum = '%s' % arg[len('tcpserial='):]
elif arg.startswith('qemuparams='):
@@ -591,11 +584,6 @@
if os.access(dev_kvm, os.W_OK|os.R_OK):
self.qemu_opt_script += ' -enable-kvm'
- if self.get('MACHINE') == "qemux86":
- # Workaround for broken APIC window on pre 4.15 host kernels which causes boot hangs
- # See YOCTO #12301
- # On 64 bit we use x2apic
- self.kernel_cmdline_script += " clocksource=kvm-clock hpet=disable noapic nolapic"
else:
logger.error("You have no read or write permission on /dev/kvm.")
logger.error("Please change the ownership of this file as described at:")
@@ -676,12 +664,12 @@
self.rootfs, self.get('MACHINE'),
self.fstype)
elif not self.rootfs:
- cmd_name = '%s/%s*.%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_NAME'), self.fstype)
- cmd_link = '%s/%s*.%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_LINK_NAME'), self.fstype)
- cmds = (cmd_name, cmd_link)
- self.rootfs = get_first_file(cmds)
+ glob_name = '%s/%s*.%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_NAME'), self.fstype)
+ glob_link = '%s/%s*.%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_LINK_NAME'), self.fstype)
+ globs = (glob_name, glob_link)
+ self.rootfs = get_first_file(globs)
if not self.rootfs:
- raise RunQemuError("Failed to find rootfs: %s or %s" % cmds)
+ raise RunQemuError("Failed to find rootfs: %s or %s" % globs)
if not os.path.exists(self.rootfs):
raise RunQemuError("Can't find rootfs: %s" % self.rootfs)
@@ -741,10 +729,10 @@
kernel_match_name = "%s/%s" % (deploy_dir_image, kernel_name)
kernel_match_link = "%s/%s" % (deploy_dir_image, self.get('KERNEL_IMAGETYPE'))
kernel_startswith = "%s/%s*" % (deploy_dir_image, self.get('KERNEL_IMAGETYPE'))
- cmds = (kernel_match_name, kernel_match_link, kernel_startswith)
- self.kernel = get_first_file(cmds)
+ globs = (kernel_match_name, kernel_match_link, kernel_startswith)
+ self.kernel = get_first_file(globs)
if not self.kernel:
- raise RunQemuError('KERNEL not found: %s, %s or %s' % cmds)
+ raise RunQemuError('KERNEL not found: %s, %s or %s' % globs)
if not os.path.exists(self.kernel):
raise RunQemuError("KERNEL %s not found" % self.kernel)
@@ -761,13 +749,13 @@
dtb = self.get('QB_DTB')
if dtb:
deploy_dir_image = self.get('DEPLOY_DIR_IMAGE')
- cmd_match = "%s/%s" % (deploy_dir_image, dtb)
- cmd_startswith = "%s/%s*" % (deploy_dir_image, dtb)
- cmd_wild = "%s/*.dtb" % deploy_dir_image
- cmds = (cmd_match, cmd_startswith, cmd_wild)
- self.dtb = get_first_file(cmds)
+ glob_match = "%s/%s" % (deploy_dir_image, dtb)
+ glob_startswith = "%s/%s*" % (deploy_dir_image, dtb)
+ glob_wild = "%s/*.dtb" % deploy_dir_image
+ globs = (glob_match, glob_startswith, glob_wild)
+ self.dtb = get_first_file(globs)
if not os.path.exists(self.dtb):
- raise RunQemuError('DTB not found: %s, %s or %s' % cmds)
+ raise RunQemuError('DTB not found: %s, %s or %s' % globs)
def check_bios(self):
"""Check and set bios"""
@@ -818,7 +806,7 @@
self.set('QB_MEM', qb_mem)
mach = self.get('MACHINE')
- if not mach.startswith(('qemumips', 'qemux86')):
+ if not mach.startswith(('qemumips', 'qemux86', 'qemuloongarch64')):
self.kernel_cmdline_script += ' mem=%s' % self.get('QB_MEM').replace('-m','').strip() + 'M'
self.qemu_opt_script += ' %s' % self.get('QB_MEM')
@@ -1049,7 +1037,7 @@
cmd = ('runqemu-extract-sdk', src, dest)
logger.info('Running %s...' % str(cmd))
if subprocess.call(cmd) != 0:
- raise RunQemuError('Failed to run %s' % cmd)
+ raise RunQemuError('Failed to run %s' % str(cmd))
self.rootfs = dest
self.cleanup_files.append(self.rootfs)
self.cleanup_files.append('%s.pseudo_state' % self.rootfs)
@@ -1058,7 +1046,7 @@
cmd = ('runqemu-export-rootfs', 'start', self.rootfs)
logger.info('Running %s...' % str(cmd))
if subprocess.call(cmd) != 0:
- raise RunQemuError('Failed to run %s' % cmd)
+ raise RunQemuError('Failed to run %s' % str(cmd))
self.nfs_running = True
@@ -1067,7 +1055,7 @@
if cmd != '':
logger.info('Running setup command %s' % str(cmd))
if subprocess.call(cmd, shell=True) != 0:
- raise RunQemuError('Failed to run %s' % cmd)
+ raise RunQemuError('Failed to run %s' % str(cmd))
def setup_net_bridge(self):
self.set('NETWORK_CMD', '-netdev bridge,br=%s,id=net0,helper=%s -device virtio-net-pci,netdev=net0 ' % (
@@ -1375,6 +1363,12 @@
except FileNotFoundError:
raise RunQemuError("/dev/dri directory does not exist; no render nodes available on this machine. %s" %(render_hint))
+ def setup_guest_agent(self):
+ if self.guest_agent == True:
+ self.qemu_opt += ' -chardev socket,path=' + self.guest_agent_sockpath + ',server,nowait,id=qga0 '
+ self.qemu_opt += ' -device virtio-serial '
+ self.qemu_opt += ' -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 '
+
def setup_vga(self):
if self.nographic == True:
if self.sdl == True:
@@ -1506,6 +1500,7 @@
if self.snapshot:
self.qemu_opt += " -snapshot"
+ self.setup_guest_agent()
self.setup_serial()
self.setup_vga()
@@ -1554,7 +1549,7 @@
if cmd != '':
logger.info('Running cleanup command %s' % str(cmd))
if subprocess.call(cmd, shell=True) != 0:
- raise RunQemuError('Failed to run %s' % cmd)
+ raise RunQemuError('Failed to run %s' % str(cmd))
def cleanup(self):
if self.cleaned:
@@ -1663,7 +1658,7 @@
return result
raise RunQemuError("Native sysroot directory %s doesn't exist" % result)
else:
- raise RunQemuError("Can't find STAGING_BINDIR_NATIVE in '%s' output" % cmd)
+ raise RunQemuError("Can't find STAGING_BINDIR_NATIVE in '%s' output" % str(cmd))
def main():
diff --git a/poky/scripts/yocto_testresults_query.py b/poky/scripts/yocto_testresults_query.py
index 3df9d60..a507373 100755
--- a/poky/scripts/yocto_testresults_query.py
+++ b/poky/scripts/yocto_testresults_query.py
@@ -38,18 +38,27 @@
logger.error(f"Can not find SHA-1 for {revision} in {pokydir}")
return None
+def get_branch(tag):
+ # The tags in test results repository, as returned by git rev-list, have the following form:
+ # refs/tags/<branch>/<count>-g<sha1>/<num>
+ return '/'.join(tag.split("/")[2:-2])
+
def fetch_testresults(workdir, sha1):
logger.info(f"Fetching test results for {sha1} in {workdir}")
rawtags = subprocess.check_output(["git", "ls-remote", "--refs", "--tags", "origin", f"*{sha1}*"], cwd=workdir).decode('utf-8').strip()
if not rawtags:
raise Exception(f"No reference found for commit {sha1} in {workdir}")
+ branch = ""
for rev in [rawtag.split()[1] for rawtag in rawtags.splitlines()]:
- logger.info(f"Fetching matching revisions: {rev}")
+ if not branch:
+ branch = get_branch(rev)
+ logger.info(f"Fetching matching revision: {rev}")
subprocess.check_call(["git", "fetch", "--depth", "1", "origin", f"{rev}:{rev}"], cwd=workdir)
+ return branch
-def compute_regression_report(workdir, baserevision, targetrevision):
+def compute_regression_report(workdir, basebranch, baserevision, targetbranch, targetrevision):
logger.info(f"Running resulttool regression between SHA1 {baserevision} and {targetrevision}")
- report = subprocess.check_output([resulttool, "regression-git", "--commit", baserevision, "--commit2", targetrevision, workdir]).decode("utf-8")
+ report = subprocess.check_output([resulttool, "regression-git", "--branch", basebranch, "--commit", baserevision, "--branch2", targetbranch, "--commit2", targetrevision, workdir]).decode("utf-8")
return report
def print_report_with_header(report, baseversion, baserevision, targetversion, targetrevision):
@@ -74,9 +83,9 @@
if not args.testresultsdir:
subprocess.check_call(["rm", "-rf", workdir])
sys.exit(1)
- fetch_testresults(workdir, baserevision)
- fetch_testresults(workdir, targetrevision)
- report = compute_regression_report(workdir, baserevision, targetrevision)
+ basebranch = fetch_testresults(workdir, baserevision)
+ targetbranch = fetch_testresults(workdir, targetrevision)
+ report = compute_regression_report(workdir, basebranch, baserevision, targetbranch, targetrevision)
print_report_with_header(report, args.base, baserevision, args.target, targetrevision)
finally:
if not args.testresultsdir: