subtree updates
meta-raspberrypi: c57b464b88..45d56d82b7:
Andrei Gherzan (8):
linux-firmware-rpidistro: Fix wireless on Raspberry Pi 4
sdcard_image-rpi.bbclass: Move SDIMG_KERNELIMAGE definitions to their machines
raspberrypi0-2w.conf: Include the RPi 0-2w dtb for all 32-bit machines
rpi-base.inc: Split IMAGE_BOOT_FILES for kernel image
Add support for a ARMv7 machine supporting multiple Raspberry Pi boards
ci: Add raspberrypi-armv7 to the build matrix
Add support for a ARMv8 machine supporting multiple Raspberry Pi boards
ci: Add raspberrypi-armv8 to the build matrix
Chris Blättermann (1):
meta-raspberrypi: Include the device tree for Raspberry Pi CM4S
Khem Raj (2):
rpidistro-vlc,rpidistro-ffmpeg: Limit scope to just rpi machines
layers: Add langdale to LAYERSERIES_COMPAT
Vincent Davis Jr (4):
raspidistro-ffmpeg: add support for building raspidistro ffmpeg
rpidistro-vlc: add rpidistro VLC build (with MMAL enabled)
Add support for optional selection of vlc and ffmpeg
docs: add info for raspberrypi distro vlc
Vinicius Aquino (1):
raspberrypi-firmware: Update to 20220830 snapshot
meta-openembedded: a755af4fb5..0782ea454a:
Adrian Freihofer (1):
networkmanager: update 1.38.0 -> 1.40.0
Alejandro Enedino Hernandez Samaniego (1):
emacs: Update to version 28.2
Alex Kiernan (2):
libcoap: Fix gnutls/openssl/mbedtls PACKAGECONFIG conflicts
libcoap: Upgrade 4.3.0 -> 4.3.1
Alexander Kanavin (7):
mozjs-91: update to 91.13.0
collectd: add a python PACKAGECONFIG, off by default
zbar: disable python3 support as incompatible with py 3.11
libsigrockdecode: add python 3.11 compatibility
minifi-cpp: disable python support as incompatible with python 3.11
mozjs-91: backport a python 3.11 compatibility patch
mozjs-78: remove the recipe
Andreas Müller (1):
octave: upgrade 7.1.0 -> 7.2.0
Andrej Kozemcak (1):
squid: upgrade 4.15 -> 5.7
Andres Beltran (1):
Make graph dependencies optional
Bernhard Messerklinger (1):
libconfig-tiny-perl: add recipe
Chen Qi (2):
passwdqc: fix the libpasswdqc FILES setting
polkit: refresh patch
Frank de Brabander (1):
ntp: add missing runtime dependency on libgcc for sntp
Gianfranco Costamagna (1):
vboxguestdrivers: upgrade 6.1.36 -> 6.1.38
Hitendra Prajapati (1):
wireshark: CVE-2022-3190 Infinite loop in legacy style dissector
Howard Cochran (1):
ufw: Fix "could not find required binary 'iptables'"
Ivan Maidanski (1):
bdwgc: Fix typo in EXTRA_OECONF and remove unneeded extra CFLAGS
Jan Vermaete (1):
makeself: upate anonymous git access and dropped man page.
Khem Raj (140):
gtk+: Fix function signature of create_menu()
ippool: Fix build with clang15
corosync: Upgrade to 3.1.6
dlm: Upgrade to 4.1.1
dante: Upgrade to 1.4.3
ez-ipupdate: Fix build with clang
openflow: Include sys/stat.h for fchmod
nautilus: Backport a patch to fix build with clang-15
mctp: Update to latest tip of trunk
ypbind-mt: Upgrade to 2.7.2
packagegroup-meta-networking: Remove ypbind-mt on musl
fping: Fix build with musl
iscsi-initiator-utils: Upgrade to 2.1.7
radvd: Fix build on musl
linux-atm: Include missing string.h
memcached: Upgrade to 1.6.17
openlldp: Upgrade to 1.1.0
ettercap: Pass -D_GNU_SOURCE
rdma-core: Fix build with musl
openl2tp: Provide prototype for l2tp_api_rpc_check_request
iscsi-initiator-utils: Avoid hardcoding sed to /usr/bin/sed
toybox: Remove mount.h conflict fix
libuser: Upgrade to 0.63
gnome-keyring: Upgrade to 42.1
folks: Disable LTO and implicit-function-declaration as error
libgtop: Fix build with clang
ot-daemon,ot-br-posix: Fix mbedtls module builds
libcurses-perl: Fix main prototype in testtyp.c
rasdaemon: Upgrade to 0.6.8
psqlodbc: Upgrade to 13.02.0000
soci: Fix build with clang 15
geany-plugins: Fix type error found with clang 15
nlohmann-fifo: Update to tip of trunk
xfce4-dev-tools: Fix configure check for libX11
frr: Fix configure check for libreadline
quagga: Fix AC_CHECK_LIB for libreadline
libutempter: Upgrade to 1.2.2-alt1
libuio: Update to latest tip of trunk
serial-forward: Correct typo in specifying string.h header
mcelog: Upgrade to v189
fvwm: Disable int-conversion and implicit-int warnings as errors
hddtemp: Add missing prototype for ata_get_powermode in sata.c
nana: Include stdlib.h form exit() and abort() functions
libsmi: Fix build with clang 15
ckermit: Fix build with clang
linuxptp: Include string.h for strncpy()
wifi-test-suite: Fix build with clang
xf86-video-nouveau: Do not treat implicit-function-declaration as error
android-tools: Add protoype declaration for b64_pton
libio-pty-perl: Fix build on musl
xrdp: Fix build with clang-15
libpwquality: Do not use fgetpwent_r on musl
lmbench: Add patch to fix typo including string.h header
lxdm: Fix msghdr initialization on musl
zabbix: Upgrade to 6.2.2
epeg: Fix AC_CHECK_LIB for libjpeg and libexif
gensio: Fix AC_CHECK_LIB for libwrap
pam-plugin-ccreds: Fix AC_CHECK_LIB for libdb
sblim-sfcb: Fix AC_CHECK_LIB tests for various libraries
rdfind: Fix AC_CHECK_LIB for libnettle
srecord: Fix AC_CHECK_LIB for gpg-error
tokyocabinet: Fix AC_CHECK_LIB test functions
libcereal: Do not use uniform_int_distribution<char> template
raptor2: Match reutrn type from RAPTOR_ASSERT_OBJECT_POINTER_RETURN_VALUE
pam-ssh-agent-auth: Fix __progname configure check
daemontools: Fix build with clang15 and musl
pmtools: Update patch to include string.h and function prototype for main
uw-imap: Fix build with clang/musl
libx86: Fix pointer typecasting in assignment
obconf: Add fixes for missing function prototypes
sblim-sfcc: Fix build with clang
sblim-sfcb: Add missing headers file for clang/musl
sanlock: Add missing prototype for mem* functions
geis: Add missing prototypes to functions
libgxim: Enable debug mode
hplip: Upgrade to 3.22.6
scsirastools: Pass -D_LARGEFILE64_SOURCE via CFLAGS
con2fbmap: Include string.h for strerror
directfb-examples: Fix pthread_t assignment type
uml-utilities: Add missing headers for exit and str+ functions
oprofile: Fix configure check for perf_events support
libmcrypt: Suppress implicit-int warnings as errors
gtkperf: Define prototype for setup_appdata
cyrus-sasl: Fix time.h detection logic in configure
enscript: Include string.h form str* function prototypes
glm: Disable clang specific warnings
mg: Upgrade to 20220614 release
gphoto2: Upgrade to 2.5.28
ipmiutil: Add missing headers for protypes of free/malloc/atoi
cdrkit: Add missing header for function prototypes
fluentbit: Drop redundant patch
minifi-cpp: Disable gnu extention of strerror_r when using musl
augeas: Check for __GLIBC__ to use gnu extention for strerror_r
nlohmann-fifo: Disable cpp11 shuffle with clang/libc++
ipmitool: Update to 1.8.19
autofs: Backport innetgr and strerror_r musl patches
linux-atm: Remove AC_CHECK_LIB for libresolv
hdf5: Upgrade to 1.13.2
openldap: Fix configure check for pthread_detach
libimobiledevice: Explicitly pass -D_GNU_SOURCE via cflags
jq: Upgrade to latest and fix configure tests
lcdproc: Fix build on non-x86 and arm architectures
libsmi: Define _DEFAULT_SOURCE for timegm API
tftp-hpa: Fix includes for bsd_signal()
sblim-sfcb: Include config.h before using CONFIG_ERROR_H
minifi-cpp: Disable lto.
ntp: Fix check for pthread_detach
netkit-telnet: Add time.h from strftime/time prototypes
passwdqc: Upgrade to 2.0.2
lmbench: Fix build time tests and use the scripts/build
mcpp: Fix build with clang
ot-br-posix: Fix unused variable error
sthttpd: Define _GNU_SOURCE if HAVE_SIGSET is set
libesmtp: Enable gnu strerror_r on glibc
android-tools: Use local strlcpy implementation on glibc
uw-imap: Avoid programs using gets()
matplotlib: Upgrade to 3.5.3
cockpit: Update to 276
geary: Fix build with clang
toybox: Fix build on 32bit arches with 64bit time_t defaults
libcdio: Define _LARGEFILE64_SOURCE
rocksdb: Upgrade to 7.5.3 release
fwupd: Upgrade to 1.8.4
luajit: Use builtin for __clear_cache on clang
kexec-tools-klibc: Fix type mismatch in calls to dtb_set_initrd on mips
minifi-cpp: Fix build on musl
aom: Provide missing function prototypes
vulkan-cts,opengl-es-cts: Upgrade to1.3.3.1 and 3.2.8 respectively
python3-lxml: Delete
fwupd: Fix tostring() call to not have xml_declaration param
sox: Enable -D_FILE_OFFSET_BITS=64 and depend on libtool
rdfind: Fix patch-fuzz warnings
fwupd: Drop sqlite3 from default deps
sqlite: Drop sqlite2 recipe
wvstreams: Add missing dependency on boost
jack: Upgrade to 1.19.21
python3-grpcio-tools: Disable clang's musttail attribute on mips
fwupd: Replace python3.7 patch with upstreamed one
mdio-tools,mdio-netlink: Upgrade recipes to 1.2.0
python3-requests-unixsocket: Fix override syntax
Lei Maohui (5):
fltk: Fix buildpaths warning.
exiv2: Fix buildpaths warning.
tracker-miners: Fix buildpaths warning.
gexiv2: Fix buildpaths warning.
mariadb: Fix buildpaths warning.
Leon Anavi (24):
python3-imageio: Upgrade 2.21.1 -> 2.21.2
python3-prompt-toolkit: Upgrade 3.0.30 -> 3.0.31
python3-haversine: Upgrade 2.6.0 -> 2.7.0
python3-transitions: Upgrade 0.8.11 -> 0.9.0
python3-astroid: Upgrade 2.12.5 -> 2.12.9
python3-imageio: Upgrade 2.21.2 -> 2.21.3
python3-portion: Upgrade 2.2.0 -> 2.3.0
python3-networkx: Upgrade 2.8.5 -> 2.8.6
python3-prettytable: Upgrade 3.3.0 -> 3.4.1
python3-pydantic: Upgrade 1.9.1 -> 1.10.2
python3-soupsieve: Upgrade 2.3.1 -> 2.3.2.post1
python3-awesomeversion: Upgrade 22.8.0 -> 22.9.0
python3-ujson: Upgrade 5.4.0 -> 5.5.0
python3-marshmallow: Upgrade 3.17.1 -> 3.18.0
python3-elementpath: Upgrade 3.0.1 -> 3.0.2
python3-traitlets: Upgrade 5.3.0 -> 5.4.0
python3-joblib: Upgrade 1.1.0 -> 1.2.0
python3-astroid: Upgrade 2.12.9 -> 2.12.10
python3-imageio: Upgrade 2.21.3 -> 2.22.0
python3-email-validator: Upgrade 1.2.1 -> 1.3.0
python3-termcolor: Upgrade 1.1.0 -> 2.0.1
python3-aiohttp: Upgrade 3.8.1 -> 3.8.3
python3-pytz-deprecation-shim: Runtime dependencies
python3-license-expression: Upgrade 21.6.14 -> 30.0.0
Luca Boccassi (1):
dbus-broker: update to v32
Markus Volk (4):
pipewire: update 0.3.56 -> 0.3.57
flatbuffers: upgrade 2.0.6 -> 2.0.8
appstream-glib: fix manpage generation
jansson: use cmake instead of autotools
Martin Jansa (2):
lvm2: use bfd even with ld-is-gold in DISTRO_FEATURES
libcec: fix runtime dependencies for ${PN}-examples
Ming Liu (1):
libusbgx: add PACKAGECONFIG to make build predicable
Mingli Yu (2):
python3-pyzmq: Fix buildpaths issue
python3-pyzmq: Add RDEPENDS for python3-pyzmq-ptest
Naveen Saini (1):
ocl-icd: add nativesdk support
Ovidiu Panait (1):
redis: build with USE_SYSTEMD=yes when systemd is enabled
Patrick Williams (1):
unifex: remove recipe
Philippe Coval (3):
lvgl: Add dialog-lvgl recipe as demo example
pim435: Relocate sources to eclipse
ot-br-posix: Add dep to ipset as used by firewall
Riyaz Khan (2):
sdbus-c++: Upgrade sdbus-c++ 1.1.0 to 1.2.0
sdbus-c++-tools: Upgrade sdbus-c++-tools 1.1.0 to 1.2.0
Sergio Prado (1):
polkit: refresh patch to fix warning
Steffen Olsen (1):
postgreql: Fix pg_config not working after buildpaths patch
Vincent Davis Jr (1):
cglm: New recipe for cglm-0.8.5
Wang Mingyu (16):
abseil-cpp: upgrade 20220623.0 -> 20220623.1
chrony: upgrade 4.2 -> 4.3
ctags: upgrade 5.9.20220821.0 -> 5.9.20220828.0
fio: upgrade 3.31 -> 3.32
libblockdev: upgrade 2.26 -> 2.27
libdev-checklib-perl: upgrade 1.14 -> 1.16
lvm2/libdevmapper: upgrade 2.03.11 -> 2.03.16
libforms: upgrade 1.2.3 -> 1.2.4
python3-astroid: upgrade 2.12.4 -> 2.12.5
python3-colorlog: upgrade 6.6.0 -> 6.7.0
python3-django: upgrade 3.2.12 -> 4.1
python3-google-api-core: upgrade 2.8.2 -> 2.10.0
python3-google-api-python-client: upgrade 2.57.0 -> 2.58.0
python3-grpcio: upgrade 1.48.0 -> 1.48.1
python3-grpcio-tools: upgrade 1.48.0 -> 1.48.1
cli11: upgrade 1.9.1 -> 2.2.0
Xu Huan (5):
python3-greenlet: upgrade 1.1.2 -> 1.1.3
python3-marshmallow: upgrade 3.17.0 -> 3.17.1
python3-pyudev: upgrade 0.23.2 -> 0.24.0
python3-websocket-client: upgrade 1.3.3 -> 1.4.0
python3-xmlschema: upgrade 2.0.2 -> 2.0.3
Yi Zhao (1):
tcpreplay: fix buildpaths issue
Zheng Qiu (2):
jq: add ptest
rsyslog: update 8.2206->8.2208
hongxu (1):
python3-h5py: fix wrong file driver version
wangmy (78):
fuse3: upgrade 3.11.0 -> 3.12.0
xfstests: upgrade 2022.08.07 -> 2022.08.21
gnome-bluetooth: upgrade 42.3 -> 42.4
libadwaita: upgrade 1.1.4 -> 1.1.5
networkmanager-openvpn: upgrade 1.8.18 -> 1.10.0
open-isns: upgrade 0.101 -> 0.102
boost-sml: upgrade 1.1.5 -> 1.1.6
ctags: upgrade 5.9.20220828.0 -> 5.9.20220904.0
hwdata: upgrade 0.361 -> 0.362
modemmanager: upgrade 1.18.10 -> 1.18.12
php: upgrade 8.1.9 -> 8.1.10
poppler: upgrade 22.08.0 -> 22.09.0
syslog-ng: upgrade 3.37.1 -> 3.38.1
libio-socket-ssl-perl: upgrade 2.074 -> 2.075
python3-aiofiles: upgrade 0.8.0 -> 22.1.0
python3-antlr4-runtime: upgrade 4.10 -> 4.11.1
python3-croniter: upgrade 1.3.5 -> 1.3.7
python3-google-api-python-client: upgrade 2.58.0 -> 2.60.0
python3-langtable: upgrade 0.0.58 -> 0.0.59
python3-oauthlib: upgrade 3.2.0 -> 3.2.1
python3-pymetno: upgrade 0.9.0 -> 0.10.0
python3-sqlalchemy: upgrade 1.4.40 -> 1.4.41
python3-twisted: upgrade 22.4.0 -> 22.8.0
python3-websocket-client: upgrade 1.4.0 -> 1.4.1
python3-xmlschema: upgrade 2.0.3 -> 2.0.4
libadwaita: upgrade 1.1.5 -> 1.2.0
bats: upgrade 1.7.0 -> 1.8.0
ctags: upgrade 5.9.20220904.0 -> 5.9.20220911.0
iceauth: upgrade 1.0.8 -> 1.0.9
iwd: upgrade 1.29 -> 1.30
libblockdev: upgrade 2.27 -> 2.28
libjcat: upgrade 0.1.11 -> 0.1.12
libpfm4: upgrade 4.11.0 -> 4.12.0
libxmlb: upgrade 0.3.9 -> 0.3.10
neon: upgrade 0.32.2 -> 0.32.4
setxkbmap: upgrade 1.3.2 -> 1.3.3
xclock: upgrade 1.0.9 -> 1.1.1
xkbutils: upgrade 1.0.4 -> 1.0.5
xlsfonts: upgrade 1.0.6 -> 1.0.7
xmag: upgrade 1.0.6 -> 1.0.7
xwud: upgrade 1.0.5 -> 1.0.6
python3-cachecontrol: upgrade 0.12.11 -> 0.12.12
python3-cantools: upgrade 37.1.2 -> 37.2.0
python3-eth-typing: upgrade 3.1.0 -> 3.2.0
python3-fasteners: upgrade 0.17.3 -> 0.18
python3-flask-socketio: upgrade 5.3.0 -> 5.3.1
python3-google-api-core: upgrade 2.10.0 -> 2.10.1
python3-google-api-python-client: upgrade 2.60.0 -> 2.61.0
python3-grpcio-tools: upgrade 1.48.1 -> 1.49.0
python3-grpcio: upgrade 1.48.1 -> 1.49.0
python3-jsonrpcserver: upgrade 5.0.8 -> 5.0.9
python3-protobuf: upgrade 4.21.5 -> 4.21.6
xfstests: upgrade 2022.08.21 -> 2022.09.04
gnome-font-viewer: upgrade 42.0 -> 43.0
tracker: upgrade 3.3.3 -> 3.4.0
yelp-xsl: upgrade 42.0 -> 42.1
dnsmasq: upgrade 2.86 -> 2.87
unbound: upgrade 1.16.2 -> 1.16.3
cairomm-1.16: upgrade 1.16.1 -> 1.16.2
ctags: upgrade 5.9.20220911.0 -> 5.9.20220925.0
libgee: upgrade 0.20.5 -> 0.20.6
libpeas: upgrade 1.32.0 -> 1.34.0
opencl-headers: upgrade 2022.05.18 -> 2022.09.23
pangomm-2.48: upgrade 2.50.0 -> 2.50.1
thrift: upgrade 0.16.0 -> 0.17.0
zabbix: upgrade 6.2.2 -> 6.2.3
python3-djangorestframework: upgrade 3.13.1 -> 3.14.0
python3-google-api-python-client: upgrade 2.61.0 -> 2.62.0
python3-google-auth: upgrade 2.11.0 -> 2.11.1
python3-grpcio-tools: upgrade 1.49.0 -> 1.49.1
python3-grpcio: upgrade 1.49.0 -> 1.49.1
python3-h11: upgrade 0.13.0 -> 0.14.0
python3-humanize: upgrade 4.3.0 -> 4.4.0
python3-langtable: upgrade 0.0.59 -> 0.0.60
python3-ldap: upgrade 3.4.2 -> 3.4.3
python3-pandas: upgrade 1.4.4 -> 1.5.0
python3-path: upgrade 16.4.0 -> 16.5.0
python3-xmlschema: upgrade 2.0.4 -> 2.1.0
zhengrq.fnst (8):
python3-astroid: upgrade 2.12.2 -> 2.12.4
python3-flatbuffers: upgrade 2.0.6 -> 2.0.7
python3-flask-socketio: upgrade 5.2.0 -> 5.3.0
python3-gnupg: upgrade 0.4.9 -> 0.5.0
python3-natsort: upgrade 8.1.0 -> 8.2.0
python3-sympy: upgrade 1.10.1 -> 1.11.1
python3-pandas: upgrade 1.4.3 -> 1.4.4
python3-parsimonious: upgrade 0.9.0 -> 0.10.0
zhengruoqin (15):
wolfssl: upgrade 5.4.0 -> 5.5.0
ser2net: upgrade 4.3.7 -> 4.3.8
tree: upgrade 2.0.3 -> 2.0.4
xorgxrdp: upgrade 0.2.18 -> 0.9.19
python3-zeroconf: upgrade 0.39.0 -> 0.39.1
smarty: upgrade 4.2.0 -> 4.2.1
python3-pycocotools: upgrade 2.0.4 -> 2.0.5
python3-pyproj: upgrade 3.3.1 -> 3.4.0
python3-pyzmq: upgrade 23.2.1 -> 24.0.0
python3-regex: upgrade 2022.8.17 -> 2022.9.13
python3-pyjwt: upgrade 2.4.0 -> 2.5.0
python3-pyscaffold: upgrade 4.3 -> 4.3.1
python3-pyzmq: upgrade 24.0.0 -> 24.0.1
python3-sqlparse: upgrade 0.4.2 -> 0.4.3
python3-web3: upgrade 5.30.0 -> 5.31.0
meta-security: 10fdc2b13a..824d2762f6:
Armin Kuster (4):
suricata: fix compile issue
cryptmount: fix systemd service install
update sssd to 2.7.4
update chipsec to 1.8.8
poky: 9b1db65e7d..5200799866:
Alejandro Hernandez Samaniego (1):
rootfs.py: dont try to list installed packages for baremetal images
Alexander Kanavin (15):
selftest/cases/bblayers.py: build python3-jsonschema only once
oe-setup-builddir: do not suggest local.conf as a source of examples
init-system-helpers: exclude experimental tags from version check
ref-manual: correct the location of default configuration template
dev-manual: common-tasks.rst: drop the output of 'bitbake-layers --help'
common-tasks.rst: describe the layer setup tooling
dev-manual: common-tasks.rst: describe the newly added layer setup and template config commands
dev-manual: common-tasks.rst: rewrite the section about configuration templates
github-releases: add a class that consolidates version checks
meta: fix version checks in all github recipes using the github-releases class
virglrenderer: use https for fetching from gitlab
local.conf.sample: correct the location of public hashserv
scripts/oe-setup-builddir: do not read TEMPLATECONF from templateconf.cfg
rpm: update 4.18.0-rc1 -> 4.18.0-release
tzdata: update to 2022d
Alexandre Belloni (2):
runqemu: display host uptime when starting
oeqa/runtime/dnf: fix typo
Andrei Gherzan (6):
depmodwrapper-cross: Take into consideration kernel package name
kernel.bbclass: Pass the kernel package name to depmodwrapper
kernel-module-split.bbclass: Pass the kernel package name to depmodwrapper
rootfs.py: Run depmod(wrapper) against each compiled kernel
rootfs.py: Drop FAKEROOT support in exec function
grub: Allow build on armv7ve/a with softfp
Aryaman Gupta (1):
bitbake: doc: bitbake-user-manual: Add definition for BB_PRESSURE_MAX variables
Bob Henz (1):
systemd-systemctl: Fix WantedBy processing
Bruce Ashfield (11):
linux-yocto/5.15: update to v5.15.63
linux-yocto/5.19: update to v5.19.5
linux-yocto/5.19: update to v5.19.7
linux-yocto/5.15: update to v5.15.65
kern-tools: fix queue processing in relative TOPDIR configurations
kern-tools: allow 'y' or 'm' to avoid config audit warnings
linux-yocto/5.19: update to v5.19.9
linux-yocto/5.15: update to v5.15.68
linux-yocto/5.19: cfg: fix ACPI warnings for -tiny
linux-yocto/5.15: cfg: fix ACPI warnings for -tiny
linux-yocto/5.19: fix gcc-11 warning
Changhyeok Bae (2):
iproute2: Unset CLEANBROKEN
iproute2: merge .inc into .bb
Changqing Li (1):
parselogs.py: ignore systemd-logind warning message
Chen Qi (2):
shadow-securetty: allow ttyS4 for amd-snowyowl-64
useradd-example: do not use unsupported clear text password
Daniel Gomez (3):
rootfs-postcommands: Remove dropbear inconsistent comment
gtk-icon-cache: Fix GTKIC_CMD if-else condition
dropbear: Add enable-x11-forwarding PACKAGECONFIG option
Daniel McGregor (2):
coreutils: add openssl PACKAGECONFIG
gcc: set the default target arch
Denys Dmytriyenko (1):
glibc-locale: explicitly remove empty dirs in ${libdir}
Dmitry Baryshkov (2):
linux-firmware: upgrade 20220708 -> 20220913
linux-firmware: package new Qualcomm firmware
Etienne Cordonnier (2):
python3: add PACKAGECONFIG[editline]
opkg: add option for zstd support
Fabio Estevam (1):
README.hardware.md: Fix the tftp example
Florin Diaconescu (1):
expat: upgrade 2.4.8 -> 2.4.9
He Zhe (2):
lttng-tools: Disable on qemuriscv32
lttng-tools: Disable on riscv32
Johan Korsnes (1):
ref-manual: variables: document KERNEL_IMAGETYPES
John Edward Broadbent (1):
externalsrc: git submodule--helper list unsupported
Jose Quaresma (2):
bitbake: lib/bb: warning when the debug message is invalid
bitbake: fetch2/crate fixup c212b0f3 loglevel
Joshua Watt (2):
oeqa: qemurunner: Report UNIX Epoch timestamp on login
bitbake: bitbake: Fix a few more logger debug() calls
Kai Kang (2):
binutils: handle symlink files for gprofng
binutils: another way to clear GPROFNG_ALTS for clang and musl
Khem Raj (20):
autoconf: Update K & R stype functions
webkitgtk: Update to 2.6.37
rust: Use variable to specify extra tools to install
boost: Refrain bjam from poking into host includes
gobject-introspection: Do not hardcode objdump name
binutils-cross-canadian: Do not package gprofng.rc
webkitgtk: Fix build on 32bit arm
python3-lxml: Add recipe
bitbake.conf: Define TC_CXX_RUNTIME
rust: Use libc++ runtime when using clang with llvm runtime
glibc: Upgrade to tip of 2.36 branch
binutils: Ignore CVE-2022-38126 CVE-2022-38127
inetutils: Fix remote DoS vulnerability in inetutils-telnetd
curl: Add missing perl modules in ptest rdepends
elfutils: Enable ptests on musl targets
grub: Apply backports to fix build with clang on x86
apt: Fix type mismatches and ptest builds
linux-yocto: Enable mdio for qemu
gcompat: Add __getauxval wrapper needed on aarch64
ref-manual: Define TC_CXX_RUNTIME
Konrad Weihmann (1):
python3-idna: migrate to flit-core
Kristian Amlie (1):
externalsrc: Don't wipe out src dir when EXPORT_FUNCTIONS is used.
Leon Anavi (1):
python3-manifest.json: Add zoneinfo
Markus Volk (5):
squashfs-tools: build with lzo support
libsdl2: update 2.0.22 -> 2.24.0
libdrm: upgrade 2.4.112 -> 2.4.113
mesa: upgrade 22.1.6 -> 22.2.0
virglrenderer: upgrade 0.9.1 -> 0.10.3
Martin Jansa (3):
webkitgtk: fix gstreamer include paths
libxml2: Port gentest.py to Python-3
create-pull-request: don't switch the git remote protocol to git://
Mattias Jernberg (1):
bitbake: utils: Add enable_loopback_networking()
Michael Opdenacker (8):
bitbake: bitbake-user-manual: mention pydevshell in OE
dev-manual: common-tasks.rst: refer to Python functions in BitBake manual
ref-manual: features.rst: add missing default distro features
ref-manual: variables.rst: remove BBPATH
ref-manual: structure.rst: add reference to the contents of the build directory
ref-manual: structure.rst: improve information about build/cache/
ref-manual: variables.rst: correct templateconf.cfg file name
ref-manual: structure.rst: add more subsection levels
Mikko Rapeli (7):
u-boot: switch from append to += in SRC_URI
glibc-tests: use += instead of :append
go-native: switch from SRC_URI:append to SRC_URI +=
python3-rfc3986-validator: switch from SRC_URI:append to SRC_URI +=
linux-libc-headers: switch from SRC_URI:append to SRC_URI +=
common-tasks.rst: remove SRC_URI:append from examples
kernel-dev/common.rst: remove SRC_URI:append from examples
Mingli Yu (1):
busybox: add devmem 128-bit support
Otavio Salvador (2):
bitbake: toaster: fix kirkstone version
rust-hello-world: move to recipes-extended
Pascal Bach (1):
bitbake: fetch2/ssh.py: fix checkstatus
Paulo Neves (2):
watchdog: Remove unneeded tirpc dependency
bitbake: fetch2: Remove unneeded conditional
Pavel Zhukov (1):
core-image.bbclass: Exclude openssh complementary packages
Peter Bergin (1):
rootfs-postcommands.bbclass: avoid moving ssh host keys if etc is writable
Peter Kjellerstedt (6):
cairo: Adapt the license information based on what is being built
oe-setup-builddir: Correct when validation of the templates dir is run
oe-setup-builddir: Simplify error handling
oe-setup-builddir: Avoid shellcheck warnings
oe-setup-builddir: Keep templateconf.cfg relative if $TEMPLATECONF is
oe-setup-builddir: Always update templateconf.cfg
Petr Vorel (1):
ltp: Update list of tests not buildable on musl
Richard Purdie (54):
bitbake: wget: Avoid bad checksum race issues
bitbake: asyncrpc/client: Fix unix domain socket chdir race issues
build-appliance-image: Update to master head revision
sstate: Fix sstate file mirroring checksum issue
bitbake: fetch2: Ensure mirror tarballs don't enforce checksum
qemu: Upgrade 7.0.0 -> 7.1.0
qemurunner: Update to match qmp changes
build-appliance-image: Update to master head revision
vim: Upgrade 9.0.0341 -> 9.0.0453
selftest/qemurunner: Work around possible control character contamination
oetest: Drop unused variable
oetest: Drop getResults usage from oeRuntimeTest
oeqa/utils/decorators: Drop unused decorators
oeqa/utils/decorators: Drop getResults
autoconf-archive: upgrade 2022.02.11 -> 2022.09.03
ofono: upgrade 1.34 -> 2.0
ccache: upgrade 4.6.2 -> 4.6.3
btrfs-tools: upgrade 5.19 -> 5.19.1
dnf: upgrade 4.13.0 -> 4.14.0
git: upgrade 2.37.2 -> 2.37.3
ell: upgrade 0.52 -> 0.53
file: upgrade 5.42 -> 5.43
ninja: upgrade 1.11.0 -> 1.11.1
libcomps: upgrade 0.1.18 -> 0.1.19
python3-hatchling: upgrade 1.8.1 -> 1.9.0
meson: upgrade 0.63.1 -> 0.63.2
python3-idna: upgrade 3.3 -> 3.4
librepo: upgrade 1.14.4 -> 1.14.5
python3-hypothesis: upgrade 6.46.11 -> 6.54.5
python3-numpy: upgrade 1.23.2 -> 1.23.3
libdnf: upgrade 0.68.0 -> 0.69.0
python3-psutil: upgrade 5.9.1 -> 5.9.2
ffmpeg: upgrade 5.1 -> 5.1.1
repo: upgrade 2.29.1 -> 2.29.2
nghttp2: upgrade 1.48.0 -> 1.49.0
libjitterentropy: upgrade 3.4.0 -> 3.4.1
sqlite3: upgrade 3.39.2 -> 3.39.3
diffoscope: upgrade 220 -> 221
python3-certifi: upgrade 2022.6.15 -> 2022.9.14
libpng: upgrade 1.6.37 -> 1.6.38
numactl: upgrade 2.0.14 -> 2.0.15
rpm: Upgrade 4.17.1 -> 4.18rc1
perf: Fix for recent kernel upgrades
oeqa/runtime/virgl: Update test to match new mesa version
vim: Upgrade 9.0.453 -> 9.0.541
vim: Upgrade 9.0.0541 -> 9.0.0598
qemu: Add patch to address arm qemu upgrade issues
layer.conf: Update to use langdale as the core layer name
poky: Update to 4.1 version
poky: Update to match poky version numbers
bitbake: bitbake: Bump to version 2.2.0
build-appliance-image: Update to master head revision
go: Fix reproducibility failures
build-appliance-image: Update to master head revision
Robert Joslyn (6):
xorg-lib-common: Add variable to set tarball type
libxfont2: Update 2.0.5 to 2.0.6
libxau: Update 1.0.9 to 1.0.10
libfontenc: Update 1.1.4 to 1.1.6
flac: Update 1.3.4 to 1.4.0
tzdata: Update from 2022b to 2022c
Ross Burton (16):
meta-selftest/poison: improve sysroot poisoning test case
gcc-cross: pass -Werror=poison-system-directories to compiler stages
gcc: remove obsolete 0012-export-CPP.patch
xmlto: remove redundant patches
tiff: backport fix for CVE-2022-2953
gcc: remove obsolete poisoned calloc workaround
gcc: remove obsolete MinGW patch
oeqa/selftest/debuginfod: don't re-use the database
libgcrypt: disable bench-slope test case
libxml2: don't override XML_CATALOG_FILES in xmllint wrapper if already set
glibc: mark a CVE where we have merged the fix
qemu: re-add the fix for CVE-2022-1050
qemu: fix CVE-2022-2962
dnf: add dummy packages for testing
oeqa/runtime/dnf: use dnf-test packages
Revert "wic/plugins/images/direct: Allow changes in fstab on rootfs"
Ruiqiang Hao (1):
tune-neoversen2: support tune-neoversen2 base on armv9a
Samuli Piippo (2):
Revert "gcc-cross-canadian: Add symlink to real-ld alongside other symlinks"
gcc-cross-canadian: add default plugin linker
Stefano Babic (1):
libubootenv: upgrade 0.3.2 -> 0.3.3
Sundeep KOKKONDA (1):
rust-cross-canadian: Fix for the issue caused by using sdk shell
Teoh Jay Shen (1):
bind: upgrade 9.18.6 -> 9.18.7
Tom Hochstein (2):
cmake: Fix CMAKE_SYSTEM_PROCESSOR setting for SDK
connman: Drop redundant nfsroot handling
Ulrich Ölmann (5):
icecc.bbclass: fix typos
icecc.bbclass: delete 'rm' command
manuals: fix paths to default templates & clean up whitespaces
icecc.bbclass: fix filename of recipe in comment
manuals: fix typos in the context of 'icecc' & clean up whitespaces
Vyacheslav Yurkov (5):
oeqa/selftest: drop image_feature test from overlayfs
classes: Update overlayfs classes to use new bitbake functionality
files: overlayfs-etc: refactor preinit template
classes: files: Extend overlayfs-etc class
oeqa/selftest: Add lower layer test for overlayfs-etc
niko.mauno@vaisala.com (2):
systemd: Add 'no-dns-fallback' PACKAGECONFIG option
systemd: Fix unwritable /var/lock when no sysvinit handling
pgowda (4):
rust: Add linker configurations for cross compilation
rust: Enable verbose-tests to get the test results in readable format
binutils : CVE-2022-38533
binutils : Fix CVE-2022-38128
wangmy (9):
cracklib: upgrade 2.9.7 -> 2.9.8
kmscube: upgrade to latest revision
piglit: upgrade to latest revision
python3-dtschema: upgrade 2022.8.1 -> 2022.8.3
python3-mako: upgrade 1.2.1 -> 1.2.2
python3-pathspec: upgrade 0.9.0 -> 0.10.1
python3-pytest: upgrade 7.1.2 -> 7.1.3
vala: upgrade 0.56.2 -> 0.56.3
less: upgrade 600 -> 608
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I1705b78d8a5ef5762fe770a69ed9b866fac52ccf
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index 0b9911e..890ba5f 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -173,14 +173,8 @@
bb.utils.rename(self.image_rootfs + '-orig', self.image_rootfs)
def _exec_shell_cmd(self, cmd):
- fakerootcmd = self.d.getVar('FAKEROOT')
- if fakerootcmd is not None:
- exec_cmd = [fakerootcmd, cmd]
- else:
- exec_cmd = cmd
-
try:
- subprocess.check_output(exec_cmd, stderr=subprocess.STDOUT)
+ subprocess.check_output(cmd, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
return("Command '%s' returned %d:\n%s" % (e.cmd, e.returncode, e.output))
@@ -325,19 +319,29 @@
bb.note("No Kernel Modules found, not running depmod")
return
- kernel_abi_ver_file = oe.path.join(self.d.getVar('PKGDATA_DIR'), "kernel-depmod",
- 'kernel-abiversion')
- if not os.path.exists(kernel_abi_ver_file):
- bb.fatal("No kernel-abiversion file found (%s), cannot run depmod, aborting" % kernel_abi_ver_file)
+ pkgdatadir = self.d.getVar('PKGDATA_DIR')
- with open(kernel_abi_ver_file) as f:
- kernel_ver = f.read().strip(' \n')
+ # PKGDATA_DIR can include multiple kernels so we run depmod for each
+ # one of them.
+ for direntry in os.listdir(pkgdatadir):
+ match = re.match('(.*)-depmod', direntry)
+ if not match:
+ continue
+ kernel_package_name = match.group(1)
- versioned_modules_dir = os.path.join(self.image_rootfs, modules_dir, kernel_ver)
+ kernel_abi_ver_file = oe.path.join(pkgdatadir, direntry, kernel_package_name + '-abiversion')
+ if not os.path.exists(kernel_abi_ver_file):
+ bb.fatal("No kernel-abiversion file found (%s), cannot run depmod, aborting" % kernel_abi_ver_file)
- bb.utils.mkdirhier(versioned_modules_dir)
+ with open(kernel_abi_ver_file) as f:
+ kernel_ver = f.read().strip(' \n')
- self._exec_shell_cmd(['depmodwrapper', '-a', '-b', self.image_rootfs, kernel_ver])
+ versioned_modules_dir = os.path.join(self.image_rootfs, modules_dir, kernel_ver)
+
+ bb.utils.mkdirhier(versioned_modules_dir)
+
+ bb.note("Running depmodwrapper for %s ..." % versioned_modules_dir)
+ self._exec_shell_cmd(['depmodwrapper', '-a', '-b', self.image_rootfs, kernel_ver, kernel_package_name])
"""
Create devfs:
@@ -386,6 +390,10 @@
def image_list_installed_packages(d, rootfs_dir=None):
+ # Theres no rootfs for baremetal images
+ if bb.data.inherits_class('baremetal-image', d):
+ return ""
+
if not rootfs_dir:
rootfs_dir = d.getVar('IMAGE_ROOTFS')
diff --git a/poky/meta/lib/oeqa/oetest.py b/poky/meta/lib/oeqa/oetest.py
index 9c84466..cf417db 100644
--- a/poky/meta/lib/oeqa/oetest.py
+++ b/poky/meta/lib/oeqa/oetest.py
@@ -28,7 +28,7 @@
import oeqa.sdkext
except ImportError:
pass
-from oeqa.utils.decorators import LogResults, gettag, getResults
+from oeqa.utils.decorators import LogResults, gettag
logger = logging.getLogger("BitBake")
@@ -57,7 +57,6 @@
@LogResults
class oeTest(unittest.TestCase):
- pscmd = "ps"
longMessage = True
@classmethod
@@ -110,20 +109,6 @@
def tearDown(self):
# Uninstall packages in the DUT
self.tc.install_uninstall_packages(self.id(), False)
-
- res = getResults()
- # If a test fails or there is an exception dump
- # for QemuTarget only
- if (type(self.target).__name__ == "QemuTarget" and
- (self.id() in res.getErrorList() or
- self.id() in res.getFailList())):
- self.tc.host_dumper.create_dir(self._testMethodName)
- self.tc.host_dumper.dump_host()
- self.target.target_dumper.dump_target(
- self.tc.host_dumper.dump_dir)
- print ("%s dump data stored in %s" % (self._testMethodName,
- self.tc.host_dumper.dump_dir))
-
self.tearDownLocal()
# Method to be run after tearDown and implemented by child classes
@@ -398,11 +383,6 @@
def _get_test_suites_required(self):
return [t for t in self.d.getVar("TEST_SUITES").split() if t != "auto"]
- def loadTests(self):
- super(RuntimeTestContext, self).loadTests()
- if oeTest.hasPackage("procps"):
- oeRuntimeTest.pscmd = "ps -ef"
-
def extract_packages(self):
"""
Find packages that will be needed during runtime.
diff --git a/poky/meta/lib/oeqa/runtime/cases/dnf.py b/poky/meta/lib/oeqa/runtime/cases/dnf.py
index a8e23e5..410d456 100644
--- a/poky/meta/lib/oeqa/runtime/cases/dnf.py
+++ b/poky/meta/lib/oeqa/runtime/cases/dnf.py
@@ -75,48 +75,43 @@
def test_dnf_makecache(self):
self.dnf_with_repo('makecache')
-
-# Does not work when repo is specified on the command line
-# @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
-# def test_dnf_repolist(self):
-# self.dnf_with_repo('repolist')
-
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
def test_dnf_repoinfo(self):
self.dnf_with_repo('repoinfo')
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
def test_dnf_install(self):
- output = self.dnf_with_repo('list run-postinsts-dev')
- if 'Installed Packages' in output:
- self.dnf_with_repo('remove -y run-postinsts-dev')
- self.dnf_with_repo('install -y run-postinsts-dev')
+ self.dnf_with_repo('remove -y dnf-test-*')
+ self.dnf_with_repo('install -y dnf-test-dep')
@OETestDepends(['dnf.DnfRepoTest.test_dnf_install'])
def test_dnf_install_dependency(self):
- self.dnf_with_repo('remove -y run-postinsts')
- self.dnf_with_repo('install -y run-postinsts-dev')
+ self.dnf_with_repo('remove -y dnf-test-*')
+ self.dnf_with_repo('install -y dnf-test-main')
+ output = self.dnf('list --installed dnf-test-*')
+ self.assertIn("dnf-test-main.", output)
+ self.assertIn("dnf-test-dep.", output)
@OETestDepends(['dnf.DnfRepoTest.test_dnf_install_dependency'])
def test_dnf_install_from_disk(self):
- self.dnf_with_repo('remove -y run-postinsts-dev')
- self.dnf_with_repo('install -y --downloadonly run-postinsts-dev')
- status, output = self.target.run('find /var/cache/dnf -name run-postinsts-dev*rpm', 1500)
+ self.dnf_with_repo('remove -y dnf-test-dep')
+ self.dnf_with_repo('install -y --downloadonly dnf-test-dep')
+ status, output = self.target.run('find /var/cache/dnf -name dnf-test-dep*rpm')
self.assertEqual(status, 0, output)
self.dnf_with_repo('install -y %s' % output)
@OETestDepends(['dnf.DnfRepoTest.test_dnf_install_from_disk'])
def test_dnf_install_from_http(self):
- output = subprocess.check_output('%s %s -name run-postinsts-dev*' % (bb.utils.which(os.getenv('PATH'), "find"),
+ output = subprocess.check_output('%s %s -name dnf-test-dep*' % (bb.utils.which(os.getenv('PATH'), "find"),
os.path.join(self.tc.td['WORKDIR'], 'oe-testimage-repo')), shell=True).decode("utf-8")
rpm_path = output.split("/")[-2] + "/" + output.split("/")[-1]
url = 'http://%s:%s/%s' %(self.target.server_ip, self.repo_server.port, rpm_path)
- self.dnf_with_repo('remove -y run-postinsts-dev')
+ self.dnf_with_repo('remove -y dnf-test-dep')
self.dnf_with_repo('install -y %s' % url)
@OETestDepends(['dnf.DnfRepoTest.test_dnf_install'])
def test_dnf_reinstall(self):
- self.dnf_with_repo('reinstall -y run-postinsts-dev')
+ self.dnf_with_repo('reinstall -y dnf-test-main')
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
@skipIfInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when not enable usrmerge')
@@ -139,14 +134,14 @@
self.target.run('cp -r /etc/dnf %s/etc' % rootpath, 1500)
self.target.run('cp /bin/sh %s/bin' % rootpath, 1500)
self.target.run('mount -o bind /dev %s/dev/' % rootpath, 1500)
- self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox run-postinsts' % rootpath)
+ self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox' % rootpath)
status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500)
self.assertEqual(0, status, output)
status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500)
self.assertEqual(0, status, output)
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
- @skipIfNotInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when enable usrmege')
+ @skipIfNotInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when enable usrmerge')
@OEHasPackage('busybox')
def test_dnf_installroot_usrmerge(self):
rootpath = '/home/root/chroot/test'
@@ -171,7 +166,7 @@
self.target.run('cp -r /etc/dnf %s/etc' % rootpath, 1500)
self.target.run('cp /bin/sh %s/bin' % rootpath, 1500)
self.target.run('mount -o bind /dev %s/dev/' % rootpath, 1500)
- self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox run-postinsts' % rootpath)
+ self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox' % rootpath)
status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500)
self.assertEqual(0, status, output)
status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500)
@@ -179,15 +174,8 @@
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
def test_dnf_exclude(self):
- excludepkg = 'curl-dev'
- self.dnf_with_repo('install -y curl*')
- self.dnf('list %s' % excludepkg, 0)
- #Avoid remove dependencies to skip some errors on different archs and images
- self.dnf_with_repo('remove --setopt=clean_requirements_on_remove=0 -y curl*')
- #check curl-dev is not installed adter removing all curl occurrences
- status, output = self.target.run('dnf list --installed | grep %s'% excludepkg, 1500)
- self.assertEqual(1, status, "%s was not removed, is listed as installed"%excludepkg)
- self.dnf_with_repo('install -y --exclude=%s --exclude=curl-staticdev curl*' % excludepkg)
- #check curl-dev is not installed after being excluded
- status, output = self.target.run('dnf list --installed | grep %s'% excludepkg , 1500)
- self.assertEqual(1, status, "%s was not excluded, is listed as installed"%excludepkg)
+ self.dnf_with_repo('remove -y dnf-test-*')
+ self.dnf_with_repo('install -y --exclude=dnf-test-dep dnf-test-*')
+ output = self.dnf('list --installed dnf-test-*')
+ self.assertIn("dnf-test-main.", output)
+ self.assertNotIn("dnf-test-dev.", output)
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index e16c230..e67d375 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -67,6 +67,8 @@
"was skipped because of a failed condition check",
"was skipped because all trigger condition checks failed",
"xf86OpenConsole: Switching VT failed",
+ "Failed to read LoaderConfigTimeoutOneShot variable, ignoring: Operation not supported",
+ "Failed to read LoaderEntryOneShot variable, ignoring: Operation not supported",
]
video_related = [
diff --git a/poky/meta/lib/oeqa/selftest/cases/bblayers.py b/poky/meta/lib/oeqa/selftest/cases/bblayers.py
index c6bd5a1..b048948 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bblayers.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bblayers.py
@@ -14,7 +14,9 @@
class BitbakeLayers(OESelftestTestCase):
- def setUpLocal(self):
+ @classmethod
+ def setUpClass(cls):
+ super(BitbakeLayers, cls).setUpClass()
bitbake("python3-jsonschema-native")
bitbake("-c addto_recipe_sysroot python3-jsonschema-native")
diff --git a/poky/meta/lib/oeqa/selftest/cases/debuginfod.py b/poky/meta/lib/oeqa/selftest/cases/debuginfod.py
index 01359ec..3c40119 100644
--- a/poky/meta/lib/oeqa/selftest/cases/debuginfod.py
+++ b/poky/meta/lib/oeqa/selftest/cases/debuginfod.py
@@ -10,16 +10,24 @@
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake, get_bb_var, runqemu
+
class Debuginfod(OESelftestTestCase):
def test_debuginfod(self):
- self.write_config("""
+ self.write_config(
+ """
DISTRO_FEATURES:append = " debuginfod"
CORE_IMAGE_EXTRA_INSTALL += "elfutils"
- """)
+ """
+ )
bitbake("core-image-minimal elfutils-native:do_addto_recipe_sysroot")
native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "elfutils-native")
- cmd = [os.path.join(native_sysroot, "usr", "bin", "debuginfod"), "--verbose", get_bb_var("DEPLOY_DIR")]
+ cmd = [
+ os.path.join(native_sysroot, "usr", "bin", "debuginfod"),
+ "--verbose",
+ "--database=:memory:",
+ get_bb_var("DEPLOY_DIR"),
+ ]
for format in get_bb_var("PACKAGE_CLASSES").split():
if format == "package_deb":
cmd.append("--scan-deb-dir")
@@ -36,7 +44,10 @@
debuginfod = subprocess.Popen(cmd)
with runqemu("core-image-minimal", runqemuparams="nographic") as qemu:
- cmd = "DEBUGINFOD_URLS=http://%s:%d/ debuginfod-find debuginfo /usr/bin/debuginfod" % (qemu.server_ip, port)
+ cmd = (
+ "DEBUGINFOD_URLS=http://%s:%d/ debuginfod-find debuginfo /usr/bin/debuginfod"
+ % (qemu.server_ip, port)
+ )
status, output = qemu.run_serial(cmd)
# This should be more comprehensive
self.assertIn("/.cache/debuginfod_client/", output)
diff --git a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
index bff22f2..57a8c8b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
+++ b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
@@ -333,24 +333,14 @@
self.assertTrue("overlayfs-etc" in res.output, msg=res.output)
self.assertTrue("package-management" in res.output, msg=res.output)
- def test_image_feature_is_missing_class_included(self):
- configAppend = """
-INHERIT += "overlayfs-etc"
-"""
- self.run_check_image_feature(configAppend)
-
def test_image_feature_is_missing(self):
- self.run_check_image_feature()
-
- def run_check_image_feature(self, appendToConfig=""):
"""
Summary: Overlayfs-etc class is not applied when image feature is not set
- even if we inherit it directly,
Expected: Image is created successfully but /etc is not an overlay
Author: Vyacheslav Yurkov <uvv.mail@gmail.com>
"""
- config = f"""
+ config = """
DISTRO_FEATURES:append = " systemd"
# Use systemd as init manager
@@ -366,7 +356,6 @@
# Image configuration for overlayfs-etc
OVERLAYFS_ETC_MOUNT_POINT = "/data"
OVERLAYFS_ETC_DEVICE = "/dev/sda3"
-{appendToConfig}
"""
self.write_config(config)
@@ -392,7 +381,84 @@
Author: Vyacheslav Yurkov <uvv.mail@gmail.com>
"""
- config = """
+ config = self.get_working_config()
+
+ args = {
+ 'OVERLAYFS_INIT_OPTION': "" if origInit else "init=/sbin/preinit",
+ 'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': int(origInit == True)
+ }
+
+ self.write_config(config.format(**args))
+
+ bitbake('core-image-minimal')
+ testFile = "/etc/my-test-data"
+
+ with runqemu('core-image-minimal', image_fstype='wic', discard_writes=False) as qemu:
+ status, output = qemu.run_serial("/bin/mount")
+
+ line = getline_qemu(output, "/dev/sda3")
+ self.assertTrue("/data" in output, msg=output)
+
+ line = getline_qemu(output, "upperdir=/data/overlay-etc/upper")
+ self.assertTrue(line and line.startswith("/data/overlay-etc/upper on /etc type overlay"), msg=output)
+
+ # check that lower layer is not available
+ status, output = qemu.run_serial("ls -1 /data/overlay-etc/lower")
+ line = getline_qemu(output, "No such file or directory")
+ self.assertTrue(line, msg=output)
+
+ status, output = qemu.run_serial("touch " + testFile)
+ status, output = qemu.run_serial("sync")
+ status, output = qemu.run_serial("ls -1 " + testFile)
+ line = getline_qemu(output, testFile)
+ self.assertTrue(line and line.startswith(testFile), msg=output)
+
+ # Check that file exists in /etc after reboot
+ with runqemu('core-image-minimal', image_fstype='wic') as qemu:
+ status, output = qemu.run_serial("ls -1 " + testFile)
+ line = getline_qemu(output, testFile)
+ self.assertTrue(line and line.startswith(testFile), msg=output)
+
+ def test_lower_layer_access(self):
+ """
+ Summary: Test that lower layer of /etc is available read-only when configured
+ Expected: Can't write to lower layer. The files on lower and upper different after
+ modification
+ Author: Vyacheslav Yurkov <uvv.mail@gmail.com>
+ """
+
+ config = self.get_working_config()
+
+ configLower = """
+OVERLAYFS_ETC_EXPOSE_LOWER = "1"
+IMAGE_INSTALL:append = " overlayfs-user"
+"""
+ testFile = "lower-layer-test.txt"
+
+ args = {
+ 'OVERLAYFS_INIT_OPTION': "",
+ 'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': 1
+ }
+
+ self.write_config(config.format(**args))
+
+ self.append_config(configLower)
+ bitbake('core-image-minimal')
+
+ with runqemu('core-image-minimal', image_fstype='wic') as qemu:
+ status, output = qemu.run_serial("echo \"Modified in upper\" > /etc/" + testFile)
+ status, output = qemu.run_serial("diff /etc/" + testFile + " /data/overlay-etc/lower/" + testFile)
+ line = getline_qemu(output, "Modified in upper")
+ self.assertTrue(line, msg=output)
+ line = getline_qemu(output, "Original file")
+ self.assertTrue(line, msg=output)
+
+ status, output = qemu.run_serial("touch /data/overlay-etc/lower/ro-test.txt")
+ line = getline_qemu(output, "Read-only file system")
+ self.assertTrue(line, msg=output)
+
+ def get_working_config(self):
+ return """
DISTRO_FEATURES:append = " systemd"
# Use systemd as init manager
@@ -414,34 +480,3 @@
OVERLAYFS_ETC_DEVICE = "/dev/sda3"
OVERLAYFS_ETC_USE_ORIG_INIT_NAME = "{OVERLAYFS_ETC_USE_ORIG_INIT_NAME}"
"""
-
- args = {
- 'OVERLAYFS_INIT_OPTION': "" if origInit else "init=/sbin/preinit",
- 'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': int(origInit == True)
- }
-
- self.write_config(config.format(**args))
-
- bitbake('core-image-minimal')
- testFile = "/etc/my-test-data"
-
- with runqemu('core-image-minimal', image_fstype='wic', discard_writes=False) as qemu:
- status, output = qemu.run_serial("/bin/mount")
-
- line = getline_qemu(output, "/dev/sda3")
- self.assertTrue("/data" in output, msg=output)
-
- line = getline_qemu(output, "upperdir=/data/overlay-etc/upper")
- self.assertTrue(line and line.startswith("/data/overlay-etc/upper on /etc type overlay"), msg=output)
-
- status, output = qemu.run_serial("touch " + testFile)
- status, output = qemu.run_serial("sync")
- status, output = qemu.run_serial("ls -1 " + testFile)
- line = getline_qemu(output, testFile)
- self.assertTrue(line and line.startswith(testFile), msg=output)
-
- # Check that file exists in /etc after reboot
- with runqemu('core-image-minimal', image_fstype='wic') as qemu:
- status, output = qemu.run_serial("ls -1 " + testFile)
- line = getline_qemu(output, testFile)
- self.assertTrue(line and line.startswith(testFile), msg=output)
diff --git a/poky/meta/lib/oeqa/utils/decorators.py b/poky/meta/lib/oeqa/utils/decorators.py
index aabf411..ea90164 100644
--- a/poky/meta/lib/oeqa/utils/decorators.py
+++ b/poky/meta/lib/oeqa/utils/decorators.py
@@ -16,91 +16,6 @@
import signal
from functools import wraps
-#get the "result" object from one of the upper frames provided that one of these upper frames is a unittest.case frame
-class getResults(object):
- def __init__(self):
- #dynamically determine the unittest.case frame and use it to get the name of the test method
- ident = threading.current_thread().ident
- upperf = sys._current_frames()[ident]
- while (upperf.f_globals['__name__'] != 'unittest.case'):
- upperf = upperf.f_back
-
- def handleList(items):
- ret = []
- # items is a list of tuples, (test, failure) or (_ErrorHandler(), Exception())
- for i in items:
- s = i[0].id()
- #Handle the _ErrorHolder objects from skipModule failures
- if "setUpModule (" in s:
- ret.append(s.replace("setUpModule (", "").replace(")",""))
- else:
- ret.append(s)
- # Append also the test without the full path
- testname = s.split('.')[-1]
- if testname:
- ret.append(testname)
- return ret
- self.faillist = handleList(upperf.f_locals['result'].failures)
- self.errorlist = handleList(upperf.f_locals['result'].errors)
- self.skiplist = handleList(upperf.f_locals['result'].skipped)
-
- def getFailList(self):
- return self.faillist
-
- def getErrorList(self):
- return self.errorlist
-
- def getSkipList(self):
- return self.skiplist
-
-class skipIfFailure(object):
-
- def __init__(self,testcase):
- self.testcase = testcase
-
- def __call__(self,f):
- @wraps(f)
- def wrapped_f(*args, **kwargs):
- res = getResults()
- if self.testcase in (res.getFailList() or res.getErrorList()):
- raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase)
- return f(*args, **kwargs)
- wrapped_f.__name__ = f.__name__
- return wrapped_f
-
-class skipIfSkipped(object):
-
- def __init__(self,testcase):
- self.testcase = testcase
-
- def __call__(self,f):
- @wraps(f)
- def wrapped_f(*args, **kwargs):
- res = getResults()
- if self.testcase in res.getSkipList():
- raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase)
- return f(*args, **kwargs)
- wrapped_f.__name__ = f.__name__
- return wrapped_f
-
-class skipUnlessPassed(object):
-
- def __init__(self,testcase):
- self.testcase = testcase
-
- def __call__(self,f):
- @wraps(f)
- def wrapped_f(*args, **kwargs):
- res = getResults()
- if self.testcase in res.getSkipList() or \
- self.testcase in res.getFailList() or \
- self.testcase in res.getErrorList():
- raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase)
- return f(*args, **kwargs)
- wrapped_f.__name__ = f.__name__
- wrapped_f._depends_on = self.testcase
- return wrapped_f
-
class testcase(object):
def __init__(self, test_case):
self.test_case = test_case
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index 4c3d201..6a85f57 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -85,7 +85,7 @@
accepted_patterns = ['search_reached_prompt', 'send_login_user', 'search_login_succeeded', 'search_cmd_finished']
default_boot_patterns = defaultdict(str)
# Default to the usual paterns used to communicate with the target
- default_boot_patterns['search_reached_prompt'] = b' login:'
+ default_boot_patterns['search_reached_prompt'] = ' login:'
default_boot_patterns['send_login_user'] = 'root\n'
default_boot_patterns['search_login_succeeded'] = r"root@[a-zA-Z0-9\-]+:~#"
default_boot_patterns['search_cmd_finished'] = r"[a-zA-Z0-9]+@[a-zA-Z0-9\-]+:~#"
@@ -109,12 +109,15 @@
sock.close()
raise
+ def decode_qemulog(self, todecode):
+ # Sanitize the data received from qemu as it may contain control characters
+ msg = todecode.decode("utf-8", errors='ignore')
+ msg = re_control_char.sub('', msg)
+ return msg
+
def log(self, msg):
if self.logfile:
- # It is needed to sanitize the data received from qemu
- # because is possible to have control characters
- msg = msg.decode("utf-8", errors='ignore')
- msg = re_control_char.sub('', msg)
+ msg = self.decode_qemulog(msg)
self.msg += msg
with codecs.open(self.logfile, "a", encoding="utf-8") as f:
f.write("%s" % msg)
@@ -188,8 +191,8 @@
importlib.invalidate_caches()
try:
qmp = importlib.import_module("qmp")
- except:
- self.logger.error("qemurunner: qmp.py missing, please ensure it's installed")
+ except Exception as e:
+ self.logger.error("qemurunner: qmp.py missing, please ensure it's installed (%s)" % str(e))
return False
# Path relative to tmpdir used as cwd for qemu below to avoid unix socket path length issues
qmp_file = "." + next(tempfile._get_candidate_names())
@@ -325,7 +328,8 @@
try:
os.chdir(os.path.dirname(qmp_port))
try:
- self.qmp = qmp.QEMUMonitorProtocol(os.path.basename(qmp_port))
+ from qmp.legacy import QEMUMonitorProtocol
+ self.qmp = QEMUMonitorProtocol(os.path.basename(qmp_port))
except OSError as msg:
self.logger.warning("Failed to initialize qemu monitor socket: %s File: %s" % (msg, msg.filename))
return False
@@ -467,13 +471,15 @@
self.log(data)
data = b''
- if self.boot_patterns['search_reached_prompt'] in bootlog:
+
+ decodedlog = self.decode_qemulog(bootlog)
+ if self.boot_patterns['search_reached_prompt'] in decodedlog:
self.server_socket = qemusock
stopread = True
reachedlogin = True
- self.logger.debug("Reached login banner in %s seconds (%s)" %
+ self.logger.debug("Reached login banner in %s seconds (%s, %s)" %
(time.time() - (endtime - self.boottime),
- time.strftime("%D %H:%M:%S")))
+ time.strftime("%D %H:%M:%S"), time.time()))
else:
# no need to check if reachedlogin unless we support multiple connections
self.logger.debug("QEMU socket disconnected before login banner reached. (%s)" %
@@ -487,10 +493,10 @@
self.logger.warning("Target didn't reach login banner in %d seconds (%s)" %
(self.boottime, time.strftime("%D %H:%M:%S")))
tail = lambda l: "\n".join(l.splitlines()[-25:])
- bootlog = bootlog.decode("utf-8")
+ bootlog = self.decode_qemulog(bootlog)
# in case bootlog is empty, use tail qemu log store at self.msg
lines = tail(bootlog if bootlog else self.msg)
- self.logger.warning("Last 25 lines of text:\n%s" % lines)
+ self.logger.warning("Last 25 lines of text (%d):\n%s" % (len(bootlog), lines))
self.logger.warning("Check full boot log: %s" % self.logfile)
self._dump_host()
self.stop()