subtree updates feb 25 2022
poky: 27ff420543..49168f5d55:
Ahsan Hussain (1):
staging: use relative path in sysroot_stage_dir()
Alejandro Hernandez Samaniego (5):
core-image-tiny-initramfs: Mark recipe as 32 bit ARM compatible
kernel.bbclass: Allow initramfs to be built from a separate multiconfig
busybox: Add shell arithmetic to work with poky-tiny
newlib: Upgrade 4.1.0 -> 4.2.0
documentation: Add multiconfig initramfs configuration:
Alex Stewart (1):
sudo: add /etc/sudoers to sudo-lib conffiles
Alexander Kanavin (84):
ruby: do not parallel install
bind: upgrade 9.16.24 -> 9.16.25
ifupdown: upgrade 0.8.36 -> 0.8.37
ethtool: upgrade 5.15 -> 5.16
webkitgtk: upgrade 2.34.3 -> 2.34.4
debianutils: upgrade 5.5 -> 5.7
diffoscope: upgrade 200 -> 201
libbsd: upgrade 0.11.3 -> 0.11.5
libical: upgrade 3.0.12 -> 3.0.13
zstd: update 1.5.0 -> 1.5.2
rust: update 1.58.0 -> 1.58.1
wpa-supplicant: update 2.9 -> 2.10
ltp: update 20210927 -> 20220121
gnutls: update 3.7.2 -> 3.7.3
libusb1: correct SRC_URI
gobject-introspection: replace prelink-rtld with objdump -p
util-linux: update 2.37.2 -> 2.37.3
cmake: update 3.22.1 -> 3.22.2
git: merge .inc into .bb
git: build manpages from source subject to manpages PACKAGECONFIG
git: update 2.34.1 -> 2.35.1
python3-pycryptodome: update 3.12.0 -> 3.14.0
at: update 3.2.2 -> 3.2.4
sudo: update 1.9.8p2 -> 1.9.9
seatd: add recipe
weston: upgrade 9.0.0 -> 10.0.0
xf86-input-libinput: update 1.2.0 -> 1.2.1
glib-2.0: upgrade 2.70.2 -> 2.70.3
lua: upgrade 5.4.3 -> 5.4.4
mmc-utils: upgrade to latest revision
python3-cython: upgrade 0.29.26 -> 0.29.27
python3-hypothesis: upgrade 6.36.0 -> 6.36.1
python3-pip: upgrade 21.3.1 -> 22.0.2
cups: upgrade 2.4.0 -> 2.4.1
stress-ng: upgrade 0.13.10 -> 0.13.11
mesa: upgrade 21.3.4 -> 21.3.5
piglit: upgrade to latest revision
puzzles: upgrade to latest revision
diffoscope: upgrade 201 -> 202
libcap: upgrade 2.62 -> 2.63
libusb1: upgrade 1.0.24 -> 1.0.25
re2c: upgrade 2.2 -> 3.0
libgpg-error: update 1.43 -> 1.44
harfbuzz: upgrade 3.2.0 -> 3.3.1
qemu: replace a gtk wrapper with directly setting environment from runqemu
runqemu: preload uninative libraries when host gl drivers are in use
git: restore reproducibility on centos 7
insane.bbclass: use multiprocessing for collecting 'objdump -p' output
llvm: update 12.0.1 -> 13.0.1
python3-numpy: update 1.22.1 -> 1.22.2
sstate: additional debugging when fetch fails occur
sstate: fix up additional debugging when fetch fails occur
ruby: correctly set native/target dependencies
core-image-weston-sdk: synchronize with core-image-sato-sdk
gstreamer1.0: disable flaky gstbin:test_watch_for_state_change test
weston-init: disable systemd watchdog option
webkitgtk: drop patch merged upstream
man-db: update 2.10.0 -> 2.10.1
webkitgtk: remove rejected patch
vulkan: update 1.2.198 -> 1.3.204
vulkan-samples: update to latest revision
xkeyboard-config: update 2.34 -> 2.35.1
libgit2: update 1.3.0 -> 1.4.0
util-linux: upgrade 2.37.3 -> 2.37.4
python3-tomli: upgrade 2.0.0 -> 2.0.1
repo: upgrade 2.20 -> 2.21
help2man: upgrade 1.48.5 -> 1.49.1
meson: upgrade 0.61.1 -> 0.61.2
mmc-utils: upgrade to latest revision
python3-dtschema: upgrade 2021.12 -> 2022.1
python3-pytest: upgrade 7.0.0 -> 7.0.1
vala: upgrade 0.54.6 -> 0.54.7
gi-docgen: upgrade 2021.8 -> 2022.1
pango: upgrade 1.48.10 -> 1.50.4
piglit: upgrade to latest revision
shaderc: upgrade 2022.0 -> 2022.1
gst-examples: upgrade 1.18.5 -> 1.18.6
libical: upgrade 3.0.13 -> 3.0.14
diffoscope: upgrade 202 -> 204
gdb: update 11.1 -> 11.2
weston-init: replace deprecated/disabled fbdev with drm backend
devtool: explicitly set main or master branches in upgrades when available
base/staging: use HOST_PREFIX, not TARGET_PREFIX
insane: use HOST_ variables, not TARGET_ to determine the cross system
Alexandru Ardelean (1):
libsndfile1: bump to version 1.0.31
Andrej Valek (3):
busybox: refresh defconfig
oeqa: qemu: create missing directory for _write_dump
dhcpcd: add option to set DBDIR location
Andres Beltran (1):
create-spdx: add support for SDKs
Andrey Zhizhikin (1):
waffle: add wayland-protocols when building with wayland
Bruce Ashfield (18):
linux-yocto/5.15: update to v5.15.15
linux-yocto/5.10: update to v5.10.92
x86: fix defconfig configuration warnings
linux-yocto/5.15: update to v5.15.16
linux-yocto/5.10: update to v5.10.93
linux-libc-headers: update to v5.16
qemuarm64: Add tiny ktype to qemuarm64 bsp
lttng-modules: fix build against v5.17+
linux-yocto-dev: update to v5.17+
linux-yocto/5.15: update to v5.15.19
linux-yocto/5.10: update to v5.10.96
lttng-modules: update devupstream to latest 2.13
linux-yocto/5.15: update to v5.15.22
linux-yocto/5.10: update to v5.10.99
linux-yocto/5.15: ppc/riscv: fix build with binutils 2.3.8
linux-yocto/5.10: ppc/riscv: fix build with binutils 2.3.8
linux-yocto/5.10: fix dssall build error with binutils 2.3.8
linux-yocto/5.15: fix dssall build error with binutils 2.3.8
Carlos Rafael Giani (1):
libxml2: Backport python3-lxml workaround patch
Changhyeok Bae (1):
connman: update 1.40 -> 1.41
Changqing Li (2):
mdadm: fix testcase 00multipath failure
nghttp2: fix for multilib support
Chen Qi (1):
mdadm: install mdcheck
Christian Eggers (5):
sdk: fix search for dynamic loader
mc: fix build if ncurses have been configured without wide characters
curl: configure with '--without-ssl' if ssl is disabled
gcsections: add nativesdk-cairo to exclude list
dev-manual: update example from kernel.bbclass
Daiane Angolini (1):
classes/lib/useradd: The option -P is deprecated
Daniel Gomez (2):
bitbake: contrib: Fix hash server Dockerfile dependencies
bitbake: asyncrpc: Fix attribute errors
Daniel Müller (1):
scripts/runqemu-ifdown: Don't treat the last iptables command as special
Denys Dmytriyenko (2):
wayland-protocols: upgrade 1.24 -> 1.25
yocto-check-layer: add ability to perform tests from a global bbclass
Florian Amstutz (1):
devtool: deploy-target: Remove stripped binaries in pseudo context
Hongxu Jia (1):
glibc: fix create thread failed in unprivileged process
Joe Slater (1):
virglrenderer: fix CVE-2022-0135 and -0175
Jon Mason (1):
linux-yocto-dev: add qemuriscv32
Jose Quaresma (18):
icecc.bbclass: replace deprecated bash command substitution
spirv-headers: bump to b42ba6
spirv-tools: upgrade 2021.4 -> 2022.1
glslang: upgrade 11.7.1 -> 11.8.0
shaderc: upgrade 2021.3 -> 2021.4
shaderc: upgrade 2021.4 -> 2022.0
gstreamer1.0: upgrade 1.18.5 -> 1.20.0
gstreamer1.0-plugins-base: upgrade 1.18.5 -> 1.20.0
gstreamer1.0-plugins-good: upgrade 1.18.5 -> 1.20.0
gstreamer1.0-plugins-bad: upgrade 1.18.5 -> 1.20.0
gstreamer1.0-plugins-ugly: upgrade 1.18.5 -> 1.20.0
gstreamer1.0-rtsp-server: upgrade 1.18.5 -> 1.20.0
gstreamer1.0-libav: upgrade 1.18.5 -> 1.20.0
gstreamer1.0-vaapi: upgrade 1.18.5 -> 1.20.0
gstreamer1.0-omx: upgrade 1.18.5 -> 1.20.0
gstreamer1.0-python: upgrade 1.18.5 -> 1.20.0
gst-devtools: upgrade 1.18.5 -> 1.20.0
gstreamer1.0: update licenses of all modules
Joshua Watt (4):
classes/create-spdx: Add packageSupplier field
classes/create-spdx: Remove unnecessary package
spdx: Add set helper for list properties
bitbake: msg: Ensure manually created loggers have the once filter
Justin Bronder (1):
initramfs-framework: unmount automounts before switch_root
Kai Kang (2):
toolchain-scripts.bbclass: use double quotes for exported PS1
webkitgtk: 2.34.4 -> 2.34.5
Khem Raj (17):
ffmpeg: Remove --disable-msa2 mips option
systemd: Forward port musl patches
ruby: Fix build on riscv/musl
musl: Update to latest master
libstd-rs: Apply patches to right version of libc
image-prelink: Remove bbclass
qemuppc64.conf: Remove commented prelink use
meta: Remove libsegfault and catchsegv
man-db: Fix build with clang
diffutils: Link with libbcrypt on mingw
binutils: Upgrade to 2.38 release
opensbi: Upgrade to 1.0
u-boot: Fix RISCV build with binutils 2.38
libgit2: Upgrade to 1.4.1
grub: Fix build with bintutils 2.38 on riscv
boost: Fix build on 32bit arches with 64bit time_t defaults
scripts/documentation-audit: Use renamed LICENSE_FLAGS_ACCEPTED variable
Konrad Weihmann (2):
ruby: fix DEPENDS append
gmp: fix EXTRA_OECONF for mipsarchr6
Kory Maincent (1):
icu: fix make_icudata dependencies
Lee Chee Yang (1):
libarchive : update to 3.5.3
LiweiSong (1):
qemu: add tpm string section to qemu acpi table
Luna Gräfje (1):
tune-cortexa72: Fix a misspelt override in PACKAGE_EXTRA_ARCHS
Marek Vasut (1):
kernel-fitimage: Add missing dependency for UBOOT_ENV
Markus Niebel (1):
kmscube: depend on virtual/libgbm
Markus Volk (2):
libical: build gobject and vala introspection
seatd: build systemd backend if DISTRO_FEATURE systemd is set
Marta Rybczynska (1):
bitbake: lib/bb: fix exit when found renamed variables
Martin Beeger (1):
cmake: remove bogus CMAKE_LDFLAGS_FLAGS definition from toolchain file
Martin Jansa (2):
systemd: fix DeprecationWarning about regexps
icecc.bbclass: fix syntax error
Matthias Klein (1):
boost: add json lib
Michael Halstead (3):
uninative: Upgrade to 3.5
releases: update to include 3.1.14
releases: update to include 3.4.2
Michael Opdenacker (8):
migration-3.5: mention task specific network access
dev-manual: stop mentioning the Angstrom distribution
dev-manual: new "working with pre-compiled libraries" section
manuals: improve references to classes
manuals: propose https for SSTATE_MIRRORS
ref-manual: add usage details about ccache.bbclass
ref-manual: update TCLIBC description
manuals: add 3.4 and 3.4.1 release notes after migration information
Oleksandr Kravchuk (1):
ell: update to 0.48
Oleksandr Suvorov (1):
depmodwrapper-cross: add config directory option
Pavel Zhukov (3):
systemd: allow to create directory whose path contains symlink
systemd: enable KeepConfiguration= when running on network filesystem
patch.py: Prevent git repo reinitialization
Peter Kjellerstedt (21):
sstate: A third fix for for touching files inside pseudo
devtool: sdk-update: Remove an unnecessary \n from SSTATE_MIRRORS
sstatetests: Correct a typo in a comment
glibc-tests: Correct PACKAGE_DEBUG_SPLIT_STYLE
test-manual: Correct two references to BB_SKIP_NETTESTS
package: Split out package_debug_vars from split_and_strip_files
package: Make package_debug_vars() return a dict
package: Pass dv (debug_vars) around instead of individual vars
bitbake: bitbake-user-manual: Remove unnecessary \n from a PREMIRRORS example
bitbake: tests/fetch: Skip the crate tests if network tests are disabled
bitbake: tests/fetch: Remove unnecessary \n from mirror variables
bitbake: tests/fetch: Improve the verbose messages for skipped tests
bitbake: tests/fetch: Unify how git commands are run
bitbake: tests/fetch: Only set the Git user name/email if they are not already set
bitbake: tests/fetch: Make test_npm_premirrors work with the current fetcher
bitbake: fetch2: Correct handling of replacing the basename in URIs
bitbake: fetch2: npm: Put all downloaded files in the npm2 directory
poky.conf: Remove unnecessary \n from PREMIRRORS
local.conf.sample: Remove unnecessary \n from the SSTATE_MIRRORS example
manuals: Remove unnecessary \n from SSTATE_MIRRORS examples
oeqa/selftest/bblogging: Add logging tests for bb.build.exec_func with shell/python code
Pgowda (2):
glibc : Fix CVE-2021-3998
glibc : Fix CVE-2021-3999
Quentin Schulz (2):
docs: point to renamed BB_BASEHASH_IGNORE_VARS variable
docs: fix hardcoded link warning messages
Richard Purdie (65):
lttng-tools: upgrade 2.13.2 -> 2.13.4
gcc: Drop stdlib++ option patch
staging: Add extra hash handling code
abi_version/sstate: Bump for hash equivalence fix
prelink: Drop support for it
glibc: Drop prelink patch
oqea/runtime/oe_syslog: Improve test
vim: Upgrade 4269 -> 4134
binutils: Add fix for CVE-2021-45078
glibc: Upgrade to 2.35
patchelf: Fix corrupted file mode patch
buildtools: Allow testsdk to access the network
scriptutils: Fix handling of srcuri urls
default-distrovars.inc: Switch connectivity check to a yoctoproject.org page
bitbake: tests/fetch: Add missing branch param for git urls
oeqa/buildtools: Switch to our webserver instead of example.com
openssl: Add perl functionality test to do_configure
ltp: Disable proc01 test
bitbake: fetch2/cooker: Fix source revision handling with floating upstreams
bitbake: data_smart: Fix overrides file/line message additions
bitbake: cooker: Improve parsing failure from handled exception usability
bitbake: msg: Add bb.warnonce() and bb.erroronce() log methods
bitbake: data_smart: Add hasOverrides method to public datastore API
selftest/bbtests: Add tests for git floating tag resolution
oeqa/selftest/bbtests: Update to match changed bitbake output
features_check/insane: Use hasOverrides datastore method
recipeutils: Add missing get_srcrev() call
archiver: Fix typo
bitbake: utils: Fix environment decorator logic error
bitbake: fetch2: Abstract fetcher environment to a function
core-image-testmaster: Rename to core-image-testcontroller
scripts: Add a conversion script to use SPDX license names
meta/meta-selftest/meta-skeleton: Update LICENSE variable to use SPDX license identifiers
oeqa/selftest/bbtests: Update after license changes
sstate: Setup fetcher environment in advance
expat: Upgrade 2.4.4 -> 2.4.5
expat: Upgrade 2.4.5 -> 2.4.6
perl: Improve and update module RPDEPENDS
libxml-parser-perl: Add missing RDEPENDS
vim: Upgrade 8.2.4314 -> 8.2.4424
tiff: Add backports for two CVEs from upstream
bitbake: utils: Ensure shell function failure in python logging is correct
oeqa/selftest/bblogging: Split the test cases up for ease of testing
bitbake: data_smart/cookerdata: Add variable remapping support
bitbake: data_smart: Allow rename mechanism to show full expressions
bitbake: data_smart: Add support to BB_RENAMED_VARIABLES for custom strings
bitbake: bitbake: Bump version to 1.53.1
sanity.conf: Require bitbake version 1.53.1
layer.conf: Update to use kirkstone
meta/scripts: Change BB_ENV_EXTRA_WHITE -> BB_ENV_PASSTHROUGH_ADDITIONS
meta/scripts: Handle bitbake variable renaming
bitbake.conf: Add entries for renamed variables
meta/scripts: Automated conversion of OE renamed variables
icecc: Improve variables/terminology
bitbake.conf: Add entries to warn on usage of removed variables
layer.conf: Update to kirkstone namespace
bitbake: data_smart: Avoid exceptions for non string data
bitbake: tests/fetch: Update for master -> main change upstream
python3targetconfig: Use for nativesdk too
licenses: Fix logic error introduced in rename
pip_install_wheel: Recompile modified files
pip_install_wheel: Use --ignore-installed for pip
python3-pip: Don't change shebang
python3-pip: Improve reproducibility
python3-numpy: Fix pyc determinism issue
Robert Joslyn (1):
dev-manual/common-tasks: Fix typo
Robert Yang (1):
bitbake: bitbake: bitbake-worker: Preserve network non-local uid
Ross Burton (21):
tiff: backport fix for CVE-2022-22844
yocto-check-layer: add debug output for the layers that were found
openssl: export OPENSSL_MODULES in the wrapper
expat: upgrade to 2.4.4
vim: upgrade to patch 4269
core-image-sato-sdk: allocate more memory when in qemu
oeqa/runtime/stap: improve systemtap test
systemtap: backport buffer size tuning patches
strace: remove obsolete musl-on-MIPS patch
strace: skip a number of load-sensitive tests
yocto-check-layer: check for duplicate layers when finding layers
common-licences: remove ambiguous "BSD" license
newlib: fix license checksums
oeqa/selftest: test that newlib can build
cmake: stop FetchContent from fetching content
kernel: make kernel-base recommend kernel-image, not depend
poky-tiny: don't skip core-image-base and core-image-full-cmdline
poky-tiny: set QB_DEFAULT_FSTYPE correctly
coreutils: remove obsolete ignored CVE list
cve-check: get_cve_info should open the database read-only
oeqa/controllers: update for MasterImageHardwareTarget->Controller...
Rudolf J Streif (1):
linux-firmware: Add CLM blob to linux-firmware-bcm4373 package
Saul Wold (13):
recipetool: Fix circular reference in SRC_URI
create-spdx: Get SPDX-License-Identifier from source
blacklist: Replace class with SKIP_RECIPE variable
dnf: Use renamed SKIP_RECIPE varFlag
multilib: Use renamed SKIP_RECIPE varFlag
imagefeatures: selftest: Change variable to be more descriptive
scripts: Add convert-variable-renames script for inclusive language variable renaming
meta: Rename LICENSE_FLAGS variable
poky-tiny: Use renamed SKIP_RECIPES varFlag
Rename LICENSE_FLAGS variable
meta: Further LICENSE_FLAGS variable updates
package: rename LICENSE_EXCLUSION
license.py: rename variables
Scott Murray (13):
bitbake: bitbake: Rename basehas and taskhash filtering variables
bitbake: bitbake: Rename environment filtering variables
bitbake: bitbake: Rename configuration hash filtering variable
bitbake: bitbake: Rename setscene enforce filtering variable
bitbake: bitbake: Rename allowed multiple provider variable
bitbake: lib: Replace remaining "blacklist"/"whitelist" usage
bitbake: lib/bb: Replace "abort" usage in task handling
bitbake: lib/bb: Replace "ABORT" action in BB_DISKMON_DIRS
bitbake: bitbake: Replace remaining "abort" usage
local.conf/oeqa: Update BB_DISKMON_DIRS use
meta-poky: Update BB_DISKMON_DIRS use
scripts: fix file writing in convert-variable-renames
scripts: fix file writing in convert-spdx-licenses
Sean Anderson (1):
libpcap: Disable DPDK explicitly
Stefan Herbrechtsmeier (12):
cve-check: create directory of CVE_CHECK_MANIFEST before copy
systemd: Add link-udev-shared PACKAGECONFIG
systemd: Minimize udev package size if DISTRO_FEATURES doen't contain sysvinit
gcc-target: fix glob to remove gcc-<version> binary
gcc-target: move cc1plus to g++ package
wic: partition: Support valueless keys in sourceparams
wic: rawcopy: Add support for packed images
selftest: wic: Remove requirement of syslinux from test_rawcopy_plugin
selftest: wic: Add rawcopy plugin unpack test
selftest: wic: Disable graphic of qemu to support WSL
classes: rootfs-postcommands: avoid exception in overlayfs_qa_check
files: overlayfs-create-dirs: split ExecStart into two commands
Tamizharasan Kumar (2):
linux-yocto/5.10: update genericx86* machines to v5.10.99
linux-yocto/5.15: update genericx86* machines to v5.15.22
Tim Orling (43):
python3-hypothesis: upgrade 6.35.0 -> 6.36.0
python3-setuptools-scm: upgrade 6.3.2 -> 6.4.2
python3-pyparsing: upgrade 3.0.6 -> 3.0.7
python3-importlib-metadata: upgrade 4.10.0 -> 4.10.1
python3-wheel: move 0.37.1 from meta-python
python3-flit-core: add recipe for 3.6.0
python3-flit-core: SUMMARY DESCRIPTION HOMEPAGE
python3-flit-core: inherit pip_install_wheel
flit_core.bbclass: add helper for newer python packaging
python3-wheel: inherit flit_core
pip_install_wheel.bbclass: add helper class
python3-wheel-native: install ${bindir}/wheel
setuptools_build_meta.bbclass: add helper class
python3-pip: inherit setuptools_build_meta
python3-pip-native: install scripts in ${bindir}
python3-attrs: inherit setuptools_build_meta
python3-git: inherit setuptools_build_meta
python3-pytest: inherit setuptools_build_meta
python3-setuptools-scm: inherit setuptools_build_meta
python3-zipp: inherit setuptools_build_meta
python3-iniconfig: inherit setuptools_build_meta
python3-py: inherit setuptools_build_meta
python3-pluggy: inherit setuptools_build_meta
python3-setuptools: inherit setuptools_base_meta
setuptools3.bbclass: refactor for wheels
python3-more-itertools: set PIP_INSTALL_PACKAGE
meson: inherit setuptools_build_meta
python3-libarchive-c: set PIP_INSTALL_PACKAGE
python3-smartypants: patch hash bang to python3
python3-scons: merge -native recipe
python3-subunit: merge inc; set PIP_INSTALL_PACKAGE
python3-magic: set PIP_INSTALL_PACKAGE
bmap-tools: set PIP_INSTALL_PACKAGE, BASEVER
asciidoc: set PIP_INSTALL_PACKAGE
gi-docgen: set PIP_INSTALL_PACKAGE
python3-numpy: set PIP_INSTALL_PACKAGE
python3-dbusmock: set PIP_INSTALL_PACKAGE
python3-mako: inherit setuptools_build_meta
python3-packaging: inherit setuptools_build_meta
python3-nose: drop recipe
disutils*.bbclasses: move to meta-python
selftest: drop distutils3 test from recipetool
pip_install_wheel: improved wheel filename guess
Tom Hochstein (1):
xwayland: Add xkbcomp runtime dependency
Yi Zhao (2):
glibc: unify wordsize.h between arm and aarch64
glibc: fix multilib headers conflict for arm
Zoltán Böszörményi (2):
qemuboot: Fix build error if UNINATIVE_LOADER is unset
gtk-icon-cache: Allow using gtk4
Zygmunt Krynicki (13):
bitbake: fetch2/wget: move loop-invariant load of BB_ORIGENV
bitbake: cooker: Fix typo "isn't" and "tuples"
bitbake: cookerdata: Fix typo "normally"
bitbake: daemonize: Fix typo "separate"
bitbake: event: Fix typo "asynchronous" and "occasionally"
bitbake: fetch2: Fix typo "conform" and "processed"
bitbake: fetch2/git: Remove duplicate "the"
bitbake: persist_data: Fix typo "committed"
bitbake: process: Fix typo: "process"
bitbake: progress: Fix typo "wherever"
bitbake: tinfoil: Fix typo "receive" and "something"
bitbake: utils: Fix typo "dependency" and "spawning"
bitbake: wget: Fix grammar "can happen"
pgowda (1):
gcc : Fix CVE-2021-46195
wangmy (44):
libwebp: 1.2.1 -> 1.2.2
python3-libarchive-c: upgrade 3.2 -> 4.0
lighttpd: upgrade 1.4.63 -> 1.4.64
nfs-utils: upgrade 2.5.4 -> 2.6.1
libmodulemd: upgrade 2.13.0 -> 2.14.0
libxcrypt: upgrade 4.4.27 -> 4.4.28
lzip: upgrade 1.22 -> 1.23
libxkbcommon: upgrade 1.3.1 -> 1.4.0
man-db: upgrade 2.9.4 -> 2.10.0
gdbm: upgrade 1.22 -> 1.23
harfbuzz: upgrade 3.3.1 -> 3.3.2
findutils: upgrade 4.8.0 -> 4.9.0
python3-magic: upgrade 0.4.24 -> 0.4.25
python3-pycryptodome: upgrade 3.14.0 -> 3.14.1
python3-pytest: upgrade 6.2.5 -> 7.0.0
python3-pip: upgrade 22.0.2 -> 22.0.3
python3-pyelftools: upgrade 0.27 -> 0.28
screen: upgrade 4.8.0 -> 4.9.0
ed: upgrade 1.17 -> 1.18
autoconf-archive: upgrade 2021.02.19 -> 2022.02.11
gpgme: upgrade 1.16.0 -> 1.17.0
glib-2.0: upgrade 2.70.3 -> 2.70.4
harfbuzz: upgrade 3.3.2 -> 3.4.0
python3-hypothesis: upgrade 6.36.1 -> 6.36.2
python3-pathlib2: upgrade 2.3.6 -> 2.3.7
python3-pbr: upgrade 5.8.0 -> 5.8.1
python3-ruamel-yaml: upgrade 0.17.20 -> 0.17.21
linux-firmware: upgrade 20211216 -> 20220209
rng-tools: upgrade 6.14 -> 6.15
mesa: upgrade 21.3.5 -> 21.3.6
go: upgrade 1.17.6 -> 1.17.7
libhandy: Use upstream regex to check version of upgrade.
libva-utils: upgrade 2.13.0 -> 2.14.0
patchelf: upgrade 0.14.3 -> 0.14.5
quilt: upgrade 0.66 -> 0.67
ruby: upgrade 3.1.0 -> 3.1.1
wireless-regdb: upgrade 2021.08.28 -> 2022.02.18
bind: upgrade 9.16.25 -> 9.16.26
flac: upgrade 1.3.3 -> 1.3.4
init-system-helpers: upgrade 1.60 -> 1.62
libdrm: upgrade 2.4.109 -> 2.4.110
python3-hypothesis: upgrade 6.36.2 -> 6.37.2
python3-markupsafe: upgrade 2.0.1 -> 2.1.0
asciidoc: upgrade 10.1.1 -> 10.1.3
meta-raspberrypi: 836755370f..e39a0a570c:
Andrei Gherzan (13):
README.md: Add contributing section
Move the python3-adafruit recipes depending on meta-oe to dynamic layers
README.md: Don't advertise meta-oe dependency
docs: Detail the merging process of patches sent through the mailing list
ci: Define an action for building a local docker image
ci: Define an action for cleaning dangling image
ci: Define an action for cleaning/removing an image
ci: Introduce workflow for compliance
ci: Introduce workflow Yocto operations/builds
ci: Add workflow to cancel redundant workflows
ci: Add git mirror workflow
ci: No need for checkout step in mirror workflow
ci: Use the current stable version for the mirror action
Aníbal Limón (1):
gstreamer1.0-plugins-good: Update bbappend to 1.20
Bernhard Guillon (1):
rpi-base.inc: enable i2c-gpio overlay
Devendra Tewari (1):
linux-raspberrypi: Upgrade to 5.10.83
Khem Raj (7):
raspberrypi4-64: Switch to using cortexa72-crc default tune
picamera-libs,python3-picamera: Limit visibility to 32 bit rpi machines
rpi-gpio: Replace setuptool3 instead of distutils3
python3-adafruit-blinka: Disable on musl
linux-raspberrypi: Add recipe for 5.15 LTS kernel
rpi-default-versions: Use 5.15 as default kernel
layers: Bump to use kirkstone
Martin Jansa (4):
sdcard_image-rpi: fix DeprecationWarning
gstreamer1.0-plugins-bad: remove libmms PACKAGECONFIG and add gpl
meta: update variable names
meta: update license names
Mauro Anjo (1):
machine: add Pi Zero 2 W 32bits
Michal Toman (1):
rpi-base.inc: Add vc4-fkms-v3d-pi4 overlay
Mingli Yu (1):
xserver-xorg: remove xshmfence configure option
Otto Esko (2):
recipes-bsp: Add support for gpio-shutdown
Add documentation for gpio-shutdown
Paul Barker (1):
raspberrypi4-64: Switch to cortexa72 tune
bhargavthriler (1):
python3-picamera: Add picamera library
meta-openembedded: 6b63095946..cf0ed42391:
Alejandro Hernandez Samaniego (1):
remmina: Upgrade to 1.4.23
Alexander Kanavin (4):
libvncserver: disable ffmpeg support due to incompatiblility with ffmpeg 5.0
opencv: update 4.5.2 -> 4.5.5
minidlna: update 1.2.1 -> 1.3.0
mpd: update 0.22.9 -> 0.23.5
An?bal Lim?n (2):
python3-apt: add new recipe version 2.3.0
unattended-upgrades: add new recipe version 2.6
Andreas Müller (1):
All layers: Follow oe-core's variable name changes
Andrej Valek (1):
nodejs: add option to use openssl legacy providers
Carlos Rafael Giani (3):
pipewire: Upgrade to 0.3.45
wireplumber: Add recipe
wireplumber: Improve configuration
Changqing Li (1):
python3-psutil: fix test failure
Christian Eggers (5):
ebtables: remove perl from RDEPENDS
graphviz: native: create /usr/lib/graphviz/config6 in populate_sysroot
boost-sml: add new recipe
python3-dt-schema: remove recipe
graphviz: added PACKAGECONFIG for librsvg
Clément Péron (1):
networking: add new netsniff-ng recipe version 0.6.8
Daniel Gomez (1):
opencv: Update contrib 4.5.2 -> 4.5.5
Devendra Tewari (1):
libcamera: add pkg-config files
Fabio Estevam (2):
rtc-tools: Add a recipe
rtc-tools: Update to 2022.02
Gianfranco Costamagna (4):
vboxguestdrivers: upgrade 6.1.30 -> 6.1.32
boinc-client: Update to 7.18.1
mosquitto: upgrade 2.0.12 -> 2.0.14
websocketpp: Apply upstream proposed patch to fix a Scons 4.2.0+ build failure
Jan Luebbe (1):
snappy: use main branch to fix fetch failure
Jan Vermaete (2):
netdata: upgrade 1.32.1 -> 1.33.0
netdata: version bump 1.33.0 -> 1.33.1
Justin Bronder (4):
yaml-cpp: bump 0.7.0
googlebenchmark: add 1.6.1
python3-pytest-forked: add 1.4.0
python3-pytest-xdist: add 2.5.0
Kai Kang (1):
openjpeg: fix CVE-2021-29338
Kartikey Rameshbhai Parmar (1):
imagemagick: update SRC_URI branch to main
Khem Raj (46):
xfce4-datetime-setter: Fix build with meson 0.61+
gerbera: Upgrade to 1.9.2
iotop: Disable LTO with clang/rv64
spdlog: Update the external fmt patch
dlt-daemon: Bump to latest revision on master
evolution-data-server: Disable g-i data generation
gerbera: Fix build with fmt 8.1+
php: Update to 8.1.2
postgresql: Fix build on riscv
libcec: Fix type mismatch for return value of LibCecBootloader()
gparted: Do not use NULL where boolean is expected
python3-pyruvate: Fix build with mips
python3-pyruvate: Fix build with riscv64/musl
pcp: Disable parallel compile
gst-shark: Upgrade to 0.7.3.1
crda: Fix buffer overflow in sscanf
open-vm-tools: Fix build with musl
openldap: Fix build with musl
gimp: Disable vector icons on x86 with clang
libjs-jquery-icheck: Use hardcoded SHA for srcrev
smarty: Upgrade to 4.1.0
dhcp-relay: Package needed shared libs from bind
gimp: Disable vector icons with clang on arm
capnproto: Fix build on mips
packagegroup-meta-oe: Add googlebenchmark
packagegroup-meta-python: Add python3-pytest-forked and python3-pytest-xdist
ntopng: Avoid linking libm statically
libsigc++-3: Upgrade to 3.2.0
geany-plugins: Fix build with libgit2 1.4+
recipes: Use renamed SKIP_RECIPE varFlag
recipes: Use new CVE_CHECK_IGNORE variable
meta-oe: Use new variable SYSROOT_DIRS_IGNORE
layers: Bump to use kirkstone
capnproto: Link with libatomic on rv32
iotop: Disable lto with clang for rv32
glibmm: Add recipe for 2.70.0
cairomm: Add recipe for cairomm 1.16
pangomm: Add recipe for pangomm-2.48
atkmm: Add new recipe for 2.36+
libxml++: Upgrade to 2.42.1 release
libxml++-5.0: Add recipe for libxml++ 5.0
Revert "libcamera: add pkg-config files"
python3-blinker: Migrate to use pytest instead of nose for testing
python3-oauthlib: Drop redundant nose dependency
netplan: Add knob to enable tests
openldap: Use renamed variable CVE_CHECK_IGNORE
Leon Anavi (23):
python3-imageio: Upgrade 2.14.0 -> 2.14.1
python3-pandas: Upgrade 1.3.5 -> 1.4.0
python3-aenum: Upgrade 3.1.6 -> 3.1.8
python3-redis: Upgrade 4.0.2 -> 4.1.1
python3-jdatetime: Upgrade 3.8.1 -> 3.8.2
python3-bandit: Upgrade 1.7.1 -> 1.7.2
python3-fasteners: Upgrade 0.17.2 -> 0.17.3
python3-ansi2html: Upgrade 1.6.0 -> 1.7.0
python3-coverage: Upgrade 6.2 -> 6.3
python3-imageio: Upgrade 2.14.1 -> 2.15.0
python3-humanize: Upgrade 3.13.1 -> 3.14.0
python3-bitarray: Upgrade 2.3.5 -> 2.3.6
python3-itsdangerous: Upgrade 2.0.1 -> 2.1.0
python3-croniter: Upgrade 1.2.0 -> 1.3.4
python3-distro: Upgrade 1.6.0 -> 1.7.0
python3-click: Upgrade 8.0.3 -> 8.0.4
python3-ordered-set: Upgrade 4.0.2 -> 4.1.0
python3-bitarray: Upgrade 2.3.6 -> 2.3.7
python3-pandas: Upgrade 1.4.0 -> 1.4.1
python3-unidiff: Upgrade 0.7.0 -> 0.7.3
python3-langtable: Upgrade to release 0.0.57
python3-cmd2: Upgrade 2.3.3 -> 2.4.0
python3-coverage: Upgrade 6.3 -> 6.3.2
Marek Vasut (1):
freerdp: Update to FreeRDP 2.5.0
Mark Jonas (1):
mbedtls: Upgrade to 2.28.0
Markus Volk (12):
geary: initial add recipe
packagegroup-gnome-apps.bb: add geary
folks: add PACKAGECONFIG for import_tool and inspect_tool
geary: use sha hash for SRCREV; fix identation
folks: make some dependencies optional
evolution-data-server: try to fix g-i data generation
folks: dont build tests as they are not installed anyway
gvfs: upgrade 1.48.1 -> 1.49.1
libxfce4util: inherit vala
xfconf: inherit vala
libxfce4ui: disable vala
xfce4-panel: disable vala
Martin Jansa (1):
Fix DeprecationWarning about regexps
Matsunaga-Shinji (1):
openldap: add CVE-2015-3276 to allowlist
Matthias Klein (1):
gpsd-machine-conf: set precise BSD-3-Clause license
Mingli Yu (5):
plymouth: switch to KillMode=mixed
lxdm: remove conflicts setting
plymouth: add extra kernel parameter
opencv: disable sse4.1 and sse4.2 on x86
plymouth: Add the retain-splash option
Oleksandr Kravchuk (4):
redis: add recipe for 7.0-rc1
iwd: update to 1.24
fping: update to 5.1
capnproto: update to 0.9.1
Peter Bergin (1):
pipewire: fix build error when pipewire-jack is used
Peter Griffin (1):
libcamera: update meson options to build pipeline handlers & cam utility
Randy MacLeod (1):
rsyslog: update to 8.2202
Robert Joslyn (1):
hwdata: Update to 0.356
Ross Burton (16):
python3-jsonpath-rw: set correct license
concurrencykit: use precise BSD licence version
pkcs11-helper: update homepage
pkcs11-helper: set precise BSD license
spice: set correct LICENSE
poppler-data: set precise BSD license
openipmi: use precise BSD license
s-nail: add a maintained mail(1) fork
minidlna: use precise BSD license
smartmontools: use s-nail
mailx: remove
spice-protocol: upgrade to 1.14.3
libjs-jquery: remove
fwupd-efi: upgrade to 1.2
fping: set precise license
concurrencykit: enable 32- and 64-bit Arm targets
Sakib Sajal (1):
nss: uprev v3.73.1 -> v3.74
Sam Van Den Berge (1):
libiio: use setuptools functions instead of distutils
Thomas Perrot (1):
breakpad: fix branch for gtest in SRC_URI
Tim Orling (2):
python3-wheel: drop; moved to oe-core
python3-test-generator: drop recipe
Trevor Gamblin (1):
phoronix-test-suite: upgrade 9.2.1 -> 10.8.1
Wang Mingyu (39):
ndpi: upgrade 4.0 -> 4.2
ntopng: upgrade 5.0 -> 5.2.1
python3-werkzeug: upgrade 2.0.2 -> 2.0.3
python3-twisted: upgrade 21.7.0 -> 22.1.0
python3-natsort: upgrade 8.0.2 -> 8.1.0
xfsdump: upgrade 3.1.9 -> 3.1.10
mm-common: upgrade 1.0.3 -> 1.0.4
fsverity-utils: upgrade 1.4 -> 1.5
libgee: upgrade 0.20.4 -> 0.20.5
libqmi: upgrade 1.30.2 -> 1.30.4
libcrypt-openssl-guess-perl: upgrade 0.14 -> 0.15
gjs: upgrade 1.70.0 -> 1.70.1
dnf-plugin-tui: Fix a bug of multilib
libwacom: upgrade 1.12 -> 2.1.0
gedit: upgrade 40.1 -> 41.0
gnome-autoar: upgrade 0.4.2 -> 0.4.3
libwnck3: upgrade 40.0 -> 40.1
iscsi-initiator-utils: upgrade 2.1.5 -> 2.1.6
iotop: upgrade 1.20 -> 1.21
inotify-tools: upgrade 3.21.9.6 -> 3.22.1.0
gnuplot: upgrade 5.4.2 -> 5.4.3
libxmlb: upgrade 0.3.6 -> 0.3.7
libgusb: upgrade 0.3.9 -> 0.3.10
monit: upgrade 5.30.0 -> 5.31.0
libjcat: upgrade 0.1.9 -> 0.1.10
libio-socket-ssl-perl: upgrade 2.073 -> 2.074
mpv: upgrade 0.34.0 -> 0.34.1
php: upgrade 8.1.2 -> 8.1.3
nano: upgrade 6.0 -> 6.2
rdma-core: upgrade 38.0 -> 39.0
netplan: upgrade 0.103 -> 0.104
nautilus: upgrade 41.1 -> 41.2
zchunk: upgrade 1.1.16 -> 1.2.0
tree: upgrade 2.0.1 -> 2.0.2
soci: upgrade 4.0.2 -> 4.0.3
remmina: upgrade 1.4.23 -> 1.4.24
wolfssl: upgrade 5.1.0- > 5.2.0
tcpreplay: upgrade 4.4.0 -> 4.4.1
spice-protocol: upgrade 0.14.3 -> 0.14.4
Xu Huan (15):
python3-multidict: upgrade 5.2.0 -> 6.0.2
python3-pulsectl upgrade 21.10.5 -> 22.1.3
python3-pyephem: upgrade 4.1.1 -> 4.1.3
python3-pytest-timeout: upgrade 2.0.2 -> 2.1.0
python3-pywbemtools: upgrade 0.9.0 -> 0.9.1
python3-requests-oauthlib: upgrade 1.3.0 -> 1.3.1
python3-sqlalchemy: upgrade 1.4.29 -> 1.4.31
python3-oauthlib: upgrade 3.1.1 -> 3.2.0
python3-pyudev: upgrade 0.22.0 -> 0.23.2
python3-pyopenssl: upgrade 21.0.0 -> 22.0.0
python3-alembic upgrade 1.7.5 -> 1.7.6
python3-autobahn: upgrade 21.11.1 -> 22.1.1
python3-flask: upgrade 2.0.2 -> 2.0.3
python3-imageio: upgrade 2.15.0 -> 2.16.0
python3-jdatetime: upgrade 3.8.2 -> 4.0.0
Yi Zhao (5):
phpmyadmin: upgrade 5.1.1 -> 5.1.2
tcpdump: upgrade 4.99.0 -> 4.99.1
tcpslice: upgrade 1.2a3 -> 1.5
tcpreplay: update HOMEPAGE
samba: upgrade 4.14.11 -> 4.14.12
Zheng Ruoqin (6):
libjs-jquery: Upgrade to 3.3.1.
protobuf: upgrade 3.19.3 -> 3.19.4
phpmyadmin: upgrade 5.1.2 -> 5.1.3
postgresql: upgrade 14.1 -> 14.2
pugixml: upgrade 1.11.4 -> 1.12
poppler: upgrade 22.01.0 -> 22.02.0
wangmy (14):
fatcat: upgrade 1.1.0 -> 1.1.1
libnma: upgrade 1.8.32 -> 1.8.34
botan: upgrade 2.18.2 -> 2.19.1
cgdb: upgrade 0.7.1 -> 0.8.0
ddrescue: upgrade 1.25 -> 1.26
hostapd: upgrade 2.9 -> 2.10
libcereal: upgrade 1.3.0 -> 1.3.1
ser2net: upgrade 4.3.4 -> 4.3.5
dlt-daemon: upgrade 2.18.7 -> 2.18.8
devilspie2: upgrade 0.43 -> 0.44
opensaf: upgrade 5.21.09 -> 5.22.01
tcpreplay: upgrade 4.3.4 -> 4.4.0
lcms: upgrade 2.12 -> 2.13.1
libcgi-perl: upgrade 4.53 -> 4.54
meta-security: c20b35b527..6cc8dde794:
Akshay Bhat (2):
meta-hardening: Fix override syntax
scap-security-guide: Fix openembedded platform tests
Anton Antonov (1):
Upgrade parsec-tool to 0.5.1
Armin Kuster (11):
google-authenticator-libpam: update to 1.09
packagegroup-security-tpm2.bb: remove dynamic pkgs
tpm2-pkcs11_1.7.0: Drop dstat from DPENDS
lkrg-module: update to 0.9.2
suricata: update to 6.0.4
tpm2-tss: update to 3.1.0
parsec-service: fix compile issue.
layer.conf: Update to use kirkstone
recipes: Use renamed SKIP_RECIPE varFlag
chipsec: fix WARNING
smack: Use new CVE_CHECK_IGNORE variable
Patrick Williams (1):
tpm2-pkcs11: fix RDEPENDS variable
Yi Zhao (1):
samhain: upgrade 4.4.3 -> 4.4.6
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I270425c8a022f2e281a28ea19fdfae47aa375551
diff --git a/poky/meta/lib/oe/license.py b/poky/meta/lib/oe/license.py
index b5d378a..79800c2 100644
--- a/poky/meta/lib/oe/license.py
+++ b/poky/meta/lib/oe/license.py
@@ -99,26 +99,29 @@
raise LicenseSyntaxError(licensestr, exc)
return flatten.licenses
-def is_included(licensestr, whitelist=None, blacklist=None):
- """Given a license string and whitelist and blacklist, determine if the
- license string matches the whitelist and does not match the blacklist.
+def is_included(licensestr, include_licenses=None, exclude_licenses=None):
+ """Given a license a list of list to include and a list of
+ licenses to exclude, determine if the license string
+ matches the an include list and does not match the
+ exclude list.
- Returns a tuple holding the boolean state and a list of the applicable
- licenses that were excluded if state is False, or the licenses that were
- included if the state is True.
+ Returns a tuple holding the boolean state and a list of
+ the applicable licenses that were excluded if state is
+ False, or the licenses that were included if the state
+ is True.
"""
def include_license(license):
- return any(fnmatch(license, pattern) for pattern in whitelist)
+ return any(fnmatch(license, pattern) for pattern in include_licenses)
def exclude_license(license):
- return any(fnmatch(license, pattern) for pattern in blacklist)
+ return any(fnmatch(license, pattern) for pattern in exclude_licenses)
def choose_licenses(alpha, beta):
"""Select the option in an OR which is the 'best' (has the most
included licenses and no excluded licenses)."""
# The factor 1000 below is arbitrary, just expected to be much larger
- # that the number of licenses actually specified. That way the weight
+ # than the number of licenses actually specified. That way the weight
# will be negative if the list of licenses contains an excluded license,
# but still gives a higher weight to the list with the most included
# licenses.
@@ -131,11 +134,11 @@
else:
return beta
- if not whitelist:
- whitelist = ['*']
+ if not include_licenses:
+ include_licenses = ['*']
- if not blacklist:
- blacklist = []
+ if not exclude_licenses:
+ exclude_licenses = []
licenses = flattened_licenses(licensestr, choose_licenses)
excluded = [lic for lic in licenses if exclude_license(lic)]
diff --git a/poky/meta/lib/oe/package_manager/ipk/rootfs.py b/poky/meta/lib/oe/package_manager/ipk/rootfs.py
index 26dbee6..10a8319 100644
--- a/poky/meta/lib/oe/package_manager/ipk/rootfs.py
+++ b/poky/meta/lib/oe/package_manager/ipk/rootfs.py
@@ -145,51 +145,14 @@
self.pm.recover_packaging_data()
bb.utils.remove(self.d.getVar('MULTILIB_TEMP_ROOTFS'), True)
-
- def _prelink_file(self, root_dir, filename):
- bb.note('prelink %s in %s' % (filename, root_dir))
- prelink_cfg = oe.path.join(root_dir,
- self.d.expand('${sysconfdir}/prelink.conf'))
- if not os.path.exists(prelink_cfg):
- shutil.copy(self.d.expand('${STAGING_DIR_NATIVE}${sysconfdir_native}/prelink.conf'),
- prelink_cfg)
-
- cmd_prelink = self.d.expand('${STAGING_DIR_NATIVE}${sbindir_native}/prelink')
- self._exec_shell_cmd([cmd_prelink,
- '--root',
- root_dir,
- '-amR',
- '-N',
- '-c',
- self.d.expand('${sysconfdir}/prelink.conf')])
-
'''
Compare two files with the same key twice to see if they are equal.
If they are not equal, it means they are duplicated and come from
different packages.
- 1st: Comapre them directly;
- 2nd: While incremental image creation is enabled, one of the
- files could be probaly prelinked in the previous image
- creation and the file has been changed, so we need to
- prelink the other one and compare them.
'''
def _file_equal(self, key, f1, f2):
-
- # Both of them are not prelinked
if filecmp.cmp(f1, f2):
return True
-
- if bb.data.inherits_class('image-prelink', self.d):
- if self.image_rootfs not in f1:
- self._prelink_file(f1.replace(key, ''), f1)
-
- if self.image_rootfs not in f2:
- self._prelink_file(f2.replace(key, ''), f2)
-
- # Both of them are prelinked
- if filecmp.cmp(f1, f2):
- return True
-
# Not equal
return False
diff --git a/poky/meta/lib/oe/patch.py b/poky/meta/lib/oe/patch.py
index 950fe72..9034fca 100644
--- a/poky/meta/lib/oe/patch.py
+++ b/poky/meta/lib/oe/patch.py
@@ -304,14 +304,19 @@
def _isInitialized(self):
cmd = "git rev-parse --show-toplevel"
- (status, output) = subprocess.getstatusoutput(cmd.split())
+ try:
+ output = runcmd(cmd.split(), self.dir).strip()
+ except CmdError as err:
+ ## runcmd returned non-zero which most likely means 128
+ ## Not a git directory
+ return False
## Make sure repo is in builddir to not break top-level git repos
- return status == 0 and os.path.samedir(output, self.dir)
+ return os.path.samefile(output, self.dir)
def _initRepo(self):
runcmd("git init".split(), self.dir)
runcmd("git add .".split(), self.dir)
- runcmd("git commit -a --allow-empty -m Patching_started".split(), self.dir)
+ runcmd("git commit -a --allow-empty -m bitbake_patching_started".split(), self.dir)
@staticmethod
def extractPatchHeader(patchfile):
diff --git a/poky/meta/lib/oe/qa.py b/poky/meta/lib/oe/qa.py
index efab7e8..89acd3e 100644
--- a/poky/meta/lib/oe/qa.py
+++ b/poky/meta/lib/oe/qa.py
@@ -48,6 +48,9 @@
return self
def __exit__(self, exc_type, exc_value, traceback):
+ self.close()
+
+ def close(self):
if self.data:
self.data.close()
@@ -128,6 +131,9 @@
"""
return self.getShort(ELFFile.E_MACHINE)
+ def set_objdump(self, cmd, output):
+ self.objdump_output[cmd] = output
+
def run_objdump(self, cmd, d):
import bb.process
import sys
diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py
index a0c6974..872ff97 100644
--- a/poky/meta/lib/oe/recipeutils.py
+++ b/poky/meta/lib/oe/recipeutils.py
@@ -1029,6 +1029,7 @@
else:
ud = bb.fetch2.FetchData(src_uri, rd)
if rd.getVar("UPSTREAM_CHECK_COMMITS") == "1":
+ bb.fetch2.get_srcrev(rd)
revision = ud.method.latest_revision(ud, rd, 'default')
upversion = pv
if revision != rd.getVar("SRCREV"):
diff --git a/poky/meta/lib/oe/sbom.py b/poky/meta/lib/oe/sbom.py
index 848812c..3372f13 100644
--- a/poky/meta/lib/oe/sbom.py
+++ b/poky/meta/lib/oe/sbom.py
@@ -28,6 +28,10 @@
return "SPDXRef-Image-%s" % img
+def get_sdk_spdxid(sdk):
+ return "SPDXRef-SDK-%s" % sdk
+
+
def write_doc(d, spdx_doc, subdir, spdx_deploy=None):
from pathlib import Path
diff --git a/poky/meta/lib/oe/spdx.py b/poky/meta/lib/oe/spdx.py
index 9e7ced5..14ca706 100644
--- a/poky/meta/lib/oe/spdx.py
+++ b/poky/meta/lib/oe/spdx.py
@@ -105,10 +105,13 @@
obj._spdx[name] = []
return obj._spdx[name]
+ def set_helper(obj, value):
+ obj._spdx[name] = list(value)
+
def del_helper(obj):
del obj._spdx[name]
- attrs[name] = property(get_helper, None, del_helper)
+ attrs[name] = property(get_helper, set_helper, del_helper)
def init(self, source):
return [self.prop.init(o) for o in source]
diff --git a/poky/meta/lib/oe/useradd.py b/poky/meta/lib/oe/useradd.py
index 8fc7756..3caa3f8 100644
--- a/poky/meta/lib/oe/useradd.py
+++ b/poky/meta/lib/oe/useradd.py
@@ -45,7 +45,6 @@
parser.add_argument("-N", "--no-user-group", dest="user_group", help="do not create a group with the same name as the user", action="store_const", const=False)
parser.add_argument("-o", "--non-unique", help="allow to create users with duplicate (non-unique UID)", action="store_true")
parser.add_argument("-p", "--password", metavar="PASSWORD", help="encrypted password of the new account")
- parser.add_argument("-P", "--clear-password", metavar="CLEAR_PASSWORD", help="use this clear password for the new account")
parser.add_argument("-R", "--root", metavar="CHROOT_DIR", help="directory to chroot into")
parser.add_argument("-r", "--system", help="create a system account", action="store_true")
parser.add_argument("-s", "--shell", metavar="SHELL", help="login shell of the new account")
@@ -63,7 +62,6 @@
parser.add_argument("-K", "--key", metavar="KEY=VALUE", help="override /etc/login.defs defaults")
parser.add_argument("-o", "--non-unique", help="allow to create groups with duplicate (non-unique) GID", action="store_true")
parser.add_argument("-p", "--password", metavar="PASSWORD", help="use this encrypted password for the new group")
- parser.add_argument("-P", "--clear-password", metavar="CLEAR_PASSWORD", help="use this clear password for the new group")
parser.add_argument("-R", "--root", metavar="CHROOT_DIR", help="directory to chroot into")
parser.add_argument("-r", "--system", help="create a system account", action="store_true")
parser.add_argument("GROUP", help="Group name of the new group")
diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py
index 136650e..84790b7 100644
--- a/poky/meta/lib/oe/utils.py
+++ b/poky/meta/lib/oe/utils.py
@@ -537,17 +537,6 @@
for worker in self.workers:
worker.join()
-def write_ld_so_conf(d):
- # Some utils like prelink may not have the correct target library paths
- # so write an ld.so.conf to help them
- ldsoconf = d.expand("${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf")
- if os.path.exists(ldsoconf):
- bb.utils.remove(ldsoconf)
- bb.utils.mkdirhier(os.path.dirname(ldsoconf))
- with open(ldsoconf, "w") as f:
- f.write(d.getVar("base_libdir") + '\n')
- f.write(d.getVar("libdir") + '\n')
-
class ImageQAFailed(Exception):
def __init__(self, description, name=None, logfile=None):
self.description = description
diff --git a/poky/meta/lib/oeqa/controllers/masterimage.py b/poky/meta/lib/oeqa/controllers/controllerimage.py
similarity index 84%
rename from poky/meta/lib/oeqa/controllers/masterimage.py
rename to poky/meta/lib/oeqa/controllers/controllerimage.py
index 0bf5917..78a4aaf 100644
--- a/poky/meta/lib/oeqa/controllers/masterimage.py
+++ b/poky/meta/lib/oeqa/controllers/controllerimage.py
@@ -3,13 +3,13 @@
# SPDX-License-Identifier: MIT
#
# This module adds support to testimage.bbclass to deploy images and run
-# tests using a "master image" - this is a "known good" image that is
+# tests using a "controller image" - this is a "known good" image that is
# installed onto the device as part of initial setup and will be booted into
# with no interaction; we can then use it to deploy the image to be tested
# to a second partition before running the tests.
#
-# For an example master image, see core-image-testmaster
-# (meta/recipes-extended/images/core-image-testmaster.bb)
+# For an example controller image, see core-image-testcontroller
+# (meta/recipes-extended/images/core-image-testcontroller.bb)
import os
import bb
@@ -24,12 +24,12 @@
from abc import ABCMeta, abstractmethod
-class MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget, metaclass=ABCMeta):
+class ControllerImageHardwareTarget(oeqa.targetcontrol.BaseTarget, metaclass=ABCMeta):
supported_image_fstypes = ['tar.gz', 'tar.bz2']
def __init__(self, d):
- super(MasterImageHardwareTarget, self).__init__(d)
+ super(ControllerImageHardwareTarget, self).__init__(d)
# target ip
addr = d.getVar("TEST_TARGET_IP") or bb.fatal('Please set TEST_TARGET_IP with the IP address of the machine you want to run the tests on.')
@@ -61,8 +61,8 @@
if not os.path.isfile(self.kernel):
bb.fatal("No kernel found. Expected path: %s" % self.kernel)
- # master ssh connection
- self.master = None
+ # controller ssh connection
+ self.controller = None
# if the user knows what they are doing, then by all means...
self.user_cmds = d.getVar("TEST_DEPLOY_CMDS")
self.deploy_cmds = None
@@ -119,19 +119,19 @@
def deploy(self):
# base class just sets the ssh log file for us
- super(MasterImageHardwareTarget, self).deploy()
- self.master = sshcontrol.SSHControl(ip=self.ip, logfile=self.sshlog, timeout=600, port=self.port)
- status, output = self.master.run("cat /etc/masterimage")
+ super(ControllerImageHardwareTarget, self).deploy()
+ self.controller = sshcontrol.SSHControl(ip=self.ip, logfile=self.sshlog, timeout=600, port=self.port)
+ status, output = self.controller.run("cat /etc/controllerimage")
if status != 0:
- # We're not booted into the master image, so try rebooting
- bb.plain("%s - booting into the master image" % self.pn)
+ # We're not booted into the controller image, so try rebooting
+ bb.plain("%s - booting into the controller image" % self.pn)
self.power_ctl("cycle")
self._wait_until_booted()
bb.plain("%s - deploying image on target" % self.pn)
- status, output = self.master.run("cat /etc/masterimage")
+ status, output = self.controller.run("cat /etc/controllerimage")
if status != 0:
- bb.fatal("No ssh connectivity or target isn't running a master image.\n%s" % output)
+ bb.fatal("No ssh connectivity or target isn't running a controller image.\n%s" % output)
if self.user_cmds:
self.deploy_cmds = self.user_cmds.split("\n")
try:
@@ -156,10 +156,10 @@
def stop(self):
bb.plain("%s - reboot/powercycle target" % self.pn)
- self.power_cycle(self.master)
+ self.power_cycle(self.controller)
-class SystemdbootTarget(MasterImageHardwareTarget):
+class SystemdbootTarget(ControllerImageHardwareTarget):
def __init__(self, d):
super(SystemdbootTarget, self).__init__(d)
@@ -184,16 +184,16 @@
def _deploy(self):
# make sure these aren't mounted
- self.master.run("umount /boot; umount /mnt/testrootfs; umount /sys/firmware/efi/efivars;")
+ self.controller.run("umount /boot; umount /mnt/testrootfs; umount /sys/firmware/efi/efivars;")
# from now on, every deploy cmd should return 0
# else an exception will be thrown by sshcontrol
- self.master.ignore_status = False
- self.master.copy_to(self.rootfs, "~/test-rootfs." + self.image_fstype)
- self.master.copy_to(self.kernel, "~/test-kernel")
+ self.controller.ignore_status = False
+ self.controller.copy_to(self.rootfs, "~/test-rootfs." + self.image_fstype)
+ self.controller.copy_to(self.kernel, "~/test-kernel")
for cmd in self.deploy_cmds:
- self.master.run(cmd)
+ self.controller.run(cmd)
def _start(self, params=None):
- self.power_cycle(self.master)
+ self.power_cycle(self.controller)
# there are better ways than a timeout but this should work for now
time.sleep(120)
diff --git a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
index f3c2bed..150b70d 100644
--- a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
+++ b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
@@ -121,11 +121,16 @@
self.test_syslog_restart()
- cmd = 'logger foobar && grep foobar /var/log/test'
- status,output = self.target.run(cmd)
- msg = 'Test log string not found. Output: %s ' % output
+ cmd = 'logger foobar'
+ status, output = self.target.run(cmd)
+ msg = 'Logger command failed, %s. Output: %s ' % (status, output)
self.assertEqual(status, 0, msg=msg)
+ cmd = 'cat /var/log/test'
+ status, output = self.target.run(cmd)
+ if "foobar" not in output or status:
+ self.fail("'foobar' not found in logfile, status %s, contents %s" % (status, output))
+
cmd = "sed -i 's#LOGFILE=/var/log/test##' /etc/syslog-startup.conf"
self.target.run(cmd)
self.test_syslog_restart()
diff --git a/poky/meta/lib/oeqa/runtime/cases/ssh.py b/poky/meta/lib/oeqa/runtime/cases/ssh.py
index 60a5fbb..e31224b 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ssh.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ssh.py
@@ -13,7 +13,7 @@
def test_ssh(self):
(status, output) = self.target.run('uname -a')
self.assertEqual(status, 0, msg='SSH Test failed: %s' % output)
- (status, output) = self.target.run('cat /etc/masterimage')
- msg = "This isn't the right image - /etc/masterimage " \
+ (status, output) = self.target.run('cat /etc/controllerimage')
+ msg = "This isn't the right image - /etc/controllerimage " \
"shouldn't be here %s" % output
self.assertEqual(status, 1, msg=msg)
diff --git a/poky/meta/lib/oeqa/runtime/cases/stap.py b/poky/meta/lib/oeqa/runtime/cases/stap.py
index 615c290..480eaab 100644
--- a/poky/meta/lib/oeqa/runtime/cases/stap.py
+++ b/poky/meta/lib/oeqa/runtime/cases/stap.py
@@ -14,11 +14,19 @@
@OEHasPackage(['gcc-symlinks'])
@OEHasPackage(['kernel-devsrc'])
def test_stap(self):
- cmd = 'make -C /usr/src/kernel scripts prepare'
- status, output = self.target.run(cmd, 900)
- self.assertEqual(status, 0, msg='\n'.join([cmd, output]))
+ try:
+ cmd = 'make -j -C /usr/src/kernel scripts prepare'
+ status, output = self.target.run(cmd, 900)
+ self.assertEqual(status, 0, msg='\n'.join([cmd, output]))
- cmd = 'stap -v --disable-cache -DSTP_NO_VERREL_CHECK -s1 -e \'probe oneshot { print("Hello, "); println("world!") }\''
- status, output = self.target.run(cmd, 900)
- self.assertEqual(status, 0, msg='\n'.join([cmd, output]))
- self.assertIn('Hello, world!', output, msg='\n'.join([cmd, output]))
+ cmd = 'stap -v -p4 -m stap-hello --disable-cache -DSTP_NO_VERREL_CHECK -e \'probe oneshot { print("Hello, "); println("SystemTap!") }\''
+ status, output = self.target.run(cmd, 900)
+ self.assertEqual(status, 0, msg='\n'.join([cmd, output]))
+
+ cmd = 'staprun -v -R -b1 stap-hello.ko'
+ self.assertEqual(status, 0, msg='\n'.join([cmd, output]))
+ self.assertIn('Hello, SystemTap!', output, msg='\n'.join([cmd, output]))
+ except:
+ status, dmesg = self.target.run('dmesg')
+ if status == 0:
+ print(dmesg)
diff --git a/poky/meta/lib/oeqa/runtime/cases/weston.py b/poky/meta/lib/oeqa/runtime/cases/weston.py
index b3a7c27..b81cc29 100644
--- a/poky/meta/lib/oeqa/runtime/cases/weston.py
+++ b/poky/meta/lib/oeqa/runtime/cases/weston.py
@@ -10,7 +10,7 @@
import time
class WestonTest(OERuntimeTestCase):
- weston_log_file = '/tmp/weston.log'
+ weston_log_file = '/tmp/weston-2.log'
@classmethod
def tearDownClass(cls):
@@ -31,13 +31,13 @@
return output.split(" ")
def get_weston_command(self, cmd):
- return 'export XDG_RUNTIME_DIR=/run/user/0; export WAYLAND_DISPLAY=wayland-0; %s' % cmd
+ return 'export XDG_RUNTIME_DIR=/run/user/`id -u weston`; export WAYLAND_DISPLAY=wayland-1; %s' % cmd
def run_weston_init(self):
if 'systemd' in self.tc.td['VIRTUAL-RUNTIME_init_manager']:
self.target.run('systemd-run --collect --unit=weston-ptest.service --uid=0 -p PAMName=login -p TTYPath=/dev/tty6 -E XDG_RUNTIME_DIR=/tmp -E WAYLAND_DISPLAY=wayland-0 /usr/bin/weston --socket=wayland-1 --log=%s' % self.weston_log_file)
else:
- self.target.run(self.get_weston_command('openvt -- weston --socket=wayland-1 --log=%s' % self.weston_log_file))
+ self.target.run(self.get_weston_command('openvt -- weston --socket=wayland-2 --log=%s' % self.weston_log_file))
def get_new_wayland_processes(self, existing_wl_processes):
try_cnt = 0
diff --git a/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py b/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py
index 134879a..35e549e 100644
--- a/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py
+++ b/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py
@@ -13,8 +13,8 @@
"""
def test_wget(self):
- self._run('env -i wget --debug --output-document /dev/null https://www.example.com')
+ self._run('env -i wget --debug --output-document /dev/null https://yoctoproject.org/connectivity.html')
def test_python(self):
# urlopen() returns a file-like object on success and throws an exception otherwise
- self._run('python3 -c \'import urllib.request; urllib.request.urlopen("https://www.example.com/")\'')
+ self._run('python3 -c \'import urllib.request; urllib.request.urlopen("https://yoctoproject.org/connectivity.html")\'')
diff --git a/poky/meta/lib/oeqa/selftest/cases/bblogging.py b/poky/meta/lib/oeqa/selftest/cases/bblogging.py
index ea6c3c8..317e68b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bblogging.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bblogging.py
@@ -11,7 +11,7 @@
def assertCount(self, item, entry, count):
self.assertEqual(item.count(entry), count, msg="Output:\n'''\n%s\n'''\ndoesn't contain %d copies of:\n'''\n%s\n'''\n" % (item, count, entry))
- def test_shell_logging(self):
+ def test_shell_loggingA(self):
# no logs, no verbose
self.write_config('BBINCLUDELOGS = ""')
result = bitbake("logging-test -c shelltest -f", ignore_status = True)
@@ -19,6 +19,7 @@
self.assertNotIn("This is shell stdout", result.output)
self.assertNotIn("This is shell stderr", result.output)
+ def test_shell_loggingB(self):
# logs, no verbose
self.write_config('BBINCLUDELOGS = "yes"')
result = bitbake("logging-test -c shelltest -f", ignore_status = True)
@@ -26,14 +27,16 @@
self.assertCount(result.output, "This is shell stdout", 1)
self.assertCount(result.output, "This is shell stderr", 1)
+ def test_shell_loggingC(self):
# no logs, verbose
self.write_config('BBINCLUDELOGS = ""')
result = bitbake("logging-test -c shelltest -f -v", ignore_status = True)
self.assertIn("ERROR: Logfile of failure stored in:", result.output)
- # two copies due to set +x
+ # two copies due to set +x
self.assertCount(result.output, "This is shell stdout", 2)
self.assertCount(result.output, "This is shell stderr", 2)
+ def test_shell_loggingD(self):
# logs, verbose
self.write_config('BBINCLUDELOGS = "yes"')
result = bitbake("logging-test -c shelltest -f -v", ignore_status = True)
@@ -42,13 +45,52 @@
self.assertCount(result.output, "This is shell stdout", 2)
self.assertCount(result.output, "This is shell stderr", 2)
- def test_python_exit_logging(self):
+ def test_python_exec_func_shell_loggingA(self):
+ # no logs, no verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_exec_func_shell -f",
+ ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ self.assertNotIn("This is shell stdout", result.output)
+ self.assertNotIn("This is shell stderr", result.output)
+
+ def test_python_exec_func_shell_loggingB(self):
+ # logs, no verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_exec_func_shell -f",
+ ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ self.assertCount(result.output, "This is shell stdout", 1)
+ self.assertCount(result.output, "This is shell stderr", 1)
+
+ def test_python_exec_func_shell_loggingC(self):
+ # no logs, verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_exec_func_shell -f -v",
+ ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # two copies due to set +x
+ self.assertCount(result.output, "This is shell stdout", 2)
+ self.assertCount(result.output, "This is shell stderr", 2)
+
+ def test_python_exec_func_shell_loggingD(self):
+ # logs, verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_exec_func_shell -f -v",
+ ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # two copies due to set +x
+ self.assertCount(result.output, "This is shell stdout", 2)
+ self.assertCount(result.output, "This is shell stderr", 2)
+
+ def test_python_exit_loggingA(self):
# no logs, no verbose
self.write_config('BBINCLUDELOGS = ""')
result = bitbake("logging-test -c pythontest_exit -f", ignore_status = True)
self.assertIn("ERROR: Logfile of failure stored in:", result.output)
self.assertNotIn("This is python stdout", result.output)
+ def test_python_exit_loggingB(self):
# logs, no verbose
self.write_config('BBINCLUDELOGS = "yes"')
result = bitbake("logging-test -c pythontest_exit -f", ignore_status = True)
@@ -56,6 +98,7 @@
# A sys.exit() should include the output
self.assertCount(result.output, "This is python stdout", 1)
+ def test_python_exit_loggingC(self):
# no logs, verbose
self.write_config('BBINCLUDELOGS = ""')
result = bitbake("logging-test -c pythontest_exit -f -v", ignore_status = True)
@@ -63,6 +106,7 @@
# python tasks don't log output with -v currently
#self.assertCount(result.output, "This is python stdout", 1)
+ def test_python_exit_loggingD(self):
# logs, verbose
self.write_config('BBINCLUDELOGS = "yes"')
result = bitbake("logging-test -c pythontest_exit -f -v", ignore_status = True)
@@ -70,7 +114,42 @@
# python tasks don't log output with -v currently
#self.assertCount(result.output, "This is python stdout", 1)
- def test_python_fatal_logging(self):
+ def test_python_exec_func_python_loggingA(self):
+ # no logs, no verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_exec_func_python -f",
+ ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ self.assertNotIn("This is python stdout", result.output)
+
+ def test_python_exec_func_python_loggingB(self):
+ # logs, no verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_exec_func_python -f",
+ ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # A sys.exit() should include the output
+ self.assertCount(result.output, "This is python stdout", 1)
+
+ def test_python_exec_func_python_loggingC(self):
+ # no logs, verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_exec_func_python -f -v",
+ ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # python tasks don't log output with -v currently
+ #self.assertCount(result.output, "This is python stdout", 1)
+
+ def test_python_exec_func_python_loggingD(self):
+ # logs, verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_exec_func_python -f -v",
+ ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # python tasks don't log output with -v currently
+ #self.assertCount(result.output, "This is python stdout", 1)
+
+ def test_python_fatal_loggingA(self):
# no logs, no verbose
self.write_config('BBINCLUDELOGS = ""')
result = bitbake("logging-test -c pythontest_fatal -f", ignore_status = True)
@@ -78,6 +157,7 @@
self.assertNotIn("This is python fatal test stdout", result.output)
self.assertCount(result.output, "This is a fatal error", 1)
+ def test_python_fatal_loggingB(self):
# logs, no verbose
self.write_config('BBINCLUDELOGS = "yes"')
result = bitbake("logging-test -c pythontest_fatal -f", ignore_status = True)
@@ -86,6 +166,7 @@
self.assertNotIn("This is python fatal test stdout", result.output)
self.assertCount(result.output, "This is a fatal error", 1)
+ def test_python_fatal_loggingC(self):
# no logs, verbose
self.write_config('BBINCLUDELOGS = ""')
result = bitbake("logging-test -c pythontest_fatal -f -v", ignore_status = True)
@@ -94,6 +175,7 @@
#self.assertCount(result.output, "This is python fatal test stdout", 1)
self.assertCount(result.output, "This is a fatal error", 1)
+ def test_python_fatal_loggingD(self):
# logs, verbose
self.write_config('BBINCLUDELOGS = "yes"')
result = bitbake("logging-test -c pythontest_fatal -f -v", ignore_status = True)
diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
index 246cb03..35ad9f3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -63,8 +63,8 @@
def test_warnings_errors(self):
result = bitbake('-b asdf', ignore_status=True)
- find_warnings = re.search("Summary: There w.{2,3}? [1-9][0-9]* WARNING messages* shown", result.output)
- find_errors = re.search("Summary: There w.{2,3}? [1-9][0-9]* ERROR messages* shown", result.output)
+ find_warnings = re.search("Summary: There w.{2,3}? [1-9][0-9]* WARNING messages*", result.output)
+ find_errors = re.search("Summary: There w.{2,3}? [1-9][0-9]* ERROR messages*", result.output)
self.assertTrue(find_warnings, msg="Did not find the mumber of warnings at the end of the build:\n" + result.output)
self.assertTrue(find_errors, msg="Did not find the mumber of errors at the end of the build:\n" + result.output)
@@ -228,8 +228,8 @@
result = bitbake('selftest-ed', ignore_status=True)
self.assertEqual(result.status, 0, "Bitbake failed, exit code %s, output %s" % (result.status, result.output))
lic_dir = get_bb_var('LICENSE_DIRECTORY')
- self.assertFalse(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv3')))
- self.assertTrue(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv2')))
+ self.assertFalse(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPL-3.0-or-later')))
+ self.assertTrue(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPL-2.0-or-later')))
def test_setscene_only(self):
""" Bitbake option to restore from sstate only within a build (i.e. execute no real tasks, only setscene)"""
@@ -307,8 +307,47 @@
src = get_bb_var("SRC_URI",test_recipe)
gitscm = re.search("git://", src)
self.assertFalse(gitscm, "test_git_patchtool pre-condition failed: {} test recipe contains git repo!".format(test_recipe))
- result = bitbake('man-db -c patch', ignore_status=False)
+ result = bitbake('{} -c patch'.format(test_recipe), ignore_status=False)
fatal = re.search("fatal: not a git repository (or any of the parent directories)", result.output)
self.assertFalse(fatal, "Failed to patch using PATCHTOOL=\"git\"")
self.delete_recipeinc(test_recipe)
- bitbake('-cclean man-db')
+ bitbake('-cclean {}'.format(test_recipe))
+
+ def test_git_patchtool2(self):
+ """ Test if PATCHTOOL=git works with git repo and doesn't reinitialize it
+ """
+ test_recipe = "gitrepotest"
+ src = get_bb_var("SRC_URI",test_recipe)
+ gitscm = re.search("git://", src)
+ self.assertTrue(gitscm, "test_git_patchtool pre-condition failed: {} test recipe doesn't contains git repo!".format(test_recipe))
+ result = bitbake('{} -c patch'.format(test_recipe), ignore_status=False)
+ srcdir = get_bb_var('S', test_recipe)
+ result = runCmd("git log", cwd = srcdir)
+ self.assertFalse("bitbake_patching_started" in result.output, msg = "Repository has been reinitialized. {}".format(srcdir))
+ self.delete_recipeinc(test_recipe)
+ bitbake('-cclean {}'.format(test_recipe))
+
+
+ def test_git_unpack_nonetwork(self):
+ """
+ Test that a recipe with a floating tag that needs to be resolved upstream doesn't
+ access the network in a patch task run in a separate builld invocation
+ """
+
+ # Enable the recipe to float using a distro override
+ self.write_config("DISTROOVERRIDES .= \":gitunpack-enable-recipe\"")
+
+ bitbake('gitunpackoffline -c fetch')
+ bitbake('gitunpackoffline -c patch')
+
+ def test_git_unpack_nonetwork_fail(self):
+ """
+ Test that a recipe with a floating tag which doesn't call get_srcrev() in the fetcher
+ raises an error when the fetcher is called.
+ """
+
+ # Enable the recipe to float using a distro override
+ self.write_config("DISTROOVERRIDES .= \":gitunpack-enable-recipe\"")
+
+ result = bitbake('gitunpackoffline-fail -c fetch', ignore_status=True)
+ self.assertTrue("Recipe uses a floating tag/branch without a fixed SRCREV" in result.output, msg = "Recipe without PV set to SRCPV should have failed: %s" % result.output)
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
index 651bb03..bfe613b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -62,9 +62,9 @@
res = bitbake("delay -c delay", ignore_status = True)
self.assertTrue('ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!' in res.output, msg = "Tasks should have stopped. Disk monitor is set to STOPTASK: %s" % res.output)
self.assertEqual(res.status, 1, msg = "bitbake reported exit code %s. It should have been 1. Bitbake output: %s" % (str(res.status), res.output))
- self.write_config('BB_DISKMON_DIRS = "ABORT,${TMPDIR},100000G,100K"\nBB_HEARTBEAT_EVENT = "1"')
+ self.write_config('BB_DISKMON_DIRS = "HALT,${TMPDIR},100000G,100K"\nBB_HEARTBEAT_EVENT = "1"')
res = bitbake("delay -c delay", ignore_status = True)
- self.assertTrue('ERROR: Immediately abort since the disk space monitor action is "ABORT"!' in res.output, "Tasks should have been aborted immediatelly. Disk monitor is set to ABORT: %s" % res.output)
+ self.assertTrue('ERROR: Immediately halt since the disk space monitor action is "HALT"!' in res.output, "Tasks should have been halted immediately. Disk monitor is set to HALT: %s" % res.output)
self.assertEqual(res.status, 1, msg = "bitbake reported exit code %s. It should have been 1. Bitbake output: %s" % (str(res.status), res.output))
self.write_config('BB_DISKMON_DIRS = "WARN,${TMPDIR},100000G,100K"\nBB_HEARTBEAT_EVENT = "1"')
res = bitbake("delay -c delay")
diff --git a/poky/meta/lib/oeqa/selftest/cases/distrodata.py b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
index 9089798..03f31e9 100644
--- a/poky/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -18,7 +18,7 @@
Product: oe-core
Author: Alexander Kanavin <alex.kanavin@gmail.com>
"""
- feature = 'LICENSE_FLAGS_WHITELIST += " commercial"\n'
+ feature = 'LICENSE_FLAGS_ACCEPTED += " commercial"\n'
self.write_config(feature)
pkgs = oe.recipeutils.get_recipe_upgrade_status()
@@ -99,7 +99,7 @@
return True
return False
- feature = 'require conf/distro/include/maintainers.inc\nLICENSE_FLAGS_WHITELIST += " commercial"\nPARSE_ALL_RECIPES = "1"\nPACKAGE_CLASSES = "package_ipk package_deb package_rpm"\n'
+ feature = 'require conf/distro/include/maintainers.inc\nLICENSE_FLAGS_ACCEPTED += " commercial"\nPARSE_ALL_RECIPES = "1"\nPACKAGE_CLASSES = "package_ipk package_deb package_rpm"\n'
self.write_config(feature)
with bb.tinfoil.Tinfoil() as tinfoil:
diff --git a/poky/meta/lib/oeqa/selftest/cases/eSDK.py b/poky/meta/lib/oeqa/selftest/cases/eSDK.py
index d0c402b..f7279b3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/eSDK.py
+++ b/poky/meta/lib/oeqa/selftest/cases/eSDK.py
@@ -63,7 +63,7 @@
cls.env_eSDK = oeSDKExtSelfTest.get_esdk_environment('', cls.tmpdir_eSDKQA)
sstate_config="""
-SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS"
+ESDK_LOCALCONF_ALLOW = "SSTATE_MIRRORS"
SSTATE_MIRRORS = "file://.* file://%s/PATH"
CORE_IMAGE_EXTRA_INSTALL = "perl"
""" % sstate_dir
@@ -91,7 +91,7 @@
# Configure eSDK to use sstate mirror from poky
sstate_config="""
-SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS"
+ESDK_LOCALCONF_ALLOW = "SSTATE_MIRRORS"
SSTATE_MIRRORS = "file://.* file://%s/PATH"
""" % bb_vars["SSTATE_DIR"]
with open(os.path.join(cls.tmpdir_eSDKQA, 'conf', 'local.conf'), 'a+') as f:
diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 18f37c6..d36d45c 100644
--- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -198,8 +198,8 @@
image_name = 'core-image-minimal'
all_image_types = set(get_bb_var("IMAGE_TYPES", image_name).split())
- blacklist = set(('container', 'elf', 'f2fs', 'multiubi', 'tar.zst', 'wic.zst'))
- img_types = all_image_types - blacklist
+ skip_image_types = set(('container', 'elf', 'f2fs', 'multiubi', 'tar.zst', 'wic.zst'))
+ img_types = all_image_types - skip_image_types
config = 'IMAGE_FSTYPES += "%s"\n'\
'MKUBIFS_ARGS ?= "-m 2048 -e 129024 -c 2047"\n'\
@@ -245,8 +245,8 @@
VIRTUAL-RUNTIME_base-utils-hwclock = "util-linux-hwclock"
VIRTUAL-RUNTIME_base-utils-syslog = ""
-# Blacklist busybox
-PNBLACKLIST[busybox] = "Don't build this"
+# Skip busybox
+SKIP_RECIPE[busybox] = "Don't build this"
"""
self.write_config(config)
diff --git a/poky/meta/lib/oeqa/selftest/cases/newlib.py b/poky/meta/lib/oeqa/selftest/cases/newlib.py
new file mode 100644
index 0000000..999e3e7
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/newlib.py
@@ -0,0 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake
+
+class NewlibTest(OESelftestTestCase):
+ def test_newlib(self):
+ self.write_config('TCLIBC = "newlib"')
+ bitbake("newlib libgloss")
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index 9db1ddb..09448ba 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -472,25 +472,6 @@
inherits = ['setuptools3']
self._test_recipe_contents(recipefile, checkvars, inherits)
- def test_recipetool_create_python3_distutils(self):
- # Test creating python3 package from tarball (using distutils3 class)
- temprecipe = os.path.join(self.tempdir, 'recipe')
- os.makedirs(temprecipe)
- pn = 'docutils'
- pv = '0.14'
- recipefile = os.path.join(temprecipe, '%s_%s.bb' % (pn, pv))
- srcuri = 'https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-%s.tar.gz' % pv
- result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
- self.assertTrue(os.path.isfile(recipefile))
- checkvars = {}
- checkvars['LICENSE'] = 'BSD-3-Clause & GPL & PSF'
- checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING.txt;md5=35a23d42b615470583563132872c97d6'
- checkvars['SRC_URI'] = 'https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-${PV}.tar.gz'
- checkvars['SRC_URI[md5sum]'] = 'c53768d63db3873b7d452833553469de'
- checkvars['SRC_URI[sha256sum]'] = '51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274'
- inherits = ['distutils3']
- self._test_recipe_contents(recipefile, checkvars, inherits)
-
def test_recipetool_create_github_tarball(self):
# Basic test to ensure github URL mangling doesn't apply to release tarballs
temprecipe = os.path.join(self.tempdir, 'recipe')
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index e539365..7caf8c3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -206,7 +206,7 @@
PACKAGE_CLASSES = "{package_classes}"
INHIBIT_PACKAGE_STRIP = "1"
TMPDIR = "{tmpdir}"
- LICENSE_FLAGS_WHITELIST = "commercial"
+ LICENSE_FLAGS_ACCEPTED = "commercial"
DISTRO_FEATURES:append = ' systemd pam'
USERADDEXTENSION = "useradd-staticids"
USERADD_ERROR_DYNAMIC = "skip"
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
index 96b2d11..3038b40 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -177,7 +177,7 @@
# QA checks for this test. It may report errors otherwise.
self.append_config('ERROR_QA:remove = "version-going-backwards"')
- # For not this only checks if random sstate tasks are handled correctly as a group.
+ # For now this only checks if random sstate tasks are handled correctly as a group.
# In the future we should add control over what tasks we check for.
sstate_archs_list = []
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index 5fc8e65..6f3dc27 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -851,7 +851,7 @@
self.assertEqual(0, bitbake('wic-image-minimal').status)
self.remove_config(config)
- with runqemu('wic-image-minimal', ssh=False) as qemu:
+ with runqemu('wic-image-minimal', ssh=False, runqemuparams='nographic') as qemu:
cmd = "mount | grep '^/dev/' | cut -f1,3 -d ' ' | egrep -c -e '/dev/sda1 /boot' " \
"-e '/dev/root /|/dev/sda2 /' -e '/dev/sda3 /media' -e '/dev/sda4 /mnt'"
status, output = qemu.run_serial(cmd)
@@ -871,7 +871,7 @@
self.remove_config(config)
with runqemu('core-image-minimal', ssh=False,
- runqemuparams='ovmf', image_fstype='wic') as qemu:
+ runqemuparams='nographic ovmf', image_fstype='wic') as qemu:
cmd = "grep sda. /proc/partitions |wc -l"
status, output = qemu.run_serial(cmd)
self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
@@ -1059,21 +1059,21 @@
self.assertEqual(0, bitbake('core-image-minimal-mtdutils').status)
self.remove_config(config)
- with runqemu('core-image-minimal-mtdutils', ssh=False, image_fstype='wic') as qemu:
+ with runqemu('core-image-minimal-mtdutils', ssh=False,
+ runqemuparams='nographic', image_fstype='wic') as qemu:
cmd = "grep sda. /proc/partitions |wc -l"
status, output = qemu.run_serial(cmd)
self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
self.assertEqual(output, '2')
- def test_rawcopy_plugin(self):
+ def _rawcopy_plugin(self, fstype):
"""Test rawcopy plugin"""
img = 'core-image-minimal'
machine = get_bb_var('MACHINE', img)
+ params = ',unpack' if fstype.endswith('.gz') else ''
with NamedTemporaryFile("w", suffix=".wks") as wks:
- wks.writelines(['part /boot --active --source bootimg-pcbios\n',
- 'part / --source rawcopy --sourceparams="file=%s-%s.ext4" --use-uuid\n'\
- % (img, machine),
- 'bootloader --timeout=0 --append="console=ttyS0,115200n8"\n'])
+ wks.write('part / --source rawcopy --sourceparams="file=%s-%s.%s%s"\n'\
+ % (img, machine, fstype, params))
wks.flush()
cmd = "wic create %s -e %s -o %s" % (wks.name, img, self.resultdir)
runCmd(cmd)
@@ -1081,6 +1081,17 @@
out = glob(self.resultdir + "%s-*direct" % wksname)
self.assertEqual(1, len(out))
+ def test_rawcopy_plugin(self):
+ self._rawcopy_plugin('ext4')
+
+ def test_rawcopy_plugin_unpack(self):
+ fstype = 'ext4.gz'
+ config = 'IMAGE_FSTYPES = "%s"\n' % fstype
+ self.append_config(config)
+ self.assertEqual(0, bitbake('core-image-minimal').status)
+ self.remove_config(config)
+ self._rawcopy_plugin(fstype)
+
def test_empty_plugin(self):
"""Test empty plugin"""
config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_empty_plugin.wks"\n'
@@ -1109,7 +1120,8 @@
self.assertEqual(0, bitbake('core-image-minimal').status)
self.remove_config(config)
- with runqemu('core-image-minimal', ssh=False, image_fstype='wic') as qemu:
+ with runqemu('core-image-minimal', ssh=False,
+ runqemuparams='nographic', image_fstype='wic') as qemu:
# Check that we have ONLY two /dev/sda* partitions (/boot and /)
cmd = "grep sda. /proc/partitions | wc -l"
status, output = qemu.run_serial(cmd)
@@ -1170,7 +1182,7 @@
self.remove_config(config)
with runqemu('core-image-minimal', ssh=False,
- runqemuparams='ovmf', image_fstype='wic') as qemu:
+ runqemuparams='nographic ovmf', image_fstype='wic') as qemu:
# Check that /boot has EFI bootx64.efi (required for EFI)
cmd = "ls /boot/EFI/BOOT/bootx64.efi | wc -l"
status, output = qemu.run_serial(cmd)
@@ -1408,7 +1420,7 @@
bb.utils.rename(new_image_path, image_path)
# Check if it boots in qemu
- with runqemu('core-image-minimal', ssh=False) as qemu:
+ with runqemu('core-image-minimal', ssh=False, runqemuparams='nographic') as qemu:
cmd = "ls /etc/"
status, output = qemu.run_serial('true')
self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
diff --git a/poky/meta/lib/oeqa/utils/dump.py b/poky/meta/lib/oeqa/utils/dump.py
index dc87578..95a79a5 100644
--- a/poky/meta/lib/oeqa/utils/dump.py
+++ b/poky/meta/lib/oeqa/utils/dump.py
@@ -66,6 +66,7 @@
def _write_dump(self, command, output):
fullname = self._construct_filename(command)
+ os.makedirs(os.path.dirname(fullname), exist_ok=True)
if isinstance(self, MonitorDumper):
with open(fullname, 'w') as json_file:
json.dump(output, json_file, indent=4)
diff --git a/poky/meta/lib/oeqa/utils/logparser.py b/poky/meta/lib/oeqa/utils/logparser.py
index 60e16d5..879aefc 100644
--- a/poky/meta/lib/oeqa/utils/logparser.py
+++ b/poky/meta/lib/oeqa/utils/logparser.py
@@ -135,30 +135,27 @@
def parse(self, logfile):
test_regex = {}
- test_regex['PASSED'] = re.compile(r"^PASS")
- test_regex['FAILED'] = re.compile(r"^FAIL")
- test_regex['SKIPPED'] = re.compile(r"(?:UNTESTED)|(?:UNSUPPORTED)")
+ test_regex['FAILED'] = re.compile(r"FAIL")
section_regex = {}
- section_regex['test'] = re.compile(r"^Testing")
+ section_regex['test'] = re.compile(r"^Executing")
with open(logfile, errors='replace') as f:
+ name = logfile
+ result = "PASSED"
for line in f:
- result = section_regex['test'].search(line)
- if result:
- self.name = ""
- self.name = line.split()[1].strip()
- self.results[self.name] = "PASSED"
- failed = 0
+ regex_result = section_regex['test'].search(line)
+ if regex_result:
+ name = line.split()[1].strip()
- failed_result = test_regex['FAILED'].search(line)
- if failed_result:
- failed = line.split()[1].strip()
- if int(failed) > 0:
- self.results[self.name] = "FAILED"
+ regex_result = test_regex['FAILED'].search(line)
+ if regex_result:
+ result = "FAILED"
+ self.results[name] = result
for test in self.results:
result = self.results[test]
+ print (self.results)
self.section['log'] = self.section['log'] + ("%s: %s\n" % (result.strip()[:-2], test.strip()))
return self.results, self.section