summaryrefslogtreecommitdiff
path: root/poky/meta/lib
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2022-01-24 22:11:47 +0300
committerEd Tanous <ed@tanous.net>2022-02-03 19:56:47 +0300
commit595f63084d313c9708cb435470e6c6dcbbbbe646 (patch)
treea4692ebf7c756a010417c6afa58a3885eee1b4b8 /poky/meta/lib
parentca2f10c6ca6fcff34fecffdef048ee54b9dd2521 (diff)
downloadopenbmc-595f63084d313c9708cb435470e6c6dcbbbbe646.tar.xz
subtree updates
meta-raspberrypi: 90b3ac6fb3..836755370f: Alexandru Costache (3): conf/machine: Add Pi Zero 2 Wifi 64bit yocto machine linux-firmware-rpidistro: Package bcm43436 and bcm43436s firmware linux-raspberrypi: Bump to 5.10.78 Andrei Gherzan (14): raspberrypi-firmware: Bump to 20211007 linux-raspberrypi: Bump 5.10 to 5.10.76 linux-raspberrypi: Drop 5.4 README.md: Fix docs and minor tweaks docs: Bump copyright year README.md: Fix sponsor table README.md: Fix sponsor table take two docs: Fix RtD build docs: Add module dependency/requirement for RtD docs: Advertise raspberrypi0-2w-64 supported machine Update references to Yocto mailing list README.md: Fix the matrix chat link libwpe: Migrate build workaround from oe-core rpi-config: Take into consideration ENABLE_UART value of 0 Cameron Kellough (1): rpi-base.inc: Added gpio-poweroff overlay. Some machines need to have the kernel toggle a gpio when an external power source needs to shut off power to complete a shutdown and de-energize the processor. gpio-poweroff provides this functionality but was omitted from the kernel overlays brought oveer by the rpi-layer from the kernel. Signed-off-by: Cameron Kellough <cameron@telemetrak.com> Joel Winarske (1): mesa: Enable building vulkan driver Khem Raj (4): linux-firmware-rpidistro: Use bullseye branch parselogs: Update the error regexps to 5.10 kernel linux-raspberrypi: Upgrade to 5.10.81 weston-init: Add --continue-without-input option to weston Marcel Hamer (1): recipes: Update SRC_URI protocols for github Martin Jansa (1): rpi-config: don't trigger bbfatal for empty ENABLE_UART Peter A. Bigot (1): conf/machine: add variant Wi-Fi/BT drivers for CM4 and Pi 400 meta-openembedded: 2f6797d8d6..6b63095946: Alex Kiernan (2): ntpsec: Add recipe ntpsec: Add glibc-2.34/kernel-5.14 seccomp fixes Alexander Kanavin (23): libstatgrab: update 0.92 -> 0.92.1 open-vpm-tools: update 11.2.5 -> 11.3.5 libid3tag: add from oe-core libportal: add from oe-core gtkmm3: add gdk-pixbuf-native to satisfy meson 0.61 gjs: drop patch to satisfy meson 0.61 gnome-terminal: backport a meson 0.61 patch gnome-bluetooth: backport a meson 0.61 patch gnome-font-viewer: backport a meson 0.61 patch gnome-session: update 40.1.1 -> 41.3 gnome-settings-daemon: add a meson 0.61 patch gnome-shell: backport a meson 0.61 patch accountsservice: backport a meson 0.61 patch gnome-screenshot: backport a meson 0.61 patch evince: fix meson 0.61 builds gnome-calendar: fix meson 0.61 builds gthumb: fix meson 0.61 builds gedit: add a meson 0.61 patch gnome-disk-utility: add a meson 0.61 patch gnome-control-center: add a meson 0.61 patch gnome-photos: add a meson 0.61 patch dconf-editor: add a meson 0.61 patch network-manager-applet: add meson 0.61 patch Andreas Müller (111): xfce4-sensors-plugin: upgrade 1.3.95 -> 1.4.1 fftw: remove unused patch mozjs: Move back to recipes-extended - no meta-python specifics required Rename mozjs -> mozjs-91 to allow multiple versions of mozjs polkit: Adjust to mozjs-91 in DEPENDS mozjs-91: remove static library mozjs-78: Initial add graphene: enable introspection by default - gtk4 & mutter 41 require it graphene: extend to native and nativesdk graphene: Tidy up recipe a bit gtk4: initial add 4.4.0 gjs: upgrade 1.58.8 -> 1.70.0 mutter: upgrade 3.34.6 -> 41.0 gdm: upgrade 3.36.3 -> 41.0 upower: upgrade 0.99.11 -> 0.99.13 udisks2: upgrade 2.9.3 -> 2.9.4 gnome-settings-daemon: upgrade 3.36.1 -> 41.0 gnome-shell: upgrade 3.34.5 -> 41.0 gnome-shell-extensions: upgrade 3.34.2 -> 40.1 gnome-desktop: upgrade 3.38.8 -> 41.0 and give up '3' receipe name suffix gnome-session: upgrade 3.36.0 -> 40.1.1 gnome-control-center: upgrade 3.36.4 -> 41.1 gexiv2: upgrade 0.12.2 -> 0.14.0 gparted: upgrade 1.3.0 -> 1.3.1 gnome-backgrounds: upgrade 3.38.0 -> 41.0 gnome-tweaks: upgrade 3.34.0 -> 40.0 gnome-terminal: upgrade 3.40.2 -> 3.42.0 / meson build gnome-panel: upgrade 3.36.1 -> 3.38.0 grilo: upgrade 0.3.13 -> 0.3.14 grilo-plugins: upgrade 0.3.13 -> 0.3.14 mozjs-91: Fix build on powerpc gdm: Fix REQUIRED_DISTRO_FEATURES broken by adding introspection gnome-control-center: Add libhandy to DEPENDS gnome-backgrounds: Fix licenses poppler: upgrade 21.10.0 -> 21.11.0 xfce4-whiskermenu-plugin: upgrade 2.5.3 -> 2.6.2 ristretto: upgrade 0.11.0 -> 0.12.0 xfce4-cpugraph-plugin: upgrade 1.2.3 -> 1.2.5 xfce4-sensors-plugin: upgrade 1.4.1 -> 1.4.2 catfish: upgrade 4.16.0 -> 4.16.3 mousepad: upgrade 0.5.5 -> 0.5.7 libxfce4ui: upgrade 4.16.0 -> 4.16.1 fluidsynth: upgrade 2.2.2 -> 2.2.3 vlc: Fix build with un-renameed native libtool fltk: upgrade 1.3.7 -> 1.3.8 xfce4-whiskermenu-plugin: upgrade 2.6.2 -> 2.7.1 ristretto: upgrade 0.12.0 -> 0.12.1 mousepad: upgrade 0.5.7 -> 0.5.8 poppler: upgrade 21.11.0 -> 21.12.0 menulibre: upgrade 2.2.1 -> 2.2.3 fluidsynth: upgrade 2.2.3 -> 2.2.4 gegl: upgrade 0.4.30 -> 0.4.34 gimp: upgrade 2.10.24 -> 2.10.30 mpv: upgrade 0.33.1 -> 0.34.0 gupnp: upgrade 1.2.7 -> 1.4.1 gupnp: merge recipe with inc-file gupnp-av: upgrade 0.12.11 -> 0.14.0 / build with mesa gupnp-av: merge recipe with inc-file gupnp-dlna: upgrade 0.10.5 -> 0.12.0 / build with meson gupnp-igd: upgrade 0.2.5 -> 1.2.0 / build with meson gupnp-tools: upgrade 0.10.0 -> 0.10.2 / prettify recipe gtkwave: upgrade 3.3.109 -> 3.3.111 blueman: upgrade 2.2.1 -> 2.2.3 geany: upgrade 1.37.1 -> 1.38 geany-plugins: upgrade 1.37 -> 1.3.8 gnuplot: upgrade 5.4.1 -> 5.4.2 gtksourceview5: initial add 5.2.0 amtk: upgrade 5.2.0 -> 5.3.1 / build with meson evince: upgrade 40.4 -> 41.3 evolution-data-server: upgrade 3.40.2 -> 3.42.2 gnome-autoar: upgrade 0.3.3 -> 0.4.1 / build with meson gnome-calculator: upgrade 40.1 -> 41.1 gnome-calendar; upgrade 41.0 -> 41.2 gnome-control-center: upgrade 41.1 -> 41.2 gnome-desktop: upgrade 41.0 -> 41.2 gnome-disk-utility: upgrade 40.1 -> 41.0 gnome-flashback: upgrade 3.40.0 -> 3.42.1 gnome-font-viewer: upgrade 40.0 -> 41.0 gnome-screenshot: upgrade 40.0 -> 41.0 gnome-shell: upgrade 41.0 -> 41.2 gnome-shell-extensions: upgrade 41.0 -> 41.1 gnome-system-monitor: upgrade 40.1 -> 41.0 gnome-terminal: upgrade 3.42.0 -> 3.42.1 gsound: upgrade 1.0.2 -> 1.0.3 / build with meson gthumb: upgrade 3.10.3 -> 3.12.0 gtksourceview4: upgrade 4.8.1 -> 4.8.2 libgsf: upgrade 1.14.47 -> 1.14.48 libgtkstylus: remove metacity: upgrade 3.40.0 -> 3.42.0 mutter: upgrade 41.0 -> 41.2 nautilus: upgrade 40.2 -> 41.1 gnome-shell: Add gnome-desktop to RDEPENDS Drop gnome-desktop3 providers Rename gnome-menus3 -> gnome-menus packagegroup-gnome-desktop: Mark TUNE_PKGARCH specific mozjs-78: Shelve breaking lib rename/linking & split lib to separate package mozjs-78: renumber patches gnome-shell-extensions: Enable gnome-classic session for wayland zenity: Upgrade 3.32.0 -> 3.41.0 / meson build / rework yelp: upgrade 41.1 -> 41.2 yelp-xsl: upgrade 41.0 -> 41.1 usermode: upgrade 1.113 -> 1.114 sysprof: upgrade 3.42.0 -> 3.42.1 gnome-terminal: upgrade 3.42.1 -> 3.42.2 gnome-panel: upgrade 3.38.0 -> 3.42.0 gnome-autoar: upgrade 0.4.1 -> 0.4.2 evolution-data-server: upgrade 3.42.2 -> 3.42.3 poppler: upgrade 21.12.0 -> 22.01.0 exo: upgrade 4.16.1 -> 4.16.3 imsettings: upgrade 1.8.2 -> 1.8.3 thunar: upgrade 4.16.8 -> 4.16.9 Andrei Gherzan (2): mosquitto: Don't depends on dlt-daemon unconditionally python3-pymetno: Introduce recipe on 0.7.0 Andrey Zhizhikin (1): gpsd: fix clang buid via export CC explicitly Armin Kuster (6): ldns: update to 1.8.1 strongswan: provide PACKAGECONFIG for cureve25519 strongswan: add tpm PACKAGECONFIG strongswan: add integrity options strongswan: remove redundant DEPENDS wireshark: update to latest stable 3.4.11 Bartosz Golaszewski (6): python3-email-validator: new package libgpiod: ptest: rrecommend python3-unittest when building python tests libgpiod: ptest: rrecommend coreutils libgpiod: ptest: redirect stderr to stdout for test executables cmatrix: new package python3-zeroconf: bump version 0.36.13 -> 0.38.1 Bhargav Das (1): python3-colorzero: add recipe for python colorzero Bruce Ashfield (2): vboxguestdrivers: fix build against 5.15 kernel/libc-headers headers python: remove recipes imported to oe-core Changqing Li (5): mozjs-78: fix do_configure failure mozjs-91: fix do_configure failure mozjs-91/mozjs-78: fix compile failure on centos7 php: correct module name and library name postgresql: fix CVE-2021-23214,CVE-2021-23222 Christian Eggers (5): gpsd: remove obsolete files from FILES:${PN}-dev gpsd: remove obsolete libgpsd package gpsd: remove obsolete files from FILES:gps-utils gpsd: list files for gps-utils individually python3-gcovr: add recipe Claude Bing (2): php: update from 7.4.21 to 8.0.12 php: use qemu wrapper to build minilua Claus Stovgaard (3): Added usbip-tools for kernel USB/IP Add gutenprint to meta-oe Add pycups - python bindings for CUPS Ed Tanous (1): Update to new version of boost-uri Fathi Boudra (1): makedumpfile: upgrade from 1.6.9 to 1.7.0 Geoff Parker (2): python3-cchardet: add BBCLASSEXTEND = "native nativesdk" python3-aiosignal, python3-frozenlist: Add native & nativestdk package support Gianfranco (2): vboxguestdrivers: upgrade 6.1.28 -> 6.1.30 vboxguestdrivers: drop md5sum from SRC_URI. He Zhe (1): protobuf: Fix static init fiasco Hongxu Jia (5): ostree: add nativesdk support ostree: use Yocto mirror ostree: workaround compile error with option gcc option -Og libblockdev: Do not include duplicate entries in bd_lvm_lvs output grubby: fix conflict with debianutils Jacob Kroon (1): Revert "ccid: Fix floating runtime dependency on flex" Jan Vermaete (6): netdata: Using the github.com release + upstream_check. netdata: from 1.22.1 to 1.32.0 netdata: version bump from 1.32.0 to 1.32.1 netdata: fixed some oelint-adv issues in the recipe. netdata: do not send anonymous statistics by default. netdata: fix for commit 8554624cc7f84e6b63b2ea4b94ee5fd2821021ca Jeremy A. Puhlman (1): cdrkit: remove ${PN} from ${PN}-dev RDEPENDS Jeremy Kerr (4): mctp: upgrade to v1.0 mctp: install dbus service configuration contrib: allow override-style syntax for vars & routines contrib: fix python warnings for oe-stylize Joshua Watt (8): colord: introspection is not valid meson option gdm: introspection is not valid meson option gnome-settings-daemon: introspection is not valid meson option gnome-shell: introspection is not valid meson option gnome-control-center: Fixup polkit directory permissions gnome-online-accounts: Switch back to libsoup2 graphene: Move from meta-gnome -> meta-oe jemalloc: Fix license file Kai Kang (1): libqb: use branch main Khem Raj (97): bitwise: Fix build with latest ncurses 6.3+ libcdio: Fix build with ncurses 6.3+ nmon: Upgrade to 16m sysdig: Fix build with ncurses 6.3+ iptraf-ng: Upgrade to 1.2.1 tiptop: Fix build with ncurses 6.3+ mtr: Fix build with ncurses 6.3+ mtr: Explicitly use branch= in SRC_URI liburing: Use libc mmap() wrapper instead of calling __NR_mmap syscall directly protobuf: Upgrade to 3.19.1 protobuf: Disable tailcall on mips/clang packagegroup-meta-python: Add python3-imgtool python3-prctl: Use https protocol for git fetcher mozjs-78: Check for big-endian icu data file existence before creating it mozjs-78: Set X lib/include paths mozjs-78: Pass C/C++ flags to js configure libjs-jquery-globalize: Use a proper SHA in SRCREV instead of tag iptraf-ng: Create /var/log and /var/lib subdirs at runtime gstd: Remove empty /var/volatile/log monkey: Keep /var/volatile empty hiawatha: Create /var/log /var/run at runtime python3-kivy: Use branch parameter in SRC_URI mdns: Upgrade to 1310.140.1 packagegroup-meta-networking: Enable mdns on musl systems ntpsec: Disable seccomp on musl/rv32 ntpsec: Disable documentation packagegroup-meta-networking: Add ntpsec sdbus-c++-libsystemd: Fix build with kernel 5.15+ mctp: Fix build with 5.15+ kernel headers packagegroup-meta-python.bb: Add python3-pytz-deprecation-shim packagegroup-meta-oe: Add fwupd and fwupd-efi protobuf-c: Export native protoc linpack: Build both sp and dp binaries php: Build minilua for build host xf86-video-ati: Upgrade to 19.1.0 sdbus-c++-libsystemd: Upgrade to 249.5 xf86-video-nouveau: fixup driver for new X server ABI tracker: introspection is not valid meson option gnome-desktop: introspection is not valid meson option libmediaart: introspection is not valid meson option libgweather: introspection is not valid meson option tepl: introspection is not valid meson option gjs: introspection is not valid meson option tracker-miners: introspection is not valid meson option gedit: introspection is not valid meson option tracker,tracker-miners: Upgrade to 3.2.1 gnome-tweaks: introspection is not valid meson option colord-gtk: introspection is not valid meson option packagegroup-meta-python: Add python3-gcovr ippool: silence a DeprecationWarning packagegroup-meta-oe: Add pim435 influxdb: Upgrade to 1.8.10 influxdb: Fix build with Go 1.17 on x86_64 packagegroup-core-clutter: Mark TUNE_PKGARCH specific packagegroup-xfce-base: Mark TUNE_PKGARCH specific libcamera: Fix build break on musl meta-networking,meta-python: Fix README for yocto check layer gjs: Link with libatomic on rv32 ntpsec: Disable seccomp on riscv32 libunix-statgrab: Use compiler driver for linking as well tbb: Upgrade to 2021.4.0 packagegroup-meta-oe: Add unifex gjs: Fix build failures with meson 0.60.2 packagegroup-meta-perl: Add new packages packagegroup-meta-python: Add python3-pymetno yelp: Add option to support webkit2gtk-4-0 surf: Add soup3 patch conditionally netdata: Link libatomic on mips gssdp: Use sniffer only when gnome layer is in mix packagegroup-meta-oe: Add graphene inotify-tools: Upgrade to 3.21.9.6 inotify-tools: Disable -Werror python3-matplotlib: Generate correctly names setup config file inotify-tools: Fix build on musl libkcapi: Fix build with musl packagegroup-meta-oe: Add gutenprint, python3-pycups and usbip-tools tvheadend: Disable dvbscan pkcs11-helper: Fix build with nss >= 3.73.1 tbb: Disable LTO on rv64 packagegroup-meta-python: Add python3-colorzero packagegroup-meta-oe: Add cmatrix pcp: Fix build to exclude qt5 packagegroup-meta-oe: Add dool and pcp nautilus: Fix build with libportal >= 0.5 influxdb: Enable network during do_compile meta-oe: Use setuptools3-base thunar: Depend on libxml-parser-perl-native python3-matplotlib: Do not use setuptools_scm_git_archive python3-pytest-helpers-namespace: Enable network during do_compile python3-pybind11: Use setuptools3 instead of distutils3 functions pcp: Fix build race condition tnftp: Add missing header stdc-predef.h jemalloc: Fix build with glibc 2.35+clang packagegroup-meta-oe: Add duktape iotop: Use lld with clang on arm meta-xfce: Convert catfish and menulibre to use setuptools3 sdbus-c++-libsystemd: Fix build on musl Konrad Weihmann (3): python3-wtforms: add missing dependencies python3-execnet: depend on setuptools-scm python3-lazy-object-proxy: upgrade 1.6.0 > 1.7.1 Lei Maohui (1): sysprof: Added json-glib into DEPENDS to fix build error. Leif Middelschulte (1): dbus-daemon-proxy: add missing `return` statement Leon Anavi (92): python3-qrcode: Upgrade 7.3 -> 7.3.1 python3-bidict: Upgrade 0.21.2 -> 0.21.4 python3-pint: Upgrade 0.17 -> 0.18 python3-prettytable: Upgrade 2.2.1 -> 2.3.0 python3-astroid: Upgrade 2.8.2 -> 2.8.4 python3-isort: Upgrade 5.9.3 -> 5.10.0 python3-aenum: Upgrade 3.1.0 -> 3.1.2 python3-natsort: Upgrade 7.1.1 -> 8.0.0 python3-cachecontrol: Upgrade 0.12.6 -> 0.12.9 python3-wrapt: Upgrade 1.13.2 -> 1.13.3 python3-prettytable: Upgrade 2.3.0 -> 2.4.0 python3-imageio: Upgrade 2.10.1 -> 2.10.3 python3-pytz-deprecation-shim: Add recipe python3-tzlocal: Upgrade 4.0.1 -> 4.1 python3-soupsieve: Upgrade 2.2.1 -> 2.3 python3-configparser: Upgrade 5.0.2 -> 5.1.0 python3-yappi: Upgrade 1.3.2 -> 1.3.3 python3-pydicti: Upgrade 1.1.4 -> 1.1.6 python3-zeroconf: Upgrade 0.36.9 -> 0.36.12 python3-yarl: Upgrade 1.7.0 -> 1.7.2 python3-elementpath: Upgrade 2.3.2 -> 2.4.0 python3-astroid: Upgrade 2.8.4 -> 2.8.5 python3-coverage: Upgrade 6.1.1 -> 6.1.2 python3-aenum: Upgrade 3.1.3 -> 3.1.5 python3-zeroconf: Upgrade 0.36.12 -> 0.36.13 python3-bandit: Uprade 1.7.0 -> 1.7.1 python3-colorlog: Upgrade 6.5.0 -> 6.6.0 python3-soupsieve: Upgrade 2.3 -> 2.3.1 python3-cchardet: Add recipe python3-charset-normalizer: Add recipe python3-frozenlist: Add recipe python3-aiosignal: Add recipe python3-aiohttp: Upgrade 3.8.0 -> 3.8.1 packagegroup-meta-python.bb: Add new packages python3-eventlet: Upgrade 0.32.0 -> 0.33.0 python3-imageio: Upgrade 2.10.3 -> 2.10.5 python3-deprecated: Upgrade 1.2.12 -> 1.2.13 python3-parso: Add runtime dependencies python3-jedi: Upgrade 0.18.0 -> 0.18.1 python3-prompt-toolkit: Upgrade 3.0.21 -> 3.0.22 python3-imageio: Upgrade 2.10.5 -> 2.11.0 python3-cmd2: Upgrade 2.3.0 -> 2.3.1 python3-simplejson: Upgrade 3.17.5 -> 3.17.6 python3-aiohue: Upgrade 2.6.3 -> 3.0.1 python3-imageio: Upgrade 2.11.0 -> 2.11.1 python3-marshmallow: Upgrade 3.14.0 -> 3.14.1 python3-jsonpointer: Upgrade 2.1 -> 2.2 python3-humanize: Upgrade 3.12.0 -> 3.13.1 python3-cachecontrol: Upgrade 0.12.9 -> 0.12.10 python3-prompt-toolkit: Upgrade 3.0.22 -> 3.0.24 python3-isodate: Upgrade 0.6.0 -> 0.6.1 python3-pychromecast: Upgrade 10.1.1 -> 10.2.3 python3-imageio: Upgrade 2.13.3 -> 2.13.5 python3-psutil: Upgrade 5.8.0 -> 5.9.0 python3-astroid: Upgrade 2.9.0 -> 2.9.2 python3-robotframework: Upgrade 4.1.2 -> 4.1.3 python3-cantools: Upgrade 37.0.0 -> 37.0.1 python3-diskcache: Upgrade 5.3.0 -> 5.4.0 python3-typeguard: Upgrade 2.13.2 -> 2.13.3 python3-huey: Upgrade 2.4.2 -> 2.4.3 python3-ujson: Upgrade 5.0.0 -> 5.1.0 python3-google-api-core: Upgrade 2.2.0 -> 2.3.2 python3-astroid: Upgrade 2.9.2 -> 2.9.3 python3-urllib3: Upgrade 1.26.7 -> 1.26.8 python3-rdflib: Upgrade 6.0.2 -> 6.1.1 python3-bitarray: Upgrade 2.3.4 -> 2.3.5 python3-asyncio-throttle: Add recipe python3-aiohue: Upgrade 3.0.1 -> 3.0.11 python3-requests: Upgrade 2.26.0 -> 2.27.1 python3-natsort: Upgrade 8.0.0 -> 8.0.2 python3-sentry-sdk: Upgrade 1.4.3 -> 1.5.2 python3-regex: Upgrade 2021.10.8 -> 2021.11.10 python3-wtforms: Upgrade 3.0.0 -> 3.0.1 python3-charset-normalizer: Upgarde 2.0.7 -> 2.0.10 python3-gmpy2: Upgrade 2.1.1 -> 2.1.2 python3-jdatetime: Upgrade 3.6.4 -> 3.8.1 python3-fasteners: Upgrade 0.16.3 -> 0.17.2 python3-jsmin: Upgrade 3.0.0 -> 3.0.1 python3-croniter: Upgrade 1.1.0 -> 1.2.0 python3-fastjsonschema: Upgrade 2.15.1 -> 2.15.3 python3-aenum: Upgrade 3.1.5 -> 3.1.6 python3-decorator: Upgrade 5.1.0 -> 5.1.1 python3-pythonping: Upgrade 1.1.0 -> 1.1.1 python3-dnspython: Upgrade 2.1.0 -> 2.2.0 python3-frozenlist: Upgrade 1.2.0 -> 1.3.0 python3-simpleeval: Upgrade 0.9.10 -> 0.9.12 python3-twine: Upgrade 3.4.1 -> 3.7.1 python3-pillow: Upgrade 8.3.2 -> 9.0.0 python3-pycocotools: Upgrade 2.0.2 -> 2.0.4 python3-paramiko: Upgrade 2.9.1 -> 2.9.2 python3-sentry-sdk: Upgrade 1.5.2 -> 1.5.3 imageio: Upgrade 2.13.5 -> 2.14.0 Luca Boccassi (2): lvm2: do not install systemd units/initscripts when building native SDK tools Add recipe for duktape Marek Vasut (4): libsdl2-ttf: Remove incorrect x11 from REQUIRED_DISTRO_FEATURES freerdp: Upgrade 2.3.0 -> 2.4.1 freerdp: Add missing libusb1 dependency freerdp: Make PCSC dependency optional Mark Hatle (1): python3-matplotlib: Disable automatic download during do_compile Markus Volk (5): libgdata: add vala PACKAGECONFIG gspell: inherit vala gmime: inherit vala evolution-data-server: cleanup; enable vala introspection folks: initial add recipe Martin Jansa (7): nodejs: fix build without scrypt unicode-ucd: set downloadfilename to include PV ntpsec: require x11 in DISTRO_FEATURES libgusb: add PACKAGECONFIG for vapi and keep it enabled only when introspection is Revert "libgusb: Use the correct args to disable vala support" packagegroup-meta-multimedia: include x265 only with commercial in LICENSE_FLAGS_WHITELIST simple-mtpfs: add dependency on autoconf-archive Matthias Klein (2): paho-mqtt-c: upgrade 1.3.8 -> 1.3.9 paho-mqtt-cpp: new package Mauro Anjo (2): Upgrade libcamera libcamera: Update to latest commit Michael Vetter (1): jasper: upgrade 2.0.26 -> 2.0.33 Mingli Yu (6): mariadb: Fix openssl 3.x compatibility libteam: switch to python3 libteam: improve the ptest output php: Upgrade to 8.1.0 php: avoid textrel QA Issue warning python3-lxml: check the return value Nisha Parrakat (1): nodejs_16.11.1.bb: only handle npm if configured Oleksandr Kravchuk (48): python3-protobuf: update to 3.19.0 python3-google-api-core: update to 2.2.0 python3-google-api-python-client: update to 2.28.0 python3-imageio: update to 2.10.1 python3-pybind11: update to 2.8.1 liburing: update to 2.1 protobuf: update to 3.19.0 wolfssl: update to 5.0.0 fb-test: fix SRC_URI bmon: fix PV cpuid: update to 20211129 gtk4: set UPSTREAM_CHECK_REGEX to stable versions iwd: update to 1.20 libnma: update to 1.8.32 python3-astroid: update to 2.9.0 python3-coverage: update to 6.2 python3-croniter: update to 1.1.0 python3-diskcache: update to 5.3.0 python3-graphviz: update to 0.19 python3-imageio: update to 2.13.3 python3-iso8601: update to 1.0.2 python3-ldap: update to 3.4.0 python3-lz4: update to 3.1.10 python3-matplotlib: update to 3.5.1 python3-pymetno: update to 0.9.0 python3-pywbem: update to 1.3.0 python3-redis: update to 4.0.2 python3-wtforms: update to 3.0.0 soci: update to 4.0.2 uftrace: update to 0.11 librdkafka: update to 1.8.2 gparted: add UPSTREAM_CHECK_URI libwacom: update to 1.12 libsrtp: update to 2.4.2 dbus-cxx: update to 2.1.0 sysprof: update to 3.42.0 gssdp: update to 1.4.0.1 libkcapi: update to 1.3.1 python3-lxml: update to 4.7.1 python3-icu: update to 2.8 python3-googleapis-common-protos: update to 1.54.0 python3-gevent: update to 21.12.0 python3-twitter: update 4.4.0 python3-contextlib2: update to 21.6.0 simple-mtpfs: update to 0.4.0 xl2tpd: update to 1.3.16 python-cantools: update to 37.0.0 lirc: replace setuptools3-bas with distutils-common-base Ovidiu Panait (1): syslog-ng: adjust control socket location Patrick Williams (1): unifex: add recipe Peter Kjellerstedt (16): libssh: Support building for native and nativesdk corosync: Clean up leftover support for qdevice and qnetd corosync: Do not install the /var/log/cluster directory collectd: Do not install /var/log atop: Do not install the /var/log/atop directory openflow: Create /var/log/openflow in runtime mongodb: A little clean up mongodb: Create /var/log/mongodb in runtime opensaf: Create /var/log/opensaf/saflog in runtime opensaf: Make sure a file needed by opensafd.service is not removed gattlib: Explicitly disable Python support googletest: Switch branch from master to main libsrtp: Add support for specifying the crypto library nodejs: Drop workaround for a Python 2 dependency nodejs: Drop workaround for an absolute path in the npm shebang nodejs: A little clean up Philip Balister (1): fftw: Update to fftw-3.3.10 Philippe Coval (7): lv-drivers: Lint recipe lv-lib-png: Lint recipe lvgl: Introduce global variable for configuration lvgl: Add hints about using configuration variables lvgl: Support external wayland config lvgl: Update to 8.1.0 pim435: Add recipe for C implementation for userspace driver app Pierre-Jean Texier (1): libmxml: upgrade 3.2 -> 3.3 Ramon Fried (1): bitwise: Upgrade 0.42 -> 0.43 Richard Hughes (4): libgusb: Use the correct args to disable vala support libjcat: Update to 0.1.9 libxmlb: Update to 0.3.6 fwupd: Update to 1.7.3 Richard Purdie (1): recipes: Update SRC_URI branch and protocols Robert Joslyn (2): htop: Update to 3.1.2 postgresql: Update to 14.1 Ross Burton (58): python3-imgtool: add recipe modemmanager: remove intltool-native DEPENDS python3-cryptography: backport patches to make this work against OpenSSL 3 fwupd-efi: add new recipe fwupd: add new recipe nginx: use ln -rs libxmlb: put binary into separate package imlib2: clarify license xmlrpc-c: set precise BSD license xmlrpc-c: remove unused libxml2 dependency xmlrpc-c: clean up PACKAGECONFIG xmlrpc-c: use gnu-configize dash: set precise BSD license sg3-utils: set precise BSD license nodejs: set precise BSD license libkcapi: remove DEPENDS on target libtool libkcapi: set precise BSD license pcsc-lite: set precise BSD license python3-cryptography: set precise BSD license python3-crypto-vectors: set precise BSD license python3-gevent: use system libraries instead of embedding python3-gevent: update license python3-lxml: set precise BSD license python3-posix-ipc: set precise BSD license python3-posix-ipc: remove spurious dependencies python3-pyzmq: set precise BSD license fwupd: upgrade to 1.7.2 fwupd: fix dependency typo net-snmp: use precise BSD license gnome-themes-extra: set correct SRC_URI qpdf: remove obsolete support for renamed libtool php: remove obsolete support for renamed libtool dhcp-relay: remove obsolete support for renamed libtool apache2: remove obsolete support for renamed libtool xfsdump: remove obsolete support for renamed libtool unbound: remove obsolete support for renamed libtool cpufrequtils: remove obsolete support for renamed libtool gtk+: remove obsolete support for renamed libtool apache-websocket: remove obsolete support for renamed libtool srecord: remove obsolete support for renamed libtool srecord: add libgcrypt PACKAGECONFIG srecord: properly initialize libtool dhcp-relay: fix rebuilds tbb: enable native/nativesdk builds fwts: do out-of-tree builds tbb: upgrade to 2021.5.0 python3-scapy: remove redundant pycrypto RDEPENDS python3-smbbus: use DISTUTILS_SETUP_PATH python3-pycrypto: remove obsolete pycrypto module python3-smbus: use setuptools python3-greenlet: remove redundant distutils3 inherit python3-hexdump: remove python3-pyparted: port to setuptools python3-dbussy: port to setuptools cxxtest: move to setuptools iotop: move to the C port of iotop sanlock: port to setuptools pyxdg: upgrade and remove distutils Sakib Sajal (2): io-compress-lzma-perl: add recipe for version 2.096 nss: upgrade 3.64 -> 3.73.1 Salman Ahmed (2): openldap: upgrade 2.4.58 -> 2.5.8 python3-ldap: for openldap v2.5.8, link with libldap instead of libldap_r Sean Nyekjaer (1): msgpack-cpp: fix msgpack-cpp is a header only library Stanislav Angelovic (1): Bump sdbus-c++ to version v1.0.0 Tim Orling (12): python3-gammu: add recipe for v3.2.4 python3-setuptools-rust-native: add v1.1.2 recipe python3-pyruvate: add recipe for v1.1.2 python3-pytest-subtests: upgrade 0.5.0 -> 0.6.0 python3-cryptography-vectors: upgrade 35.0.0 => 36.0.1 python3-cryptography: upgrade 3.3.2 -> 36.0.1 gammu: upgrade 1.32.0 -> 1.42.0 tiptop: update download URL and HOMEPAGE cmocka: use https protocol for fetching pyo3.bbclass: add class for PyO3 cross-compilation setuptools3_rust.bbclass: setuptoools Rust plugin python3-pyruvate: disable 64 bit atomics for mips Trevor Gamblin (7): python3-pycparser: RSUGGESTS cpp and cpp-symlinks libnftnl: upgrade 1.2.0 -> 1.2.1 python3-django: upgrade 3.2.5 -> 3.2.10 libnftnl: add ptest python3-django: upgrade 2.2.25 -> 2.2.26 python3-django: upgrade 3.2.10 -> 3.2.11 python3-django: Add recipe for 4.0.1 Wang Mingyu (10): gsl: upgrade 2.7 -> 2.7.1 mozjs: upgrade 91.2.0 -> 91.4.0 libgusb: upgrade 0.3.8 -> 0.3.9 python3-pychromecast: upgrade 10.1.0 -> 10.1.1 python3-websocket-client: upgrade 1.2.1 -> 1.2.3 python3-sqlalchemy: upgrade 1.4.27 -> 1.4.28 dnf-plugin-tui: Fix bug when generating CSV file sdbus-c++-tools: upgrade 1.0.0 -> 1.1.0 sdbus-c++-libsystemd: upgrade 249 -> 250.3 fmt: upgrade 8.0.1 -> 8.1.1 William A. Kennington III (2): ipmitool: Split ipmievd into a separate package jq: upgrade 1.6 -> 2021-10-24 git Windel Bouwman (1): python3-coloredlogs: Added nativesdk Xu Huan (35): python3-websockets: upgrade 10.0 -> 10.1 python3-xlsxwriter: upgrade 3.0.1 -> 3.0.2 python3-socketio: upgrade 5.4.1 -> 5.5.0 python3-pymongo: upgrade 3.12.0 -> 4.0 python3-pyephem: upgrade 4.1 -> 4.1.1 python3-pycparser: upgrade 2.20 -> 2.21 python3-aiofiles: upgrade 0.7.0 -> 0.8.0 python3-bitstruct: upgrade 8.11.1 -> 8.12.1 python3-cmd2: upgrade 2.3.1 -> 2.3.3 python3-configparser: upgrade 5.1.0 -> 5.2.0 python3-rsa: upgrade 4.7.2 -> 4.8 python3-django: upgrade 2.2.24 -> 2.2.25 python3-gnupg: upgrade 0.4.7 ->0.4.8 python3-graphviz: upgrade 0.19 -> 0.19.1 python3-gmpy2: upgrade 2.1.0rc1 -> 2.1.1 python3-grpcio: upgrade 1.41.1 -> 1.43.0 python3-sqlalchemy: upgrade 1.4.28 ->1.4.29 python3-pyro4: upgrade 4.81 -> 4.82 python3-huey: upgrade 2.4.1 -> 2.4.2 python3-msgpack: upgrade 1.0.2 -> 1.0.3 python3-smpplib: upgrade 2.2.0 -> 2.2.1 python3-wheel: upgrade 0.37.0 -> 0.37.1 python3-meh: upgrade 0.50 -> 0.50.1 python3-pandas: upgrade 1.3.4 -> 1.3.5 python3-paramiko: upgrade 2.8.0 ->2.9.1 python3-parso: upgrade 0.8.2 -> 0.8.3 python3-protobuf: upgrade 3.19.0 ->3.19.3 python3-pymongo: upgrade 4.0 -> 4.0.1 python3-pynacl: upgrade 1.4.0 -> 1.5.0 python3-pytest-timeout: upgrade 2.0.1 -> 2.0.2 python3-socketio: upgrade 5.5.0 -> 5.5.1 python3-argcomplete upgrade 1.12.3 -> 2.0.0 python3-async-timeout: upgrade 4.0.0 -> 4.0.2 python3-engineio: upgrade 4.3.0 -> 4.3.1 python3-google-api-python-client: upgrade 2.33.0 -> 2.36.0 Yi Zhao (31): netplan: fix hardcoded path for /lib/netplan libssh: use https instead of git in SRC_URI strongswan: add required kernel modules to RRECOMMENDS libldb: upgrade 2.3.0 -> 2.3.2 samba: upgrade 4.14.8 -> 4.14.10 libtalloc: fix pyext_PATTERN for cross compilation libtdb: fix pyext_PATTERN for cross compilation libtevent: fix pyext_PATTERN for cross compilation libldb: fix pyext_PATTERN for cross compilation samba: fix pyext_PATTERN for cross compilation samba: add pyldb to rdepends for samba-python3 samba: update cross-answers files openldap: fix parallel build failure openldap: upgrade 2.5.8 -> 2.5.9 openldap: fix strip issue with new patch postfix: upgrade 3.6.2 -> 3.6.3 openipmi: upgrade 2.0.31 -> 2.0.32 xmlsec1: enable native build upower: add UPSTREAM_CHECK_GITTAGREGEX lvm2: add UPSTREAM_CHECK_GITTAGREGEX ndctl: add UPSTREAM_CHECK_GITTAGREGEX nftables: upgrade 1.0.0 -> 1.0.1 ipset: upgrade 7.11 -> 7.15 libnetfilter-queue: upgrade 1.0.3 -> 1.0.5 bridge-utils: upgrade 1.7 -> 1.7.1 iscsi-initiator-utils: upgrade 2.1.4. -> 2.1.5 openldap: ignore the mkdir errors in Makefile tnftp: upgrade 20151004 -> 20210827 dracut: upgrade 051 -> 055 tree: upgrade 2.0.0 -> 2.0.1 postfix: upgrade 3.6.3 -> 3.6.4 Zheng Ruoqin (4): spitools: upgrade 1.0.0 -> 1.0.1 python3-rdflib: upgrade 6.0.0 -> 6.0.2 python3-typeguard: upgrade 2.13.0 -> 2.13.2 python3-ujson: upgrade 4.2.0 -> 4.3.0 leimaohui (5): dstat: Deleted terminated project. pcp: Added a new recipe which provides dstat command. dool: Added a new OSS that forked from dstat project. xrdp: Fixed build error with openssl 3.0 and upgraded from 0.9.17 to 0.9.18. xorg-xrdp: Upgraded from 0.2.5 to 0.2.18. mk (1): python3-marshmallow: add recipe at version 3.14.0 wangmy (79): avro-c: upgrade 1.10.2 -> 1.11.0 botan: upgrade 2.18.1 -> 2.18.2 c-ares: upgrade 1.17.2 -> 1.18.1 grpc: upgrade 1.41.0 -> 1.41.1 libcrypt-openssl-guess-perl: upgrade 0.13 -> 0.14 fetchmail: upgrade 6.4.21 -> 6.4.23 iwd: upgrade 1.18 -> 1.19 debootstrap: upgrade 1.0.124 -> 1.0.126 jsoncpp: upgrade 1.9.4 -> 1.9.5 python3-aenum: upgrade 3.1.2 -> 3.1.3 python3-aiohttp: upgrade 3.7.4 -> 3.8.0 python3-async-timeout: upgrade 3.0.1 -> 4.0.0 python3-fastnumbers: upgrade 3.1.0 -> 3.2.1 python3-google-api-python-client: upgrade 2.28.0 -> 2.30.0 python3-graphviz: upgrade 0.17 -> 0.18 python3-httplib2: upgrade 0.20.1 -> 0.20.2 openvpn: Change the default cipher to AES-256-GCM for server configurations ctags: upgrade 5.9.20210905.0 -> 5.9.20211114.0 libmbim: upgrade 1.26.0 -> 1.26.2 smcroute: upgrade 2.5.3 -> 2.5.4 python3-absl: upgrade 0.15.0 -> 1.0.0 python3-alembic: upgrade 1.7.4 -> 1.7.5 python3-cmd2: upgrade 2.2.0 -> 2.3.0 python3-gast: upgrade 0.5.2 -> 0.5.3 python3-isort: upgrade 5.10.0 -> 5.10.1 python3-pychromecast: upgrade 9.3.1 -> 10.1.0 python3-sqlalchemy: upgrade 1.4.26 -> 1.4.27 wireguard-tools: upgrade 1.0.20210315 -> 1.0.20210914 cryptsetup: upgrade 2.4.1 -> 2.4.2 libqb: upgrade 2.0.3 -> 2.0.4 qpdf: upgrade 10.3.2 -> 10.4.0 tesseract: upgrade 4.1.1 -> 4.1.3 thin-provisioning-tools: upgrade 0.8.5 -> 0.9.0 xmlsec1: upgrade 1.2.32 -> 1.2.33 libnetfilter-log: upgrade 1.0.1 -> 1.0.2 python3-autobahn: upgrade 21.3.1 -> 21.11.1 pure-ftpd: upgrade 1.0.49 -> 1.0.50 icewm: upgrade 2.8.0 -> 2.9.0 ostree: upgrade 2021.5 -> 2021.6 ply: upgrade 2.1.1 -> 2.2.0 pps-tools: upgrade 1.0.2 -> 1.0.3 dnf-plugin-tui: Fix a bug with newer version rpm. snort: upgrade 2.9.18.1 -> 2.9.19 cloc: upgrade 1.90 -> 1.92 python3-scrypt: upgrade 0.8.18 -> 0.8.19 fio: upgrade 3.28 -> 3.29 mpich: upgrade 3.4.2 -> 3.4.3 nano: upgrade 5.9 -> 6.0 redis-plus-plus: upgrade 1.3.2 -> 1.3.3 satyr: upgrade 0.38 -> 0.39 qpdf: upgrade 10.4.0 -> 10.5.0 tree: upgrade 1.8.0 -> 2.0.0 libfile-slurper-perl: upgrade 0.012 -> 0.013 libio-socket-ssl-perl: upgrade 2.072 -> 2.073 python3-ipython: upgrade 7.28.0 -> 7.30.1 apache2: upgrade 2.4.51 -> 2.4.52 python3-pyhamcrest: upgrade 2.0.2 -> 2.0.3 python3-pymisp: upgrade 2.4.148 -> 2.4.152 weechat: upgrade 3.0 -> 3.4 wolfssl: upgrade 5.0.0 -> 5.1.0 pkcs11-helper: upgrade 1.27 -> 1.28 bats: upgrade 1.4.1 -> 1.5.0 doxygen: upgrade 1.9.2 -> 1.9.3 pcsc-tools: upgrade 1.5.7 -> 1.5.8 dnfdragora: upgrade 1.1.2 -> 2.1.2 iwd: upgrade 1.20 -> 1.21 python3-pyscaffold: upgrade 4.1.1 -> 4.1.4 python3-supervisor: upgrade 4.2.2 -> 4.2.4 rdma-core: upgrade 36.0 -> 38.0 nlohmann-json: upgrade 3.10.4 -> 3.10.5 protobuf: upgrade 3.19.1 -> 3.19.3 uriparser: upgrade 0.9.5 -> 0.9.6 mtr: upgrade 0.94 -> 0.95 networkmanager: upgrade 1.32.12 -> 1.34.0 cryptsetup: upgrade 2.4.2 -> 2.4.3 cups-filters: upgrade 1.27.2 -> 1.28.11 libmodbus: upgrade 3.1.6 -> 3.1.7 libsdl2-ttf: upgrade 2.0.15 -> 2.0.18 monit: upgrade 5.29.0 -> 5.30.0 zangrc (1): python3-smpplib: upgrade 2.1.0 -> 2.2.0 zhengruoqin (18): python3-cantools: upgrade 36.4.0 -> 36.5.0 python3-coverage: upgrade 6.0.2 -> 6.1.1 python3-cycler: upgrade 0.10.0 -> 0.11.0 python3-engineio: upgrade 4.2.1 -> 4.3.0 python3-grpcio-tools: upgrade 1.41.0 -> 1.41.1 python3-grpcio: upgrade 1.41.0 -> 1.41.1 python3-ujson: upgrade 4.3.0 -> 5.0.0 chrony: upgrade 4.1 -> 4.2 openvpn: upgrade 2.5.4 -> 2.5.5 samba: upgrade 4.14.10 -> 4.14.11 libnet-dns-perl: upgrade 1.32 -> 1.33 byacc: upgrade 20210808 -> 20211224 glmark2: upgrade 2021.02 -> 2021.12 python3-djangorestframework: upgrade 3.12.4 -> 3.13.1 python3-google-api-python-client: upgrade 2.30.0 -> 2.33.0 python3-networkx: upgrade 2.6.2 -> 2.6.3 python3-pyatspi: upgrade 2.38.1 -> 2.38.2 pugixml: upgrade 1.11.2 -> 1.11.4 poky: d78650b980..27ff420543: Adrian Freihofer (1): runqemu: support rootfs mounted ro Alejandro Hernandez Samaniego (3): tclibc-newlib: Supply missing /bin/sh target in newlib sdk tclibc-baremetal: Supply missing /bin/sh target in the baremetal sdk gcc-cross-canadian: Fix cross canadian compiler for baremetal targets Alexander Kanavin (262): runqemu: unbreak non-gl displays curl: submit patch upstream libxml2: submit patch upstream psplash: upgrade to latest revision python3-gitdb: upgrade 4.0.7 -> 4.0.9 python3-pyparsing: upgrade 3.0.0 -> 3.0.4 vala: upgrade 0.54.2 -> 0.54.3 asciidoc: upgrade 10.0.0 -> 10.0.1 lighttpd: upgrade 1.4.60 -> 1.4.61 stress-ng: upgrade 0.13.00 -> 0.13.06 mesa: upgrade 21.2.4 -> 21.2.5 linux-firmware: upgrade 20210919 -> 20211027 puzzles: upgrade to latest revision libsoup: upgrade 3.0.1 -> 3.0.2 libsoup-2.4: upgrade 2.74.0 -> 2.74.1 nghttp2: upgrade 1.45.1 -> 1.46.0 diffoscope: upgrade 188 -> 189 gawk: update 5.1.0 -> 5.1.1 cmake: update 3.21.3 -> 3.21.4 ffmpeg: update 4.4 -> 4.4.1 icu: update 69.1 -> 70.1 librsvg: update 2.52.2 -> 2.52.3 xf86-video-intel: update to latest commit cracklib: update 2.9.5 -> 2.9.7 cracklib: patches submitted upstream docbook-xml: patch is not upstreamable lrzsz: patch is not upstreamable libjitterentropy: upgrade 3.3.0 -> 3.3.1 gdbm: upgrade 1.19 -> 1.22 perl: backport gdbm 1.2x compatibility fixes valgrind: mark ptest-specific patch as inappropriate systemd-bootchart: submit musl patches upstream librsvg: set the needed atomic configuration flags directly per-target libxml2: mark patch as non-upstreamable libpcre/libpcre2: correct SRC_URI ovmf: submit patch upstream mesa-demos: drop glx option and patch mesa-demos: mark glew/glu patch as non-upstreamable xserver-xorg: update 1.20.13 -> 21.1.1 xserver-xorg: convert from autotools to meson xserver-xorg: add missing libtirpc dependency rust: update 1.56.0 -> 1.56.1 libgpg-error: update 1.42 -> 1.43 socat: upgrade 1.7.4.1 -> 1.7.4.2 kexec-tools: update 2.0.22 -> 2.0.23 python3-hypothesis: upgrade 6.24.0 -> 6.24.2 python3-numpy: upgrade 1.21.3 -> 1.21.4 python3-packaging: upgrade 21.0 -> 21.2 python3-pbr: upgrade 5.6.0 -> 5.7.0 python3-py: upgrade 1.10.0 -> 1.11.0 python3-setuptools: upgrade 58.3.0 -> 58.5.3 python3-pyparsing: update 3.0.4 -> 3.0.5 vulkan-samples: update to latest revision gnu-config: update to latest revision libgpg-error: mark patch as non-upstreamable valgrind: submit patch upstream meson: upgrade 0.59.2 -> 0.60.1 shared-mime-info: fix meson 0.60 builds webkitgtk: submit patches upstream webkitgtk: remove unneeded patch spirv-headers: PV should be 1.5.4 ovmf: submit patch upstream weston: submit patch upstream db: mark all patches as non-upstreamable unzip/zip: mark all patches as non-upstreamable automake: update 1.16.3 -> 1.16.5 libunistring: address automake 1.16.5 failures gettext: address automake 1.16.5 failures ccache: upgrade 4.4.2 -> 4.5 python3-hypothesis: upgrade 6.24.2 -> 6.24.3 python3-pyparsing: upgrade 3.0.5 -> 3.0.6 asciidoc: upgrade 10.0.1 -> 10.0.2 libpipeline: upgrade 1.5.3 -> 1.5.4 diffoscope: upgrade 190 -> 192 piglit: upgrade to latest revision systemd: upgrade 249.5 -> 249.6 xwayland: upgrade 21.1.2 -> 21.1.3 librstd-rs: submit patches upstream curl: update 7.79.1 -> 7.80.0 librsvg: update 2.52.3 -> 2.52.4 libsamplerate0: update 0.1.9 -> 0.2.2 patches: correct whitespace/spelling for Upstream-Status tags autoconf: add missing Upstream-Status to patches libxml2: add missing Upstream-Status tag unfs3: add missing Upstream-Status tag kea: add missing Upstream-Status to a patch libnl: add missing Upstream-Status tag rust-hello-world: add missing Upstream-Status to a patch numactl: add missing Upstream-Status to a patch expect: do not install examples, drop related patch slang: mark patch as inappropriate for upstream submission busybox: drop 0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch librsvg: submit system-deps patch upstream groff: include references to corresponding upstream commits in a patch logrotate: add a link to upstream review for one of the patch glib-2.0: submit patch upstream ell: remove unneeded patch apt: drop unneeded chunk from a musl patch, submit the rest upstream diffstat: remove unneeded patch dpkg: replace a patch with a tweak to an already existing sed fixup elfutils: update 0.185 -> 0.186 elfutils: submit patch upstream weston: mark patch as denied gptfdisk: submit patch upstream git: update 2.33.1 -> 2.34.0 cmake: update 3.21.4 -> 3.22.0 systemd: update 249.6 -> 249.7 vulkan: update 1.2.191.0 -> 1.2.198.0 bind: update 9.16.22 -> 9.16.23 python3-packaging: update 21.2 -> 21.3 python3-setuptools: update 58.5.3 -> 59.2.0 libcomps: remove unneeded patch libdnf: submit patches upstream meson: submit patch upstream perl-cross: submit patches upstream perl: submitted patch upstream testimage.bbclass: request the use of kvm by default go-helloworld: update to latest revision go-helloworld: test at runtime python3-rfc3339/3986-validator: correct upstream version check go: update 1.16.10 -> 1.17.3 ovmf: remove patch merged upstream insane.bbclass: add a check that Upstream-Status patch tag is present and correctly formed perl: replace a patch with a config option meson: configure and use generic exe_wrapper perlcross: do not copy ${S}/patches into sysroot python3: mark patch as inappropriate, with better explanation vala: submit patch upstream valgrind: remove unneeded patch lighttpd: remove unneeded (since meson switch) patch stress-ng: submit patch upstream zstd: submit patch upstream sudo: submit patch upstream adwaita-icon-theme: submit patch upstream igt-gpu-tools: correct patch status wayland: drop unnecessary patch xserver-xorg: remove unneeded patch kexec-tools: drop unneeded patch piglit: submit patches upstream systemtap: submit patch upstream ffmpeg: submit patch upstream libfm: submit patches upstream libgcrypt: submit patch upstream libgpg-error: submit patch upstream lttng: submit patches upstream rustfmt: remove the recipe python3-pycryptodome: update to 3.12.0 strace: update 5.14 -> 5.15 cups: update 2.3.3op2 -> 2.4.0 erofs-utils: update 1.3 -> 1.4 rust: update 1.56.1 -> 1.57.0 git: upgrade 2.34.0 -> 2.34.1 go: update 1.17.3 -> 1.17.4 libunwind: update 1.6.0 -> 1.6.2 libseccomp: update 2.5.2 -> 2.5.3 bitbake: fetch2/wget: do not hardcode tarball compressors in version check ruby: update 3.0.2 -> 3.0.3 glib-2.0: upgrade 2.70.1 -> 2.70.2 ell: upgrade 0.45 -> 0.46 ccache: upgrade 4.5 -> 4.5.1 mmc-utils: upgrade to latest revision python3-hypothesis: upgrade 6.24.3 -> 6.30.0 python3-markdown: upgrade 3.3.4 -> 3.3.6 python3-more-itertools: upgrade 8.11.0 -> 8.12.0 python3-pbr: upgrade 5.7.0 -> 5.8.0 python3-ruamel-yaml: upgrade 0.17.16 -> 0.17.17 python3-setuptools: upgrade 59.2.0 -> 59.4.0 freetype: upgrade 2.11.0 -> 2.11.1 harfbuzz: upgrade 3.1.1 -> 3.1.2 vulkan-loader: upgrade 1.2.198.0 -> 1.2.198.1 mesa: upgrade 21.3.0 -> 21.3.1 piglit: upgrade to latest revision webkitgtk: upgrade 2.34.1 -> 2.34.2 diffoscope: upgrade 192 -> 194 enchant2: upgrade 2.3.1 -> 2.3.2 libsoup: upgrade 3.0.2 -> 3.0.3 xxhash: upgrade 0.8.0 -> 0.8.1 kern-tools-native: check tags, not commits for new versions libid3tag: move to meta-oe bitbake: fetch: add a test for version check where compression changes meson: upgrade 0.60.1 -> 0.60.2 sstatetests: add a test for moving oe-core around in the filesystem serf: mark upstream as inactive rust-hello-world: test at runtime btrfs-tools: upgrade 5.15 -> 5.15.1 python3-hypothesis: upgrade 6.30.0 -> 6.31.4 elfutils: update patch submitted upstream python3-setuptools: upgrade 59.4.0 -> 59.5.0 lighttpd: upgrade 1.4.61 -> 1.4.63 vim: do not report upstream version check as broken harfbuzz: upgrade 3.1.2 -> 3.2.0 less: upgrade 590 -> 598 alsa: upgrade 1.2.5 -> 1.2.6 dpkg: update 1.20.9 -> 1.21.1 piglit: upgrade to latest revision go: upgrade 1.17.4 -> 1.17.5 repo: update 2.18 -> 2.19 libptytty: add recipe boost: update 1.77.0 -> 1.78.0 rxvt-unicode: upgrade 9.26 -> 9.30 diffoscope: upgrade 194 -> 196 debianutils: update 4.11.2 -> 5.5 libx11: update 1.7.3 -> 1.7.3.1 libsdl2: update 2.0.16 -> 2.0.18 runqemu: additional setting to force software rendering with sdl 2.0.18 cantarell-fonts: update 0.301 -> 0.303.1 go: log build id computations lib/oe/reproducible: correctly set .git location when recursively looking for git repos go: correctly set debug-prefix-map and build directory go: additional patches to help reproducibility selftest/reproducible: drop go items from exception list virgl: skip headless test on alma 8 ruby: disable rdoc due to non-reproducibility rust-llvm: apply the same reproducibility patch as for llvm proper busybox: update 1.34.1 -> 1.35.0 systemd: update 249.7 -> 250.1 python3-numpy: update 1.21.4 -> 1.22.0 mdadm: update 4.1 -> 4.2 libportal: update 0.4 -> 0.5 epiphany: make libportal optional, and move it to meta-oe librsvg: update 2.52.4 -> 2.52.5 qemuboot/runqemu: fully form the ip= kernel parameter parselogs: add a couple systemd false positives systemd-boot: restore reproducibility connman-conf: do nothing in qemu, do not touch eth0 python3: drop unneeded multiprocessing module patch ruby: update 3.0.3 -> 3.1.0 meson: fold nativesdk into the main recipe meson: update 0.60.3 -> 0.61.1 efivar: update 37 -> 38 libuv: update 1.42.0 -> 1.43.0 resolvconf: update 1.87 -> 1.91 systemd: update 250.1 -> 250.3 python3: update 3.10.1 -> 3.10.2 logrotate: update 3.18.1 -> 3.19.0, drop rotate-across-filesystems patches sqlite: update 3.37.1 -> 3.37.2 rust: update 1.57.0 -> 1.58.0 readline: upgrade 8.1 -> 8.1.2 socat: upgrade 1.7.4.2 -> 1.7.4.3 go: upgrade 1.17.5 -> 1.17.6 shadow: upgrade 4.10 -> 4.11.1 e2fsprogs: upgrade 1.46.4 -> 1.46.5 mtools: upgrade 4.0.36 -> 4.0.37 python3-pygments: upgrade 2.11.1 -> 2.11.2 python3-pyrsistent: upgrade 0.18.0 -> 0.18.1 python3-ruamel-yaml: upgrade 0.17.19 -> 0.17.20 vala: upgrade 0.54.4 -> 0.54.6 pigz: upgrade 2.6 -> 2.7 rpcsvc-proto: upgrade 1.4.2 -> 1.4.3 piglit: upgrade to latest revision libinput: upgrade 1.19.2 -> 1.19.3 xwayland: upgrade 21.1.3 -> 21.1.4 puzzles: upgrade to latest revision webkitgtk: upgrade 2.34.2 -> 2.34.3 diffoscope: upgrade 199 -> 200 libsoup: upgrade 3.0.3 -> 3.0.4 liburcu: upgrade 0.13.0 -> 0.13.1 ffmpeg: upgrade 4.4.1 -> 5.0 p11-kit: update 0.24.0 -> 0.24.1 libunistring: update 0.9.10 -> 1.0 repo: upgrade 2.19 -> 2.20 stress-ng: upgrade 0.13.09 -> 0.13.10 Alexey Brodkin (1): openssl: Use linux-latomic target for ARC Andreas Müller (1): libsdl2: Move to CMake build Andrei Gherzan (2): gcc: Fix compile of gcc plugins gcc: Fix typo in linux64.h install patch Andres Beltran (2): create-spdx: Set the Organization field via a variable create-spdx: Fix key errors in do_create_runtime_spdx Anton Mikanovich (1): bitbake: process: Do not mix stderr with stdout Anuj Mittal (3): glibc-version.inc: remove branch= from GLIBC_GIT_URI releases.rst: move gatesgarth to outdated releases section xserver-xorg: update CVE_PRODUCT Bruce Ashfield (69): linux-yocto/5.14: update to v5.14.15 linux-yocto/5.10: update to v5.10.76 linux-yocto-rt/5.10: update to -rt54 strace: fix build against 5.15 kernel/kernel-headers ppp: fix build against 5.15 headers linux-libc-headers: update to v5.15 linux-yocto/5.15: introduce recipes linux-yocto-rt/5.15: update to -rt17 linux-yocto/5.14: update to v5.14.16 linux-yocto/5.10: update to v5.10.77 linux-yocto/5.14: update to v5.14.17 linux-yocto/5.15: update to v5.15.1 linux-yocto/5.10: update to v5.10.78 kernel: provide virtual/kernel for all kernels linux-yocto/5.15: update to v5.15.2 linux-yocto/5.14: update to v5.14.18 linux-yocto/5.10: update to v5.10.79 kernel-yocto: conditionally enable stack protection checking on x86-64 linux-yocto-dev: bump to v5.16+ kernel: export native PKGCONFIG variables python: introduce python3-dtschema python: import jsonpointer from meta-python python3-jsonpointer: Update 2.1 to 2.2 python: import jsonschema from meta-python python: import idna from meta-python python: import rfc3339-validator from meta-python python: import rfc3986-validator from meta-python python: import webcolors from meta-python python: import ruamel-yaml from meta-python python: import pyrsistent from meta-python python: import rfc3987 from meta-pyton python: import strict-rfc3339 from meta-python python: import vcversioner from meta-python maintainers: update for kernel dtschema checking dependencies linux-yocto: export pkgconfig variables to devshell kernel: introduce python3-dtschema-wrapper linux-yocto-dev: introduce dt-validation PACKAGECONFIG linux-yocto/5.14: update to v5.14.21 linux-yocto/5.15: update to v5.15.5 linux-yocto/5.10: update to v5.10.82 linux-yocto/5.15: update to v5.15.6 linux-yocto-dev: use versioned branch as default linux-yocto-rt/5.10: update to -rt56 kern-tools: bug fixes and kgit-gconfig linux-yocto/5.10: update to v5.10.84 linux-yocto/5.15: update to v5.15.7 linux-yocto/5.15: update to v5.15.8 linux-yocto/5.10: update to v5.10.85 linux-yocto/5.15: update to v5.15.10 linux-yocto/5.10: update to v5.10.87 linux-yocto/5.10: update to v5.10.89 linux-yocto/5.15: update to v5.15.12 linux-yocto/5.14: fix arm 32bit -rt warnings linux-yocto/5.15: fix arm 32bit -rt warnings linux-yocto/5.10/cfg: add kcov feature fragment linux-yocto/5.15/cfg: add kcov feature fragment linux-yocto/5.15: update to v5.15.13 linux-yocto/5.10: update to v5.10.90 conf/machine: bump qemu preferred versions to 5.15 linux-yocto: drop 5.14 recipes yocto-bsp: change default to 5.15 yocto-bsp/5.14: drop recipes poky: set default kernel to 5.15 linux-yocto/5.15: fix arm defconfig warnings lttng-modules: update to 2.13.1 linux-yocto/5.10: amdgpu: updates for CVE-2021-42327 linux-yocto/5.15: update to v5.15.14 linux-yocto/5.10: update to v5.10.91 linux-yocto-rt/5.15: update to -rt22 Chaitanya Vadrevu (1): python3-pyelftools: Depend on debugger, pprint Changhyeok Bae (2): iputils: update 20210722 to 20211215 iproute2: update 5.15.0 to 5.16.0 Changqing Li (3): cmake: upgrade 3.22.0 -> 3.22.1 rpm: fix CVE-2021-3521 pigz: fix one failure of command "unpigz -l" Chen Qi (7): bitbake: tests/fetch.py: fix premirror test cases bitbake: tests/fetch.py: add test case to ensure downloadfilename is used for premirror bitbake: fetch2: fix downloadfilename issue with premirror opkg: use oe.qa.add_message istead of package_qa_add_message avahi: update CVE id fixed by local-ping.patch waffle: add cmake-native to DEPENDS populate_sdk_base: remove unneeded dirs such as /dev Claus Stovgaard (1): cups: Fix missing installation of cups sysv init scripts Daniel Gomez (1): os-release: Add DISTRO_CODENAME as vardeps for do_compile Denys Dmytriyenko (3): wayland-protocols: upgrade 1.23 -> 1.24 wayland: upgrade 1.19.0 -> 1.20.0 mtd-utils: upgrade 2.1.3 -> 2.1.4 Dhruva Gole (2): scripts/checklayer/common.py: Fixed a minor grammatical error yocto-check-layer: Add additional README checks Dmitry Baryshkov (1): go: fix building without SECURITY_LDFLAGS Florian Amstutz (1): systemd: Fix systemd-journal-gateway user/groups He Zhe (1): linux-yocto-dev: Set KBRANCH with = Jacob Kroon (3): native/cross: Add ar wrapper for determinism no-static-libs.inc: Fixes sstate: Preserve permissions when extracting tar archive Jagadeesh Krishnanjanappa (1): tune-cortexa72: remove crypto for the default cortex-a72 Jasper Orschulko (4): repo: Add recipe for 2.17.3 base.bbclass: Add sysroot deps for repo fetcher repo: Use separate task for patching repo rev repo: upgrade 2.17.3 -> 2.18 Jim Wilson (1): gdb-common: Add --with-liblzma-prefix in xz PACKAGECONFIG. Joel Winarske (1): mesa: Add PACKAGECONFIG option for broadcom v3d Vulkan driver Jon Mason (3): runqemu: work without SERIAL_CONSOLES being defined scripts/lib/wic/help.py: Update Fedora Kickstart URLs yocto-check-layer: disregard checks if referencing another README file Jose Quaresma (11): sstate: another fix for touching files inside pseudo bitbake: cooker: check if upstream hash equivalence server is available spirv-headers: upgrade 1.5.4 -> 1.5.5 spirv-headers: bump to last master spirv-tools: upgrade 2021.3 -> 2021.4 glslang: upgrade 11.6.0 -> 11.7.0 shaderc: upgrade 2021.2 -> 2021.3 sstate: cleanup the sstate mirror progress check sstate: only search on the mirrors for the missing files sstate: add a function to get the sstate file name in sstate_checkhashes glslang: upgrade 11.7.0 -> 11.7.1 Joshua Watt (7): classes/meson: Add optional rust definitions classes/crate-fetch: Ensure crate fetcher is available yocto-check-layer: Relax README case checks webkitgtk: Add packageconfig for libsoup2 epiphany: Add packageconfig for libsoup2 selftest: reproducible: Set maximum report size classes/native: Propagate dependencies to outhash Justin Bronder (1): bitbake: fetch2/wget: add redirectauth parameter Kai Kang (7): squashfs-tools: fix CVE-2021-41072 squashfs-tools: follow-up fix for CVE-2021-41072 convert-srcuri.py: use regex to check space in SRC_URI packagegroup-core-tools-testapps: clear GOTOOLS for riscv32 xserver-xorg: 21.1.2 -> 21.1.3 multilib.bbclass: set rpm file color for 32-bit multilib image speex: fix CVE-2020-23903 Kamil Dziezyk (1): grub-efi: Add xen_boot support when 'xen' is in DISTRO_FEATURES for aarch64 Kevin Hao (6): meta-yocto-bsp: Introduce the v5.15 bbappend tune-cortexa72: Enable the crc extension by default for cortexa72 arch-armv8-5a.inc: Add tune include for armv8.5a armv9a/tune: Add the support for the Neoverse N2 core tune-cortexa72: Drop the redundant cortexa72-crc tune tune-cortexa73: Introduce cortexa73-crypto tune Khairul Rohaizzat Jamaluddin (1): epiphany: update 41.0 -> 41.3 Khem Raj (37): wpebackend-fdo: Add -Wno-c++11-narrowing musl: Update to tip of trunk site/common-musl: Enable qsort_r in glib libsolv: Enable correct qsort_r on musl kernel-devsrc: Add vdso.lds and other build files for riscv64 as well gdb: Upgrade to 11.1 gdb: Add dependency on libgmp librsvg: Disable 64bit atomics on riscv32/mipsel in crossbeam qemu: Build on musl targets qemu: Fix build on aarch64/musl wic: Use os.rename instead of bb.utils.rename qemu: Exclude building on riscv32 ptest-packagelists: Remove qemu ptests for rv32 gobject-introspection: Add -Dintrospection only when GIR_MESON_OPTION is not empty gstreamer1.0-python: Improve introspection option handling python3-pygobject: Improve introspection handling vulkan-samples: Fix cmake errors about plain signature vulkan-samples: Enable for architectures where it builds glibc-tests: Do not set SYSTEMD_SERVICE image: Include psplash only when screen machine feature is enabled weston-init: Pass --continue-without-input when launching weston Revert "weston-init: Pass --continue-without-input when launching weston" boost: Fix build on arches with no atomics glibc: Drop patch to support/workaround prelinked apps on armv5 libunwind: Enable for rv64 perf: Enable libunwind packageconfig on riscv64 glibc: Drop ppc sqrt optimisations ffmpeg: Fix build on ppc32 mesa: Fix build on ARM systems without Neon gdb: Drop sh4 support patch binutils: Drop patch to wider sh regexp mesa: Fix broadcom vulkan driver build on 32bit arches with 64bit time_t mesa: Define broadcom packageconfig knob glibc: Redo tzselect bash dependency problem gcc: Update status of musl stddef.h patch libsdl2: Fix build when libunwind is not used valgrind: Avoid accessing network in ptest task Konrad Weihmann (3): insane: add Inactive-Upstream to Upstream-Status insane: move src-uri-bad checks to unpack stage cve-check: add lockfile to task Leif Middelschulte (1): meson: improve SDK's wrapper to make Wraps work Li Wang (1): libtool: change the default AR_FLAGS from "cru" to "cr" Lukasz Majewski (1): glibc: ptest: Add running glibc time related test suite (Y2038) with ptest Manuel Leonhardt (2): sstate: Account for reserved characters when shortening sstate filenames dpkg: Install dkpg-perl scripts to versioned perl directory Marek Vasut (2): bootchart2: Add missing python3-math dependency u-boot: upgrade 2021.10 -> 2022.01 Markus Volk (2): libva: move PACKAGECONFIG options to libva.inc vulkan-loader: inherit pkgconfig Martin Jansa (1): gdb-cross: add dependency on gmp-native Matt Madison (2): qemu.bbclass: drop OLDEST_KERNEL reference qemu: add patch to set minimum kernel version for riscv32 Matthias Klein (1): gdb: fix aarch64 remote debugging gdb/28355 Max Krummenacher (4): perf: sort-pmuevents: don't drop elements perf: sort-pmuevents: allow for additional type qualifiers and storage class ref-manual: fix patch documentation libsdl2: fix build if egl.pc sets macros in cflags Michael Halstead (3): releases: update to include 3.3.4 releases: update to include 3.4.1 releases: update to include 3.1.13 Michael Opdenacker (35): manuals: correct "take affect" by "take effect" manuals: start of documentation standards document bitbake: doc: bitbake-user-manual: expand SRC_URI description ref-manual: remove reference to TOPDIR ref-manual: BBFILES_DYNAMIC - fix punctuation and quoting issues ref-manual: simplify SRC_URI reference documentation: prepare for 3.1.12 release bitbake: bitbake-user-manual: quoting fixes bitbake: bitbake-user-manual: fix typo bitbake: bitbake-user-manual: add missing reference bitbake: bitbake-user-manual: fix backslash issues bitbake: bitbake-user-manual: SRC_URI: mention gitsm fetcher ref-manual: drop support for Ubuntu 16.04 ref-manual: drop support for Fedora 30-32 dev-manual: remove warning about += and :append manuals: add hyperlinks to files in meta-skeleton dev-manual: how to purge duplicate sstate cache files migration-guides: add more class references ref-manual: add more class references misc manuals: add further class references ref-manual: remove newline string in PREMIRRORS bitbake: doc: bitbake-user-manual: expand BB_HASHSERVE and document BB_HASHSERVE_UPSTREAM documentation: add comment to releases.rst switchers.js overview-manual: fix typo manuals: replace "rootfs" by "root filesystem" quick start manual: update Share State and Hash Equivalence settings documentation/README: trivial typo fix manuals: document hash equivalence dev-manual: update bitbake.conf sample for static libs manuals: add reference to GIR_EXTRA_LIBS_PATH plus minor improvements migration-guides: prepare for release 3.5 manuals: simplify references to class sections ref-manual: Drop TUNEABI, TUNEABI_WHITELIST, TUNEABI_OVERRIDE dev-manual: stop mentioning nightly builds bitbake: doc: bitbake-user-manual: expand BB_HASHSERVE explanations Mike Crowe (3): kernel: improve transformation from KERNEL_IMAGETYPE_FOR_MAKE package: Only snap libraries if they would be processed by ldconfig OS-12840 documentation: Document PACKAGE_SNAP_LIB_SYMLINKS Mingli Yu (4): wic: use shutil.which libpam: Backport ptest fix checking whether files exist libhandy: Backport a makefile header race bootchart2: remove wait_boot logic Oleksandr Kravchuk (5): libxcvt: add recipe python3: udpate to 3.10.1 libx11: update to 1.7.3 xserver-xorg: update to 21.1.2 ofono: update to 1.34 Oleksiy Obitotskyy (1): package_manager: ipk: Fix host manifest generation Otavio Salvador (20): acpica: upgrade 20210930 -> 20211217 asciidoc: upgrade 10.0.2 -> 10.1.1 alsa-ucm-conf: upgrade 1.2.6.2 -> 1.2.6.3 bind: upgrade 9.16.23 -> 9.16.24 kea: upgrade 2.0.0 -> 2.0.1 meson: upgrade 0.60.2 -> 0.60.3 mmc-utils: upgrade to latest revision python3-attrs: upgrade 21.2.0 -> 21.4.0 python3-cython: upgrade 0.29.25 -> 0.29.26 python3-hypothesis: upgrade 6.31.4 -> 6.34.1 python3-importlib-metadata: upgrade 4.9.0 -> 4.10.0 python3-pygments: upgrade 2.10.0 -> 2.11.1 python3-ruamel-yaml: upgrade 0.17.17 -> 0.17.19 python3-tomli: upgrade 1.2.2 -> 2.0.0 python3-zipp: upgrade 3.6.0 -> 3.7.0 sqlite3: upgrade 3.37.0 -> 3.37.1 stress-ng: upgrade 0.13.08 -> 0.13.09 python3-dtschema: upgrade 2021.10 -> 2021.12 mesa: 21.3.1 -> 21.3.3 libxcrypt, libxcrypt-compat: upgrade 4.4.26 -> 4.4.27 Paul Eggleton (4): classes/kernel*: allow disabling symlink creation classes/qemuboot: allow IMAGE_LINK_NAME to be empty classes/kernel*: add variables to allow changing artifact extension classes/create-spdx: handle if IMAGE_LINK_NAME is empty Pavel Zhukov (2): go: upgrade 1.16.8 -> 1.16.10 patch.py: Initialize git repo before patching Peter Kjellerstedt (22): systemd: Do not install anything in /var/volatile base-files: Ignore the empty-dirs QA error due to files in /var/volatile apt: Do not install /var/log/apt for target insane.bbclass: Add a check for directories that are expected to be empty libx11: Update LICENSE to better reflect reality libx11-compose-data: Update LICENSE to better reflect reality ncurses.inc: Remove a no longer relevant comment systemd: Revert inappropriate use of ${systemd_system_unitdir} systemd-conf: Revert inappropriate use of ${systemd_system_unitdir} systemd-bootchart: Revert inappropriate use of ${systemd_system_unitdir} mirrors.bbclass: Clean up the additions to MIRRORS own-mirrors.bbclass: Clean up the additions to PREMIRRORS gcc-common.inc: Clean up the additions to MIRRORS slang: Clean up the additions to PREMIRRORS testsdk.py: Clean up the additions to PREMIRRORS and SSTATE_MIRRORS gcc-common.inc: Remove mirrors that are no longer available tzdata: Make it compatible with devtool modify tzdata: Remove unnecessary RPROVIDES tzdata: Clean up tzdata: Remove no longer relevant RCONFLICTS:${PN} rootfs-postcommands.bbclass: Make two comments use the new variable syntax systemd: Avoid a Python deprecation warning Pgowda (2): gcc: Fix CVE-2021-35465 rust-cross: Replace TARGET_ARCH with TUNE_PKGARCH Quentin Schulz (10): README.OE-Core.md: update URLs ptest-packagelists: Add missing python3-webcolors entry make the documentation a bit more inclusive docs: dev-manual: common-tasks: highlight creating your own layer is not required documentation: conf.py: add knob for loading appropriate objects.inv kmscube: fix build on OpenGL ES 3 dependencies not providing GLES3/gl3ext.h mesa: PROVIDES virtual/libgles3 kmscube: add build dependency on virtual/libgles3 mesa: make ligles3-dev RDEPENDS on libgles2-dev bitbake: doc: bitbake-user-manual: specify the URL to be used with SSH over git is different from `git clone`'s Randy MacLeod (5): valgrind: Add util-linux-taskset ptest dependency valgrind: backport rseq work-around valgrind: remove duplicate and skipped tests from remove-for-aarch64 valgrind: skip boost_thread for aarch64 ptests valgrind: make run-ptest better Richard Purdie (133): meta: Add explict branch to git SRC_URIs meta/scripts: Manual git url branch additions linunistring: Add missing gperf-native dependency archiver: Default to xz compresison instead of gz gcc: Drop libgfortran patch pseudo: Add fcntl64 wrapper libgfortran: Set GFORTRAN bitbake: fetch2/git: Allow git fetcher to support subdir param bitbake: fetch2/git: Add a warning asking users to set a branch in git urls bitbake: tests/fetch: Update github urls bitbake: fetch/git: Handle github dropping git:// support bitbake: fetch/git: Show warning for invalid github urls bitbake: lib/bb: Clean up use of len() bitbake: daemonize: Avoid unclosed file warning bitbake: lib/bb: Fix string concatination potential performance issues bitbake: fetch: Handle mirror user/password replacements correctly bitbake: tests/fetch: Add test for url parameter rewriting bitbake.conf: Fix corruption of GNOME mirror url scripts/convert-srcuri: Update SRC_URI conversion script to handle github url changes recipes: Update github.com urls to use https go-helloworld/glide: Fix urls opkg: Fix poor operator combination choice bitbake: runqueue: Fix runall option task deletion ordering issue bitbake: tests/fetch: Update pcre.org address after github changes bitbake: cooker: Handle parse threads disappearing to avoid hangs bitbake: fetch2/checksum/siggen: Fix taskhashes not tracking file directories bitbake: runqueue: Fix runall option handling bitbake: cooker: Remove debug code, oops :( bitbake: parse/ast: Show warnings for append/prepend/remove operators combined with +=/.= bitbake: fetch/wget: Add timeout for checkstatus calls (30s) bitbake: cooker: Handle parsing results queue race mirrors: Add uninative mirror on kernel.org scripts/oe-package-browser: Fix after overrides change scripts/oe-package-browser: Handle no packages being built xserver-xorg: Remove orphaned comment bitbake: fetch: Add README on fetcher design constraints wpa-supplicant: Match package override to PACKAGES for pkg_postinst uninative: Add version to uninative tarball name packagegroup-core-buildessential: Mark as TUNE_PKGARCH specific packagegroups-core-full-cmdline: Drop libraries packagegroup and gmp packagegroup-core-full-cmdline: Drop compatibility mappings packagegroup-core-x11-base: Drop dbus dependency mirrors: Add kernel.org sources mirror for downloads.yoctoproject.org bitbake: cooker: Fix task-depends.dot for multiconfig targets bitbake: tests/runqueue: Set TOPDIR in test bitbake: cookerdata: Set TOPDIR explicitly and fix broken findTopdir() bitbake: cache/ConfHandler: Drop TOPDIR/chdir manipulations package: Add sanity check for allarch packagegroups gcc: Dropping mips workaround lua: Backport fix for CVE-2021-43396 glibc: Backport fix for CVE-2021-43396 gcc: Tweak Upstream-Status formatting bitbake: utils: Handle lockfile filenames that are too long for filesystems bitbake: fetch2: Fix url remap issue and add testcase bitbake: bitbake-user-manual: Remove newline string in MIRRORS/PREMIRRORS buildhistory: Drop support for older bitbakes buildhistory: Fix srcrevs output ptest-packagelists: Handle glibc vs musl for ptest buildhistory: Fix do_package race issues bitbake.conf: Pass -D option to ranlib for determisim glibc: Fix i586/c3 support gcc: Drop no longer needed patch ptest-packagelists: Add missing python3-jsonpointer entry python3: Add missing HOMEPAGE entries nativesdk: Handle chown/chgrp calls in nativesdk do_install tasks gcc: Drop mips default ABI patch gcc: Drop further unneeded precompiled header patch oeqa/utils/dump: Fix typo oeqa/parselogs: Fix quoting sanity/lib: Replace usage of LooseVersion() with bb.utils.vercmp_string_op() patchelf: Upgrade 0.14.1 -> 0.14.2 debian: Fix renaming packagedata dependencies gst-plugins-bad: Add missing libxkbcommon vulkan dependency gcc: Update patch status submitted->backport minicom: Mark patches as backports minicom: Upgrade 2.7.1 -> 2.8 glibc: Drop patch for obsolete conflict issue gst-plugins-bad: Bump cache versions to avoid libxkbcommon sstate issues puzzles: Refresh patches based upon upstream discussion gcc: Add CVE-2021-37322 to the list of CVEs to ignore bitbake: siggen: Ensure dumpsig output is deterministic build-appliance-image: Update to master head revision binutils: Drop mips gold patch binutils: Add more detail to the ppc patch binutils: Drop mips default target patch perf: Tweak for mips n64 binutils: Drop mips XLP support patch puzzles: Upgrade to latest git with patches merged lttng-ust: upgrade 2.13.0 -> 2.13.1 patchelf: upgrade 0.14.2 -> 0.14.3 lttng-tools: Backport ptest fix lttng-tools: Disable problem tests bitbake: tests/runqueue: Improve lockfile handling race python3-idna: Update license to Unicode-TOU bitbake: tests/fetch: Drop gnu urls from wget connectivity test manpages: Fix override/append ordering and hence task signatures qemu: Upgrade 6.1.0 -> 6.2.0 lttng-tools: Upgrade 2.13.1 -> 2.13.2 oeqa/selftest/bbtests: Use YP sources mirror instead of GNU qemu: Add selinux PACKAGECONFIG package_deb/ipk/rpm: Add more minimal do_build dependencies back meson: Handle qemu riscv issues openssl: Add reproducibility fix webkitgtk: Add reproducibility fix scripts: Update to use exec_module() instead of load_module() bitbake: utils: Update to use exec_module() instead of load_module() gtk-doc/meson: Fix typos libsdl2: Fix X11 configure options Revert "qemu.bbclass: drop OLDEST_KERNEL reference" allarch: Fix interaction with qemu class expat: Update HOMEPAGE to current url wayland-protocols: Change inherit order sstatetests: Add OLDEST_KERNEL to allarch tests oeqa/sstate: Fix allarch samesigs test buildtools-installer: Update to use 3.4 bitbake: utils: Add disable_network function bitbake: bitbake-worker: Add/support network task flag bitbake: runqueue: Drop BB_STAMP_POLICY/BB_STAMP_WHITELIST classes: Only allow network in existing network accessing code sanity: Drop TUNEABI, TUNEABI_WHITELIST, TUNEABI_OVERRIDE expat: Upgrade 2.4.2 -> 2.4.3 expat: Drop unneeded libtool patch, we use cmake bitbake: doc: Drop BB_STAMP_POLICY/BB_STAMP_WHITELIST expat: Simplify ptest-runner build-appliance-image: Update to master head revision bitbake: build: Tweak exception handling for setscene tasks bitbake: fetch2: Add crate fetcher sstate: Show better exception information for failures sstate: Improve failure to obtain archive message/handling abi_version: Bump HASHEQUIV_HASH_VERSION crate-fetch: Switch to version contained in bitbake build-appliance-image: Update to master head revision build-appliance-image: Update to master head revision Robert Joslyn (4): ref-manual: Fix module_conf typo curl: Update to 7.81.0 curl: Rework openssl and random PACKAGECONFIGs maintainers.inc: Add myself as maintainer for curl Robert P. J. Day (1): ref-manual: generalize definition of "container layer" Robert Yang (3): sanity.bbclass: Update required gcc version to v7.5 bitbake: lib/pyinotify.py: Remove deprecated module asyncore bitbake: data_smart.py: Skip old override syntax checking for anonymous functions Ross Burton (61): openssl: fix builds on ARMv8 targets without Aarch64 python3: silence DeprecationWarnings in python3-config meson: set objcopy in the cross and native toolchain files ref-manual: improve documentation for SDKMACHINE kickstart: update busybox note regarding PARTUUID scons: support out-of-tree builds vim: fix CVE-2021-3796, CVE-2021-3872, and CVE-2021-3875 vim: add patch number to CVE-2021-3778 patch meta: use ln -rs instead of lnr insane: remove unrecognised option check for Meson dtc: merge .bb/.inc dtc: use Meson to build dtc: add PACKAGECONFIGs for tools and yaml dtc: fix mingw build ncurses: poll() works, but only on Linux vim: fix CVE-2021-3927 and CVE-2021-3928 scripts/lnr: remove gmp: fix CVE-2021-43618 oe/utils: allow naming threads in ThreadedPool sstate: explicitly name the checkhashes thread pool oe/utils: by default cap cpu_count() to 64 cores vim: fix CVE-2021-3968 and CVE-2021-3973 vim: set PACKAGECONFIG idiomatically openssl: fix EVP_PKEY_CTX_get_rsa_pss_saltlen() not returning a value recipetool: handle GitLab URLs like we do GitHub recipetool: extend curl detection when creating recipes glew: update patch status libx11: update patch status libxkbcommon: remove obsolete util-macros dependency libxkbcommon: allow building of API documentation xkbcommon: split xkbcli into a separate package libxkbcommon: split libraries into separate packages xkbcommon: add option for xkbregistry tcf-agent: cleanup patches vim: upgrade to 8.2 patch 3752 runqemu: check the qemu PID has been set before kill()ing it gstreamer1.0-plugins-bad: clean up X11 dependencies libtool: don't prefix the installed binary binutils: don't expect libtool to be host-prefixed pkgconfig: remove obsolete support for renamed libtool gtk+3: remove obsolete support for renamed libtool db: remove obsolete support for renamed libtool freetype: remove obsolete support for renamed libtool apr: remove obsolete support for renamed libtool qemu: remove obsolete support for renamed libtool subversion: remove obsolete support for renamed libtool apmd: remove obsolete support for renamed libtool libical: upgrade to 3.0.12 python3: backport a fix so the test suite passes with OpenSSL 3.0.1 openssl: upgrade to 3.0.1 kmod: remove obsolete ac_pwd manipulation kmod: merge target/native recipes kmod: expand compression PACKAGECONFIGs gawk: remove load-sensitive tests linux-yocto: add libmpc-native to DEPENDS xserver-xorg: whitelist two CVEs systemtap: fix vsprintf errors oeqa/runtime/stap: rewrite test vim: update to include latest CVE fixes lighttpd: backport a fix for CVE-2022-22707 oeqa/runtime/stap: increase buffer size S. Lockwood-Childs (1): cups: fix typo in flags to disable avahi Samuli Piippo (1): rpm: remove tmp folder created during install Saul Wold (7): create_spdx: ensure is_work_shared() is unique create-spdx: Protect against None from LICENSE_PATH kernel: add -dbg package perl: Enable threading kernel.bbclass: use common strip() package: Add support for kernel stripping create-spdx: Add kernel work-shared source Schmidt, Adriaan (1): wic: support rootdev identified by partition label Stefan Herbrechtsmeier (17): bitbake: fetch2: npmsw: Add support for duplicate dependencies without url bitbake: fetch2: npmsw: Add support for github prefix in npm shrinkwrap version bitbake: fetch2: Unify tar command in unpack bitbake: fetch2: Add striplevel support to unpack bitbake: bitbake-user-manual: Add striplevel unpack parameter bitbake: test/fetch: Add striplevel unpack parameter test recipetool: Set master branch only as fallback selftest/devtool: Check branch in git fetch selftest/recipetool: Split tests into separate test classes selftest: devtool: Separate common functions and devtool sstate setup into two classes selftest/recipetool: Add tests for branch parameter and srcbranch option bitbake: fetch: npm: Quote destdir in run chmod command bitbake: fetch: npm: Use temporary file for empty user config recipetool: Sort output of guess_license function to be deterministic recipetool: Separate licenses with & operator selftest: recipetool: Add test for split_pkg_licenses function selftest: recipetool: Add test for handle_license_vars function Steve Sakoman (4): ref-system-requirements.rst: Add Debian 11 to list of supported distros ref-system-requirements.rst: Add Fedora 33 and 34 to list of supported distros ref-system-requirements.rst: Add openSUSE Leap 15.2 to list of supported distros cve-extra-exclusions: add db CVEs to exclusion list Sundeep KOKKONDA (2): glibc : Fix CVE-2022-23218 glibc : Fix CVE-2022-23219 Teoh Jay Shen (2): linux-yocto/5.10: update genericx86* machines to v5.10.87 linux-yocto/5.14: update genericx86* machines to v5.14.21 Thomas Perrot (1): uboot-sign: fix the concatenation when multiple U-BOOT configurations are specified Tim Orling (29): scripts/buildhistory-diff: drop use of distutils maintainers.inc: update email address poky.yaml: centos-7 python36-pip -> python3-pip classes/distutils-*: add warning of deprecation setuptools3: refactor for no distutils bbclasses dnf: inherit setuptools3-base instead of distutils libdnf: inherit setuptools3-base not distutils python3-cython: DISTUTILS_* -> SETUPTOOLS_* python3-dbus: inherit setuptools3-base not distuils gpgme: inherit setuptools-base not distuils python3-pip: inherit setuptools3 not distuils3 systemtap: use setuptools-base not distutils libcomps: inherit setuptools3-base not distutils createrepo-c: inherit setuptools3-base not distutils librepo: inherit setuptools3-base not distutils btrfs-tools: use setuptools3-base not distutils bind: inherit setuptools3-base instead of distutils python3-pygobject: setuptools instead of distuils python3-setuptools: do not depend on distutils gstreamer1.0-python: inherit setuptools3-base recipetool/create_buildsys_python.py: less distutils waf.bbclass: drop usage of distutils dnf: drop python3-distutils dependency python3native.bbclass: distutils -> sysconfig rootfs_rpm.bbclass: distutils -> sysconfig module python3-hypothesis: upgrade 6.34.1 -> 6.35.0 ref-manual/variables.rst: add SETUPTOOLS_SETUP_PATH ref-manual/variables.rst: add SETUPTOOLS_*_ARGS ref-manual/classes.rst: add setuptools3-base Tom Hochstein (3): wayland: Fix wayland-tools packaging nativesdk-packagegroup-sdk-host.bb: Update host tools for wayland bitbake.conf: Use wayland distro feature for native builds Ulrich Ölmann (1): gstreamer1.0-plugins-base: add support for graphene Valerii Chernous (1): elf: Discard input .note.gnu.build-id sections Vivien Didelot (2): beaglebone-yocto: prefer u-boot beaglebone-yocto: move kernel and dtb to packagegroup-core-boot Vyacheslav Yurkov (17): overlayfs: all overlays unit oeqa/selftest: refactor common functions overlayfs: meta-selftest recipe fix oeqa/selftest: extend overlayfs test overlayfs: add debug information ref-manual: update overlayfs class rootfs-postcommands: update systemd_create_users files: add overlayfs-etc-preinit.sh.in wic: image for overlayfs-etc tests overlayfs-etc: mount etc as overlayfs image: add overlayfs-etc image feature oeqa/selftest: overlayfs helper function oeqa/selftest: unit tests for overlayfs-etc overlayfs: update notes on /etc overlayfs: move templates to files directory ref-manual: add overlayfs-etc class ref-manual: document overlayfs-etc image feature Yi Zhao (6): bind: remove -r option from rndc-confgen in initscript rpcbind: install rpcbind.conf python3-numpy: move recipe to python directory python3-numpy: add python3-json to RDEPENDS oeqa: fix warnings for append operators combined with += meta-skeleton: fix warnings for append operators combined with += Yongxin Liu (1): grub2: fix CVE-2021-3981 Zev Weiss (1): u-boot: Split do_configure logic into separate file pgowda (2): gcc: Fix CVE-2021-42574 binutils: CVE-2021-42574 wangmy (67): bind: upgrade 9.16.21 -> 9.16.22 glib-2.0: upgrade 2.70.0 -> 2.70.1 python3-dbusmock: upgrade 0.24.0 -> 0.24.1 python3-docutils: upgrade 0.17.1 -> 0.18 btrfs-tools: upgrade 5.14.2 -> 5.15 diffoscope: upgrade 189 -> 190 ell: upgrade 0.44 -> 0.45 harfbuzz: upgrade 3.0.0 -> 3.1.1 iproute2: upgrade 5.14.0 -> 5.15.0 iso-codes: upgrade 4.7.0 -> 4.8.0 iw: upgrade 5.9 -> 5.16 libpcre2: upgrade 10.37 -> 10.39 msmtp: upgrade 1.8.18 -> 1.8.19 libevdev: upgrade 1.11.0 -> 1.12.0 libdrm: upgrade 2.4.107 -> 2.4.108 libhandy: upgrade 1.4.0 -> 1.5.0 python3-importlib-metadata: upgrade 4.8.1 -> 4.8.2 python3-jinja2: upgrade 3.0.2 -> 3.0.3 python3-more-itertools: upgrade 8.10.0 -> 8.11.0 libtasn1: upgrade 4.17.0 -> 4.18.0 ethtool: upgrade 5.14 -> 5.15 stress-ng: upgrade 0.13.06 -> 0.13.07 systemtap: upgrade 4.5 -> 4.6 python3-scons: upgrade 4.2.0 -> 4.3.0 libcap: upgrade 2.60 -> 2.61 mesa: upgrade 21.2.5 -> 21.3.0 python3-mako: upgrade 1.1.5 -> 1.1.6 libjpeg-turbo: upgrade 2.1.1 -> 2.1.2 libdrm: upgrade 2.4.108 -> 2.4.109 libsoup-2.4: upgrade 2.74.1 -> 2.74.2 libunwind: upgrade 1.5.0 -> 1.6.0 libexif: upgrade 0.6.23 -> 0.6.24 mtools: upgrade 4.0.35 -> 4.0.36 patchelf: upgrade 0.13 -> 0.14.1 sqlite3: upgrade 3.36.0 -> 3.37.0 sysklogd: upgrade 2.2.3 -> 2.3.0 ovmf: upgrade 202108 -> 202111 python3-docutils: upgrade 0.18 -> 0.18.1 python3-libarchive-c: upgrade 3.1 -> 3.2 sysstat: upgrade 12.4.3 -> 12.4.4 vala: upgrade 0.54.3 -> 0.54.4 xauth: upgrade 1.1 -> 1.1.1 mpg123: upgrade 1.29.2 -> 1.29.3 python3-cython: upgrade 0.29.24 -> 0.29.25 libcap: upgrade 2.61 -> 2.62 linux-firmware: upgrade 20211027 -> 20211216 python3-importlib-metadata: upgrade 4.8.2 -> 4.9.0 sysvinit: upgrade 3.00 -> 3.01 python3-dbusmock: upgrade 0.24.1 -> 0.25.0 python3-numpy: upgrade 1.21.4 -> 1.21.5 expat: upgrade 2.4.1 -> 2.4.2 gnupg: upgrade 2.3.3 -> 2.3.4 ell: upgrade 0.46 -> 0.47 bash: upgrade 5.1.8 -> 5.1.16 createrepo-c: upgrade 0.17.7 -> 0.18.0 bluez5: upgrade 5.62 -> 5.63 iso-codes: upgrade 4.8.0 -> 4.9.0 less: upgrade 598 -> 600 libpipeline: upgrade 1.5.4 -> 1.5.5 diffoscope: upgrade 196 -> 199 libsdl2: upgrade 2.0.18 -> 2.0.20 hdparm: upgrade 9.62 -> 9.63 mesa: upgrade 21.3.3 -> 21.3.4 python3-git: upgrade 3.1.24 -> 3.1.26 python3-numpy: upgrade 1.22.0 -> 1.22.1 strace: upgrade 5.15 -> 5.16 btrfs-tools: upgrade 5.15.1 -> 5.16 zhengruoqin (9): opkg-utils: upgrade 0.4.5 -> 0.5.0 opkg: upgrade 0.4.5 -> 0.5.0 glib-networking: upgrade 2.70.0 -> 2.70.1 stress-ng: upgrade 0.13.07 -> 0.13.08 vte: upgrade 0.66.0 -> 0.66.2 rt-tests: upgrade 2.2 -> 2.3 shadow: upgrade 4.9 -> 4.10 libmicrohttpd: upgrade 0.9.73 -> 0.9.75 gtk+3: upgrade 3.24.30 -> 3.24.31 Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I11c88e9f9999d629de5a0ecdb44ccc1003b02376
Diffstat (limited to 'poky/meta/lib')
-rw-r--r--poky/meta/lib/crate.py149
-rw-r--r--poky/meta/lib/oe/distro_check.py2
-rw-r--r--poky/meta/lib/oe/overlayfs.py5
-rw-r--r--poky/meta/lib/oe/package.py9
-rw-r--r--poky/meta/lib/oe/patch.py16
-rw-r--r--poky/meta/lib/oe/reproducible.py2
-rw-r--r--poky/meta/lib/oe/sdk.py4
-rw-r--r--poky/meta/lib/oe/sstatesig.py10
-rw-r--r--poky/meta/lib/oe/terminal.py7
-rw-r--r--poky/meta/lib/oe/utils.py15
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/go.py19
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ksample.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/logrotate.py14
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/parselogs.py16
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/rust.py19
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/stap.py35
-rw-r--r--poky/meta/lib/oeqa/runtime/files/hello.stp1
-rw-r--r--poky/meta/lib/oeqa/sdkext/testsdk.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/archiver.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/bbtests.py17
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/buildoptions.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/devtool.py54
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/fetch.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/imagefeatures.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/overlayfs.py254
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/recipetool.py189
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/reproducible.py30
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/runtime_test.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/sstatetests.py59
-rw-r--r--poky/meta/lib/oeqa/utils/dump.py2
-rw-r--r--poky/meta/lib/oeqa/utils/qemurunner.py2
31 files changed, 648 insertions, 304 deletions
diff --git a/poky/meta/lib/crate.py b/poky/meta/lib/crate.py
deleted file mode 100644
index d10f441875..0000000000
--- a/poky/meta/lib/crate.py
+++ /dev/null
@@ -1,149 +0,0 @@
-# ex:ts=4:sw=4:sts=4:et
-# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
-"""
-BitBake 'Fetch' implementation for crates.io
-"""
-
-# Copyright (C) 2016 Doug Goldstein
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Based on functions from the base bb module, Copyright 2003 Holger Schurig
-
-import hashlib
-import json
-import os
-import shutil
-import subprocess
-import bb
-from bb.fetch2 import logger, subprocess_setup, UnpackError
-from bb.fetch2.wget import Wget
-
-
-class Crate(Wget):
-
- """Class to fetch crates via wget"""
-
- def _cargo_bitbake_path(self, rootdir):
- return os.path.join(rootdir, "cargo_home", "bitbake")
-
- def supports(self, ud, d):
- """
- Check to see if a given url is for this fetcher
- """
- return ud.type in ['crate']
-
- def recommends_checksum(self, urldata):
- return False
-
- def urldata_init(self, ud, d):
- """
- Sets up to download the respective crate from crates.io
- """
-
- if ud.type == 'crate':
- self._crate_urldata_init(ud, d)
-
- super(Crate, self).urldata_init(ud, d)
-
- def _crate_urldata_init(self, ud, d):
- """
- Sets up the download for a crate
- """
-
- # URL syntax is: crate://NAME/VERSION
- # break the URL apart by /
- parts = ud.url.split('/')
- if len(parts) < 5:
- raise bb.fetch2.ParameterError("Invalid URL: Must be crate://HOST/NAME/VERSION", ud.url)
-
- # last field is version
- version = parts[len(parts) - 1]
- # second to last field is name
- name = parts[len(parts) - 2]
- # host (this is to allow custom crate registries to be specified
- host = '/'.join(parts[2:len(parts) - 2])
-
- # if using upstream just fix it up nicely
- if host == 'crates.io':
- host = 'crates.io/api/v1/crates'
-
- ud.url = "https://%s/%s/%s/download" % (host, name, version)
- ud.parm['downloadfilename'] = "%s-%s.crate" % (name, version)
- ud.parm['name'] = name
-
- logger.debug(2, "Fetching %s to %s" % (ud.url, ud.parm['downloadfilename']))
-
- def unpack(self, ud, rootdir, d):
- """
- Uses the crate to build the necessary paths for cargo to utilize it
- """
- if ud.type == 'crate':
- return self._crate_unpack(ud, rootdir, d)
- else:
- super(Crate, self).unpack(ud, rootdir, d)
-
- def _crate_unpack(self, ud, rootdir, d):
- """
- Unpacks a crate
- """
- thefile = ud.localpath
-
- # possible metadata we need to write out
- metadata = {}
-
- # change to the rootdir to unpack but save the old working dir
- save_cwd = os.getcwd()
- os.chdir(rootdir)
-
- pn = d.getVar('BPN')
- if pn == ud.parm.get('name'):
- cmd = "tar -xz --no-same-owner -f %s" % thefile
- else:
- cargo_bitbake = self._cargo_bitbake_path(rootdir)
-
- cmd = "tar -xz --no-same-owner -f %s -C %s" % (thefile, cargo_bitbake)
-
- # ensure we've got these paths made
- bb.utils.mkdirhier(cargo_bitbake)
-
- # generate metadata necessary
- with open(thefile, 'rb') as f:
- # get the SHA256 of the original tarball
- tarhash = hashlib.sha256(f.read()).hexdigest()
-
- metadata['files'] = {}
- metadata['package'] = tarhash
-
- # path it
- path = d.getVar('PATH')
- if path:
- cmd = "PATH=\"%s\" %s" % (path, cmd)
- bb.note("Unpacking %s to %s/" % (thefile, os.getcwd()))
-
- ret = subprocess.call(cmd, preexec_fn=subprocess_setup, shell=True)
-
- os.chdir(save_cwd)
-
- if ret != 0:
- raise UnpackError("Unpack command %s failed with return value %s" % (cmd, ret), ud.url)
-
- # if we have metadata to write out..
- if len(metadata) > 0:
- cratepath = os.path.splitext(os.path.basename(thefile))[0]
- bbpath = self._cargo_bitbake_path(rootdir)
- mdfile = '.cargo-checksum.json'
- mdpath = os.path.join(bbpath, cratepath, mdfile)
- with open(mdpath, "w") as f:
- json.dump(metadata, f)
diff --git a/poky/meta/lib/oe/distro_check.py b/poky/meta/lib/oe/distro_check.py
index 88e46c354d..4b2a9bec01 100644
--- a/poky/meta/lib/oe/distro_check.py
+++ b/poky/meta/lib/oe/distro_check.py
@@ -26,7 +26,7 @@ def find_latest_numeric_release(url, d):
maxstr=""
for link in get_links_from_url(url, d):
try:
- # TODO use LooseVersion
+ # TODO use bb.utils.vercmp_string_op()
release = float(link)
except:
release = 0
diff --git a/poky/meta/lib/oe/overlayfs.py b/poky/meta/lib/oe/overlayfs.py
index 21ef710509..b5d5e88e80 100644
--- a/poky/meta/lib/oe/overlayfs.py
+++ b/poky/meta/lib/oe/overlayfs.py
@@ -15,6 +15,9 @@ def escapeSystemdUnitName(path):
def strForBash(s):
return s.replace('\\', '\\\\')
+def allOverlaysUnitName(d):
+ return d.getVar('PN') + '-overlays.service'
+
def mountUnitName(unit):
return escapeSystemdUnitName(unit) + '.mount'
@@ -39,5 +42,7 @@ def unitFileList(d):
fileList.append(mountUnitName(path))
fileList.append(helperUnitName(path))
+ fileList.append(allOverlaysUnitName(d))
+
return fileList
diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py
index dd700cbb0c..7d387ee81d 100644
--- a/poky/meta/lib/oe/package.py
+++ b/poky/meta/lib/oe/package.py
@@ -16,7 +16,11 @@ def runstrip(arg):
# 8 - shared library
# 16 - kernel module
- (file, elftype, strip) = arg
+ if len(arg) == 3:
+ (file, elftype, strip) = arg
+ extra_strip_sections = ''
+ else:
+ (file, elftype, strip, extra_strip_sections) = arg
newmode = None
if not os.access(file, os.W_OK) or os.access(file, os.R_OK):
@@ -40,6 +44,9 @@ def runstrip(arg):
# shared or executable:
elif elftype & 8 or elftype & 4:
stripcmd.extend(["--remove-section=.comment", "--remove-section=.note"])
+ if extra_strip_sections != '':
+ for section in extra_strip_sections.split():
+ stripcmd.extend(["--remove-section=" + section])
stripcmd.append(file)
bb.debug(1, "runstrip: %s" % stripcmd)
diff --git a/poky/meta/lib/oe/patch.py b/poky/meta/lib/oe/patch.py
index fccbedb519..950fe723dc 100644
--- a/poky/meta/lib/oe/patch.py
+++ b/poky/meta/lib/oe/patch.py
@@ -4,6 +4,7 @@
import oe.path
import oe.types
+import subprocess
class NotFoundError(bb.BBHandledException):
def __init__(self, path):
@@ -25,7 +26,6 @@ class CmdError(bb.BBHandledException):
def runcmd(args, dir = None):
import pipes
- import subprocess
if dir:
olddir = os.path.abspath(os.curdir)
@@ -56,6 +56,7 @@ def runcmd(args, dir = None):
if dir:
os.chdir(olddir)
+
class PatchError(Exception):
def __init__(self, msg):
self.msg = msg
@@ -298,6 +299,19 @@ class GitApplyTree(PatchTree):
PatchTree.__init__(self, dir, d)
self.commituser = d.getVar('PATCH_GIT_USER_NAME')
self.commitemail = d.getVar('PATCH_GIT_USER_EMAIL')
+ if not self._isInitialized():
+ self._initRepo()
+
+ def _isInitialized(self):
+ cmd = "git rev-parse --show-toplevel"
+ (status, output) = subprocess.getstatusoutput(cmd.split())
+ ## Make sure repo is in builddir to not break top-level git repos
+ return status == 0 and os.path.samedir(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)
@staticmethod
def extractPatchHeader(patchfile):
diff --git a/poky/meta/lib/oe/reproducible.py b/poky/meta/lib/oe/reproducible.py
index 4fb99d963c..35b8be6d08 100644
--- a/poky/meta/lib/oe/reproducible.py
+++ b/poky/meta/lib/oe/reproducible.py
@@ -92,7 +92,7 @@ def find_git_folder(d, sourcedir):
for root, dirs, files in os.walk(workdir, topdown=True):
dirs[:] = [d for d in dirs if d not in exclude]
if '.git' in dirs:
- return root
+ return os.path.join(root, ".git")
bb.warn("Failed to find a git repository in WORKDIR: %s" % workdir)
return None
diff --git a/poky/meta/lib/oe/sdk.py b/poky/meta/lib/oe/sdk.py
index 37b59afd1a..27347667e8 100644
--- a/poky/meta/lib/oe/sdk.py
+++ b/poky/meta/lib/oe/sdk.py
@@ -115,6 +115,10 @@ def sdk_list_installed_packages(d, target, rootfs_dir=None):
rootfs_dir = [sdk_output, os.path.join(sdk_output, target_path)][target is True]
+ if target is False:
+ ipkgconf_sdk_target = d.getVar("IPKGCONF_SDK")
+ d.setVar("IPKGCONF_TARGET", ipkgconf_sdk_target)
+
img_type = d.getVar('IMAGE_PKGTYPE')
import importlib
cls = importlib.import_module('oe.package_manager.' + img_type)
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index 038404e377..abcd96231e 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -491,7 +491,8 @@ def OEOuthashBasic(path, sigfile, task, d):
if task == "package":
include_timestamps = True
include_root = False
- extra_content = d.getVar('HASHEQUIV_HASH_VERSION')
+ hash_version = d.getVar('HASHEQUIV_HASH_VERSION')
+ extra_sigdata = d.getVar("HASHEQUIV_EXTRA_SIGDATA")
filemaps = {}
for m in (d.getVar('SSTATE_HASHEQUIV_FILEMAP') or '').split():
@@ -506,8 +507,11 @@ def OEOuthashBasic(path, sigfile, task, d):
basepath = os.path.normpath(path)
update_hash("OEOuthashBasic\n")
- if extra_content:
- update_hash(extra_content + "\n")
+ if hash_version:
+ update_hash(hash_version + "\n")
+
+ if extra_sigdata:
+ update_hash(extra_sigdata + "\n")
# It is only currently useful to get equivalent hashes for things that
# can be restored from sstate. Since the sstate object is named using
diff --git a/poky/meta/lib/oe/terminal.py b/poky/meta/lib/oe/terminal.py
index 59aa80de66..53186c4a3e 100644
--- a/poky/meta/lib/oe/terminal.py
+++ b/poky/meta/lib/oe/terminal.py
@@ -5,7 +5,6 @@ import logging
import oe.classutils
import shlex
from bb.process import Popen, ExecutionError
-from distutils.version import LooseVersion
logger = logging.getLogger('BitBake.OE.Terminal')
@@ -86,10 +85,10 @@ class Konsole(XTerminal):
def __init__(self, sh_cmd, title=None, env=None, d=None):
# Check version
vernum = check_terminal_version("konsole")
- if vernum and LooseVersion(vernum) < '2.0.0':
+ if vernum and bb.utils.vercmp_string_op(vernum, "2.0.0", "<"):
# Konsole from KDE 3.x
self.command = 'konsole -T "{title}" -e {command}'
- elif vernum and LooseVersion(vernum) < '16.08.1':
+ elif vernum and bb.utils.vercmp_string_op(vernum, "16.08.1", "<"):
# Konsole pre 16.08.01 Has nofork
self.command = 'konsole --nofork --workdir . -p tabtitle="{title}" -e {command}'
XTerminal.__init__(self, sh_cmd, title, env, d)
@@ -260,7 +259,7 @@ def spawn(name, sh_cmd, title=None, env=None, d=None):
def check_tmux_version(desired):
vernum = check_terminal_version("tmux")
- if vernum and LooseVersion(vernum) < desired:
+ if vernum and bb.utils.vercmp_string_op(vernum, desired, "<"):
return False
return vernum
diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py
index cf65639647..136650e6f7 100644
--- a/poky/meta/lib/oe/utils.py
+++ b/poky/meta/lib/oe/utils.py
@@ -248,9 +248,9 @@ def trim_version(version, num_parts=2):
trimmed = ".".join(parts[:num_parts])
return trimmed
-def cpu_count(at_least=1):
+def cpu_count(at_least=1, at_most=64):
cpus = len(os.sched_getaffinity(0))
- return max(cpus, at_least)
+ return max(min(cpus, at_most), at_least)
def execute_pre_post_process(d, cmds):
if cmds is None:
@@ -483,8 +483,8 @@ from threading import Thread
class ThreadedWorker(Thread):
"""Thread executing tasks from a given tasks queue"""
- def __init__(self, tasks, worker_init, worker_end):
- Thread.__init__(self)
+ def __init__(self, tasks, worker_init, worker_end, name=None):
+ Thread.__init__(self, name=name)
self.tasks = tasks
self.daemon = True
@@ -515,13 +515,12 @@ class ThreadedWorker(Thread):
class ThreadedPool:
"""Pool of threads consuming tasks from a queue"""
- def __init__(self, num_workers, num_tasks, worker_init=None,
- worker_end=None):
+ def __init__(self, num_workers, num_tasks, worker_init=None, worker_end=None, name="ThreadedPool-"):
self.tasks = Queue(num_tasks)
self.workers = []
- for _ in range(num_workers):
- worker = ThreadedWorker(self.tasks, worker_init, worker_end)
+ for i in range(num_workers):
+ worker = ThreadedWorker(self.tasks, worker_init, worker_end, name=name + str(i))
self.workers.append(worker)
def start(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/go.py b/poky/meta/lib/oeqa/runtime/cases/go.py
new file mode 100644
index 0000000000..89ba2c3ecb
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/cases/go.py
@@ -0,0 +1,19 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+class GoHelloworldTest(OERuntimeTestCase):
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ @OEHasPackage(['go-helloworld'])
+ def test_gohelloworld(self):
+ cmd = "go-helloworld"
+ status, output = self.target.run(cmd)
+ msg = 'Exit status was not 0. Output: %s' % output
+ self.assertEqual(status, 0, msg=msg)
+
+ msg = 'Incorrect output: %s' % output
+ self.assertEqual(output, "Hello, Go examples!", msg=msg)
diff --git a/poky/meta/lib/oeqa/runtime/cases/ksample.py b/poky/meta/lib/oeqa/runtime/cases/ksample.py
index 4d12d1d07d..c69e3fe4ac 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ksample.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ksample.py
@@ -10,7 +10,7 @@ from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfNotFeature
# need some kernel fragments
-# echo "KERNEL_FEATURES:append += \" features\/kernel\-sample\/kernel\-sample.scc\"" >> local.conf
+# echo "KERNEL_FEATURES:append = \" features\/kernel\-sample\/kernel\-sample.scc\"" >> local.conf
class KSample(OERuntimeTestCase):
def cmd_and_check(self, cmd='', match_string=''):
status, output = self.target.run(cmd)
diff --git a/poky/meta/lib/oeqa/runtime/cases/logrotate.py b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
index a4efcd07c0..2bff08f9da 100644
--- a/poky/meta/lib/oeqa/runtime/cases/logrotate.py
+++ b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
@@ -17,7 +17,7 @@ class LogrotateTest(OERuntimeTestCase):
@classmethod
def tearDownClass(cls):
- cls.tc.target.run('mv -f $HOME/wtmp.oeqabak /etc/logrotate.d/wtmp && rm -rf $HOME/logrotate_dir')
+ cls.tc.target.run('mv -f $HOME/wtmp.oeqabak /etc/logrotate.d/wtmp && rm -rf /var/log//logrotate_dir')
cls.tc.target.run('rm -rf /var/log/logrotate_testfile && rm -rf /etc/logrotate.d/logrotate_testfile')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@@ -29,17 +29,17 @@ class LogrotateTest(OERuntimeTestCase):
msg = ('Could not create/update /var/log/wtmp with touch')
self.assertEqual(status, 0, msg = msg)
- status, output = self.target.run('mkdir $HOME/logrotate_dir')
+ status, output = self.target.run('mkdir /var/log//logrotate_dir')
msg = ('Could not create logrotate_dir. Output: %s' % output)
self.assertEqual(status, 0, msg = msg)
- status, output = self.target.run('echo "create \n olddir $HOME/logrotate_dir \n include /etc/logrotate.d/wtmp" > /tmp/logrotate-test.conf')
+ status, output = self.target.run('echo "create \n olddir /var/log//logrotate_dir \n include /etc/logrotate.d/wtmp" > /tmp/logrotate-test.conf')
msg = ('Could not write to /tmp/logrotate-test.conf')
self.assertEqual(status, 0, msg = msg)
# If logrotate fails to rotate the log, view the verbose output of logrotate to see what prevented it
_, logrotate_output = self.target.run('logrotate -vf /tmp/logrotate-test.conf')
- status, _ = self.target.run('find $HOME/logrotate_dir -type f | grep wtmp.1')
+ status, _ = self.target.run('find /var/log//logrotate_dir -type f | grep wtmp.1')
msg = ("logrotate did not successfully rotate the wtmp log. Output from logrotate -vf: \n%s" % (logrotate_output))
self.assertEqual(status, 0, msg = msg)
@@ -54,17 +54,17 @@ class LogrotateTest(OERuntimeTestCase):
msg = ('Could not write to /etc/logrotate.d/logrotate_testfile')
self.assertEqual(status, 0, msg = msg)
- status, output = self.target.run('echo "create \n olddir $HOME/logrotate_dir \n include /etc/logrotate.d/logrotate_testfile" > /tmp/logrotate-test2.conf')
+ status, output = self.target.run('echo "create \n olddir /var/log//logrotate_dir \n include /etc/logrotate.d/logrotate_testfile" > /tmp/logrotate-test2.conf')
msg = ('Could not write to /tmp/logrotate_test2.conf')
self.assertEqual(status, 0, msg = msg)
- status, output = self.target.run('find $HOME/logrotate_dir -type f | grep logrotate_testfile.1')
+ status, output = self.target.run('find /var/log//logrotate_dir -type f | grep logrotate_testfile.1')
msg = ('A rotated log for logrotate_testfile is already present in logrotate_dir')
self.assertEqual(status, 1, msg = msg)
# If logrotate fails to rotate the log, view the verbose output of logrotate instead of just listing the files in olddir
_, logrotate_output = self.target.run('logrotate -vf /tmp/logrotate-test2.conf')
- status, _ = self.target.run('find $HOME/logrotate_dir -type f | grep logrotate_testfile.1')
+ status, _ = self.target.run('find /var/log//logrotate_dir -type f | grep logrotate_testfile.1')
msg = ('logrotate did not successfully rotate the logrotate_test log. Output from logrotate -vf: \n%s' % (logrotate_output))
self.assertEqual(status, 0, msg = msg)
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index 50101b7851..1f9365f3a8 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -62,6 +62,8 @@ common_errors = [
"[rndr ]: Initialization Failed",
"[pulseaudio] authkey.c: Failed to open cookie file",
"[pulseaudio] authkey.c: Failed to load authentication key",
+ "was skipped because of a failed condition check",
+ "was skipped because all trigger condition checks failed",
]
video_related = [
@@ -303,7 +305,7 @@ class ParseLogsTest(OERuntimeTestCase):
grepcmd = 'grep '
grepcmd += '-Ei "'
for error in errors:
- grepcmd += '\<' + error + '\>' + '|'
+ grepcmd += r'\<' + error + r'\>' + '|'
grepcmd = grepcmd[:-1]
grepcmd += '" ' + str(log) + " | grep -Eiv \'"
@@ -314,13 +316,13 @@ class ParseLogsTest(OERuntimeTestCase):
errorlist = ignore_errors['default']
for ignore_error in errorlist:
- ignore_error = ignore_error.replace('(', '\(')
- ignore_error = ignore_error.replace(')', '\)')
+ ignore_error = ignore_error.replace('(', r'\(')
+ ignore_error = ignore_error.replace(')', r'\)')
ignore_error = ignore_error.replace("'", '.')
- ignore_error = ignore_error.replace('?', '\?')
- ignore_error = ignore_error.replace('[', '\[')
- ignore_error = ignore_error.replace(']', '\]')
- ignore_error = ignore_error.replace('*', '\*')
+ ignore_error = ignore_error.replace('?', r'\?')
+ ignore_error = ignore_error.replace('[', r'\[')
+ ignore_error = ignore_error.replace(']', r'\]')
+ ignore_error = ignore_error.replace('*', r'\*')
ignore_error = ignore_error.replace('0-9', '[0-9]')
grepcmd += ignore_error + '|'
grepcmd = grepcmd[:-1]
diff --git a/poky/meta/lib/oeqa/runtime/cases/rust.py b/poky/meta/lib/oeqa/runtime/cases/rust.py
new file mode 100644
index 0000000000..b3d6cf7f37
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/cases/rust.py
@@ -0,0 +1,19 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+class RustHelloworldTest(OERuntimeTestCase):
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ @OEHasPackage(['rust-hello-world'])
+ def test_rusthelloworld(self):
+ cmd = "rust-hello-world"
+ status, output = self.target.run(cmd)
+ msg = 'Exit status was not 0. Output: %s' % output
+ self.assertEqual(status, 0, msg=msg)
+
+ msg = 'Incorrect output: %s' % output
+ self.assertEqual(output, "Hello, world!", msg=msg)
diff --git a/poky/meta/lib/oeqa/runtime/cases/stap.py b/poky/meta/lib/oeqa/runtime/cases/stap.py
index 5342f6ac34..615c290ce6 100644
--- a/poky/meta/lib/oeqa/runtime/cases/stap.py
+++ b/poky/meta/lib/oeqa/runtime/cases/stap.py
@@ -5,33 +5,20 @@
import os
from oeqa.runtime.case import OERuntimeTestCase
-from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
class StapTest(OERuntimeTestCase):
-
- @classmethod
- def setUp(cls):
- src = os.path.join(cls.tc.runtime_files_dir, 'hello.stp')
- dst = '/tmp/hello.stp'
- cls.tc.target.copyTo(src, dst)
-
- @classmethod
- def tearDown(cls):
- files = '/tmp/hello.stp'
- cls.tc.target.run('rm %s' % files)
-
- @skipIfNotFeature('tools-profile',
- 'Test requires tools-profile to be in IMAGE_FEATURES')
- @OETestDepends(['kernelmodule.KernelModuleTest.test_kernel_module'])
+ @skipIfNotFeature('tools-profile', 'Test requires tools-profile to be in IMAGE_FEATURES')
@OEHasPackage(['systemtap'])
+ @OEHasPackage(['gcc-symlinks'])
+ @OEHasPackage(['kernel-devsrc'])
def test_stap(self):
- cmds = [
- 'cd /usr/src/kernel && make scripts prepare',
- 'cd /lib/modules/`uname -r` && (if [ ! -e build ]; then ln -s /usr/src/kernel build; fi)',
- 'stap --disable-cache -DSTP_NO_VERREL_CHECK /tmp/hello.stp'
- ]
- for cmd in cmds:
- status, output = self.target.run(cmd, 900)
- self.assertEqual(status, 0, msg='\n'.join([cmd, output]))
+ cmd = 'make -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]))
diff --git a/poky/meta/lib/oeqa/runtime/files/hello.stp b/poky/meta/lib/oeqa/runtime/files/hello.stp
deleted file mode 100644
index 3677147162..0000000000
--- a/poky/meta/lib/oeqa/runtime/files/hello.stp
+++ /dev/null
@@ -1 +0,0 @@
-probe oneshot { println("hello world") }
diff --git a/poky/meta/lib/oeqa/sdkext/testsdk.py b/poky/meta/lib/oeqa/sdkext/testsdk.py
index 6b564fa455..159f0d135b 100644
--- a/poky/meta/lib/oeqa/sdkext/testsdk.py
+++ b/poky/meta/lib/oeqa/sdkext/testsdk.py
@@ -67,10 +67,10 @@ class TestSDKExt(TestSDKBase):
# and we don't spend hours downloading kernels for the kernel module test
# Abuse auto.conf since local.conf would be overwritten by the SDK
with open(os.path.join(sdk_dir, 'conf', 'auto.conf'), 'a+') as f:
- f.write('SSTATE_MIRRORS += " \\n file://.* file://%s/PATH"\n' % test_data.get('SSTATE_DIR'))
+ f.write('SSTATE_MIRRORS += "file://.* file://%s/PATH"\n' % test_data.get('SSTATE_DIR'))
f.write('SOURCE_MIRROR_URL = "file://%s"\n' % test_data.get('DL_DIR'))
f.write('INHERIT += "own-mirrors"\n')
- f.write('PREMIRRORS:prepend = " git://git.yoctoproject.org/.* git://%s/git2/git.yoctoproject.org.BASENAME \\n "\n' % test_data.get('DL_DIR'))
+ f.write('PREMIRRORS:prepend = "git://git.yoctoproject.org/.* git://%s/git2/git.yoctoproject.org.BASENAME "\n' % test_data.get('DL_DIR'))
# We need to do this in case we have a minimal SDK
subprocess.check_output(". %s > /dev/null; devtool sdk-install meta-extsdk-toolchain" % \
diff --git a/poky/meta/lib/oeqa/selftest/cases/archiver.py b/poky/meta/lib/oeqa/selftest/cases/archiver.py
index 0194ae9f69..75195241b7 100644
--- a/poky/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/poky/meta/lib/oeqa/selftest/cases/archiver.py
@@ -163,21 +163,21 @@ class Archiver(OESelftestTestCase):
Test that the archiver works with `ARCHIVER_MODE[src] = "patched"`.
"""
- self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-patched.tar.gz')
+ self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-patched.tar.xz')
def test_archiver_mode_configured(self):
"""
Test that the archiver works with `ARCHIVER_MODE[src] = "configured"`.
"""
- self._test_archiver_mode('configured', 'selftest-ed-native-1.14.1-r0-configured.tar.gz')
+ self._test_archiver_mode('configured', 'selftest-ed-native-1.14.1-r0-configured.tar.xz')
def test_archiver_mode_recipe(self):
"""
Test that the archiver works with `ARCHIVER_MODE[recipe] = "1"`.
"""
- self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-recipe.tar.gz',
+ self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-recipe.tar.xz',
'ARCHIVER_MODE[recipe] = "1"\n')
def test_archiver_mode_diff(self):
diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
index 6779e62103..246cb032bf 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -160,7 +160,7 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
""")
self.track_for_cleanup(os.path.join(self.builddir, "download-selftest"))
- data = 'SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz;downloadfilename=test-aspell.tar.gz"'
+ data = 'SRC_URI = "https://downloads.yoctoproject.org/mirror/sources/aspell-${PV}.tar.gz;downloadfilename=test-aspell.tar.gz"'
self.write_recipeinc('aspell', data)
result = bitbake('-f -c fetch aspell', ignore_status=True)
self.delete_recipeinc('aspell')
@@ -297,3 +297,18 @@ INHERIT:remove = \"report-error\"
test_recipe_summary_after = get_bb_var('SUMMARY', test_recipe)
self.assertEqual(expected_recipe_summary, test_recipe_summary_after)
+
+ def test_git_patchtool(self):
+ """ PATCHTOOL=git should work with non-git sources like tarballs
+ test recipe for the test must NOT containt git:// repository in SRC_URI
+ """
+ test_recipe = "man-db"
+ self.write_recipeinc(test_recipe, 'PATCHTOOL=\"git\"')
+ 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)
+ 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')
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
index f99881758e..651bb03c7e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -183,8 +183,8 @@ class ArchiverTest(OESelftestTestCase):
deploy_dir_src = get_bb_var('DEPLOY_DIR_SRC')
pkgs_path = g.glob(str(deploy_dir_src) + "/allarch*/xcurs*")
src_file_glob = str(pkgs_path[0]) + "/xcursor*.src.rpm"
- tar_file_glob = str(pkgs_path[0]) + "/xcursor*.tar.gz"
- self.assertTrue((g.glob(src_file_glob) and g.glob(tar_file_glob)), "Couldn't find .src.rpm and .tar.gz files under %s/allarch*/xcursor*" % deploy_dir_src)
+ tar_file_glob = str(pkgs_path[0]) + "/xcursor*.tar.xz"
+ self.assertTrue((g.glob(src_file_glob) and g.glob(tar_file_glob)), "Couldn't find .src.rpm and .tar.xz files under %s/allarch*/xcursor*" % deploy_dir_src)
class ToolchainOptions(OESelftestTestCase):
def test_toolchain_fortran(self):
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index f495e84c79..23d55903fb 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -80,32 +80,15 @@ def tearDownModule():
bb.utils.edit_bblayers_conf(bblayers_conf, None, None, bblayers_edit_cb)
shutil.rmtree(templayerdir)
-class DevtoolBase(OESelftestTestCase):
-
- @classmethod
- def setUpClass(cls):
- super(DevtoolBase, cls).setUpClass()
- bb_vars = get_bb_vars(['TOPDIR', 'SSTATE_DIR'])
- cls.original_sstate = bb_vars['SSTATE_DIR']
- cls.devtool_sstate = os.path.join(bb_vars['TOPDIR'], 'sstate_devtool')
- cls.sstate_conf = 'SSTATE_DIR = "%s"\n' % cls.devtool_sstate
- cls.sstate_conf += ('SSTATE_MIRRORS += "file://.* file:///%s/PATH"\n'
- % cls.original_sstate)
-
- @classmethod
- def tearDownClass(cls):
- cls.logger.debug('Deleting devtool sstate cache on %s' % cls.devtool_sstate)
- runCmd('rm -rf %s' % cls.devtool_sstate)
- super(DevtoolBase, cls).tearDownClass()
+class DevtoolTestCase(OESelftestTestCase):
def setUp(self):
"""Test case setup function"""
- super(DevtoolBase, self).setUp()
+ super(DevtoolTestCase, self).setUp()
self.workspacedir = os.path.join(self.builddir, 'workspace')
self.assertTrue(not os.path.exists(self.workspacedir),
'This test cannot be run with a workspace directory '
'under the build directory')
- self.append_config(self.sstate_conf)
def _check_src_repo(self, repo_dir):
"""Check srctree git repository"""
@@ -236,6 +219,30 @@ class DevtoolBase(OESelftestTestCase):
return filelist
+class DevtoolBase(DevtoolTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ super(DevtoolBase, cls).setUpClass()
+ bb_vars = get_bb_vars(['TOPDIR', 'SSTATE_DIR'])
+ cls.original_sstate = bb_vars['SSTATE_DIR']
+ cls.devtool_sstate = os.path.join(bb_vars['TOPDIR'], 'sstate_devtool')
+ cls.sstate_conf = 'SSTATE_DIR = "%s"\n' % cls.devtool_sstate
+ cls.sstate_conf += ('SSTATE_MIRRORS += "file://.* file:///%s/PATH"\n'
+ % cls.original_sstate)
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.logger.debug('Deleting devtool sstate cache on %s' % cls.devtool_sstate)
+ runCmd('rm -rf %s' % cls.devtool_sstate)
+ super(DevtoolBase, cls).tearDownClass()
+
+ def setUp(self):
+ """Test case setup function"""
+ super(DevtoolBase, self).setUp()
+ self.append_config(self.sstate_conf)
+
+
class DevtoolTests(DevtoolBase):
def test_create_workspace(self):
@@ -340,7 +347,7 @@ class DevtoolAddTests(DevtoolBase):
checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263'
checkvars['S'] = '${WORKDIR}/git'
checkvars['PV'] = '0.1+git${SRCPV}'
- checkvars['SRC_URI'] = 'git://git.yoctoproject.org/git/dbus-wait;protocol=https'
+ checkvars['SRC_URI'] = 'git://git.yoctoproject.org/git/dbus-wait;protocol=https;branch=master'
checkvars['SRCREV'] = srcrev
checkvars['DEPENDS'] = set(['dbus'])
self._test_recipe_contents(recipefile, checkvars, [])
@@ -442,6 +449,7 @@ class DevtoolAddTests(DevtoolBase):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
url = 'gitsm://git.yoctoproject.org/mraa'
+ url_branch = '%s;branch=master' % url
checkrev = 'ae127b19a50aa54255e4330ccfdd9a5d058e581d'
testrecipe = 'mraa'
srcdir = os.path.join(tempdir, testrecipe)
@@ -462,7 +470,7 @@ class DevtoolAddTests(DevtoolBase):
checkvars = {}
checkvars['S'] = '${WORKDIR}/git'
checkvars['PV'] = '1.0+git${SRCPV}'
- checkvars['SRC_URI'] = url
+ checkvars['SRC_URI'] = url_branch
checkvars['SRCREV'] = '${AUTOREV}'
self._test_recipe_contents(recipefile, checkvars, [])
# Try with revision and version specified
@@ -481,7 +489,7 @@ class DevtoolAddTests(DevtoolBase):
checkvars = {}
checkvars['S'] = '${WORKDIR}/git'
checkvars['PV'] = '1.5+git${SRCPV}'
- checkvars['SRC_URI'] = url
+ checkvars['SRC_URI'] = url_branch
checkvars['SRCREV'] = checkrev
self._test_recipe_contents(recipefile, checkvars, [])
@@ -904,7 +912,7 @@ class DevtoolUpdateTests(DevtoolBase):
self._check_repo_status(os.path.dirname(recipefile), expected_status)
result = runCmd('git diff %s' % os.path.basename(recipefile), cwd=os.path.dirname(recipefile))
- addlines = ['SRCREV = ".*"', 'SRC_URI = "git://git.infradead.org/mtd-utils.git"']
+ addlines = ['SRCREV = ".*"', 'SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master"']
srcurilines = src_uri.split()
srcurilines[0] = 'SRC_URI = "' + srcurilines[0]
srcurilines.append('"')
diff --git a/poky/meta/lib/oeqa/selftest/cases/fetch.py b/poky/meta/lib/oeqa/selftest/cases/fetch.py
index 9aa91e59c1..be14272e63 100644
--- a/poky/meta/lib/oeqa/selftest/cases/fetch.py
+++ b/poky/meta/lib/oeqa/selftest/cases/fetch.py
@@ -99,7 +99,7 @@ class Dependencies(OESelftestTestCase):
r = """
LICENSE="CLOSED"
- SRC_URI="git://example.com/repo"
+ SRC_URI="git://example.com/repo;branch=master"
"""
f = self.write_recipe(textwrap.dedent(r), tempdir)
d = tinfoil.parse_recipe_file(f)
diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 12902add94..18f37c6d7d 100644
--- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -229,7 +229,7 @@ USERADD_GID_TABLES += "files/static-group"
def test_no_busybox_base_utils(self):
config = """
# Enable wayland
-DISTRO_FEATURES:append += "pam opengl wayland"
+DISTRO_FEATURES:append = " pam opengl wayland"
# Switch to systemd
DISTRO_FEATURES += "systemd"
diff --git a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
index 0184d52494..82007fade7 100644
--- a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
+++ b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
@@ -5,14 +5,17 @@
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu
+def getline_qemu(out, line):
+ for l in out.split('\n'):
+ if line in l:
+ return l
+
+def getline(res, line):
+ return getline_qemu(res.output, line)
+
class OverlayFSTests(OESelftestTestCase):
"""Overlayfs class usage tests"""
- def getline(self, res, line):
- for l in res.output.split('\n'):
- if line in l:
- return l
-
def add_overlay_conf_to_machine(self):
machine_inc = """
OVERLAYFS_MOUNT_POINT[mnt-overlay] = "/mnt/overlay"
@@ -37,7 +40,7 @@ inherit overlayfs
self.write_recipeinc('overlayfs-user', overlayfs_recipe_append)
res = bitbake('core-image-minimal', ignore_status=True)
- line = self.getline(res, "overlayfs-user was skipped: missing required distro features")
+ line = getline(res, "overlayfs-user was skipped: missing required distro features")
self.assertTrue("overlayfs" in res.output, msg=res.output)
self.assertTrue("systemd" in res.output, msg=res.output)
self.assertTrue("ERROR: Required build target 'core-image-minimal' has no buildable providers." in res.output, msg=res.output)
@@ -58,9 +61,9 @@ DISTRO_FEATURES += "systemd overlayfs"
self.add_overlay_conf_to_machine()
res = bitbake('core-image-minimal', ignore_status=True)
- line = self.getline(res, "Unit name mnt-overlay.mount not found in systemd unit directories")
+ line = getline(res, "Unit name mnt-overlay.mount not found in systemd unit directories")
self.assertTrue(line and line.startswith("WARNING:"), msg=res.output)
- line = self.getline(res, "Not all mount units are installed by the BSP")
+ line = getline(res, "Not all mount units are installed by the BSP")
self.assertTrue(line and line.startswith("ERROR:"), msg=res.output)
def test_mount_unit_not_set(self):
@@ -78,7 +81,7 @@ DISTRO_FEATURES += "systemd overlayfs"
self.write_config(config)
res = bitbake('core-image-minimal', ignore_status=True)
- line = self.getline(res, "A recipe uses overlayfs class but there is no OVERLAYFS_MOUNT_POINT set in your MACHINE configuration")
+ line = getline(res, "A recipe uses overlayfs class but there is no OVERLAYFS_MOUNT_POINT set in your MACHINE configuration")
self.assertTrue(line and line.startswith("Parsing recipes...ERROR:"), msg=res.output)
def test_wrong_mount_unit_set(self):
@@ -101,7 +104,7 @@ OVERLAYFS_MOUNT_POINT[usr-share-overlay] = "/usr/share/overlay"
self.set_machine_config(wrong_machine_config)
res = bitbake('core-image-minimal', ignore_status=True)
- line = self.getline(res, "Missing required mount point for OVERLAYFS_MOUNT_POINT[mnt-overlay] in your MACHINE configuration")
+ line = getline(res, "Missing required mount point for OVERLAYFS_MOUNT_POINT[mnt-overlay] in your MACHINE configuration")
self.assertTrue(line and line.startswith("Parsing recipes...ERROR:"), msg=res.output)
def test_correct_image(self):
@@ -148,18 +151,52 @@ EOT
"""
+ overlayfs_recipe_append = """
+OVERLAYFS_WRITABLE_PATHS[mnt-overlay] += "/usr/share/another-overlay-mount"
+
+SYSTEMD_SERVICE:${PN} += " \
+ my-application.service \
+"
+
+do_install:append() {
+ install -d ${D}${systemd_system_unitdir}
+ cat <<EOT > ${D}${systemd_system_unitdir}/my-application.service
+[Unit]
+Description=Sample application start-up unit
+After=overlayfs-user-overlays.service
+Requires=overlayfs-user-overlays.service
+
+[Service]
+Type=oneshot
+ExecStart=/bin/true
+RemainAfterExit=true
+
+[Install]
+WantedBy=multi-user.target
+EOT
+}
+"""
+
self.write_config(config)
self.add_overlay_conf_to_machine()
self.write_recipeinc('systemd-machine-units', systemd_machine_unit_append)
+ self.write_recipeinc('overlayfs-user', overlayfs_recipe_append)
bitbake('core-image-minimal')
- def getline_qemu(out, line):
- for l in out.split('\n'):
- if line in l:
- return l
-
with runqemu('core-image-minimal') as qemu:
+ # Check that application service started
+ status, output = qemu.run_serial("systemctl status my-application")
+ self.assertTrue("active (exited)" in output, msg=output)
+
+ # Check that overlay mounts are dependencies of our application unit
+ status, output = qemu.run_serial("systemctl list-dependencies my-application")
+ self.assertTrue("overlayfs-user-overlays.service" in output, msg=output)
+
+ status, output = qemu.run_serial("systemctl list-dependencies overlayfs-user-overlays")
+ self.assertTrue("usr-share-another\\x2doverlay\\x2dmount.mount" in output, msg=output)
+ self.assertTrue("usr-share-my\\x2dapplication.mount" in output, msg=output)
+
# Check that we have /mnt/overlay fs mounted as tmpfs and
# /usr/share/my-application as an overlay (see overlayfs-user recipe)
status, output = qemu.run_serial("/bin/mount -t tmpfs,overlay")
@@ -169,3 +206,190 @@ EOT
line = getline_qemu(output, "upperdir=/mnt/overlay/upper/usr/share/my-application")
self.assertTrue(line and line.startswith("overlay"), msg=output)
+
+ line = getline_qemu(output, "upperdir=/mnt/overlay/upper/usr/share/another-overlay-mount")
+ self.assertTrue(line and line.startswith("overlay"), msg=output)
+
+class OverlayFSEtcRunTimeTests(OESelftestTestCase):
+ """overlayfs-etc class tests"""
+
+ def test_all_required_variables_set(self):
+ """
+ Summary: Check that required variables are set
+ Expected: Fail when any of required variables is missing
+ Author: Vyacheslav Yurkov <uvv.mail@gmail.com>
+ """
+
+ configBase = """
+DISTRO_FEATURES += "systemd"
+
+# Use systemd as init manager
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# enable overlayfs in the kernel
+KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc"
+
+# Image configuration for overlayfs-etc
+EXTRA_IMAGE_FEATURES += "overlayfs-etc"
+IMAGE_FEATURES:remove = "package-management"
+"""
+ configMountPoint = """
+OVERLAYFS_ETC_MOUNT_POINT = "/data"
+"""
+ configDevice = """
+OVERLAYFS_ETC_DEVICE = "/dev/mmcblk0p1"
+"""
+
+ self.write_config(configBase)
+ res = bitbake('core-image-minimal', ignore_status=True)
+ line = getline(res, "OVERLAYFS_ETC_MOUNT_POINT must be set in your MACHINE configuration")
+ self.assertTrue(line, msg=res.output)
+
+ self.append_config(configMountPoint)
+ res = bitbake('core-image-minimal', ignore_status=True)
+ line = getline(res, "OVERLAYFS_ETC_DEVICE must be set in your MACHINE configuration")
+ self.assertTrue(line, msg=res.output)
+
+ self.append_config(configDevice)
+ res = bitbake('core-image-minimal', ignore_status=True)
+ line = getline(res, "OVERLAYFS_ETC_FSTYPE should contain a valid file system type on /dev/mmcblk0p1")
+ self.assertTrue(line, msg=res.output)
+
+ def test_image_feature_conflict(self):
+ """
+ Summary: Overlayfs-etc is not allowed to be used with package-management
+ Expected: Feature conflict
+ Author: Vyacheslav Yurkov <uvv.mail@gmail.com>
+ """
+
+ config = """
+DISTRO_FEATURES += "systemd"
+
+# Use systemd as init manager
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# enable overlayfs in the kernel
+KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc"
+EXTRA_IMAGE_FEATURES += "overlayfs-etc"
+EXTRA_IMAGE_FEATURES += "package-management"
+"""
+
+ self.write_config(config)
+
+ res = bitbake('core-image-minimal', ignore_status=True)
+ line = getline(res, "contains conflicting IMAGE_FEATURES")
+ 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"""
+DISTRO_FEATURES += "systemd"
+
+# Use systemd as init manager
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# enable overlayfs in the kernel
+KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc"
+
+IMAGE_FSTYPES += "wic"
+WKS_FILE = "overlayfs_etc.wks.in"
+
+EXTRA_IMAGE_FEATURES += "read-only-rootfs"
+# Image configuration for overlayfs-etc
+OVERLAYFS_ETC_MOUNT_POINT = "/data"
+OVERLAYFS_ETC_DEVICE = "/dev/sda3"
+{appendToConfig}
+"""
+
+ self.write_config(config)
+
+ bitbake('core-image-minimal')
+
+ with runqemu('core-image-minimal', image_fstype='wic') as qemu:
+ status, output = qemu.run_serial("/bin/mount")
+
+ line = getline_qemu(output, "upperdir=/data/overlay-etc/upper")
+ self.assertFalse(line, msg=output)
+
+ def test_sbin_init_preinit(self):
+ self.run_sbin_init(False)
+
+ def test_sbin_init_original(self):
+ self.run_sbin_init(True)
+
+ def run_sbin_init(self, origInit):
+ """
+ Summary: Confirm we can replace original init and mount overlay on top of /etc
+ Expected: Image is created successfully and /etc is mounted as an overlay
+ Author: Vyacheslav Yurkov <uvv.mail@gmail.com>
+ """
+
+ config = """
+DISTRO_FEATURES += "systemd"
+
+# Use systemd as init manager
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# enable overlayfs in the kernel
+KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc"
+
+IMAGE_FSTYPES += "wic"
+OVERLAYFS_INIT_OPTION = "{OVERLAYFS_INIT_OPTION}"
+WKS_FILE = "overlayfs_etc.wks.in"
+
+EXTRA_IMAGE_FEATURES += "read-only-rootfs"
+# Image configuration for overlayfs-etc
+EXTRA_IMAGE_FEATURES += "overlayfs-etc"
+IMAGE_FEATURES:remove = "package-management"
+OVERLAYFS_ETC_MOUNT_POINT = "/data"
+OVERLAYFS_ETC_FSTYPE = "ext4"
+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/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index c2a53815d0..9db1ddb532 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -25,7 +25,7 @@ def tearDownModule():
runCmd('rm -rf %s' % templayerdir)
-class RecipetoolBase(devtool.DevtoolBase):
+class RecipetoolBase(devtool.DevtoolTestCase):
def setUpLocal(self):
super(RecipetoolBase, self).setUpLocal()
@@ -68,17 +68,16 @@ class RecipetoolBase(devtool.DevtoolBase):
return bbappendfile, result.output
-class RecipetoolTests(RecipetoolBase):
+class RecipetoolAppendTests(RecipetoolBase):
@classmethod
def setUpClass(cls):
- super(RecipetoolTests, cls).setUpClass()
+ super(RecipetoolAppendTests, cls).setUpClass()
# Ensure we have the right data in shlibs/pkgdata
cls.logger.info('Running bitbake to generate pkgdata')
bitbake('-c packagedata base-files coreutils busybox selftest-recipetool-appendfile')
- bb_vars = get_bb_vars(['COREBASE', 'BBPATH'])
+ bb_vars = get_bb_vars(['COREBASE'])
cls.corebase = bb_vars['COREBASE']
- cls.bbpath = bb_vars['BBPATH']
def _try_recipetool_appendfile(self, testrecipe, destfile, newfile, options, expectedlines, expectedfiles):
cmd = 'recipetool appendfile %s %s %s %s' % (self.templayerdir, destfile, newfile, options)
@@ -332,6 +331,9 @@ class RecipetoolTests(RecipetoolBase):
filename = try_appendfile_wc('-w')
self.assertEqual(filename, recipefn.split('_')[0] + '_%.bbappend')
+
+class RecipetoolCreateTests(RecipetoolBase):
+
def test_recipetool_create(self):
# Try adding a recipe
tempsrc = os.path.join(self.tempdir, 'srctree')
@@ -348,7 +350,7 @@ class RecipetoolTests(RecipetoolBase):
checkvars['SRC_URI[sha256sum]'] = '2e6a401cac9024db2288297e3be1a8ab60e7401ba8e91225218aaf4a27e82a07'
self._test_recipe_contents(recipefile, checkvars, [])
- def test_recipetool_create_git(self):
+ def test_recipetool_create_autotools(self):
if 'x11' not in get_bb_var('DISTRO_FEATURES'):
self.skipTest('Test requires x11 as distro feature')
# Ensure we have the right data in shlibs/pkgdata
@@ -365,7 +367,7 @@ class RecipetoolTests(RecipetoolBase):
checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34'
checkvars['S'] = '${WORKDIR}/git'
checkvars['PV'] = '1.11+git${SRCPV}'
- checkvars['SRC_URI'] = srcuri
+ checkvars['SRC_URI'] = srcuri + ';branch=master'
checkvars['DEPENDS'] = set(['libcheck', 'libjpeg-turbo', 'libpng', 'libx11', 'libxext', 'pango'])
inherits = ['autotools', 'pkgconfig']
self._test_recipe_contents(recipefile, checkvars, inherits)
@@ -424,7 +426,7 @@ class RecipetoolTests(RecipetoolBase):
checkvars = {}
checkvars['SUMMARY'] = 'Node Server Example'
checkvars['HOMEPAGE'] = 'https://github.com/savoirfairelinux/node-server-example#readme'
- checkvars['LICENSE'] = set(['MIT', 'ISC', 'Unknown'])
+ checkvars['LICENSE'] = 'BSD-3-Clause & ISC & MIT & Unknown'
urls = []
urls.append('npm://registry.npmjs.org/;package=@savoirfairelinux/node-server-example;version=${PV}')
urls.append('npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json')
@@ -447,7 +449,7 @@ class RecipetoolTests(RecipetoolBase):
self.assertTrue(os.path.isfile(recipefile))
checkvars = {}
checkvars['LICENSE'] = set(['Apache-2.0'])
- checkvars['SRC_URI'] = 'git://github.com/mesonbuild/meson;protocol=https'
+ checkvars['SRC_URI'] = 'git://github.com/mesonbuild/meson;protocol=https;branch=master'
inherits = ['setuptools3']
self._test_recipe_contents(recipefile, checkvars, inherits)
@@ -481,7 +483,7 @@ class RecipetoolTests(RecipetoolBase):
result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
self.assertTrue(os.path.isfile(recipefile))
checkvars = {}
- checkvars['LICENSE'] = set(['PSF', '&', 'BSD-3-Clause', 'GPL'])
+ 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'
@@ -504,19 +506,48 @@ class RecipetoolTests(RecipetoolBase):
inherits = ['setuptools3']
self._test_recipe_contents(recipefile, checkvars, inherits)
- def test_recipetool_create_git_http(self):
+ def _test_recipetool_create_git(self, srcuri, branch=None):
# Basic test to check http git URL mangling works
temprecipe = os.path.join(self.tempdir, 'recipe')
os.makedirs(temprecipe)
- recipefile = os.path.join(temprecipe, 'matchbox-terminal_git.bb')
- srcuri = 'http://git.yoctoproject.org/git/matchbox-terminal'
- result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
+ name = srcuri.split(';')[0].split('/')[-1]
+ recipefile = os.path.join(temprecipe, name + '_git.bb')
+ options = ' -B %s' % branch if branch else ''
+ result = runCmd('recipetool create -o %s%s "%s"' % (temprecipe, options, srcuri))
self.assertTrue(os.path.isfile(recipefile))
checkvars = {}
- checkvars['LICENSE'] = set(['GPLv2'])
- checkvars['SRC_URI'] = 'git://git.yoctoproject.org/git/matchbox-terminal;protocol=http'
- inherits = ['pkgconfig', 'autotools']
- self._test_recipe_contents(recipefile, checkvars, inherits)
+ checkvars['SRC_URI'] = srcuri
+ for scheme in ['http', 'https']:
+ if srcuri.startswith(scheme + ":"):
+ checkvars['SRC_URI'] = 'git%s;protocol=%s' % (srcuri[len(scheme):], scheme)
+ if ';branch=' not in srcuri:
+ checkvars['SRC_URI'] += ';branch=' + (branch or 'master')
+ self._test_recipe_contents(recipefile, checkvars, [])
+
+ def test_recipetool_create_git_http(self):
+ self._test_recipetool_create_git('http://git.yoctoproject.org/git/matchbox-keyboard')
+
+ def test_recipetool_create_git_srcuri_master(self):
+ self._test_recipetool_create_git('git://git.yoctoproject.org/matchbox-keyboard;branch=master')
+
+ def test_recipetool_create_git_srcuri_branch(self):
+ self._test_recipetool_create_git('git://git.yoctoproject.org/matchbox-keyboard;branch=matchbox-keyboard-0-1')
+
+ def test_recipetool_create_git_srcbranch(self):
+ self._test_recipetool_create_git('git://git.yoctoproject.org/matchbox-keyboard', 'matchbox-keyboard-0-1')
+
+
+class RecipetoolTests(RecipetoolBase):
+
+ @classmethod
+ def setUpClass(cls):
+ import sys
+
+ super(RecipetoolTests, cls).setUpClass()
+ bb_vars = get_bb_vars(['BBPATH'])
+ cls.bbpath = bb_vars['BBPATH']
+ libpath = os.path.join(get_bb_var('COREBASE'), 'scripts', 'lib', 'recipetool')
+ sys.path.insert(0, libpath)
def _copy_file_with_cleanup(self, srcfile, basedstdir, *paths):
dstdir = basedstdir
@@ -561,6 +592,128 @@ class RecipetoolTests(RecipetoolBase):
with open(srcfile, 'w') as fh:
fh.writelines(plugincontent)
+ def test_recipetool_handle_license_vars(self):
+ from create import handle_license_vars
+ from unittest.mock import Mock
+
+ commonlicdir = get_bb_var('COMMON_LICENSE_DIR')
+
+ d = bb.tinfoil.TinfoilDataStoreConnector
+ d.getVar = Mock(return_value=commonlicdir)
+
+ srctree = tempfile.mkdtemp(prefix='recipetoolqa')
+ self.track_for_cleanup(srctree)
+
+ # Multiple licenses
+ licenses = ['MIT', 'ISC', 'BSD-3-Clause', 'Apache-2.0']
+ for licence in licenses:
+ shutil.copy(os.path.join(commonlicdir, licence), os.path.join(srctree, 'LICENSE.' + licence))
+ # Duplicate license
+ shutil.copy(os.path.join(commonlicdir, 'MIT'), os.path.join(srctree, 'LICENSE'))
+
+ extravalues = {
+ # Duplicate and missing licenses
+ 'LICENSE': 'Zlib & BSD-2-Clause & Zlib',
+ 'LIC_FILES_CHKSUM': [
+ 'file://README.md;md5=0123456789abcdef0123456789abcd'
+ ]
+ }
+ lines_before = []
+ handled = []
+ licvalues = handle_license_vars(srctree, lines_before, handled, extravalues, d)
+ expected_lines_before = [
+ '# WARNING: the following LICENSE and LIC_FILES_CHKSUM values are best guesses - it is',
+ '# your responsibility to verify that the values are complete and correct.',
+ '# NOTE: Original package / source metadata indicates license is: BSD-2-Clause & Zlib',
+ '#',
+ '# NOTE: multiple licenses have been detected; they have been separated with &',
+ '# in the LICENSE value for now since it is a reasonable assumption that all',
+ '# of the licenses apply. If instead there is a choice between the multiple',
+ '# licenses then you should change the value to separate the licenses with |',
+ '# instead of &. If there is any doubt, check the accompanying documentation',
+ '# to determine which situation is applicable.',
+ 'LICENSE = "Apache-2.0 & BSD-2-Clause & BSD-3-Clause & ISC & MIT & Zlib"',
+ 'LIC_FILES_CHKSUM = "file://LICENSE;md5=0835ade698e0bcf8506ecda2f7b4f302 \\\n'
+ ' file://LICENSE.Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \\\n'
+ ' file://LICENSE.BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9 \\\n'
+ ' file://LICENSE.ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d \\\n'
+ ' file://LICENSE.MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \\\n'
+ ' file://README.md;md5=0123456789abcdef0123456789abcd"',
+ ''
+ ]
+ self.assertEqual(lines_before, expected_lines_before)
+ expected_licvalues = [
+ ('MIT', 'LICENSE', '0835ade698e0bcf8506ecda2f7b4f302'),
+ ('Apache-2.0', 'LICENSE.Apache-2.0', '89aea4e17d99a7cacdbeed46a0096b10'),
+ ('BSD-3-Clause', 'LICENSE.BSD-3-Clause', '550794465ba0ec5312d6919e203a55f9'),
+ ('ISC', 'LICENSE.ISC', 'f3b90e78ea0cffb20bf5cca7947a896d'),
+ ('MIT', 'LICENSE.MIT', '0835ade698e0bcf8506ecda2f7b4f302')
+ ]
+ self.assertEqual(handled, [('license', expected_licvalues)])
+ self.assertEqual(extravalues, {})
+ self.assertEqual(licvalues, expected_licvalues)
+
+
+ def test_recipetool_split_pkg_licenses(self):
+ from create import split_pkg_licenses
+ licvalues = [
+ # Duplicate licenses
+ ('BSD-2-Clause', 'x/COPYING', None),
+ ('BSD-2-Clause', 'x/LICENSE', None),
+ # Multiple licenses
+ ('MIT', 'x/a/LICENSE.MIT', None),
+ ('ISC', 'x/a/LICENSE.ISC', None),
+ # Alternative licenses
+ ('(MIT | ISC)', 'x/b/LICENSE', None),
+ # Alternative licenses without brackets
+ ('MIT | BSD-2-Clause', 'x/c/LICENSE', None),
+ # Multi licenses with alternatives
+ ('MIT', 'x/d/COPYING', None),
+ ('MIT | BSD-2-Clause', 'x/d/LICENSE', None),
+ # Multi licenses with alternatives and brackets
+ ('Apache-2.0 & ((MIT | ISC) & BSD-3-Clause)', 'x/e/LICENSE', None)
+ ]
+ packages = {
+ '${PN}': '',
+ 'a': 'x/a',
+ 'b': 'x/b',
+ 'c': 'x/c',
+ 'd': 'x/d',
+ 'e': 'x/e',
+ 'f': 'x/f',
+ 'g': 'x/g',
+ }
+ fallback_licenses = {
+ # Ignored
+ 'a': 'BSD-3-Clause',
+ # Used
+ 'f': 'BSD-3-Clause'
+ }
+ outlines = []
+ outlicenses = split_pkg_licenses(licvalues, packages, outlines, fallback_licenses)
+ expected_outlicenses = {
+ '${PN}': ['BSD-2-Clause'],
+ 'a': ['ISC', 'MIT'],
+ 'b': ['(ISC | MIT)'],
+ 'c': ['(BSD-2-Clause | MIT)'],
+ 'd': ['(BSD-2-Clause | MIT)', 'MIT'],
+ 'e': ['(ISC | MIT)', 'Apache-2.0', 'BSD-3-Clause'],
+ 'f': ['BSD-3-Clause'],
+ 'g': ['Unknown']
+ }
+ self.assertEqual(outlicenses, expected_outlicenses)
+ expected_outlines = [
+ 'LICENSE:${PN} = "BSD-2-Clause"',
+ 'LICENSE:a = "ISC & MIT"',
+ 'LICENSE:b = "(ISC | MIT)"',
+ 'LICENSE:c = "(BSD-2-Clause | MIT)"',
+ 'LICENSE:d = "(BSD-2-Clause | MIT) & MIT"',
+ 'LICENSE:e = "(ISC | MIT) & Apache-2.0 & BSD-3-Clause"',
+ 'LICENSE:f = "BSD-3-Clause"',
+ 'LICENSE:g = "Unknown"'
+ ]
+ self.assertEqual(outlines, expected_outlines)
+
class RecipetoolAppendsrcBase(RecipetoolBase):
def _try_recipetool_appendsrcfile(self, testrecipe, newfile, destfile, options, expectedlines, expectedfiles):
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index 2e983d2f17..e539365031 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -17,27 +17,7 @@ import stat
import os
import datetime
-# For sample packages, see:
-# https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20201127-0t7wr_oo/
-# https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20201127-4s9ejwyp/
-# https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20201127-haiwdlbr/
-# https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20201127-hwds3mcl/
-# https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20201203-sua0pzvc/
-# (both packages/ and packages-excluded/)
-
-# ruby-ri-docs, meson:
-#https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210215-0_td9la2/packages/diff-html/
-# rust-llvm:
-#https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210825-kaihham6/
exclude_packages = [
- 'glide',
- 'go-helloworld',
- 'go-runtime',
- 'go_',
- 'go-',
- 'ruby-ri-docs',
- 'rust-llvm-liblto',
- 'rust-llvm-staticdev'
]
def is_excluded(package):
@@ -118,8 +98,9 @@ def compare_file(reference, test, diffutils_sysroot):
result.status = SAME
return result
-def run_diffoscope(a_dir, b_dir, html_dir, **kwargs):
- return runCmd(['diffoscope', '--no-default-limits', '--exclude-directory-metadata', 'yes', '--html-dir', html_dir, a_dir, b_dir],
+def run_diffoscope(a_dir, b_dir, html_dir, max_report_size=0, **kwargs):
+ return runCmd(['diffoscope', '--no-default-limits', '--max-report-size', str(max_report_size),
+ '--exclude-directory-metadata', 'yes', '--html-dir', html_dir, a_dir, b_dir],
**kwargs)
class DiffoscopeTests(OESelftestTestCase):
@@ -149,6 +130,9 @@ class ReproducibleTests(OESelftestTestCase):
package_classes = ['deb', 'ipk', 'rpm']
+ # Maximum report size, in bytes
+ max_report_size = 250 * 1024 * 1024
+
# targets are the things we want to test the reproducibility of
targets = ['core-image-minimal', 'core-image-sato', 'core-image-full-cmdline', 'core-image-weston', 'world']
# sstate targets are things to pull from sstate to potentially cut build/debugging time
@@ -324,7 +308,7 @@ class ReproducibleTests(OESelftestTestCase):
# Copy jquery to improve the diffoscope output usability
self.copy_file(os.path.join(jquery_sysroot, 'usr/share/javascript/jquery/jquery.min.js'), os.path.join(package_html_dir, 'jquery.js'))
- run_diffoscope('reproducibleA', 'reproducibleB', package_html_dir,
+ run_diffoscope('reproducibleA', 'reproducibleB', package_html_dir, max_report_size=self.max_report_size,
native_sysroot=diffoscope_sysroot, ignore_status=True, cwd=package_dir)
if fails:
diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
index a90f62bfe1..5637a02451 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -214,7 +214,7 @@ class TestImage(OESelftestTestCase):
import subprocess, os
distro = oe.lsb.distro_identifier()
- if distro and distro in ['debian-9', 'debian-10', 'centos-7', 'centos-8', 'ubuntu-16.04', 'ubuntu-18.04']:
+ if distro and distro in ['debian-9', 'debian-10', 'centos-7', 'centos-8', 'ubuntu-16.04', 'ubuntu-18.04', 'almalinux-8.5']:
self.skipTest('virgl headless cannot be tested with %s' %(distro))
render_hint = """If /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create one sutable for mesa llvmpipe sofware renderer."""
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
index 3dab607eeb..96b2d115ed 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -11,6 +11,7 @@ import tempfile
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer, create_temp_layer
from oeqa.selftest.cases.sstate import SStateBase
+import oe
import bb.siggen
@@ -39,7 +40,7 @@ class SStateTests(SStateBase):
recipefile = os.path.join(tempdir, "recipes-test", "dbus-wait-test", 'dbus-wait-test_git.bb')
os.makedirs(os.path.dirname(recipefile))
- srcuri = 'git://' + srcdir + ';protocol=file'
+ srcuri = 'git://' + srcdir + ';protocol=file;branch=master'
result = runCmd(['recipetool', 'create', '-o', recipefile, srcuri])
self.assertTrue(os.path.isfile(recipefile), 'recipetool did not create recipe file; output:\n%s' % result.output)
@@ -341,13 +342,15 @@ TCLIBCAPPEND = \"\"
MACHINE = \"qemux86-64\"
BB_SIGNATURE_HANDLER = "OEBasicHash"
"""
+ #OLDEST_KERNEL is arch specific so set to a different value here for testing
configB = """
TMPDIR = \"${TOPDIR}/tmp-sstatesamehash2\"
TCLIBCAPPEND = \"\"
MACHINE = \"qemuarm\"
+OLDEST_KERNEL = \"3.3.0\"
BB_SIGNATURE_HANDLER = "OEBasicHash"
"""
- self.sstate_allarch_samesigs(configA, configB)
+ self.sstate_common_samesigs(configA, configB, allarch=True)
def test_sstate_nativesdk_samesigs_multilib(self):
"""
@@ -371,9 +374,9 @@ require conf/multilib.conf
MULTILIBS = \"\"
BB_SIGNATURE_HANDLER = "OEBasicHash"
"""
- self.sstate_allarch_samesigs(configA, configB)
+ self.sstate_common_samesigs(configA, configB)
- def sstate_allarch_samesigs(self, configA, configB):
+ def sstate_common_samesigs(self, configA, configB, allarch=False):
self.write_config(configA)
self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash")
@@ -401,6 +404,13 @@ BB_SIGNATURE_HANDLER = "OEBasicHash"
self.maxDiff = None
self.assertEqual(files1, files2)
+ if allarch:
+ allarchdir = os.path.basename(glob.glob(self.topdir + "/tmp-sstatesamehash/stamps/all-*-linux")[0])
+
+ files1 = get_files(self.topdir + "/tmp-sstatesamehash/stamps/" + allarchdir)
+ files2 = get_files(self.topdir + "/tmp-sstatesamehash2/stamps/" + allarchdir)
+ self.assertEqual(files1, files2)
+
def test_sstate_sametune_samesigs(self):
"""
The sstate checksums of two identical machines (using the same tune) should be the
@@ -573,3 +583,44 @@ BB_SIGNATURE_HANDLER = "OEBasicHash"
compare_sigfiles(rest, files1, files2, compare=False)
self.fail("sstate hashes not identical.")
+
+ def test_sstate_movelayer_samesigs(self):
+ """
+ The sstate checksums of two builds with the same oe-core layer in two
+ different locations should be the same.
+ """
+ core_layer = os.path.join(
+ self.tc.td["COREBASE"], 'meta')
+ copy_layer_1 = self.topdir + "/meta-copy1/meta"
+ copy_layer_2 = self.topdir + "/meta-copy2/meta"
+
+ oe.path.copytree(core_layer, copy_layer_1)
+ self.write_config("""
+TMPDIR = "${TOPDIR}/tmp-sstatesamehash"
+""")
+ bblayers_conf = 'BBLAYERS += "%s"\nBBLAYERS:remove = "%s"' % (copy_layer_1, core_layer)
+ self.write_bblayers_config(bblayers_conf)
+ self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash")
+ bitbake("bash -S none")
+
+ oe.path.copytree(core_layer, copy_layer_2)
+ self.write_config("""
+TMPDIR = "${TOPDIR}/tmp-sstatesamehash2"
+""")
+ bblayers_conf = 'BBLAYERS += "%s"\nBBLAYERS:remove = "%s"' % (copy_layer_2, core_layer)
+ self.write_bblayers_config(bblayers_conf)
+ self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2")
+ bitbake("bash -S none")
+
+ def get_files(d):
+ f = []
+ for root, dirs, files in os.walk(d):
+ for name in files:
+ f.append(os.path.join(root, name))
+ return f
+ files1 = get_files(self.topdir + "/tmp-sstatesamehash/stamps")
+ files2 = get_files(self.topdir + "/tmp-sstatesamehash2/stamps")
+ files2 = [x.replace("tmp-sstatesamehash2", "tmp-sstatesamehash") for x in files2]
+ self.maxDiff = None
+ self.assertCountEqual(files1, files2)
+
diff --git a/poky/meta/lib/oeqa/utils/dump.py b/poky/meta/lib/oeqa/utils/dump.py
index bb067f4846..dc8757807e 100644
--- a/poky/meta/lib/oeqa/utils/dump.py
+++ b/poky/meta/lib/oeqa/utils/dump.py
@@ -134,4 +134,4 @@ class MonitorDumper(BaseDumper):
output = self.runner.run_monitor(cmd_name)
self._write_dump(cmd_name, output)
except Exception as e:
- print("Failed to dump QMP CMD: %s with\nExecption: %s" % (cmd_name, e))
+ print("Failed to dump QMP CMD: %s with\nException: %s" % (cmd_name, e))
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index 0397148082..76296d50cd 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -407,7 +407,7 @@ class QemuRunner:
self.logger.debug("qemu cmdline used:\n{}".format(cmdline))
except (IndexError, ValueError):
# Try to get network configuration from runqemu output
- match = re.match(r'.*Network configuration: (?:ip=)*([0-9.]+)::([0-9.]+):([0-9.]+)$.*',
+ match = re.match(r'.*Network configuration: (?:ip=)*([0-9.]+)::([0-9.]+):([0-9.]+).*',
out, re.MULTILINE|re.DOTALL)
if match:
self.ip, self.server_ip, self.netmask = match.groups()