summaryrefslogtreecommitdiff
path: root/poky/meta/classes-recipe
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2022-09-30 21:13:31 +0300
committerAndrew Geissler <andrew@geissonator.com>2022-10-03 05:08:14 +0300
commit87f5cff0cfca11f43851cb3d7d49dd96ced7fe03 (patch)
tree5a748b271a6f682219155ce8292ca034c1b0411c /poky/meta/classes-recipe
parent251ad11cced0e148ba7529369597bf1d8d851032 (diff)
downloadopenbmc-87f5cff0cfca11f43851cb3d7d49dd96ced7fe03.tar.xz
subtree updates
meta-raspberrypi: c57b464b88..45d56d82b7: Andrei Gherzan (8): linux-firmware-rpidistro: Fix wireless on Raspberry Pi 4 sdcard_image-rpi.bbclass: Move SDIMG_KERNELIMAGE definitions to their machines raspberrypi0-2w.conf: Include the RPi 0-2w dtb for all 32-bit machines rpi-base.inc: Split IMAGE_BOOT_FILES for kernel image Add support for a ARMv7 machine supporting multiple Raspberry Pi boards ci: Add raspberrypi-armv7 to the build matrix Add support for a ARMv8 machine supporting multiple Raspberry Pi boards ci: Add raspberrypi-armv8 to the build matrix Chris Blättermann (1): meta-raspberrypi: Include the device tree for Raspberry Pi CM4S Khem Raj (2): rpidistro-vlc,rpidistro-ffmpeg: Limit scope to just rpi machines layers: Add langdale to LAYERSERIES_COMPAT Vincent Davis Jr (4): raspidistro-ffmpeg: add support for building raspidistro ffmpeg rpidistro-vlc: add rpidistro VLC build (with MMAL enabled) Add support for optional selection of vlc and ffmpeg docs: add info for raspberrypi distro vlc Vinicius Aquino (1): raspberrypi-firmware: Update to 20220830 snapshot meta-openembedded: a755af4fb5..0782ea454a: Adrian Freihofer (1): networkmanager: update 1.38.0 -> 1.40.0 Alejandro Enedino Hernandez Samaniego (1): emacs: Update to version 28.2 Alex Kiernan (2): libcoap: Fix gnutls/openssl/mbedtls PACKAGECONFIG conflicts libcoap: Upgrade 4.3.0 -> 4.3.1 Alexander Kanavin (7): mozjs-91: update to 91.13.0 collectd: add a python PACKAGECONFIG, off by default zbar: disable python3 support as incompatible with py 3.11 libsigrockdecode: add python 3.11 compatibility minifi-cpp: disable python support as incompatible with python 3.11 mozjs-91: backport a python 3.11 compatibility patch mozjs-78: remove the recipe Andreas Müller (1): octave: upgrade 7.1.0 -> 7.2.0 Andrej Kozemcak (1): squid: upgrade 4.15 -> 5.7 Andres Beltran (1): Make graph dependencies optional Bernhard Messerklinger (1): libconfig-tiny-perl: add recipe Chen Qi (2): passwdqc: fix the libpasswdqc FILES setting polkit: refresh patch Frank de Brabander (1): ntp: add missing runtime dependency on libgcc for sntp Gianfranco Costamagna (1): vboxguestdrivers: upgrade 6.1.36 -> 6.1.38 Hitendra Prajapati (1): wireshark: CVE-2022-3190 Infinite loop in legacy style dissector Howard Cochran (1): ufw: Fix "could not find required binary 'iptables'" Ivan Maidanski (1): bdwgc: Fix typo in EXTRA_OECONF and remove unneeded extra CFLAGS Jan Vermaete (1): makeself: upate anonymous git access and dropped man page. Khem Raj (140): gtk+: Fix function signature of create_menu() ippool: Fix build with clang15 corosync: Upgrade to 3.1.6 dlm: Upgrade to 4.1.1 dante: Upgrade to 1.4.3 ez-ipupdate: Fix build with clang openflow: Include sys/stat.h for fchmod nautilus: Backport a patch to fix build with clang-15 mctp: Update to latest tip of trunk ypbind-mt: Upgrade to 2.7.2 packagegroup-meta-networking: Remove ypbind-mt on musl fping: Fix build with musl iscsi-initiator-utils: Upgrade to 2.1.7 radvd: Fix build on musl linux-atm: Include missing string.h memcached: Upgrade to 1.6.17 openlldp: Upgrade to 1.1.0 ettercap: Pass -D_GNU_SOURCE rdma-core: Fix build with musl openl2tp: Provide prototype for l2tp_api_rpc_check_request iscsi-initiator-utils: Avoid hardcoding sed to /usr/bin/sed toybox: Remove mount.h conflict fix libuser: Upgrade to 0.63 gnome-keyring: Upgrade to 42.1 folks: Disable LTO and implicit-function-declaration as error libgtop: Fix build with clang ot-daemon,ot-br-posix: Fix mbedtls module builds libcurses-perl: Fix main prototype in testtyp.c rasdaemon: Upgrade to 0.6.8 psqlodbc: Upgrade to 13.02.0000 soci: Fix build with clang 15 geany-plugins: Fix type error found with clang 15 nlohmann-fifo: Update to tip of trunk xfce4-dev-tools: Fix configure check for libX11 frr: Fix configure check for libreadline quagga: Fix AC_CHECK_LIB for libreadline libutempter: Upgrade to 1.2.2-alt1 libuio: Update to latest tip of trunk serial-forward: Correct typo in specifying string.h header mcelog: Upgrade to v189 fvwm: Disable int-conversion and implicit-int warnings as errors hddtemp: Add missing prototype for ata_get_powermode in sata.c nana: Include stdlib.h form exit() and abort() functions libsmi: Fix build with clang 15 ckermit: Fix build with clang linuxptp: Include string.h for strncpy() wifi-test-suite: Fix build with clang xf86-video-nouveau: Do not treat implicit-function-declaration as error android-tools: Add protoype declaration for b64_pton libio-pty-perl: Fix build on musl xrdp: Fix build with clang-15 libpwquality: Do not use fgetpwent_r on musl lmbench: Add patch to fix typo including string.h header lxdm: Fix msghdr initialization on musl zabbix: Upgrade to 6.2.2 epeg: Fix AC_CHECK_LIB for libjpeg and libexif gensio: Fix AC_CHECK_LIB for libwrap pam-plugin-ccreds: Fix AC_CHECK_LIB for libdb sblim-sfcb: Fix AC_CHECK_LIB tests for various libraries rdfind: Fix AC_CHECK_LIB for libnettle srecord: Fix AC_CHECK_LIB for gpg-error tokyocabinet: Fix AC_CHECK_LIB test functions libcereal: Do not use uniform_int_distribution<char> template raptor2: Match reutrn type from RAPTOR_ASSERT_OBJECT_POINTER_RETURN_VALUE pam-ssh-agent-auth: Fix __progname configure check daemontools: Fix build with clang15 and musl pmtools: Update patch to include string.h and function prototype for main uw-imap: Fix build with clang/musl libx86: Fix pointer typecasting in assignment obconf: Add fixes for missing function prototypes sblim-sfcc: Fix build with clang sblim-sfcb: Add missing headers file for clang/musl sanlock: Add missing prototype for mem* functions geis: Add missing prototypes to functions libgxim: Enable debug mode hplip: Upgrade to 3.22.6 scsirastools: Pass -D_LARGEFILE64_SOURCE via CFLAGS con2fbmap: Include string.h for strerror directfb-examples: Fix pthread_t assignment type uml-utilities: Add missing headers for exit and str+ functions oprofile: Fix configure check for perf_events support libmcrypt: Suppress implicit-int warnings as errors gtkperf: Define prototype for setup_appdata cyrus-sasl: Fix time.h detection logic in configure enscript: Include string.h form str* function prototypes glm: Disable clang specific warnings mg: Upgrade to 20220614 release gphoto2: Upgrade to 2.5.28 ipmiutil: Add missing headers for protypes of free/malloc/atoi cdrkit: Add missing header for function prototypes fluentbit: Drop redundant patch minifi-cpp: Disable gnu extention of strerror_r when using musl augeas: Check for __GLIBC__ to use gnu extention for strerror_r nlohmann-fifo: Disable cpp11 shuffle with clang/libc++ ipmitool: Update to 1.8.19 autofs: Backport innetgr and strerror_r musl patches linux-atm: Remove AC_CHECK_LIB for libresolv hdf5: Upgrade to 1.13.2 openldap: Fix configure check for pthread_detach libimobiledevice: Explicitly pass -D_GNU_SOURCE via cflags jq: Upgrade to latest and fix configure tests lcdproc: Fix build on non-x86 and arm architectures libsmi: Define _DEFAULT_SOURCE for timegm API tftp-hpa: Fix includes for bsd_signal() sblim-sfcb: Include config.h before using CONFIG_ERROR_H minifi-cpp: Disable lto. ntp: Fix check for pthread_detach netkit-telnet: Add time.h from strftime/time prototypes passwdqc: Upgrade to 2.0.2 lmbench: Fix build time tests and use the scripts/build mcpp: Fix build with clang ot-br-posix: Fix unused variable error sthttpd: Define _GNU_SOURCE if HAVE_SIGSET is set libesmtp: Enable gnu strerror_r on glibc android-tools: Use local strlcpy implementation on glibc uw-imap: Avoid programs using gets() matplotlib: Upgrade to 3.5.3 cockpit: Update to 276 geary: Fix build with clang toybox: Fix build on 32bit arches with 64bit time_t defaults libcdio: Define _LARGEFILE64_SOURCE rocksdb: Upgrade to 7.5.3 release fwupd: Upgrade to 1.8.4 luajit: Use builtin for __clear_cache on clang kexec-tools-klibc: Fix type mismatch in calls to dtb_set_initrd on mips minifi-cpp: Fix build on musl aom: Provide missing function prototypes vulkan-cts,opengl-es-cts: Upgrade to1.3.3.1 and 3.2.8 respectively python3-lxml: Delete fwupd: Fix tostring() call to not have xml_declaration param sox: Enable -D_FILE_OFFSET_BITS=64 and depend on libtool rdfind: Fix patch-fuzz warnings fwupd: Drop sqlite3 from default deps sqlite: Drop sqlite2 recipe wvstreams: Add missing dependency on boost jack: Upgrade to 1.19.21 python3-grpcio-tools: Disable clang's musttail attribute on mips fwupd: Replace python3.7 patch with upstreamed one mdio-tools,mdio-netlink: Upgrade recipes to 1.2.0 python3-requests-unixsocket: Fix override syntax Lei Maohui (5): fltk: Fix buildpaths warning. exiv2: Fix buildpaths warning. tracker-miners: Fix buildpaths warning. gexiv2: Fix buildpaths warning. mariadb: Fix buildpaths warning. Leon Anavi (24): python3-imageio: Upgrade 2.21.1 -> 2.21.2 python3-prompt-toolkit: Upgrade 3.0.30 -> 3.0.31 python3-haversine: Upgrade 2.6.0 -> 2.7.0 python3-transitions: Upgrade 0.8.11 -> 0.9.0 python3-astroid: Upgrade 2.12.5 -> 2.12.9 python3-imageio: Upgrade 2.21.2 -> 2.21.3 python3-portion: Upgrade 2.2.0 -> 2.3.0 python3-networkx: Upgrade 2.8.5 -> 2.8.6 python3-prettytable: Upgrade 3.3.0 -> 3.4.1 python3-pydantic: Upgrade 1.9.1 -> 1.10.2 python3-soupsieve: Upgrade 2.3.1 -> 2.3.2.post1 python3-awesomeversion: Upgrade 22.8.0 -> 22.9.0 python3-ujson: Upgrade 5.4.0 -> 5.5.0 python3-marshmallow: Upgrade 3.17.1 -> 3.18.0 python3-elementpath: Upgrade 3.0.1 -> 3.0.2 python3-traitlets: Upgrade 5.3.0 -> 5.4.0 python3-joblib: Upgrade 1.1.0 -> 1.2.0 python3-astroid: Upgrade 2.12.9 -> 2.12.10 python3-imageio: Upgrade 2.21.3 -> 2.22.0 python3-email-validator: Upgrade 1.2.1 -> 1.3.0 python3-termcolor: Upgrade 1.1.0 -> 2.0.1 python3-aiohttp: Upgrade 3.8.1 -> 3.8.3 python3-pytz-deprecation-shim: Runtime dependencies python3-license-expression: Upgrade 21.6.14 -> 30.0.0 Luca Boccassi (1): dbus-broker: update to v32 Markus Volk (4): pipewire: update 0.3.56 -> 0.3.57 flatbuffers: upgrade 2.0.6 -> 2.0.8 appstream-glib: fix manpage generation jansson: use cmake instead of autotools Martin Jansa (2): lvm2: use bfd even with ld-is-gold in DISTRO_FEATURES libcec: fix runtime dependencies for ${PN}-examples Ming Liu (1): libusbgx: add PACKAGECONFIG to make build predicable Mingli Yu (2): python3-pyzmq: Fix buildpaths issue python3-pyzmq: Add RDEPENDS for python3-pyzmq-ptest Naveen Saini (1): ocl-icd: add nativesdk support Ovidiu Panait (1): redis: build with USE_SYSTEMD=yes when systemd is enabled Patrick Williams (1): unifex: remove recipe Philippe Coval (3): lvgl: Add dialog-lvgl recipe as demo example pim435: Relocate sources to eclipse ot-br-posix: Add dep to ipset as used by firewall Riyaz Khan (2): sdbus-c++: Upgrade sdbus-c++ 1.1.0 to 1.2.0 sdbus-c++-tools: Upgrade sdbus-c++-tools 1.1.0 to 1.2.0 Sergio Prado (1): polkit: refresh patch to fix warning Steffen Olsen (1): postgreql: Fix pg_config not working after buildpaths patch Vincent Davis Jr (1): cglm: New recipe for cglm-0.8.5 Wang Mingyu (16): abseil-cpp: upgrade 20220623.0 -> 20220623.1 chrony: upgrade 4.2 -> 4.3 ctags: upgrade 5.9.20220821.0 -> 5.9.20220828.0 fio: upgrade 3.31 -> 3.32 libblockdev: upgrade 2.26 -> 2.27 libdev-checklib-perl: upgrade 1.14 -> 1.16 lvm2/libdevmapper: upgrade 2.03.11 -> 2.03.16 libforms: upgrade 1.2.3 -> 1.2.4 python3-astroid: upgrade 2.12.4 -> 2.12.5 python3-colorlog: upgrade 6.6.0 -> 6.7.0 python3-django: upgrade 3.2.12 -> 4.1 python3-google-api-core: upgrade 2.8.2 -> 2.10.0 python3-google-api-python-client: upgrade 2.57.0 -> 2.58.0 python3-grpcio: upgrade 1.48.0 -> 1.48.1 python3-grpcio-tools: upgrade 1.48.0 -> 1.48.1 cli11: upgrade 1.9.1 -> 2.2.0 Xu Huan (5): python3-greenlet: upgrade 1.1.2 -> 1.1.3 python3-marshmallow: upgrade 3.17.0 -> 3.17.1 python3-pyudev: upgrade 0.23.2 -> 0.24.0 python3-websocket-client: upgrade 1.3.3 -> 1.4.0 python3-xmlschema: upgrade 2.0.2 -> 2.0.3 Yi Zhao (1): tcpreplay: fix buildpaths issue Zheng Qiu (2): jq: add ptest rsyslog: update 8.2206->8.2208 hongxu (1): python3-h5py: fix wrong file driver version wangmy (78): fuse3: upgrade 3.11.0 -> 3.12.0 xfstests: upgrade 2022.08.07 -> 2022.08.21 gnome-bluetooth: upgrade 42.3 -> 42.4 libadwaita: upgrade 1.1.4 -> 1.1.5 networkmanager-openvpn: upgrade 1.8.18 -> 1.10.0 open-isns: upgrade 0.101 -> 0.102 boost-sml: upgrade 1.1.5 -> 1.1.6 ctags: upgrade 5.9.20220828.0 -> 5.9.20220904.0 hwdata: upgrade 0.361 -> 0.362 modemmanager: upgrade 1.18.10 -> 1.18.12 php: upgrade 8.1.9 -> 8.1.10 poppler: upgrade 22.08.0 -> 22.09.0 syslog-ng: upgrade 3.37.1 -> 3.38.1 libio-socket-ssl-perl: upgrade 2.074 -> 2.075 python3-aiofiles: upgrade 0.8.0 -> 22.1.0 python3-antlr4-runtime: upgrade 4.10 -> 4.11.1 python3-croniter: upgrade 1.3.5 -> 1.3.7 python3-google-api-python-client: upgrade 2.58.0 -> 2.60.0 python3-langtable: upgrade 0.0.58 -> 0.0.59 python3-oauthlib: upgrade 3.2.0 -> 3.2.1 python3-pymetno: upgrade 0.9.0 -> 0.10.0 python3-sqlalchemy: upgrade 1.4.40 -> 1.4.41 python3-twisted: upgrade 22.4.0 -> 22.8.0 python3-websocket-client: upgrade 1.4.0 -> 1.4.1 python3-xmlschema: upgrade 2.0.3 -> 2.0.4 libadwaita: upgrade 1.1.5 -> 1.2.0 bats: upgrade 1.7.0 -> 1.8.0 ctags: upgrade 5.9.20220904.0 -> 5.9.20220911.0 iceauth: upgrade 1.0.8 -> 1.0.9 iwd: upgrade 1.29 -> 1.30 libblockdev: upgrade 2.27 -> 2.28 libjcat: upgrade 0.1.11 -> 0.1.12 libpfm4: upgrade 4.11.0 -> 4.12.0 libxmlb: upgrade 0.3.9 -> 0.3.10 neon: upgrade 0.32.2 -> 0.32.4 setxkbmap: upgrade 1.3.2 -> 1.3.3 xclock: upgrade 1.0.9 -> 1.1.1 xkbutils: upgrade 1.0.4 -> 1.0.5 xlsfonts: upgrade 1.0.6 -> 1.0.7 xmag: upgrade 1.0.6 -> 1.0.7 xwud: upgrade 1.0.5 -> 1.0.6 python3-cachecontrol: upgrade 0.12.11 -> 0.12.12 python3-cantools: upgrade 37.1.2 -> 37.2.0 python3-eth-typing: upgrade 3.1.0 -> 3.2.0 python3-fasteners: upgrade 0.17.3 -> 0.18 python3-flask-socketio: upgrade 5.3.0 -> 5.3.1 python3-google-api-core: upgrade 2.10.0 -> 2.10.1 python3-google-api-python-client: upgrade 2.60.0 -> 2.61.0 python3-grpcio-tools: upgrade 1.48.1 -> 1.49.0 python3-grpcio: upgrade 1.48.1 -> 1.49.0 python3-jsonrpcserver: upgrade 5.0.8 -> 5.0.9 python3-protobuf: upgrade 4.21.5 -> 4.21.6 xfstests: upgrade 2022.08.21 -> 2022.09.04 gnome-font-viewer: upgrade 42.0 -> 43.0 tracker: upgrade 3.3.3 -> 3.4.0 yelp-xsl: upgrade 42.0 -> 42.1 dnsmasq: upgrade 2.86 -> 2.87 unbound: upgrade 1.16.2 -> 1.16.3 cairomm-1.16: upgrade 1.16.1 -> 1.16.2 ctags: upgrade 5.9.20220911.0 -> 5.9.20220925.0 libgee: upgrade 0.20.5 -> 0.20.6 libpeas: upgrade 1.32.0 -> 1.34.0 opencl-headers: upgrade 2022.05.18 -> 2022.09.23 pangomm-2.48: upgrade 2.50.0 -> 2.50.1 thrift: upgrade 0.16.0 -> 0.17.0 zabbix: upgrade 6.2.2 -> 6.2.3 python3-djangorestframework: upgrade 3.13.1 -> 3.14.0 python3-google-api-python-client: upgrade 2.61.0 -> 2.62.0 python3-google-auth: upgrade 2.11.0 -> 2.11.1 python3-grpcio-tools: upgrade 1.49.0 -> 1.49.1 python3-grpcio: upgrade 1.49.0 -> 1.49.1 python3-h11: upgrade 0.13.0 -> 0.14.0 python3-humanize: upgrade 4.3.0 -> 4.4.0 python3-langtable: upgrade 0.0.59 -> 0.0.60 python3-ldap: upgrade 3.4.2 -> 3.4.3 python3-pandas: upgrade 1.4.4 -> 1.5.0 python3-path: upgrade 16.4.0 -> 16.5.0 python3-xmlschema: upgrade 2.0.4 -> 2.1.0 zhengrq.fnst (8): python3-astroid: upgrade 2.12.2 -> 2.12.4 python3-flatbuffers: upgrade 2.0.6 -> 2.0.7 python3-flask-socketio: upgrade 5.2.0 -> 5.3.0 python3-gnupg: upgrade 0.4.9 -> 0.5.0 python3-natsort: upgrade 8.1.0 -> 8.2.0 python3-sympy: upgrade 1.10.1 -> 1.11.1 python3-pandas: upgrade 1.4.3 -> 1.4.4 python3-parsimonious: upgrade 0.9.0 -> 0.10.0 zhengruoqin (15): wolfssl: upgrade 5.4.0 -> 5.5.0 ser2net: upgrade 4.3.7 -> 4.3.8 tree: upgrade 2.0.3 -> 2.0.4 xorgxrdp: upgrade 0.2.18 -> 0.9.19 python3-zeroconf: upgrade 0.39.0 -> 0.39.1 smarty: upgrade 4.2.0 -> 4.2.1 python3-pycocotools: upgrade 2.0.4 -> 2.0.5 python3-pyproj: upgrade 3.3.1 -> 3.4.0 python3-pyzmq: upgrade 23.2.1 -> 24.0.0 python3-regex: upgrade 2022.8.17 -> 2022.9.13 python3-pyjwt: upgrade 2.4.0 -> 2.5.0 python3-pyscaffold: upgrade 4.3 -> 4.3.1 python3-pyzmq: upgrade 24.0.0 -> 24.0.1 python3-sqlparse: upgrade 0.4.2 -> 0.4.3 python3-web3: upgrade 5.30.0 -> 5.31.0 meta-security: 10fdc2b13a..824d2762f6: Armin Kuster (4): suricata: fix compile issue cryptmount: fix systemd service install update sssd to 2.7.4 update chipsec to 1.8.8 poky: 9b1db65e7d..5200799866: Alejandro Hernandez Samaniego (1): rootfs.py: dont try to list installed packages for baremetal images Alexander Kanavin (15): selftest/cases/bblayers.py: build python3-jsonschema only once oe-setup-builddir: do not suggest local.conf as a source of examples init-system-helpers: exclude experimental tags from version check ref-manual: correct the location of default configuration template dev-manual: common-tasks.rst: drop the output of 'bitbake-layers --help' common-tasks.rst: describe the layer setup tooling dev-manual: common-tasks.rst: describe the newly added layer setup and template config commands dev-manual: common-tasks.rst: rewrite the section about configuration templates github-releases: add a class that consolidates version checks meta: fix version checks in all github recipes using the github-releases class virglrenderer: use https for fetching from gitlab local.conf.sample: correct the location of public hashserv scripts/oe-setup-builddir: do not read TEMPLATECONF from templateconf.cfg rpm: update 4.18.0-rc1 -> 4.18.0-release tzdata: update to 2022d Alexandre Belloni (2): runqemu: display host uptime when starting oeqa/runtime/dnf: fix typo Andrei Gherzan (6): depmodwrapper-cross: Take into consideration kernel package name kernel.bbclass: Pass the kernel package name to depmodwrapper kernel-module-split.bbclass: Pass the kernel package name to depmodwrapper rootfs.py: Run depmod(wrapper) against each compiled kernel rootfs.py: Drop FAKEROOT support in exec function grub: Allow build on armv7ve/a with softfp Aryaman Gupta (1): bitbake: doc: bitbake-user-manual: Add definition for BB_PRESSURE_MAX variables Bob Henz (1): systemd-systemctl: Fix WantedBy processing Bruce Ashfield (11): linux-yocto/5.15: update to v5.15.63 linux-yocto/5.19: update to v5.19.5 linux-yocto/5.19: update to v5.19.7 linux-yocto/5.15: update to v5.15.65 kern-tools: fix queue processing in relative TOPDIR configurations kern-tools: allow 'y' or 'm' to avoid config audit warnings linux-yocto/5.19: update to v5.19.9 linux-yocto/5.15: update to v5.15.68 linux-yocto/5.19: cfg: fix ACPI warnings for -tiny linux-yocto/5.15: cfg: fix ACPI warnings for -tiny linux-yocto/5.19: fix gcc-11 warning Changhyeok Bae (2): iproute2: Unset CLEANBROKEN iproute2: merge .inc into .bb Changqing Li (1): parselogs.py: ignore systemd-logind warning message Chen Qi (2): shadow-securetty: allow ttyS4 for amd-snowyowl-64 useradd-example: do not use unsupported clear text password Daniel Gomez (3): rootfs-postcommands: Remove dropbear inconsistent comment gtk-icon-cache: Fix GTKIC_CMD if-else condition dropbear: Add enable-x11-forwarding PACKAGECONFIG option Daniel McGregor (2): coreutils: add openssl PACKAGECONFIG gcc: set the default target arch Denys Dmytriyenko (1): glibc-locale: explicitly remove empty dirs in ${libdir} Dmitry Baryshkov (2): linux-firmware: upgrade 20220708 -> 20220913 linux-firmware: package new Qualcomm firmware Etienne Cordonnier (2): python3: add PACKAGECONFIG[editline] opkg: add option for zstd support Fabio Estevam (1): README.hardware.md: Fix the tftp example Florin Diaconescu (1): expat: upgrade 2.4.8 -> 2.4.9 He Zhe (2): lttng-tools: Disable on qemuriscv32 lttng-tools: Disable on riscv32 Johan Korsnes (1): ref-manual: variables: document KERNEL_IMAGETYPES John Edward Broadbent (1): externalsrc: git submodule--helper list unsupported Jose Quaresma (2): bitbake: lib/bb: warning when the debug message is invalid bitbake: fetch2/crate fixup c212b0f3 loglevel Joshua Watt (2): oeqa: qemurunner: Report UNIX Epoch timestamp on login bitbake: bitbake: Fix a few more logger debug() calls Kai Kang (2): binutils: handle symlink files for gprofng binutils: another way to clear GPROFNG_ALTS for clang and musl Khem Raj (20): autoconf: Update K & R stype functions webkitgtk: Update to 2.6.37 rust: Use variable to specify extra tools to install boost: Refrain bjam from poking into host includes gobject-introspection: Do not hardcode objdump name binutils-cross-canadian: Do not package gprofng.rc webkitgtk: Fix build on 32bit arm python3-lxml: Add recipe bitbake.conf: Define TC_CXX_RUNTIME rust: Use libc++ runtime when using clang with llvm runtime glibc: Upgrade to tip of 2.36 branch binutils: Ignore CVE-2022-38126 CVE-2022-38127 inetutils: Fix remote DoS vulnerability in inetutils-telnetd curl: Add missing perl modules in ptest rdepends elfutils: Enable ptests on musl targets grub: Apply backports to fix build with clang on x86 apt: Fix type mismatches and ptest builds linux-yocto: Enable mdio for qemu gcompat: Add __getauxval wrapper needed on aarch64 ref-manual: Define TC_CXX_RUNTIME Konrad Weihmann (1): python3-idna: migrate to flit-core Kristian Amlie (1): externalsrc: Don't wipe out src dir when EXPORT_FUNCTIONS is used. Leon Anavi (1): python3-manifest.json: Add zoneinfo Markus Volk (5): squashfs-tools: build with lzo support libsdl2: update 2.0.22 -> 2.24.0 libdrm: upgrade 2.4.112 -> 2.4.113 mesa: upgrade 22.1.6 -> 22.2.0 virglrenderer: upgrade 0.9.1 -> 0.10.3 Martin Jansa (3): webkitgtk: fix gstreamer include paths libxml2: Port gentest.py to Python-3 create-pull-request: don't switch the git remote protocol to git:// Mattias Jernberg (1): bitbake: utils: Add enable_loopback_networking() Michael Opdenacker (8): bitbake: bitbake-user-manual: mention pydevshell in OE dev-manual: common-tasks.rst: refer to Python functions in BitBake manual ref-manual: features.rst: add missing default distro features ref-manual: variables.rst: remove BBPATH ref-manual: structure.rst: add reference to the contents of the build directory ref-manual: structure.rst: improve information about build/cache/ ref-manual: variables.rst: correct templateconf.cfg file name ref-manual: structure.rst: add more subsection levels Mikko Rapeli (7): u-boot: switch from append to += in SRC_URI glibc-tests: use += instead of :append go-native: switch from SRC_URI:append to SRC_URI += python3-rfc3986-validator: switch from SRC_URI:append to SRC_URI += linux-libc-headers: switch from SRC_URI:append to SRC_URI += common-tasks.rst: remove SRC_URI:append from examples kernel-dev/common.rst: remove SRC_URI:append from examples Mingli Yu (1): busybox: add devmem 128-bit support Otavio Salvador (2): bitbake: toaster: fix kirkstone version rust-hello-world: move to recipes-extended Pascal Bach (1): bitbake: fetch2/ssh.py: fix checkstatus Paulo Neves (2): watchdog: Remove unneeded tirpc dependency bitbake: fetch2: Remove unneeded conditional Pavel Zhukov (1): core-image.bbclass: Exclude openssh complementary packages Peter Bergin (1): rootfs-postcommands.bbclass: avoid moving ssh host keys if etc is writable Peter Kjellerstedt (6): cairo: Adapt the license information based on what is being built oe-setup-builddir: Correct when validation of the templates dir is run oe-setup-builddir: Simplify error handling oe-setup-builddir: Avoid shellcheck warnings oe-setup-builddir: Keep templateconf.cfg relative if $TEMPLATECONF is oe-setup-builddir: Always update templateconf.cfg Petr Vorel (1): ltp: Update list of tests not buildable on musl Richard Purdie (54): bitbake: wget: Avoid bad checksum race issues bitbake: asyncrpc/client: Fix unix domain socket chdir race issues build-appliance-image: Update to master head revision sstate: Fix sstate file mirroring checksum issue bitbake: fetch2: Ensure mirror tarballs don't enforce checksum qemu: Upgrade 7.0.0 -> 7.1.0 qemurunner: Update to match qmp changes build-appliance-image: Update to master head revision vim: Upgrade 9.0.0341 -> 9.0.0453 selftest/qemurunner: Work around possible control character contamination oetest: Drop unused variable oetest: Drop getResults usage from oeRuntimeTest oeqa/utils/decorators: Drop unused decorators oeqa/utils/decorators: Drop getResults autoconf-archive: upgrade 2022.02.11 -> 2022.09.03 ofono: upgrade 1.34 -> 2.0 ccache: upgrade 4.6.2 -> 4.6.3 btrfs-tools: upgrade 5.19 -> 5.19.1 dnf: upgrade 4.13.0 -> 4.14.0 git: upgrade 2.37.2 -> 2.37.3 ell: upgrade 0.52 -> 0.53 file: upgrade 5.42 -> 5.43 ninja: upgrade 1.11.0 -> 1.11.1 libcomps: upgrade 0.1.18 -> 0.1.19 python3-hatchling: upgrade 1.8.1 -> 1.9.0 meson: upgrade 0.63.1 -> 0.63.2 python3-idna: upgrade 3.3 -> 3.4 librepo: upgrade 1.14.4 -> 1.14.5 python3-hypothesis: upgrade 6.46.11 -> 6.54.5 python3-numpy: upgrade 1.23.2 -> 1.23.3 libdnf: upgrade 0.68.0 -> 0.69.0 python3-psutil: upgrade 5.9.1 -> 5.9.2 ffmpeg: upgrade 5.1 -> 5.1.1 repo: upgrade 2.29.1 -> 2.29.2 nghttp2: upgrade 1.48.0 -> 1.49.0 libjitterentropy: upgrade 3.4.0 -> 3.4.1 sqlite3: upgrade 3.39.2 -> 3.39.3 diffoscope: upgrade 220 -> 221 python3-certifi: upgrade 2022.6.15 -> 2022.9.14 libpng: upgrade 1.6.37 -> 1.6.38 numactl: upgrade 2.0.14 -> 2.0.15 rpm: Upgrade 4.17.1 -> 4.18rc1 perf: Fix for recent kernel upgrades oeqa/runtime/virgl: Update test to match new mesa version vim: Upgrade 9.0.453 -> 9.0.541 vim: Upgrade 9.0.0541 -> 9.0.0598 qemu: Add patch to address arm qemu upgrade issues layer.conf: Update to use langdale as the core layer name poky: Update to 4.1 version poky: Update to match poky version numbers bitbake: bitbake: Bump to version 2.2.0 build-appliance-image: Update to master head revision go: Fix reproducibility failures build-appliance-image: Update to master head revision Robert Joslyn (6): xorg-lib-common: Add variable to set tarball type libxfont2: Update 2.0.5 to 2.0.6 libxau: Update 1.0.9 to 1.0.10 libfontenc: Update 1.1.4 to 1.1.6 flac: Update 1.3.4 to 1.4.0 tzdata: Update from 2022b to 2022c Ross Burton (16): meta-selftest/poison: improve sysroot poisoning test case gcc-cross: pass -Werror=poison-system-directories to compiler stages gcc: remove obsolete 0012-export-CPP.patch xmlto: remove redundant patches tiff: backport fix for CVE-2022-2953 gcc: remove obsolete poisoned calloc workaround gcc: remove obsolete MinGW patch oeqa/selftest/debuginfod: don't re-use the database libgcrypt: disable bench-slope test case libxml2: don't override XML_CATALOG_FILES in xmllint wrapper if already set glibc: mark a CVE where we have merged the fix qemu: re-add the fix for CVE-2022-1050 qemu: fix CVE-2022-2962 dnf: add dummy packages for testing oeqa/runtime/dnf: use dnf-test packages Revert "wic/plugins/images/direct: Allow changes in fstab on rootfs" Ruiqiang Hao (1): tune-neoversen2: support tune-neoversen2 base on armv9a Samuli Piippo (2): Revert "gcc-cross-canadian: Add symlink to real-ld alongside other symlinks" gcc-cross-canadian: add default plugin linker Stefano Babic (1): libubootenv: upgrade 0.3.2 -> 0.3.3 Sundeep KOKKONDA (1): rust-cross-canadian: Fix for the issue caused by using sdk shell Teoh Jay Shen (1): bind: upgrade 9.18.6 -> 9.18.7 Tom Hochstein (2): cmake: Fix CMAKE_SYSTEM_PROCESSOR setting for SDK connman: Drop redundant nfsroot handling Ulrich Ölmann (5): icecc.bbclass: fix typos icecc.bbclass: delete 'rm' command manuals: fix paths to default templates & clean up whitespaces icecc.bbclass: fix filename of recipe in comment manuals: fix typos in the context of 'icecc' & clean up whitespaces Vyacheslav Yurkov (5): oeqa/selftest: drop image_feature test from overlayfs classes: Update overlayfs classes to use new bitbake functionality files: overlayfs-etc: refactor preinit template classes: files: Extend overlayfs-etc class oeqa/selftest: Add lower layer test for overlayfs-etc niko.mauno@vaisala.com (2): systemd: Add 'no-dns-fallback' PACKAGECONFIG option systemd: Fix unwritable /var/lock when no sysvinit handling pgowda (4): rust: Add linker configurations for cross compilation rust: Enable verbose-tests to get the test results in readable format binutils : CVE-2022-38533 binutils : Fix CVE-2022-38128 wangmy (9): cracklib: upgrade 2.9.7 -> 2.9.8 kmscube: upgrade to latest revision piglit: upgrade to latest revision python3-dtschema: upgrade 2022.8.1 -> 2022.8.3 python3-mako: upgrade 1.2.1 -> 1.2.2 python3-pathspec: upgrade 0.9.0 -> 0.10.1 python3-pytest: upgrade 7.1.2 -> 7.1.3 vala: upgrade 0.56.2 -> 0.56.3 less: upgrade 600 -> 608 Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I1705b78d8a5ef5762fe770a69ed9b866fac52ccf
Diffstat (limited to 'poky/meta/classes-recipe')
-rw-r--r--poky/meta/classes-recipe/core-image.bbclass4
-rw-r--r--poky/meta/classes-recipe/externalsrc.bbclass27
-rw-r--r--poky/meta/classes-recipe/github-releases.bbclass3
-rw-r--r--poky/meta/classes-recipe/gtk-icon-cache.bbclass2
-rw-r--r--poky/meta/classes-recipe/kernel-module-split.bbclass2
-rw-r--r--poky/meta/classes-recipe/kernel.bbclass2
-rw-r--r--poky/meta/classes-recipe/overlayfs-etc.bbclass85
-rw-r--r--poky/meta/classes-recipe/overlayfs.bbclass137
-rw-r--r--poky/meta/classes-recipe/rootfs-postcommands.bbclass31
-rw-r--r--poky/meta/classes-recipe/testimage.bbclass11
10 files changed, 267 insertions, 37 deletions
diff --git a/poky/meta/classes-recipe/core-image.bbclass b/poky/meta/classes-recipe/core-image.bbclass
index 4b5f2c99c4..90d9eb9d3f 100644
--- a/poky/meta/classes-recipe/core-image.bbclass
+++ b/poky/meta/classes-recipe/core-image.bbclass
@@ -62,6 +62,10 @@ FEATURE_PACKAGES_hwcodecs = "${MACHINE_HWCODECS}"
# IMAGE_FEATURES_REPLACES_foo = 'bar1 bar2'
# Including image feature foo would replace the image features bar1 and bar2
IMAGE_FEATURES_REPLACES_ssh-server-openssh = "ssh-server-dropbear"
+# Do not install openssh complementary packages if either packagegroup-core-ssh-dropbear or dropbear
+# is installed # to avoid openssh-dropbear conflict
+# see [Yocto #14858] for more information
+PACKAGE_EXCLUDE_COMPLEMENTARY:append = "${@bb.utils.contains_any('PACKAGE_INSTALL', 'packagegroup-core-ssh-dropbear dropbear', 'openssh', '' , d)}"
# IMAGE_FEATURES_CONFLICTS_foo = 'bar1 bar2'
# An error exception would be raised if both image features foo and bar1(or bar2) are included
diff --git a/poky/meta/classes-recipe/externalsrc.bbclass b/poky/meta/classes-recipe/externalsrc.bbclass
index 51dbe9ea5a..06a9548a20 100644
--- a/poky/meta/classes-recipe/externalsrc.bbclass
+++ b/poky/meta/classes-recipe/externalsrc.bbclass
@@ -91,16 +91,18 @@ python () {
# Since configure will likely touch ${S}, ensure only we lock so one task has access at a time
d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock")
- for funcname in [task, "base_" + task, "kernel_" + task]:
+ for v in d.keys():
+ cleandirs = d.getVarFlag(v, "cleandirs", False)
+ if cleandirs:
# We do not want our source to be wiped out, ever (kernel.bbclass does this for do_clean)
- cleandirs = oe.recipeutils.split_var_value(d.getVarFlag(funcname, 'cleandirs', False) or '')
+ cleandirs = oe.recipeutils.split_var_value(cleandirs)
setvalue = False
for cleandir in cleandirs[:]:
if oe.path.is_path_parent(externalsrc, d.expand(cleandir)):
cleandirs.remove(cleandir)
setvalue = True
if setvalue:
- d.setVarFlag(funcname, 'cleandirs', ' '.join(cleandirs))
+ d.setVarFlag(v, 'cleandirs', ' '.join(cleandirs))
fetch_tasks = ['do_fetch', 'do_unpack']
# If we deltask do_patch, there's no dependency to ensure do_unpack gets run, so add one
@@ -228,15 +230,16 @@ def srctree_hash_files(d, srcdir=None):
env['GIT_INDEX_FILE'] = tmp_index.name
subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env)
git_sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
- submodule_helper = subprocess.check_output(['git', 'submodule--helper', 'list'], cwd=s_dir, env=env).decode("utf-8")
- for line in submodule_helper.splitlines():
- module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1])
- if os.path.isdir(module_dir):
- proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
- proc.communicate()
- proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
- stdout, _ = proc.communicate()
- git_sha1 += stdout.decode("utf-8")
+ if os.path.exists(".gitmodules"):
+ submodule_helper = subprocess.check_output(["git", "config", "--file", ".gitmodules", "--get-regexp", "path"], cwd=s_dir, env=env).decode("utf-8")
+ for line in submodule_helper.splitlines():
+ module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1])
+ if os.path.isdir(module_dir):
+ proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
+ proc.communicate()
+ proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
+ stdout, _ = proc.communicate()
+ git_sha1 += stdout.decode("utf-8")
sha1 = hashlib.sha1(git_sha1.encode("utf-8")).hexdigest()
with open(oe_hash_file, 'w') as fobj:
fobj.write(sha1)
diff --git a/poky/meta/classes-recipe/github-releases.bbclass b/poky/meta/classes-recipe/github-releases.bbclass
new file mode 100644
index 0000000000..ed83b83731
--- /dev/null
+++ b/poky/meta/classes-recipe/github-releases.bbclass
@@ -0,0 +1,3 @@
+GITHUB_BASE_URI ?= "https://github.com/${BPN}/${BPN}/releases/"
+UPSTREAM_CHECK_URI ?= "${GITHUB_BASE_URI}"
+UPSTREAM_CHECK_REGEX ?= "releases/tag/v?(?P<pver>\d+(\.\d+)+)"
diff --git a/poky/meta/classes-recipe/gtk-icon-cache.bbclass b/poky/meta/classes-recipe/gtk-icon-cache.bbclass
index 17c7eb7a33..9ecb49916c 100644
--- a/poky/meta/classes-recipe/gtk-icon-cache.bbclass
+++ b/poky/meta/classes-recipe/gtk-icon-cache.bbclass
@@ -9,7 +9,7 @@ FILES:${PN} += "${datadir}/icons/hicolor"
GTKIC_VERSION ??= '3'
GTKPN = "${@ 'gtk4' if d.getVar('GTKIC_VERSION') == '4' else 'gtk+3' }"
-GTKIC_CMD = "${@ 'gtk-update-icon-cache-3.0.0' if d.getVar('GTKIC_VERSION') == '4' else 'gtk4-update-icon-cache' }"
+GTKIC_CMD = "${@ 'gtk4-update-icon-cache' if d.getVar('GTKIC_VERSION') == '4' else 'gtk-update-icon-cache-3.0' }"
#gtk+3/gtk4 require GTK3DISTROFEATURES, DEPENDS on it make all the
#recipes inherit this class require GTK3DISTROFEATURES
diff --git a/poky/meta/classes-recipe/kernel-module-split.bbclass b/poky/meta/classes-recipe/kernel-module-split.bbclass
index 1b4c864a63..08c2e54e86 100644
--- a/poky/meta/classes-recipe/kernel-module-split.bbclass
+++ b/poky/meta/classes-recipe/kernel-module-split.bbclass
@@ -18,7 +18,7 @@ pkg_postrm:modules () {
if [ -z "$D" ]; then
depmod -a ${KERNEL_VERSION}
else
- depmodwrapper -a -b $D ${KERNEL_VERSION}
+ depmodwrapper -a -b $D ${KERNEL_VERSION} ${KERNEL_PACKAGE_NAME}
fi
}
diff --git a/poky/meta/classes-recipe/kernel.bbclass b/poky/meta/classes-recipe/kernel.bbclass
index de1b80d0ae..e4e69e0763 100644
--- a/poky/meta/classes-recipe/kernel.bbclass
+++ b/poky/meta/classes-recipe/kernel.bbclass
@@ -677,7 +677,7 @@ pkg_postinst:${KERNEL_PACKAGE_NAME}-base () {
mkdir -p $D/lib/modules/${KERNEL_VERSION}
fi
if [ -n "$D" ]; then
- depmodwrapper -a -b $D ${KERNEL_VERSION}
+ depmodwrapper -a -b $D ${KERNEL_VERSION} ${KERNEL_PACKAGE_NAME}
else
depmod -a ${KERNEL_VERSION}
fi
diff --git a/poky/meta/classes-recipe/overlayfs-etc.bbclass b/poky/meta/classes-recipe/overlayfs-etc.bbclass
new file mode 100644
index 0000000000..f8343106f3
--- /dev/null
+++ b/poky/meta/classes-recipe/overlayfs-etc.bbclass
@@ -0,0 +1,85 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+# Class for setting up /etc in overlayfs
+#
+# In order to have /etc directory in overlayfs a special handling at early boot stage is required
+# The idea is to supply a custom init script that mounts /etc before launching actual init program,
+# because the latter already requires /etc to be mounted
+#
+# The configuration must be machine specific. You should at least set these three variables:
+# OVERLAYFS_ETC_MOUNT_POINT ?= "/data"
+# OVERLAYFS_ETC_FSTYPE ?= "ext4"
+# OVERLAYFS_ETC_DEVICE ?= "/dev/mmcblk0p2"
+#
+# To control more mount options you should consider setting mount options:
+# OVERLAYFS_ETC_MOUNT_OPTIONS ?= "defaults"
+#
+# The class provides two options for /sbin/init generation
+# 1. Default option is to rename original /sbin/init to /sbin/init.orig and place generated init under
+# original name, i.e. /sbin/init. It has an advantage that you won't need to change any kernel
+# parameters in order to make it work, but it poses a restriction that package-management can't
+# be used, becaause updating init manager would remove generated script
+# 2. If you are would like to keep original init as is, you can set
+# OVERLAYFS_ETC_USE_ORIG_INIT_NAME = "0"
+# Then generated init will be named /sbin/preinit and you would need to extend you kernel parameters
+# manually in your bootloader configuration.
+#
+# Regardless which mode you choose, update and migration strategy of configuration files under /etc
+# overlay is out of scope of this class
+
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "overlayfs-etc", "create_overlayfs_etc_preinit;", "", d)}'
+IMAGE_FEATURES_CONFLICTS_overlayfs-etc = "${@ 'package-management' if bb.utils.to_boolean(d.getVar('OVERLAYFS_ETC_USE_ORIG_INIT_NAME'), True) else ''}"
+
+OVERLAYFS_ETC_MOUNT_POINT ??= ""
+OVERLAYFS_ETC_FSTYPE ??= ""
+OVERLAYFS_ETC_DEVICE ??= ""
+OVERLAYFS_ETC_USE_ORIG_INIT_NAME ??= "1"
+OVERLAYFS_ETC_MOUNT_OPTIONS ??= "defaults"
+OVERLAYFS_ETC_INIT_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-etc-preinit.sh.in"
+OVERLAYFS_ETC_EXPOSE_LOWER ??= "0"
+
+python create_overlayfs_etc_preinit() {
+ overlayEtcMountPoint = d.getVar("OVERLAYFS_ETC_MOUNT_POINT")
+ overlayEtcFsType = d.getVar("OVERLAYFS_ETC_FSTYPE")
+ overlayEtcDevice = d.getVar("OVERLAYFS_ETC_DEVICE")
+
+ if not overlayEtcMountPoint:
+ bb.fatal("OVERLAYFS_ETC_MOUNT_POINT must be set in your MACHINE configuration")
+ if not overlayEtcDevice:
+ bb.fatal("OVERLAYFS_ETC_DEVICE must be set in your MACHINE configuration")
+ if not overlayEtcFsType:
+ bb.fatal("OVERLAYFS_ETC_FSTYPE should contain a valid file system type on {0}".format(overlayEtcDevice))
+
+ with open(d.getVar("OVERLAYFS_ETC_INIT_TEMPLATE"), "r") as f:
+ PreinitTemplate = f.read()
+
+ useOrigInit = oe.types.boolean(d.getVar('OVERLAYFS_ETC_USE_ORIG_INIT_NAME'))
+ preinitPath = oe.path.join(d.getVar("IMAGE_ROOTFS"), d.getVar("base_sbindir"), "preinit")
+ initBaseName = oe.path.join(d.getVar("base_sbindir"), "init")
+ origInitNameSuffix = ".orig"
+ exposeLower = oe.types.boolean(d.getVar('OVERLAYFS_ETC_EXPOSE_LOWER'))
+
+ args = {
+ 'OVERLAYFS_ETC_MOUNT_POINT': overlayEtcMountPoint,
+ 'OVERLAYFS_ETC_MOUNT_OPTIONS': d.getVar('OVERLAYFS_ETC_MOUNT_OPTIONS'),
+ 'OVERLAYFS_ETC_FSTYPE': overlayEtcFsType,
+ 'OVERLAYFS_ETC_DEVICE': overlayEtcDevice,
+ 'SBIN_INIT_NAME': initBaseName + origInitNameSuffix if useOrigInit else initBaseName,
+ 'OVERLAYFS_ETC_EXPOSE_LOWER': "true" if exposeLower else "false"
+ }
+
+ if useOrigInit:
+ # rename original /sbin/init
+ origInit = oe.path.join(d.getVar("IMAGE_ROOTFS"), initBaseName)
+ bb.debug(1, "rootfs path %s, init path %s, test %s" % (d.getVar('IMAGE_ROOTFS'), origInit, d.getVar("IMAGE_ROOTFS")))
+ bb.utils.rename(origInit, origInit + origInitNameSuffix)
+ preinitPath = origInit
+
+ with open(preinitPath, 'w') as f:
+ f.write(PreinitTemplate.format(**args))
+ os.chmod(preinitPath, 0o755)
+}
diff --git a/poky/meta/classes-recipe/overlayfs.bbclass b/poky/meta/classes-recipe/overlayfs.bbclass
new file mode 100644
index 0000000000..bdc6dd9d57
--- /dev/null
+++ b/poky/meta/classes-recipe/overlayfs.bbclass
@@ -0,0 +1,137 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+# Class for generation of overlayfs mount units
+#
+# It's often desired in Embedded System design to have a read-only rootfs.
+# But a lot of different applications might want to have a read-write access to
+# some parts of a filesystem. It can be especially useful when your update mechanism
+# overwrites the whole rootfs, but you want your application data to be preserved
+# between updates. This class provides a way to achieve that by means
+# of overlayfs and at the same time keeping the base rootfs read-only.
+#
+# Usage example.
+#
+# Set a mount point for a partition overlayfs is going to use as upper layer
+# in your machine configuration. Underlying file system can be anything that
+# is supported by overlayfs. This has to be done in your machine configuration.
+# QA check fails to catch file existence if you redefine this variable in your recipe!
+#
+# OVERLAYFS_MOUNT_POINT[data] ?= "/data"
+#
+# Per default the class assumes you have a corresponding fstab entry or systemd
+# mount unit (data.mount in this case) for this mount point installed on the
+# image, for instance via a wks script or the systemd-machine-units recipe.
+#
+# If the mount point is handled somewhere else, e.g. custom boot or preinit
+# scripts or in a initramfs, then this QA check can be skipped by adding
+# mount-configured to the related OVERLAYFS_QA_SKIP flag:
+#
+# OVERLAYFS_QA_SKIP[data] = "mount-configured"
+#
+# To use the overlayfs, you just have to specify writable directories inside
+# their recipe:
+#
+# OVERLAYFS_WRITABLE_PATHS[data] = "/usr/share/my-custom-application"
+#
+# To support several mount points you can use a different variable flag. Assume we
+# want to have a writable location on the file system, but not interested where the data
+# survive a reboot. Then we could have a mnt-overlay.mount unit for a tmpfs file system:
+#
+# OVERLAYFS_MOUNT_POINT[mnt-overlay] = "/mnt/overlay"
+# OVERLAYFS_WRITABLE_PATHS[mnt-overlay] = "/usr/share/another-application"
+#
+# If your recipe deploys a systemd service, then it should require and be
+# started after the ${PN}-overlays.service to make sure that all overlays are
+# mounted beforehand.
+#
+# Note: the class does not support /etc directory itself, because systemd depends on it
+# For /etc directory use overlayfs-etc class
+
+REQUIRED_DISTRO_FEATURES += "systemd overlayfs"
+
+inherit systemd features_check
+
+OVERLAYFS_CREATE_DIRS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-create-dirs.service.in"
+OVERLAYFS_MOUNT_UNIT_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-unit.mount.in"
+OVERLAYFS_ALL_OVERLAYS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-all-overlays.service.in"
+
+python do_create_overlayfs_units() {
+ from oe.overlayfs import mountUnitName
+
+ with open(d.getVar("OVERLAYFS_CREATE_DIRS_TEMPLATE"), "r") as f:
+ CreateDirsUnitTemplate = f.read()
+ with open(d.getVar("OVERLAYFS_MOUNT_UNIT_TEMPLATE"), "r") as f:
+ MountUnitTemplate = f.read()
+ with open(d.getVar("OVERLAYFS_ALL_OVERLAYS_TEMPLATE"), "r") as f:
+ AllOverlaysTemplate = f.read()
+
+ def prepareUnits(data, lower):
+ from oe.overlayfs import helperUnitName
+
+ args = {
+ 'DATA_MOUNT_POINT': data,
+ 'DATA_MOUNT_UNIT': mountUnitName(data),
+ 'CREATE_DIRS_SERVICE': helperUnitName(lower),
+ 'LOWERDIR': lower,
+ }
+
+ bb.debug(1, "Generate systemd unit %s" % mountUnitName(lower))
+ with open(os.path.join(d.getVar('WORKDIR'), mountUnitName(lower)), 'w') as f:
+ f.write(MountUnitTemplate.format(**args))
+
+ bb.debug(1, "Generate helper systemd unit %s" % helperUnitName(lower))
+ with open(os.path.join(d.getVar('WORKDIR'), helperUnitName(lower)), 'w') as f:
+ f.write(CreateDirsUnitTemplate.format(**args))
+
+ def prepareGlobalUnit(dependentUnits):
+ from oe.overlayfs import allOverlaysUnitName
+ args = {
+ 'ALL_OVERLAYFS_UNITS': " ".join(dependentUnits),
+ 'PN': d.getVar('PN')
+ }
+
+ bb.debug(1, "Generate systemd unit with all overlays %s" % allOverlaysUnitName(d))
+ with open(os.path.join(d.getVar('WORKDIR'), allOverlaysUnitName(d)), 'w') as f:
+ f.write(AllOverlaysTemplate.format(**args))
+
+ mountUnitList = []
+ overlayMountPoints = d.getVarFlags("OVERLAYFS_MOUNT_POINT")
+ for mountPoint in overlayMountPoints:
+ bb.debug(1, "Process variable flag %s" % mountPoint)
+ for lower in d.getVarFlag('OVERLAYFS_WRITABLE_PATHS', mountPoint).split():
+ bb.debug(1, "Prepare mount unit for %s with data mount point %s" %
+ (lower, d.getVarFlag('OVERLAYFS_MOUNT_POINT', mountPoint)))
+ prepareUnits(d.getVarFlag('OVERLAYFS_MOUNT_POINT', mountPoint), lower)
+ mountUnitList.append(mountUnitName(lower))
+
+ # set up one unit, which depends on all mount units, so users can set
+ # only one dependency in their units to make sure software starts
+ # when all overlays are mounted
+ prepareGlobalUnit(mountUnitList)
+}
+
+# we need to generate file names early during parsing stage
+python () {
+ from oe.overlayfs import strForBash, unitFileList
+
+ unitList = unitFileList(d)
+ for unit in unitList:
+ d.appendVar('SYSTEMD_SERVICE:' + d.getVar('PN'), ' ' + unit)
+ d.appendVar('FILES:' + d.getVar('PN'), ' ' +
+ d.getVar('systemd_system_unitdir') + '/' + strForBash(unit))
+
+ d.setVar('OVERLAYFS_UNIT_LIST', ' '.join([strForBash(s) for s in unitList]))
+}
+
+do_install:append() {
+ install -d ${D}${systemd_system_unitdir}
+ for unit in ${OVERLAYFS_UNIT_LIST}; do
+ install -m 0444 ${WORKDIR}/${unit} ${D}${systemd_system_unitdir}
+ done
+}
+
+addtask create_overlayfs_units before do_install
diff --git a/poky/meta/classes-recipe/rootfs-postcommands.bbclass b/poky/meta/classes-recipe/rootfs-postcommands.bbclass
index 215e38e33d..690fa976aa 100644
--- a/poky/meta/classes-recipe/rootfs-postcommands.bbclass
+++ b/poky/meta/classes-recipe/rootfs-postcommands.bbclass
@@ -22,7 +22,7 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'deb
# Create /etc/timestamp during image construction to give a reasonably sane default time setting
ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp; "
-# Tweak the mount options for rootfs in /etc/fstab if read-only-rootfs is enabled
+# Tweak files in /etc if read-only-rootfs is enabled
ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", "read_only_rootfs_hook; ", "",d)}'
# We also need to do the same for the kernel boot parameters,
@@ -111,20 +111,24 @@ read_only_rootfs_hook () {
# If we're using openssh and the /etc/ssh directory has no pre-generated keys,
# we should configure openssh to use the configuration file /etc/ssh/sshd_config_readonly
# and the keys under /var/run/ssh.
- if [ -d ${IMAGE_ROOTFS}/etc/ssh ]; then
- if [ -e ${IMAGE_ROOTFS}/etc/ssh/ssh_host_rsa_key ]; then
- echo "SYSCONFDIR=\${SYSCONFDIR:-/etc/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh
- echo "SSHD_OPTS=" >> ${IMAGE_ROOTFS}/etc/default/ssh
- else
- echo "SYSCONFDIR=\${SYSCONFDIR:-/var/run/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh
- echo "SSHD_OPTS='-f /etc/ssh/sshd_config_readonly'" >> ${IMAGE_ROOTFS}/etc/default/ssh
+ # If overlayfs-etc is used this is not done as /etc is treated as writable
+ # If stateless-rootfs is enabled this is always done as we don't want to save keys then
+ if ${@ 'true' if not bb.utils.contains('IMAGE_FEATURES', 'overlayfs-etc', True, False, d) or bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else 'false'}; then
+ if [ -d ${IMAGE_ROOTFS}/etc/ssh ]; then
+ if [ -e ${IMAGE_ROOTFS}/etc/ssh/ssh_host_rsa_key ]; then
+ echo "SYSCONFDIR=\${SYSCONFDIR:-/etc/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh
+ echo "SSHD_OPTS=" >> ${IMAGE_ROOTFS}/etc/default/ssh
+ else
+ echo "SYSCONFDIR=\${SYSCONFDIR:-/var/run/ssh}" >> ${IMAGE_ROOTFS}/etc/default/ssh
+ echo "SSHD_OPTS='-f /etc/ssh/sshd_config_readonly'" >> ${IMAGE_ROOTFS}/etc/default/ssh
+ fi
fi
- fi
- # Also tweak the key location for dropbear in the same way.
- if [ -d ${IMAGE_ROOTFS}/etc/dropbear ]; then
- if [ ! -e ${IMAGE_ROOTFS}/etc/dropbear/dropbear_rsa_host_key ]; then
- echo "DROPBEAR_RSAKEY_DIR=/var/lib/dropbear" >> ${IMAGE_ROOTFS}/etc/default/dropbear
+ # Also tweak the key location for dropbear in the same way.
+ if [ -d ${IMAGE_ROOTFS}/etc/dropbear ]; then
+ if [ ! -e ${IMAGE_ROOTFS}/etc/dropbear/dropbear_rsa_host_key ]; then
+ echo "DROPBEAR_RSAKEY_DIR=/var/lib/dropbear" >> ${IMAGE_ROOTFS}/etc/default/dropbear
+ fi
fi
fi
@@ -200,6 +204,7 @@ ssh_allow_root_login () {
if [ -e ${IMAGE_ROOTFS}${sbindir}/dropbear ] ; then
if grep -q DROPBEAR_EXTRA_ARGS ${IMAGE_ROOTFS}${sysconfdir}/default/dropbear 2>/dev/null ; then
sed -i '/^DROPBEAR_EXTRA_ARGS=/ s/-w//' ${IMAGE_ROOTFS}${sysconfdir}/default/dropbear
+ sed -i '/^# Disallow root/d' ${IMAGE_ROOTFS}${sysconfdir}/default/dropbear
fi
fi
}
diff --git a/poky/meta/classes-recipe/testimage.bbclass b/poky/meta/classes-recipe/testimage.bbclass
index 8d2fab21df..5cc408b0c4 100644
--- a/poky/meta/classes-recipe/testimage.bbclass
+++ b/poky/meta/classes-recipe/testimage.bbclass
@@ -189,11 +189,7 @@ def get_testimage_boot_patterns(d):
search_login_succeeded,search_cmd_finished\n Make sure your TESTIMAGE_BOOT_PATTERNS=%s \
contains an accepted flag.' % d.getVar('TESTIMAGE_BOOT_PATTERNS'))
return
- # We know boot prompt is searched through in binary format, others might be expressions
- if flag == 'search_reached_prompt':
- boot_patterns[flag] = flagval.encode()
- else:
- boot_patterns[flag] = flagval.encode().decode('unicode-escape')
+ boot_patterns[flag] = flagval.encode().decode('unicode-escape')
return boot_patterns
@@ -472,10 +468,7 @@ def create_rpm_index(d):
package_list = glob.glob(idx_path + "*/*.rpm")
for pkg in package_list:
- if os.path.basename(pkg).startswith(("curl-ptest")):
- bb.utils.remove(pkg)
-
- if not os.path.basename(pkg).startswith(("rpm", "run-postinsts", "busybox", "bash", "update-alternatives", "libc6", "curl", "musl")):
+ if not os.path.basename(pkg).startswith(("dnf-test-", "busybox", "update-alternatives", "libc6", "musl")):
bb.utils.remove(pkg)
bb.utils.unlockfile(lf)