diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2022-01-24 22:11:47 +0300 |
---|---|---|
committer | Ed Tanous <ed@tanous.net> | 2022-02-03 19:56:47 +0300 |
commit | 595f63084d313c9708cb435470e6c6dcbbbbe646 (patch) | |
tree | a4692ebf7c756a010417c6afa58a3885eee1b4b8 /poky/meta/classes | |
parent | ca2f10c6ca6fcff34fecffdef048ee54b9dd2521 (diff) | |
download | openbmc-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/classes')
53 files changed, 732 insertions, 378 deletions
diff --git a/poky/meta/classes/allarch.bbclass b/poky/meta/classes/allarch.bbclass index 5bd5c44a27..a766a654a9 100644 --- a/poky/meta/classes/allarch.bbclass +++ b/poky/meta/classes/allarch.bbclass @@ -61,3 +61,5 @@ python () { bb.error("Please ensure recipe %s sets PACKAGE_ARCH before inherit packagegroup" % d.getVar("FILE")) } +def qemu_wrapper_cmdline(data, rootfs_path, library_paths): + return 'false' diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass index 411d459ed0..549f3311e4 100644 --- a/poky/meta/classes/archiver.bbclass +++ b/poky/meta/classes/archiver.bbclass @@ -51,7 +51,7 @@ ARCHIVER_MODE[diff-exclude] ?= ".pc autom4te.cache patches" ARCHIVER_MODE[dumpdata] ?= "0" ARCHIVER_MODE[recipe] ?= "0" ARCHIVER_MODE[mirror] ?= "split" -ARCHIVER_MODE[compression] ?= "gz" +ARCHIVER_MODE[compression] ?= "xz" DEPLOY_DIR_SRC ?= "${DEPLOY_DIR}/sources" ARCHIVER_TOPDIR ?= "${WORKDIR}/archiver-sources" diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass index a65fcc6c1d..5f4956a1d3 100644 --- a/poky/meta/classes/base.bbclass +++ b/poky/meta/classes/base.bbclass @@ -150,6 +150,7 @@ do_fetch[dirs] = "${DL_DIR}" do_fetch[file-checksums] = "${@bb.fetch.get_checksum_file_list(d)}" do_fetch[file-checksums] += " ${@get_lic_checksum_file_list(d)}" do_fetch[vardeps] += "SRCREV" +do_fetch[network] = "1" python base_do_fetch() { src_uri = (d.getVar('SRC_URI') or "").split() @@ -665,6 +666,10 @@ python () { elif uri.scheme == "npm": d.appendVarFlag('do_fetch', 'depends', ' nodejs-native:do_populate_sysroot') + elif uri.scheme == "repo": + needsrcrev = True + d.appendVarFlag('do_fetch', 'depends', ' repo-native:do_populate_sysroot') + # *.lz4 should DEPEND on lz4-native for unpacking if path.endswith('.lz4'): d.appendVarFlag('do_unpack', 'depends', ' lz4-native:do_populate_sysroot') diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass index 62d0d781a1..daa96f3b63 100644 --- a/poky/meta/classes/buildhistory.bbclass +++ b/poky/meta/classes/buildhistory.bbclass @@ -91,13 +91,19 @@ buildhistory_emit_sysroot() { python buildhistory_emit_pkghistory() { if d.getVar('BB_CURRENTTASK') in ['populate_sysroot', 'populate_sysroot_setscene']: bb.build.exec_func("buildhistory_emit_sysroot", d) - - if not d.getVar('BB_CURRENTTASK') in ['packagedata', 'packagedata_setscene']: return 0 if not "package" in (d.getVar('BUILDHISTORY_FEATURES') or "").split(): return 0 + if d.getVar('BB_CURRENTTASK') in ['package', 'package_setscene']: + # Create files-in-<package-name>.txt files containing a list of files of each recipe's package + bb.build.exec_func("buildhistory_list_pkg_files", d) + return 0 + + if not d.getVar('BB_CURRENTTASK') in ['packagedata', 'packagedata_setscene']: + return 0 + import re import json import shlex @@ -319,8 +325,6 @@ python buildhistory_emit_pkghistory() { write_pkghistory(pkginfo, d) - # Create files-in-<package-name>.txt files containing a list of files of each recipe's package - bb.build.exec_func("buildhistory_list_pkg_files", d) oe.qa.exit_if_errors(d) } @@ -934,22 +938,12 @@ def _get_srcrev_values(d): if urldata[u].method.supports_srcrev(): scms.append(u) - autoinc_templ = 'AUTOINC+' dict_srcrevs = {} dict_tag_srcrevs = {} for scm in scms: ud = urldata[scm] for name in ud.names: - try: - rev = ud.method.sortable_revision(ud, d, name) - except TypeError: - # support old bitbake versions - rev = ud.method.sortable_revision(scm, ud, d, name) - # Clean this up when we next bump bitbake version - if type(rev) != str: - autoinc, rev = rev - elif rev.startswith(autoinc_templ): - rev = rev[len(autoinc_templ):] + autoinc, rev = ud.method.sortable_revision(ud, d, name) dict_srcrevs[name] = rev if 'tag' in ud.parm: tag = ud.parm['tag']; @@ -980,23 +974,19 @@ def write_latest_srcrev(d, pkghistdir): value = value.replace('"', '').strip() old_tag_srcrevs[key] = value with open(srcrevfile, 'w') as f: - orig_srcrev = d.getVar('SRCREV', False) or 'INVALID' - if orig_srcrev != 'INVALID': - f.write('# SRCREV = "%s"\n' % orig_srcrev) - if len(srcrevs) > 1: - for name, srcrev in sorted(srcrevs.items()): - orig_srcrev = d.getVar('SRCREV_%s' % name, False) - if orig_srcrev: - f.write('# SRCREV_%s = "%s"\n' % (name, orig_srcrev)) - f.write('SRCREV_%s = "%s"\n' % (name, srcrev)) - else: - f.write('SRCREV = "%s"\n' % next(iter(srcrevs.values()))) - if len(tag_srcrevs) > 0: - for name, srcrev in sorted(tag_srcrevs.items()): - f.write('# tag_%s = "%s"\n' % (name, srcrev)) - if name in old_tag_srcrevs and old_tag_srcrevs[name] != srcrev: - pkg = d.getVar('PN') - bb.warn("Revision for tag %s in package %s was changed since last build (from %s to %s)" % (name, pkg, old_tag_srcrevs[name], srcrev)) + for name, srcrev in sorted(srcrevs.items()): + suffix = "_" + name + if name == "default": + suffix = "" + orig_srcrev = d.getVar('SRCREV%s' % suffix, False) + if orig_srcrev: + f.write('# SRCREV%s = "%s"\n' % (suffix, orig_srcrev)) + f.write('SRCREV%s = "%s"\n' % (suffix, srcrev)) + for name, srcrev in sorted(tag_srcrevs.items()): + f.write('# tag_%s = "%s"\n' % (name, srcrev)) + if name in old_tag_srcrevs and old_tag_srcrevs[name] != srcrev: + pkg = d.getVar('PN') + bb.warn("Revision for tag %s in package %s was changed since last build (from %s to %s)" % (name, pkg, old_tag_srcrevs[name], srcrev)) else: if os.path.exists(srcrevfile): diff --git a/poky/meta/classes/cargo_common.bbclass b/poky/meta/classes/cargo_common.bbclass index 23d82aa6ab..90fad75415 100644 --- a/poky/meta/classes/cargo_common.bbclass +++ b/poky/meta/classes/cargo_common.bbclass @@ -9,7 +9,6 @@ ## # add crate fetch support -inherit crate-fetch inherit rust-common # Where we download our registry and dependencies to diff --git a/poky/meta/classes/crate-fetch.bbclass b/poky/meta/classes/crate-fetch.bbclass deleted file mode 100644 index c0ed434a96..0000000000 --- a/poky/meta/classes/crate-fetch.bbclass +++ /dev/null @@ -1,13 +0,0 @@ -# -# crate-fetch class -# -# Registers 'crate' method for Bitbake fetch2. -# -# Adds support for following format in recipe SRC_URI: -# crate://<packagename>/<version> -# - -python () { - import crate - bb.fetch2.methods.append( crate.Crate() ) -} diff --git a/poky/meta/classes/create-spdx.bbclass b/poky/meta/classes/create-spdx.bbclass index c35dbe1184..eb9535069a 100644 --- a/poky/meta/classes/create-spdx.bbclass +++ b/poky/meta/classes/create-spdx.bbclass @@ -28,6 +28,8 @@ SPDX_NAMESPACE_PREFIX ??= "http://spdx.org/spdxdoc" SPDX_LICENSES ??= "${COREBASE}/meta/files/spdx-licenses.json" +SPDX_ORG ??= "OpenEmbedded ()" + do_image_complete[depends] = "virtual/kernel:do_create_spdx" def get_doc_namespace(d, doc): @@ -51,10 +53,8 @@ def recipe_spdx_is_native(d, recipe): a.annotator == "Tool: %s - %s" % (d.getVar("SPDX_TOOL_NAME"), d.getVar("SPDX_TOOL_VERSION")) and a.comment == "isNative" for a in recipe.annotations) -def is_work_shared(d): - pn = d.getVar('PN') - return bb.data.inherits_class('kernel', d) or pn.startswith('gcc-source') - +def is_work_shared_spdx(d): + return bb.data.inherits_class('kernel', d) or ('work-shared' in d.getVar('WORKDIR')) python() { import json @@ -92,7 +92,7 @@ def convert_license_to_spdx(lic, document, d, existing={}): extracted_info.extractedText = "Software released to the public domain" elif name in available_licenses: # This license can be found in COMMON_LICENSE_DIR or LICENSE_PATH - for directory in [d.getVar('COMMON_LICENSE_DIR')] + d.getVar('LICENSE_PATH').split(): + for directory in [d.getVar('COMMON_LICENSE_DIR')] + (d.getVar('LICENSE_PATH') or '').split(): try: with (Path(directory) / name).open(errors="replace") as f: extracted_info.extractedText = f.read() @@ -145,7 +145,6 @@ def convert_license_to_spdx(lic, document, d, existing={}): return ' '.join(convert(l) for l in lic_split) - def process_sources(d): pn = d.getVar('PN') assume_provided = (d.getVar("ASSUME_PROVIDED") or "").split() @@ -255,6 +254,7 @@ def add_package_sources_from_debug(d, package_doc, spdx_package, package, packag Path(d.getVar('PKGD')), Path(d.getVar('STAGING_DIR_TARGET')), Path(d.getVar('STAGING_DIR_NATIVE')), + Path(d.getVar('STAGING_KERNEL_DIR')), ] pkg_data = oe.packagedata.read_subpkgdata_extended(package, d) @@ -276,7 +276,10 @@ def add_package_sources_from_debug(d, package_doc, spdx_package, package, packag for debugsrc in file_data["debugsrc"]: ref_id = "NOASSERTION" for search in debug_search_paths: - debugsrc_path = search / debugsrc.lstrip("/") + if debugsrc.startswith("/usr/src/kernel"): + debugsrc_path = search / debugsrc.replace('/usr/src/kernel/', '') + else: + debugsrc_path = search / debugsrc.lstrip("/") if not debugsrc_path.exists(): continue @@ -415,7 +418,7 @@ python do_create_spdx() { doc.creationInfo.comment = "This document was created by analyzing recipe files during the build." doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"] doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass") - doc.creationInfo.creators.append("Organization: OpenEmbedded ()") + doc.creationInfo.creators.append("Organization: %s" % d.getVar("SPDX_ORG")) doc.creationInfo.creators.append("Person: N/A ()") recipe = oe.spdx.SPDXPackage() @@ -519,7 +522,7 @@ python do_create_spdx() { package_doc.creationInfo.comment = "This document was created by analyzing packages created during the build." package_doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"] package_doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass") - package_doc.creationInfo.creators.append("Organization: OpenEmbedded ()") + package_doc.creationInfo.creators.append("Organization: %s" % d.getVar("SPDX_ORG")) package_doc.creationInfo.creators.append("Person: N/A ()") package_doc.externalDocumentRefs.append(recipe_ref) @@ -653,7 +656,7 @@ python do_create_runtime_spdx() { runtime_doc.creationInfo.comment = "This document was created by analyzing package runtime dependencies." runtime_doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"] runtime_doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass") - runtime_doc.creationInfo.creators.append("Organization: OpenEmbedded ()") + runtime_doc.creationInfo.creators.append("Organization: %s" % d.getVar("SPDX_ORG")) runtime_doc.creationInfo.creators.append("Person: N/A ()") package_ref = oe.spdx.SPDXExternalDocumentRef() @@ -676,6 +679,9 @@ python do_create_runtime_spdx() { if dep in seen_deps: continue + if dep not in providers: + continue + dep = providers[dep] if not oe.packagedata.packaged(dep, localdata): @@ -745,7 +751,7 @@ def spdx_get_src(d): try: # The kernel class functions require it to be on work-shared, so we dont change WORKDIR - if not is_work_shared(d): + if not is_work_shared_spdx(d): # Change the WORKDIR to make do_unpack do_patch run in another dir. d.setVar('WORKDIR', spdx_workdir) # Restore the original path to recipe's native sysroot (it's relative to WORKDIR). @@ -758,7 +764,7 @@ def spdx_get_src(d): bb.build.exec_func('do_unpack', d) # Copy source of kernel to spdx_workdir - if is_work_shared(d): + if is_work_shared_spdx(d): d.setVar('WORKDIR', spdx_workdir) d.setVar('STAGING_DIR_NATIVE', spdx_sysroot_native) src_dir = spdx_workdir + "/" + d.getVar('PN')+ "-" + d.getVar('PV') + "-" + d.getVar('PR') @@ -774,7 +780,7 @@ def spdx_get_src(d): shutils.rmtree(git_path) # Make sure gcc and kernel sources are patched only once - if not (d.getVar('SRC_URI') == "" or is_work_shared(d)): + if not (d.getVar('SRC_URI') == "" or is_work_shared_spdx(d)): bb.build.exec_func('do_patch', d) # Some userland has no source. @@ -813,7 +819,7 @@ python image_combine_spdx() { doc.creationInfo.comment = "This document was created by analyzing the source of the Yocto recipe during the build." doc.creationInfo.licenseListVersion = d.getVar("SPDX_LICENSE_DATA")["licenseListVersion"] doc.creationInfo.creators.append("Tool: OpenEmbedded Core create-spdx.bbclass") - doc.creationInfo.creators.append("Organization: OpenEmbedded ()") + doc.creationInfo.creators.append("Organization: %s" % d.getVar("SPDX_ORG")) doc.creationInfo.creators.append("Person: N/A ()") image = oe.spdx.SPDXPackage() @@ -868,8 +874,9 @@ python image_combine_spdx() { with image_spdx_path.open("wb") as f: doc.to_json(f, sort_keys=True) - image_spdx_link = imgdeploydir / (image_link_name + ".spdx.json") - image_spdx_link.symlink_to(os.path.relpath(image_spdx_path, image_spdx_link.parent)) + if image_link_name: + image_spdx_link = imgdeploydir / (image_link_name + ".spdx.json") + image_spdx_link.symlink_to(os.path.relpath(image_spdx_path, image_spdx_link.parent)) num_threads = int(d.getVar("BB_NUMBER_THREADS")) @@ -940,8 +947,9 @@ python image_combine_spdx() { tar.addfile(info, fileobj=index_str) def make_image_link(target_path, suffix): - link = imgdeploydir / (image_link_name + suffix) - link.symlink_to(os.path.relpath(target_path, link.parent)) + if image_link_name: + link = imgdeploydir / (image_link_name + suffix) + link.symlink_to(os.path.relpath(target_path, link.parent)) make_image_link(spdx_tar_path, ".spdx.tar.zst") diff --git a/poky/meta/classes/cross.bbclass b/poky/meta/classes/cross.bbclass index 3e6a2f60b9..9d951076a7 100644 --- a/poky/meta/classes/cross.bbclass +++ b/poky/meta/classes/cross.bbclass @@ -93,3 +93,5 @@ python do_addto_recipe_sysroot () { } addtask addto_recipe_sysroot after do_populate_sysroot do_addto_recipe_sysroot[deptask] = "do_populate_sysroot" + +PATH:prepend = "${COREBASE}/scripts/cross-intercept:" diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass index 70d1988a70..6c04ff9f09 100644 --- a/poky/meta/classes/cve-check.bbclass +++ b/poky/meta/classes/cve-check.bbclass @@ -111,6 +111,7 @@ python do_cve_check () { } addtask cve_check before do_build after do_fetch +do_cve_check[lockfiles] += "${CVE_CHECK_DB_FILE_LOCK}" do_cve_check[depends] = "cve-update-db-native:do_fetch" do_cve_check[nostamp] = "1" diff --git a/poky/meta/classes/debian.bbclass b/poky/meta/classes/debian.bbclass index 39b1a1a08b..8367be9f37 100644 --- a/poky/meta/classes/debian.bbclass +++ b/poky/meta/classes/debian.bbclass @@ -14,6 +14,10 @@ AUTO_LIBNAME_PKGS = "${PACKAGES}" inherit package DEBIANRDEP = "do_packagedata" +do_package_write_ipk[deptask] = "${DEBIANRDEP}" +do_package_write_deb[deptask] = "${DEBIANRDEP}" +do_package_write_tar[deptask] = "${DEBIANRDEP}" +do_package_write_rpm[deptask] = "${DEBIANRDEP}" do_package_write_ipk[rdeptask] = "${DEBIANRDEP}" do_package_write_deb[rdeptask] = "${DEBIANRDEP}" do_package_write_tar[rdeptask] = "${DEBIANRDEP}" diff --git a/poky/meta/classes/devupstream.bbclass b/poky/meta/classes/devupstream.bbclass index dc9a9472b1..facc46f3af 100644 --- a/poky/meta/classes/devupstream.bbclass +++ b/poky/meta/classes/devupstream.bbclass @@ -4,7 +4,7 @@ # # Usage: # BBCLASSEXTEND = "devupstream:target" -# SRC_URI:class-devupstream = "git://git.example.com/example" +# SRC_URI:class-devupstream = "git://git.example.com/example;branch=master" # SRCREV:class-devupstream = "abcdef" # # If the first entry in SRC_URI is a git: URL then S is rewritten to diff --git a/poky/meta/classes/distutils-common-base.bbclass b/poky/meta/classes/distutils-common-base.bbclass index bc994f78de..59c750a3cf 100644 --- a/poky/meta/classes/distutils-common-base.bbclass +++ b/poky/meta/classes/distutils-common-base.bbclass @@ -23,3 +23,6 @@ FILES:${PN}-dev += "\ ${libdir}/pkgconfig \ ${PYTHON_SITEPACKAGES_DIR}/*.la \ " +python __anonymous() { + bb.warn("distutils-common-base.bbclass is deprecated, please use setuptools3-base.bbclass instead") +} diff --git a/poky/meta/classes/distutils3-base.bbclass b/poky/meta/classes/distutils3-base.bbclass index d41873e486..850c535bb1 100644 --- a/poky/meta/classes/distutils3-base.bbclass +++ b/poky/meta/classes/distutils3-base.bbclass @@ -4,3 +4,6 @@ RDEPENDS:${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' == 'class-tar inherit distutils-common-base python3native python3targetconfig +python __anonymous() { + bb.warn("distutils3-base.bbclass is deprecated, please use setuptools3-base.bbclass instead") + diff --git a/poky/meta/classes/distutils3.bbclass b/poky/meta/classes/distutils3.bbclass index be645d37bd..a6d8e8763f 100644 --- a/poky/meta/classes/distutils3.bbclass +++ b/poky/meta/classes/distutils3.bbclass @@ -14,6 +14,10 @@ DISTUTILS_PYTHON:class-native = "nativepython3" DISTUTILS_SETUP_PATH ?= "${S}" +python __anonymous() { + bb.warn("distutils3.bbclass is deprecated, please use setuptools3.bbclass instead") +} + distutils3_do_configure() { : } diff --git a/poky/meta/classes/go.bbclass b/poky/meta/classes/go.bbclass index aa54b4a08c..9c4c92bffd 100644 --- a/poky/meta/classes/go.bbclass +++ b/poky/meta/classes/go.bbclass @@ -2,6 +2,8 @@ inherit goarch GO_PARALLEL_BUILD ?= "${@oe.utils.parallel_make_argument(d, '-p %d')}" +export GODEBUG = "gocachehash=1" + GOROOT:class-native = "${STAGING_LIBDIR_NATIVE}/go" GOROOT:class-nativesdk = "${STAGING_DIR_TARGET}${libdir}/go" GOROOT = "${STAGING_LIBDIR}/go" @@ -65,7 +67,7 @@ GO_INSTALL_FILTEROUT ?= "${GO_IMPORT}/vendor/" B = "${WORKDIR}/build" export GOPATH = "${B}" -export GOTMPDIR ?= "${WORKDIR}/go-tmp" +export GOTMPDIR ?= "${WORKDIR}/build-tmp" GOTMPDIR[vardepvalue] = "" python go_do_unpack() { diff --git a/poky/meta/classes/gobject-introspection.bbclass b/poky/meta/classes/gobject-introspection.bbclass index 822a226d5f..4db1b362d9 100644 --- a/poky/meta/classes/gobject-introspection.bbclass +++ b/poky/meta/classes/gobject-introspection.bbclass @@ -14,16 +14,18 @@ GIR_MESON_OPTION ?= 'introspection' GIR_MESON_ENABLE_FLAG ?= 'true' GIR_MESON_DISABLE_FLAG ?= 'false' +# Define g-i options such that they can be disabled completely when GIR_MESON_OPTION is empty +GIRMESONTARGET = "-D${GIR_MESON_OPTION}=${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GIR_MESON_ENABLE_FLAG}', '${GIR_MESON_DISABLE_FLAG}', d)} " +GIRMESONBUILD = "-D${GIR_MESON_OPTION}=${GIR_MESON_DISABLE_FLAG} " # Auto enable/disable based on GI_DATA_ENABLED EXTRA_OECONF:prepend:class-target = "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection', '--disable-introspection', d)} " -EXTRA_OEMESON:prepend:class-target = "-D${GIR_MESON_OPTION}=${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GIR_MESON_ENABLE_FLAG}', '${GIR_MESON_DISABLE_FLAG}', d)} " - +EXTRA_OEMESON:prepend:class-target = "${@['', '${GIRMESONTARGET}'][d.getVar('GIR_MESON_OPTION') != '']}" # When building native recipes, disable introspection, as it is not necessary, # pulls in additional dependencies, and makes build times longer EXTRA_OECONF:prepend:class-native = "--disable-introspection " EXTRA_OECONF:prepend:class-nativesdk = "--disable-introspection " -EXTRA_OEMESON:prepend:class-native = "-D${GIR_MESON_OPTION}=${GIR_MESON_DISABLE_FLAG} " -EXTRA_OEMESON:prepend:class-nativesdk = "-D${GIR_MESON_OPTION}=${GIR_MESON_DISABLE_FLAG} " +EXTRA_OEMESON:prepend:class-native = "${@['', '${GIRMESONBUILD}'][d.getVar('GIR_MESON_OPTION') != '']}" +EXTRA_OEMESON:prepend:class-nativesdk = "${@['', '${GIRMESONBUILD}'][d.getVar('GIR_MESON_OPTION') != '']}" # Generating introspection data depends on a combination of native and target # introspection tools, and qemu to run the target tools. diff --git a/poky/meta/classes/gtk-doc.bbclass b/poky/meta/classes/gtk-doc.bbclass index 7149bc06c0..07b46ac829 100644 --- a/poky/meta/classes/gtk-doc.bbclass +++ b/poky/meta/classes/gtk-doc.bbclass @@ -63,7 +63,7 @@ export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy GIR_EXTRA_LIBS_PATH=\`find ${B} -name *.so -printf "%h\n"|sort|uniq| tr '\n' ':'\`\$GIR_EXTRA_LIBS_PATH GIR_EXTRA_LIBS_PATH=\`find ${B} -name .libs| tr '\n' ':'\`\$GIR_EXTRA_LIBS_PATH -# meson sets this wrongly (only to libs in build-dir), qemu-wrapper_cmdline() and GIR_EXTRA_LIBS_PATH take care of it properly +# meson sets this wrongly (only to libs in build-dir), qemu_wrapper_cmdline() and GIR_EXTRA_LIBS_PATH take care of it properly unset LD_LIBRARY_PATH if [ -d ".libs" ]; then diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass index 2fa69a40d1..2b0ce4a988 100644 --- a/poky/meta/classes/image.bbclass +++ b/poky/meta/classes/image.bbclass @@ -15,6 +15,7 @@ IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-contain IMGCLASSES += "image_types_wic" IMGCLASSES += "rootfs-postcommands" IMGCLASSES += "image-postinst-intercepts" +IMGCLASSES += "overlayfs-etc" inherit ${IMGCLASSES} TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}" @@ -33,7 +34,7 @@ INHIBIT_DEFAULT_DEPS = "1" # IMAGE_FEATURES may contain any available package group IMAGE_FEATURES ?= "" IMAGE_FEATURES[type] = "list" -IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password allow-empty-password allow-root-login post-install-logging" +IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password allow-empty-password allow-root-login post-install-logging overlayfs-etc" # Generate companion debugfs? IMAGE_GEN_DEBUGFS ?= "0" @@ -53,7 +54,7 @@ FEATURE_INSTALL_OPTIONAL[vardepvalue] = "${FEATURE_INSTALL_OPTIONAL}" # Define some very basic feature package groups FEATURE_PACKAGES_package-management = "${ROOTFS_PKGMANAGE}" -SPLASH ?= "psplash" +SPLASH ?= "${@bb.utils.contains("MACHINE_FEATURES", "screen", "psplash", "", d)}" FEATURE_PACKAGES_splash = "${SPLASH}" IMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("IMAGE_FEATURES", d)}' @@ -622,20 +623,20 @@ deltask do_package_write_rpm create_merged_usr_symlinks() { root="$1" install -d $root${base_bindir} $root${base_sbindir} $root${base_libdir} - lnr $root${base_bindir} $root/bin - lnr $root${base_sbindir} $root/sbin - lnr $root${base_libdir} $root/${baselib} + ln -rs $root${base_bindir} $root/bin + ln -rs $root${base_sbindir} $root/sbin + ln -rs $root${base_libdir} $root/${baselib} if [ "${nonarch_base_libdir}" != "${base_libdir}" ]; then install -d $root${nonarch_base_libdir} - lnr $root${nonarch_base_libdir} $root/lib + ln -rs $root${nonarch_base_libdir} $root/lib fi # create base links for multilibs multi_libdirs="${@d.getVar('MULTILIB_VARIANTS')}" for d in $multi_libdirs; do install -d $root${exec_prefix}/$d - lnr $root${exec_prefix}/$d $root/$d + ln -rs $root${exec_prefix}/$d $root/$d done } diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index 1e2f1b768a..11532ecd08 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -37,7 +37,7 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ configure-gettext perllocalpod shebang-size \ already-stripped installed-vs-shipped ldflags compile-host-path \ install-host-path pn-overrides unknown-configure-option \ - useless-rpaths rpaths staticdev \ + useless-rpaths rpaths staticdev empty-dirs \ " # Add usrmerge QA check based on distro feature ERROR_QA:append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}" @@ -50,6 +50,21 @@ ALL_QA = "${WARN_QA} ${ERROR_QA}" UNKNOWN_CONFIGURE_WHITELIST ?= "--enable-nls --disable-nls --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot --disable-static" +# This is a list of directories that are expected to be empty. +QA_EMPTY_DIRS ?= " \ + /dev/pts \ + /media \ + /proc \ + /run \ + /tmp \ + ${localstatedir}/run \ + ${localstatedir}/volatile \ +" +# It is possible to specify why a directory is expected to be empty by defining +# QA_EMPTY_DIRS_RECOMMENDATION:<path>, which will then be included in the error +# message if the directory is not empty. If it is not specified for a directory, +# then "but it is expected to be empty" will be used. + def package_qa_clean_path(path, d, pkg=None): """ Remove redundant paths from the path for display. If pkg isn't set then @@ -885,6 +900,22 @@ def package_qa_check_unlisted_pkg_lics(package, d, messages): "listed in LICENSE" % (package, ' '.join(unlisted))) return False +QAPKGTEST[empty-dirs] = "package_qa_check_empty_dirs" +def package_qa_check_empty_dirs(pkg, d, messages): + """ + Check for the existence of files in directories that are expected to be + empty. + """ + + pkgd = oe.path.join(d.getVar('PKGDEST'), pkg) + for dir in (d.getVar('QA_EMPTY_DIRS') or "").split(): + empty_dir = oe.path.join(pkgd, dir) + if os.path.exists(empty_dir) and os.listdir(empty_dir): + recommendation = (d.getVar('QA_EMPTY_DIRS_RECOMMENDATION:' + dir) or + "but it is expected to be empty") + msg = "%s installs files in %s, %s" % (pkg, dir, recommendation) + oe.qa.add_message(messages, "empty-dirs", msg) + def package_qa_check_encoding(keys, encode, d): def check_encoding(key, enc): sane = True @@ -937,17 +968,6 @@ def package_qa_check_host_user(path, name, d, elf, messages): return False return True -QARECIPETEST[src-uri-bad] = "package_qa_check_src_uri" -def package_qa_check_src_uri(pn, d, messages): - import re - - if "${PN}" in d.getVar("SRC_URI", False): - oe.qa.handle_error("src-uri-bad", "%s: SRC_URI uses PN not BPN" % pn, d) - - for url in d.getVar("SRC_URI").split(): - if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url): - oe.qa.handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d) - QARECIPETEST[unhandled-features-check] = "package_qa_check_unhandled_features_check" def package_qa_check_unhandled_features_check(pn, d, messages): if not bb.data.inherits_class('features_check', d): @@ -1136,6 +1156,30 @@ python do_qa_patch() { bb.warn(msg) msg = "Patch log indicates that patches do not apply cleanly." oe.qa.handle_error("patch-fuzz", msg, d) + + # Check if the patch contains a correctly formatted and spelled Upstream-Status + import re + from oe import patch + + for url in patch.src_patches(d): + (_, _, fullpath, _, _, _) = bb.fetch.decodeurl(url) + + # skip patches not in oe-core + if '/meta/' not in fullpath: + continue + + content = open(fullpath, encoding='utf-8', errors='ignore').read() + kinda_status_re = re.compile(r"^.*upstream.*status.*$", re.IGNORECASE | re.MULTILINE) + strict_status_re = re.compile(r"^Upstream-Status: (Pending|Submitted|Denied|Accepted|Inappropriate|Backport|Inactive-Upstream)( .+)?$", re.MULTILINE) + match_kinda = kinda_status_re.search(content) + match_strict = strict_status_re.search(content) + guidelines = "https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status" + + if not match_strict: + if match_kinda: + bb.error("Malformed Upstream-Status in patch\n%s\nPlease correct according to %s :\n%s" % (fullpath, guidelines, match_kinda.group(0))) + else: + bb.error("Missing Upstream-Status in patch\n%s\nPlease add according to %s ." % (fullpath, guidelines)) } python do_qa_configure() { @@ -1198,15 +1242,12 @@ Rerun configure task after fixing this.""" ########################################################################### # Check unrecognised configure options (with a white list) ########################################################################### - if bb.data.inherits_class("autotools", d) or bb.data.inherits_class("meson", d): + if bb.data.inherits_class("autotools", d): bb.note("Checking configure output for unrecognised options") try: if bb.data.inherits_class("autotools", d): flag = "WARNING: unrecognized options:" log = os.path.join(d.getVar('B'), 'config.log') - if bb.data.inherits_class("meson", d): - flag = "WARNING: Unknown options:" - log = os.path.join(d.getVar('T'), 'log.do_configure') output = subprocess.check_output(['grep', '-F', flag, log]).decode("utf-8").replace(', ', ' ').replace('"', '') options = set() for line in output.splitlines(): @@ -1233,11 +1274,28 @@ Rerun configure task after fixing this.""" oe.qa.exit_if_errors(d) } +def unpack_check_src_uri(pn, d): + import re + + skip = (d.getVar('INSANE_SKIP') or "").split() + if 'src-uri-bad' in skip: + bb.note("Recipe %s skipping qa checking: src-uri-bad" % d.getVar('PN')) + return + + if "${PN}" in d.getVar("SRC_URI", False): + oe.qa.handle_error("src-uri-bad", "%s: SRC_URI uses PN not BPN" % pn, d) + + for url in d.getVar("SRC_URI").split(): + if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url): + oe.qa.handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d) + python do_qa_unpack() { src_uri = d.getVar('SRC_URI') s_dir = d.getVar('S') if src_uri and not os.path.exists(s_dir): bb.warn('%s: the directory %s (%s) pointed to by the S variable doesn\'t exist - please set S within the recipe to point to where the source has been unpacked to' % (d.getVar('PN'), d.getVar('S', False), s_dir)) + + unpack_check_src_uri(d.getVar('PN'), d) } # The Staging Func, to check all staging diff --git a/poky/meta/classes/kernel-artifact-names.bbclass b/poky/meta/classes/kernel-artifact-names.bbclass index a65cdddb3e..e77107c893 100644 --- a/poky/meta/classes/kernel-artifact-names.bbclass +++ b/poky/meta/classes/kernel-artifact-names.bbclass @@ -8,15 +8,20 @@ inherit image-artifact-names KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" +KERNEL_ARTIFACT_BIN_EXT ?= ".bin" KERNEL_IMAGE_NAME ?= "${KERNEL_ARTIFACT_NAME}" KERNEL_IMAGE_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" +KERNEL_IMAGE_BIN_EXT ?= "${KERNEL_ARTIFACT_BIN_EXT}" +KERNEL_IMAGETYPE_SYMLINK ?= "1" KERNEL_DTB_NAME ?= "${KERNEL_ARTIFACT_NAME}" KERNEL_DTB_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" +KERNEL_DTB_BIN_EXT ?= "${KERNEL_ARTIFACT_BIN_EXT}" KERNEL_FIT_NAME ?= "${KERNEL_ARTIFACT_NAME}" KERNEL_FIT_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" +KERNEL_FIT_BIN_EXT ?= "${KERNEL_ARTIFACT_BIN_EXT}" MODULE_TARBALL_NAME ?= "${KERNEL_ARTIFACT_NAME}" MODULE_TARBALL_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" diff --git a/poky/meta/classes/kernel-devicetree.bbclass b/poky/meta/classes/kernel-devicetree.bbclass index a50ea4fb67..b4338da1b1 100644 --- a/poky/meta/classes/kernel-devicetree.bbclass +++ b/poky/meta/classes/kernel-devicetree.bbclass @@ -83,21 +83,29 @@ do_deploy:append() { dtb_base_name=`basename $dtb .$dtb_ext` install -d $deployDir install -m 0644 ${D}/${KERNEL_IMAGEDEST}/$dtb_base_name.$dtb_ext $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext - ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext $deployDir/$dtb_base_name.$dtb_ext - ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext $deployDir/$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext + if [ "${KERNEL_IMAGETYPE_SYMLINK}" = "1" ] ; then + ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext $deployDir/$dtb_base_name.$dtb_ext + fi + if [ -n "${KERNEL_DTB_LINK_NAME}" ] ; then + ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext $deployDir/$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext + fi for type in ${KERNEL_IMAGETYPE_FOR_MAKE}; do if [ "$type" = "zImage" ] && [ "${KERNEL_DEVICETREE_BUNDLE}" = "1" ]; then cat ${D}/${KERNEL_IMAGEDEST}/$type \ $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext \ - > $deployDir/$type-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext.bin - ln -sf $type-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext.bin \ - $deployDir/$type-$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext.bin + > $deployDir/$type-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} + if [ -n "${KERNEL_DTB_LINK_NAME}" ]; then + ln -sf $type-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} \ + $deployDir/$type-$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} + fi if [ -e "${KERNEL_OUTPUT_DIR}/${type}.initramfs" ]; then cat ${KERNEL_OUTPUT_DIR}/${type}.initramfs \ $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext \ - > $deployDir/${type}-${INITRAMFS_NAME}-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext.bin - ln -sf ${type}-${INITRAMFS_NAME}-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext.bin \ - $deployDir/${type}-${INITRAMFS_NAME}-$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext.bin + > $deployDir/${type}-${INITRAMFS_NAME}-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} + if [ -n "${KERNEL_DTB_LINK_NAME}" ]; then + ln -sf ${type}-${INITRAMFS_NAME}-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} \ + $deployDir/${type}-${INITRAMFS_NAME}-$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} + fi fi fi done diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass index 8718ce7e16..b0c971b0eb 100644 --- a/poky/meta/classes/kernel-fitimage.bbclass +++ b/poky/meta/classes/kernel-fitimage.bbclass @@ -722,22 +722,30 @@ kernel_do_deploy:append() { if [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then echo "Copying fit-image.its source file..." install -m 0644 ${B}/fit-image.its "$deployDir/fitImage-its-${KERNEL_FIT_NAME}.its" - ln -snf fitImage-its-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${KERNEL_FIT_LINK_NAME}" + if [ -n "${KERNEL_FIT_LINK_NAME}" ] ; then + ln -snf fitImage-its-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${KERNEL_FIT_LINK_NAME}" + fi echo "Copying linux.bin file..." - install -m 0644 ${B}/linux.bin $deployDir/fitImage-linux.bin-${KERNEL_FIT_NAME}.bin - ln -snf fitImage-linux.bin-${KERNEL_FIT_NAME}.bin "$deployDir/fitImage-linux.bin-${KERNEL_FIT_LINK_NAME}" + install -m 0644 ${B}/linux.bin $deployDir/fitImage-linux.bin-${KERNEL_FIT_NAME}${KERNEL_FIT_BIN_EXT} + if [ -n "${KERNEL_FIT_LINK_NAME}" ] ; then + ln -snf fitImage-linux.bin-${KERNEL_FIT_NAME}${KERNEL_FIT_BIN_EXT} "$deployDir/fitImage-linux.bin-${KERNEL_FIT_LINK_NAME}" + fi fi if [ -n "${INITRAMFS_IMAGE}" ]; then echo "Copying fit-image-${INITRAMFS_IMAGE}.its source file..." install -m 0644 ${B}/fit-image-${INITRAMFS_IMAGE}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its" - ln -snf fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}" + if [ -n "${KERNEL_FIT_LINK_NAME}" ] ; then + ln -snf fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}" + fi if [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then echo "Copying fitImage-${INITRAMFS_IMAGE} file..." - install -m 0644 ${B}/arch/${ARCH}/boot/fitImage-${INITRAMFS_IMAGE} "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin" - ln -snf fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}" + install -m 0644 ${B}/arch/${ARCH}/boot/fitImage-${INITRAMFS_IMAGE} "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}${KERNEL_FIT_BIN_EXT}" + if [ -n "${KERNEL_FIT_LINK_NAME}" ] ; then + ln -snf fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}${KERNEL_FIT_BIN_EXT} "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}" + fi fi fi fi diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass index 7b3c6bee96..473e28be47 100644 --- a/poky/meta/classes/kernel.bbclass +++ b/poky/meta/classes/kernel.bbclass @@ -5,7 +5,7 @@ COMPATIBLE_HOST = ".*-linux" KERNEL_PACKAGE_NAME ??= "kernel" KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }" -PROVIDES += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else "" }" +PROVIDES += "virtual/kernel" DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native bison-native" DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lzo", "lzop-native", "", d)}" DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lz4", "lz4-native", "", d)}" @@ -77,7 +77,7 @@ python __anonymous () { # KERNEL_IMAGETYPES may contain a mixture of image types supported directly # by the kernel build system and types which are created by post-processing # the output of the kernel build system (e.g. compressing vmlinux -> - # vmlinux.gz in kernel_do_compile()). + # vmlinux.gz in kernel_do_transform_kernel()). # KERNEL_IMAGETYPE_FOR_MAKE should contain only image types supported # directly by the kernel build system. if not d.getVar('KERNEL_IMAGETYPE_FOR_MAKE'): @@ -134,6 +134,8 @@ set -e # standalone for use by wic and other tools. if image: d.appendVarFlag('do_bundle_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete') + if image and bb.utils.to_boolean(d.getVar('INITRAMFS_IMAGE_BUNDLE')): + bb.build.addtask('do_transform_bundled_initramfs', 'do_deploy', 'do_bundle_initramfs', d) # NOTE: setting INITRAMFS_TASK is for backward compatibility # The preferred method is to set INITRAMFS_IMAGE, because @@ -316,6 +318,14 @@ do_bundle_initramfs () { } do_bundle_initramfs[dirs] = "${B}" +kernel_do_transform_bundled_initramfs() { + # vmlinux.gz is not built by kernel + if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then + gzip -9cn < ${KERNEL_OUTPUT_DIR}/vmlinux.initramfs > ${KERNEL_OUTPUT_DIR}/vmlinux.gz.initramfs + fi +} +do_transform_bundled_initramfs[dirs] = "${B}" + python do_devshell:prepend () { os.environ["LDFLAGS"] = '' } @@ -326,6 +336,13 @@ KERNEL_DEBUG_TIMESTAMPS ??= "0" kernel_do_compile() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE + + # setup native pkg-config variables (kconfig scripts call pkg-config directly, cannot generically be overriden to pkg-config-native) + export PKG_CONFIG_DIR="${STAGING_DIR_NATIVE}${libdir_native}/pkgconfig" + export PKG_CONFIG_PATH="$PKG_CONFIG_DIR:${STAGING_DATADIR_NATIVE}/pkgconfig" + export PKG_CONFIG_LIBDIR="$PKG_CONFIG_DIR" + export PKG_CONFIG_SYSROOT_DIR="" + if [ "${KERNEL_DEBUG_TIMESTAMPS}" != "1" ]; then # kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may not # be set.... @@ -357,12 +374,17 @@ kernel_do_compile() { for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd done +} + +kernel_do_transform_kernel() { # vmlinux.gz is not built by kernel if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then mkdir -p "${KERNEL_OUTPUT_DIR}" gzip -9cn < ${B}/vmlinux > "${KERNEL_OUTPUT_DIR}/vmlinux.gz" fi } +do_transform_kernel[dirs] = "${B}" +addtask transform_kernel after do_compile before do_install do_compile_kernelmodules() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE @@ -614,11 +636,11 @@ inherit cml1 KCONFIG_CONFIG_COMMAND:append = " LD='${KERNEL_LD}' HOSTLDFLAGS='${BUILD_LDFLAGS}'" -EXPORT_FUNCTIONS do_compile do_install do_configure +EXPORT_FUNCTIONS do_compile do_transform_kernel do_transform_bundled_initramfs do_install do_configure # kernel-base becomes kernel-${KERNEL_VERSION} # kernel-image becomes kernel-image-${KERNEL_VERSION} -PACKAGES = "${KERNEL_PACKAGE_NAME} ${KERNEL_PACKAGE_NAME}-base ${KERNEL_PACKAGE_NAME}-vmlinux ${KERNEL_PACKAGE_NAME}-image ${KERNEL_PACKAGE_NAME}-dev ${KERNEL_PACKAGE_NAME}-modules" +PACKAGES = "${KERNEL_PACKAGE_NAME} ${KERNEL_PACKAGE_NAME}-base ${KERNEL_PACKAGE_NAME}-vmlinux ${KERNEL_PACKAGE_NAME}-image ${KERNEL_PACKAGE_NAME}-dev ${KERNEL_PACKAGE_NAME}-modules ${KERNEL_PACKAGE_NAME}-dbg" FILES:${PN} = "" FILES:${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo" FILES:${KERNEL_PACKAGE_NAME}-image = "" @@ -678,30 +700,19 @@ do_kernel_link_images() { } addtask kernel_link_images after do_compile before do_strip -do_strip() { - if [ -n "${KERNEL_IMAGE_STRIP_EXTRA_SECTIONS}" ]; then - if ! (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux"); then - bbwarn "image type(s) will not be stripped (not supported): ${KERNEL_IMAGETYPES}" - return - fi - - cd ${B} - headers=`"$CROSS_COMPILE"readelf -S ${KERNEL_OUTPUT_DIR}/vmlinux | \ - grep "^ \{1,\}\[[0-9 ]\{1,\}\] [^ ]" | \ - sed "s/^ \{1,\}\[[0-9 ]\{1,\}\] //" | \ - gawk '{print $1}'` - - for str in ${KERNEL_IMAGE_STRIP_EXTRA_SECTIONS}; do { - if ! (echo "$headers" | grep -q "^$str$"); then - bbwarn "Section not found: $str"; - fi +python do_strip() { + import shutil - "$CROSS_COMPILE"strip -s -R $str ${KERNEL_OUTPUT_DIR}/vmlinux - }; done + strip = d.getVar('STRIP') + extra_sections = d.getVar('KERNEL_IMAGE_STRIP_EXTRA_SECTIONS') + kernel_image = d.getVar('B') + "/" + d.getVar('KERNEL_OUTPUT_DIR') + "/vmlinux" - bbnote "KERNEL_IMAGE_STRIP_EXTRA_SECTIONS is set, stripping sections:" \ - "${KERNEL_IMAGE_STRIP_EXTRA_SECTIONS}" - fi; + if (extra_sections and kernel_image.find('boot/vmlinux') != -1): + kernel_image_stripped = kernel_image + ".stripped" + shutil.copy2(kernel_image, kernel_image_stripped) + oe.package.runstrip((kernel_image_stripped, 8, strip, extra_sections)) + bb.debug(1, "KERNEL_IMAGE_STRIP_EXTRA_SECTIONS is set, stripping sections: " + \ + extra_sections) } do_strip[dirs] = "${B}" @@ -746,9 +757,18 @@ kernel_do_deploy() { for imageType in ${KERNEL_IMAGETYPES} ; do baseName=$imageType-${KERNEL_IMAGE_NAME} - install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType $deployDir/$baseName.bin - ln -sf $baseName.bin $deployDir/$imageType-${KERNEL_IMAGE_LINK_NAME}.bin - ln -sf $baseName.bin $deployDir/$imageType + + if [ -s ${KERNEL_OUTPUT_DIR}/$imageType.stripped ] ; then + install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType.stripped $deployDir/$baseName${KERNEL_IMAGE_BIN_EXT} + else + install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType $deployDir/$baseName${KERNEL_IMAGE_BIN_EXT} + fi + if [ -n "${KERNEL_IMAGE_LINK_NAME}" ] ; then + ln -sf $baseName${KERNEL_IMAGE_BIN_EXT} $deployDir/$imageType-${KERNEL_IMAGE_LINK_NAME}${KERNEL_IMAGE_BIN_EXT} + fi + if [ "${KERNEL_IMAGETYPE_SYMLINK}" = "1" ] ; then + ln -sf $baseName${KERNEL_IMAGE_BIN_EXT} $deployDir/$imageType + fi done if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e '^CONFIG_MODULES=y$' .config); then @@ -761,17 +781,21 @@ kernel_do_deploy() { TAR_ARGS="$TAR_ARGS --owner=0 --group=0" tar $TAR_ARGS -cv -C ${D}${root_prefix} lib | gzip -9n > $deployDir/modules-${MODULE_TARBALL_NAME}.tgz - ln -sf modules-${MODULE_TARBALL_NAME}.tgz $deployDir/modules-${MODULE_TARBALL_LINK_NAME}.tgz + if [ -n "${MODULE_TARBALL_LINK_NAME}" ] ; then + ln -sf modules-${MODULE_TARBALL_NAME}.tgz $deployDir/modules-${MODULE_TARBALL_LINK_NAME}.tgz + fi fi if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; then - for imageType in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do + for imageType in ${KERNEL_IMAGETYPES} ; do if [ "$imageType" = "fitImage" ] ; then continue fi initramfsBaseName=$imageType-${INITRAMFS_NAME} - install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType.initramfs $deployDir/$initramfsBaseName.bin - ln -sf $initramfsBaseName.bin $deployDir/$imageType-${INITRAMFS_LINK_NAME}.bin + install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType.initramfs $deployDir/$initramfsBaseName${KERNEL_IMAGE_BIN_EXT} + if [ -n "${INITRAMFS_LINK_NAME}" ] ; then + ln -sf $initramfsBaseName${KERNEL_IMAGE_BIN_EXT} $deployDir/$imageType-${INITRAMFS_LINK_NAME}${KERNEL_IMAGE_BIN_EXT} + fi done fi } diff --git a/poky/meta/classes/manpages.bbclass b/poky/meta/classes/manpages.bbclass index 64b7d8c422..5e09c77fe6 100644 --- a/poky/meta/classes/manpages.bbclass +++ b/poky/meta/classes/manpages.bbclass @@ -12,13 +12,14 @@ MAN_PKG ?= "${PN}-doc" # only add man-db to RDEPENDS when manual files are built and installed RDEPENDS:${MAN_PKG} += "${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'man-db', '', d)}" -pkg_postinst:append:${MAN_PKG} () { +pkg_postinst:${MAN_PKG}:append () { # only update manual page index caches when manual files are built and installed if ${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'true', 'false', d)}; then if test -n "$D"; then - if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true','false', d)}; then + if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then sed "s:\(\s\)/:\1$D/:g" $D${sysconfdir}/man_db.conf | ${@qemu_run_binary(d, '$D', '${bindir}/mandb')} -C - -u -q $D${mandir} chown -R root:root $D${mandir} + mkdir -p $D${localstatedir}/cache/man cd $D${mandir} find . -name index.db | while read index; do @@ -36,7 +37,7 @@ pkg_postinst:append:${MAN_PKG} () { fi } -pkg_postrm:append:${MAN_PKG} () { +pkg_postrm:${MAN_PKG}:append () { # only update manual page index caches when manual files are built and installed if ${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'true', 'false', d)}; then mandb -q diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass index da58cb4bec..0bfe945811 100644 --- a/poky/meta/classes/meson.bbclass +++ b/poky/meta/classes/meson.bbclass @@ -1,7 +1,12 @@ -inherit python3native meson-routines +inherit python3native meson-routines qemu DEPENDS:append = " meson-native ninja-native" +EXEWRAPPER_ENABLED:class-native = "False" +EXEWRAPPER_ENABLED:class-nativesdk = "False" +EXEWRAPPER_ENABLED ?= "${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d)}" +DEPENDS:append = "${@' qemu-native' if d.getVar('EXEWRAPPER_ENABLED') == 'True' else ''}" + # As Meson enforces out-of-tree builds we can just use cleandirs B = "${WORKDIR}/build" do_configure[cleandirs] = "${B}" @@ -36,8 +41,18 @@ MESON_CROSS_FILE = "" MESON_CROSS_FILE:class-target = "--cross-file ${WORKDIR}/meson.cross" MESON_CROSS_FILE:class-nativesdk = "--cross-file ${WORKDIR}/meson.cross" +# Needed to set up qemu wrapper below +export STAGING_DIR_HOST + +def rust_tool(d, target_var): + rustc = d.getVar('RUSTC') + if not rustc: + return "" + cmd = [rustc, "--target", d.getVar(target_var)] + d.getVar("RUSTFLAGS").split() + return "rust = %s" % repr(cmd) + addtask write_config before do_configure -do_write_config[vardeps] += "CC CXX LD AR NM STRIP READELF CFLAGS CXXFLAGS LDFLAGS" +do_write_config[vardeps] += "CC CXX LD AR NM STRIP READELF CFLAGS CXXFLAGS LDFLAGS RUSTC RUSTFLAGS" do_write_config() { # This needs to be Py to split the args into single-element lists cat >${WORKDIR}/meson.cross <<EOF @@ -48,11 +63,14 @@ ar = ${@meson_array('AR', d)} nm = ${@meson_array('NM', d)} strip = ${@meson_array('STRIP', d)} readelf = ${@meson_array('READELF', d)} +objcopy = ${@meson_array('OBJCOPY', d)} pkgconfig = 'pkg-config' llvm-config = 'llvm-config${LLVMVERSION}' cups-config = 'cups-config' g-ir-scanner = '${STAGING_BINDIR}/g-ir-scanner-wrapper' g-ir-compiler = '${STAGING_BINDIR}/g-ir-compiler-wrapper' +${@rust_tool(d, "HOST_SYS")} +${@"exe_wrapper = '${WORKDIR}/meson-qemuwrapper'" if d.getVar('EXEWRAPPER_ENABLED') == 'True' else ""} [built-in options] c_args = ${@meson_array('CFLAGS', d)} @@ -62,7 +80,6 @@ cpp_link_args = ${@meson_array('LDFLAGS', d)} [properties] needs_exe_wrapper = true -gtkdoc_exe_wrapper = '${B}/gtkdoc-qemuwrapper' [host_machine] system = '${@meson_operating_system('HOST_OS', d)}' @@ -85,7 +102,9 @@ ar = ${@meson_array('BUILD_AR', d)} nm = ${@meson_array('BUILD_NM', d)} strip = ${@meson_array('BUILD_STRIP', d)} readelf = ${@meson_array('BUILD_READELF', d)} +objcopy = ${@meson_array('BUILD_OBJCOPY', d)} pkgconfig = 'pkg-config-native' +${@rust_tool(d, "BUILD_SYS")} [built-in options] c_args = ${@meson_array('BUILD_CFLAGS', d)} @@ -95,6 +114,24 @@ cpp_link_args = ${@meson_array('BUILD_LDFLAGS', d)} EOF } +do_write_config:append:class-target() { + # Write out a qemu wrapper that will be used as exe_wrapper so that meson + # can run target helper binaries through that. + qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}" + cat > ${WORKDIR}/meson-qemuwrapper << EOF +#!/bin/sh +# Use a modules directory which doesn't exist so we don't load random things +# which may then get deleted (or their dependencies) and potentially segfault +export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy + +# meson sets this wrongly (only to libs in build-dir), qemu_wrapper_cmdline() and GIR_EXTRA_LIBS_PATH take care of it properly +unset LD_LIBRARY_PATH + +$qemu_binary "\$@" +EOF + chmod +x ${WORKDIR}/meson-qemuwrapper +} + # Tell externalsrc that changes to this file require a reconfigure CONFIGURE_FILES = "meson.build" diff --git a/poky/meta/classes/mirrors.bbclass b/poky/meta/classes/mirrors.bbclass index 1afce92147..8e7b35d900 100644 --- a/poky/meta/classes/mirrors.bbclass +++ b/poky/meta/classes/mirrors.bbclass @@ -1,74 +1,76 @@ MIRRORS += "\ -${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian/20180310T215105Z/pool \n \ -${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool \n \ -${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20110127T084257Z/debian/pool \n \ -${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20090802T004153Z/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.de.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.au.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.cl.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.hr.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.fi.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.hk.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.hu.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.ie.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.it.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.jp.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.no.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.pl.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.ro.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.si.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.es.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.se.debian.org/debian/pool \n \ -${DEBIAN_MIRROR} http://ftp.tr.debian.org/debian/pool \n \ -${GNU_MIRROR} https://mirrors.kernel.org/gnu \n \ -${KERNELORG_MIRROR} http://www.kernel.org/pub \n \ -${GNUPG_MIRROR} ftp://ftp.gnupg.org/gcrypt \n \ -${GNUPG_MIRROR} ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt \n \ -${GNUPG_MIRROR} ftp://mirrors.dotsrc.org/gcrypt \n \ -ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN \n \ -ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/ \n \ -ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n \ -ftp://ftp.gnutls.org/gcrypt/gnutls ${GNUPG_MIRROR}/gnutls \n \ -http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n \ -http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/ http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/ \n \ -${APACHE_MIRROR} http://www.us.apache.org/dist \n \ -${APACHE_MIRROR} http://archive.apache.org/dist \n \ -http://downloads.sourceforge.net/watchdog/ http://fossies.org/linux/misc/ \n \ -${SAVANNAH_GNU_MIRROR} http://download-mirror.savannah.gnu.org/releases \n \ -${SAVANNAH_NONGNU_MIRROR} http://download-mirror.savannah.nongnu.org/releases \n \ -ftp://sourceware.org/pub http://mirrors.kernel.org/sourceware \n \ -ftp://sourceware.org/pub http://gd.tuwien.ac.at/gnu/sourceware \n \ -ftp://sourceware.org/pub http://ftp.gwdg.de/pub/linux/sources.redhat.com/sourceware \n \ -cvs://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -svn://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -git://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -hg://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -p4://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -osc://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -https?$://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -ftp://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -npm://.*/?.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -cvs://.*/.* http://sources.openembedded.org/ \n \ -svn://.*/.* http://sources.openembedded.org/ \n \ -git://.*/.* http://sources.openembedded.org/ \n \ -hg://.*/.* http://sources.openembedded.org/ \n \ -bzr://.*/.* http://sources.openembedded.org/ \n \ -p4://.*/.* http://sources.openembedded.org/ \n \ -osc://.*/.* http://sources.openembedded.org/ \n \ -https?$://.*/.* http://sources.openembedded.org/ \n \ -ftp://.*/.* http://sources.openembedded.org/ \n \ -npm://.*/?.* http://sources.openembedded.org/ \n \ -${CPAN_MIRROR} http://cpan.metacpan.org/ \n \ -${CPAN_MIRROR} http://search.cpan.org/CPAN/ \n \ +${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian/20180310T215105Z/pool \ +${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool \ +${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20110127T084257Z/debian/pool \ +${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20090802T004153Z/debian/pool \ +${DEBIAN_MIRROR} http://ftp.de.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.au.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.cl.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.hr.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.fi.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.hk.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.hu.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.ie.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.it.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.jp.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.no.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.pl.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.ro.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.si.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.es.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.se.debian.org/debian/pool \ +${DEBIAN_MIRROR} http://ftp.tr.debian.org/debian/pool \ +${GNU_MIRROR} https://mirrors.kernel.org/gnu \ +${KERNELORG_MIRROR} http://www.kernel.org/pub \ +${GNUPG_MIRROR} ftp://ftp.gnupg.org/gcrypt \ +${GNUPG_MIRROR} ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt \ +${GNUPG_MIRROR} ftp://mirrors.dotsrc.org/gcrypt \ +ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN \ +ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/ \ +ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \ +ftp://ftp.gnutls.org/gcrypt/gnutls ${GNUPG_MIRROR}/gnutls \ +http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \ +http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/ http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/ \ +${APACHE_MIRROR} http://www.us.apache.org/dist \ +${APACHE_MIRROR} http://archive.apache.org/dist \ +http://downloads.sourceforge.net/watchdog/ http://fossies.org/linux/misc/ \ +${SAVANNAH_GNU_MIRROR} http://download-mirror.savannah.gnu.org/releases \ +${SAVANNAH_NONGNU_MIRROR} http://download-mirror.savannah.nongnu.org/releases \ +ftp://sourceware.org/pub http://mirrors.kernel.org/sourceware \ +ftp://sourceware.org/pub http://gd.tuwien.ac.at/gnu/sourceware \ +ftp://sourceware.org/pub http://ftp.gwdg.de/pub/linux/sources.redhat.com/sourceware \ +cvs://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \ +svn://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \ +git://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \ +hg://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \ +bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \ +p4://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \ +osc://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \ +https?://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \ +ftp://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \ +npm://.*/?.* http://downloads.yoctoproject.org/mirror/sources/ \ +cvs://.*/.* http://sources.openembedded.org/ \ +svn://.*/.* http://sources.openembedded.org/ \ +git://.*/.* http://sources.openembedded.org/ \ +hg://.*/.* http://sources.openembedded.org/ \ +bzr://.*/.* http://sources.openembedded.org/ \ +p4://.*/.* http://sources.openembedded.org/ \ +osc://.*/.* http://sources.openembedded.org/ \ +https?://.*/.* http://sources.openembedded.org/ \ +ftp://.*/.* http://sources.openembedded.org/ \ +npm://.*/?.* http://sources.openembedded.org/ \ +${CPAN_MIRROR} http://cpan.metacpan.org/ \ +${CPAN_MIRROR} http://search.cpan.org/CPAN/ \ +https?://downloads.yoctoproject.org/releases/uninative/ https://mirrors.kernel.org/yocto/uninative/ \ +https?://downloads.yoctoproject.org/mirror/sources/ https://mirrors.kernel.org/yocto-sources/ \ " # Use MIRRORS to provide git repo fallbacks using the https protocol, for cases # where git native protocol fetches may fail due to local firewall rules, etc. MIRRORS += "\ -git://salsa.debian.org/.* git://salsa.debian.org/PATH;protocol=https \n \ -git://git.gnome.org/.* git://gitlab.gnome.org/GNOME/PATH;protocol=https \n \ -git://.*/.* git://HOST/PATH;protocol=https \n \ -git://.*/.* git://HOST/git/PATH;protocol=https \n \ +git://salsa.debian.org/.* git://salsa.debian.org/PATH;protocol=https \ +git://git.gnome.org/.* git://gitlab.gnome.org/GNOME/PATH;protocol=https \ +git://.*/.* git://HOST/PATH;protocol=https \ +git://.*/.* git://HOST/git/PATH;protocol=https \ " diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass index 73ad2ab7b3..4a3e582816 100644 --- a/poky/meta/classes/multilib.bbclass +++ b/poky/meta/classes/multilib.bbclass @@ -92,6 +92,10 @@ multilib_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise" python __anonymous () { if bb.data.inherits_class('image', d): + # set rpm preferred file color for 32-bit multilib image + if d.getVar("SITEINFO_BITS") == "32": + d.setVar("RPM_PREFER_ELF_ARCH", "1") + variant = d.getVar("BBEXTENDVARIANT") import oe.classextend diff --git a/poky/meta/classes/native.bbclass b/poky/meta/classes/native.bbclass index 76a599bc15..fc7422c5d7 100644 --- a/poky/meta/classes/native.bbclass +++ b/poky/meta/classes/native.bbclass @@ -195,3 +195,34 @@ USE_NLS = "no" RECIPERDEPTASK = "do_populate_sysroot" do_populate_sysroot[rdeptask] = "${RECIPERDEPTASK}" + +# +# Native task outputs are directly run on the target (host) system after being +# built. Even if the output of this recipe doesn't change, a change in one of +# its dependencies may cause a change in the output it generates (e.g. rpm +# output depends on the output of its dependent zstd library). +# +# This can cause poor interactions with hash equivalence, since this recipes +# output-changing dependency is "hidden" and downstream task only see that this +# recipe has the same outhash and therefore is equivalent. This can result in +# different output in different cases. +# +# To resolve this, unhide the output-changing dependency by adding its unihash +# to this tasks outhash calculation. Unfortunately, don't know specifically +# know which dependencies are output-changing, so we have to add all of them. +# +python native_add_do_populate_sysroot_deps () { + current_task = "do_" + d.getVar("BB_CURRENTTASK") + if current_task != "do_populate_sysroot": + return + + taskdepdata = d.getVar("BB_TASKDEPDATA", False) + pn = d.getVar("PN") + deps = { + dep[0]:dep[6] for dep in taskdepdata.values() if + dep[1] == current_task and dep[0] != pn + } + + d.setVar("HASHEQUIV_EXTRA_SIGDATA", "\n".join("%s: %s" % (k, deps[k]) for k in sorted(deps.keys()))) +} +SSTATECREATEFUNCS += "native_add_do_populate_sysroot_deps" diff --git a/poky/meta/classes/nativesdk.bbclass b/poky/meta/classes/nativesdk.bbclass index 14e210562f..f8e9607513 100644 --- a/poky/meta/classes/nativesdk.bbclass +++ b/poky/meta/classes/nativesdk.bbclass @@ -113,3 +113,5 @@ do_packagedata[stamp-extra-info] = "" USE_NLS = "${SDKUSE_NLS}" OLDEST_KERNEL = "${SDK_OLDEST_KERNEL}" + +PATH:prepend = "${COREBASE}/scripts/nativesdk-intercept:" diff --git a/poky/meta/classes/overlayfs-etc.bbclass b/poky/meta/classes/overlayfs-etc.bbclass new file mode 100644 index 0000000000..4ced07ba11 --- /dev/null +++ b/poky/meta/classes/overlayfs-etc.bbclass @@ -0,0 +1,76 @@ +# 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" + +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" + +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" + + 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 + } + + 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/overlayfs.bbclass b/poky/meta/classes/overlayfs.bbclass index 8d9b59c9bf..4a860f7308 100644 --- a/poky/meta/classes/overlayfs.bbclass +++ b/poky/meta/classes/overlayfs.bbclass @@ -31,44 +31,28 @@ # OVERLAYFS_WRITABLE_PATHS[mnt-overlay] = "/usr/share/another-application" # # 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() { - CreateDirsUnitTemplate = """[Unit] -Description=Overlayfs directories setup -Requires={DATA_MOUNT_UNIT} -After={DATA_MOUNT_UNIT} -DefaultDependencies=no - -[Service] -Type=oneshot -ExecStart=mkdir -p {DATA_MOUNT_POINT}/workdir{LOWERDIR} && mkdir -p {DATA_MOUNT_POINT}/upper{LOWERDIR} -RemainAfterExit=true -StandardOutput=journal - -[Install] -WantedBy=multi-user.target -""" - MountUnitTemplate = """[Unit] -Description=Overlayfs mount unit -Requires={CREATE_DIRS_SERVICE} -After={CREATE_DIRS_SERVICE} - -[Mount] -What=overlay -Where={LOWERDIR} -Type=overlay -Options=lowerdir={LOWERDIR},upperdir={DATA_MOUNT_POINT}/upper{LOWERDIR},workdir={DATA_MOUNT_POINT}/workdir{LOWERDIR} - -[Install] -WantedBy=multi-user.target -""" + 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 mountUnitName, helperUnitName + from oe.overlayfs import helperUnitName args = { 'DATA_MOUNT_POINT': data, @@ -77,16 +61,39 @@ WantedBy=multi-user.target '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 @@ -95,7 +102,7 @@ python () { unitList = unitFileList(d) for unit in unitList: - d.appendVar('SYSTEMD_SERVICE:' + d.getVar('PN'), ' ' + unit); + d.appendVar('SYSTEMD_SERVICE:' + d.getVar('PN'), ' ' + unit) d.appendVar('FILES:' + d.getVar('PN'), ' ' + strForBash(unit)) d.setVar('OVERLAYFS_UNIT_LIST', ' '.join([strForBash(s) for s in unitList])) diff --git a/poky/meta/classes/own-mirrors.bbclass b/poky/meta/classes/own-mirrors.bbclass index e244de592d..ef972740ce 100644 --- a/poky/meta/classes/own-mirrors.bbclass +++ b/poky/meta/classes/own-mirrors.bbclass @@ -1,14 +1,14 @@ PREMIRRORS:prepend = " \ -cvs://.*/.* ${SOURCE_MIRROR_URL} \n \ -svn://.*/.* ${SOURCE_MIRROR_URL} \n \ -git://.*/.* ${SOURCE_MIRROR_URL} \n \ -gitsm://.*/.* ${SOURCE_MIRROR_URL} \n \ -hg://.*/.* ${SOURCE_MIRROR_URL} \n \ -bzr://.*/.* ${SOURCE_MIRROR_URL} \n \ -p4://.*/.* ${SOURCE_MIRROR_URL} \n \ -osc://.*/.* ${SOURCE_MIRROR_URL} \n \ -https?$://.*/.* ${SOURCE_MIRROR_URL} \n \ -ftp://.*/.* ${SOURCE_MIRROR_URL} \n \ -npm://.*/?.* ${SOURCE_MIRROR_URL} \n \ -s3://.*/.* ${SOURCE_MIRROR_URL} \n \ +cvs://.*/.* ${SOURCE_MIRROR_URL} \ +svn://.*/.* ${SOURCE_MIRROR_URL} \ +git://.*/.* ${SOURCE_MIRROR_URL} \ +gitsm://.*/.* ${SOURCE_MIRROR_URL} \ +hg://.*/.* ${SOURCE_MIRROR_URL} \ +bzr://.*/.* ${SOURCE_MIRROR_URL} \ +p4://.*/.* ${SOURCE_MIRROR_URL} \ +osc://.*/.* ${SOURCE_MIRROR_URL} \ +https?://.*/.* ${SOURCE_MIRROR_URL} \ +ftp://.*/.* ${SOURCE_MIRROR_URL} \ +npm://.*/?.* ${SOURCE_MIRROR_URL} \ +s3://.*/.* ${SOURCE_MIRROR_URL} \ " diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass index 92eba98892..4927fb99ff 100644 --- a/poky/meta/classes/package.bbclass +++ b/poky/meta/classes/package.bbclass @@ -390,10 +390,6 @@ def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir, dvar = d.getVar('PKGD') objcopy = d.getVar("OBJCOPY") - # We ignore kernel modules, we don't generate debug info files. - if file.find("/lib/modules/") != -1 and file.endswith(".ko"): - return (file, sources) - newmode = None if not os.access(file, os.W_OK) or os.access(file, os.R_OK): origmode = os.stat(file)[stat.ST_MODE] @@ -619,6 +615,8 @@ def get_package_mapping (pkg, basepkg, d, depversions=None): key = "PKG:%s" % pkg if key in data: + if bb.data.inherits_class('allarch', d) and bb.data.inherits_class('packagegroup', d) and pkg != data[key]: + bb.error("An allarch packagegroup shouldn't depend on packages which are dynamically renamed (%s to %s)" % (pkg, data[key])) # Have to avoid undoing the write_extra_pkgs(global_variants...) if bb.data.inherits_class('allarch', d) and not d.getVar('MULTILIB_VARIANTS') \ and data[key] == basepkg: @@ -1120,7 +1118,6 @@ python split_and_strip_files () { # elffiles = {} symlinks = {} - kernmods = [] staticlibs = [] inodes = {} libdir = os.path.abspath(dvar + os.sep + d.getVar("libdir")) @@ -1143,9 +1140,6 @@ python split_and_strip_files () { if file in skipfiles: continue - if file.endswith(".ko") and file.find("/lib/modules/") != -1: - kernmods.append(file) - continue if oe.package.is_static_lib(file): staticlibs.append(file) continue @@ -1162,8 +1156,11 @@ python split_and_strip_files () { if not s: continue # Check its an executable - if (s[stat.ST_MODE] & stat.S_IXUSR) or (s[stat.ST_MODE] & stat.S_IXGRP) or (s[stat.ST_MODE] & stat.S_IXOTH) \ - or ((file.startswith(libdir) or file.startswith(baselibdir)) and (".so" in f or ".node" in f)): + if (s[stat.ST_MODE] & stat.S_IXUSR) or (s[stat.ST_MODE] & stat.S_IXGRP) \ + or (s[stat.ST_MODE] & stat.S_IXOTH) \ + or ((file.startswith(libdir) or file.startswith(baselibdir)) \ + and (".so" in f or ".node" in f)) \ + or (f.startswith('vmlinux') or ".ko" in f): if cpath.islink(file): checkelflinks[file] = ltarget @@ -1310,8 +1307,6 @@ python split_and_strip_files () { elf_file = int(elffiles[file]) #bb.note("Strip %s" % file) sfiles.append((file, elf_file, strip)) - for f in kernmods: - sfiles.append((f, 16, strip)) if (d.getVar('PACKAGE_STRIP_STATIC') == '1' or d.getVar('PACKAGE_DEBUG_STATIC_SPLIT') == '1'): for f in staticlibs: sfiles.append((f, 16, strip)) @@ -1876,7 +1871,7 @@ python package_do_shlibs() { sonames.add(prov) if libdir_re.match(os.path.dirname(file)): needs_ldconfig = True - if snap_symlinks and (os.path.basename(file) != this_soname): + if needs_ldconfig and snap_symlinks and (os.path.basename(file) != this_soname): renames.append((file, os.path.join(os.path.dirname(file), this_soname))) return (needs_ldconfig, needed, sonames, renames) diff --git a/poky/meta/classes/package_deb.bbclass b/poky/meta/classes/package_deb.bbclass index 1ae6393d37..2e75e222bc 100644 --- a/poky/meta/classes/package_deb.bbclass +++ b/poky/meta/classes/package_deb.bbclass @@ -316,6 +316,7 @@ do_package_write_deb[dirs] = "${PKGWRITEDIRDEB}" do_package_write_deb[cleandirs] = "${PKGWRITEDIRDEB}" do_package_write_deb[depends] += "${@oe.utils.build_depends_string(d.getVar('PACKAGE_WRITE_DEPS'), 'do_populate_sysroot')}" addtask package_write_deb after do_packagedata do_package do_deploy_source_date_epoch before do_build +do_build[rdeptask] += "do_package_write_deb" PACKAGEINDEXDEPS += "dpkg-native:do_populate_sysroot" PACKAGEINDEXDEPS += "apt-native:do_populate_sysroot" diff --git a/poky/meta/classes/package_ipk.bbclass b/poky/meta/classes/package_ipk.bbclass index 902b7f94c8..f67cb0e5c9 100644 --- a/poky/meta/classes/package_ipk.bbclass +++ b/poky/meta/classes/package_ipk.bbclass @@ -275,6 +275,7 @@ do_package_write_ipk[dirs] = "${PKGWRITEDIRIPK}" do_package_write_ipk[cleandirs] = "${PKGWRITEDIRIPK}" do_package_write_ipk[depends] += "${@oe.utils.build_depends_string(d.getVar('PACKAGE_WRITE_DEPS'), 'do_populate_sysroot')}" addtask package_write_ipk after do_packagedata do_package do_deploy_source_date_epoch before do_build +do_build[rdeptask] += "do_package_write_ipk" PACKAGEINDEXDEPS += "opkg-utils-native:do_populate_sysroot" PACKAGEINDEXDEPS += "opkg-native:do_populate_sysroot" diff --git a/poky/meta/classes/package_rpm.bbclass b/poky/meta/classes/package_rpm.bbclass index b0754421a3..e9ff1f7e65 100644 --- a/poky/meta/classes/package_rpm.bbclass +++ b/poky/meta/classes/package_rpm.bbclass @@ -749,6 +749,7 @@ do_package_write_rpm[dirs] = "${PKGWRITEDIRRPM}" do_package_write_rpm[cleandirs] = "${PKGWRITEDIRRPM}" do_package_write_rpm[depends] += "${@oe.utils.build_depends_string(d.getVar('PACKAGE_WRITE_DEPS'), 'do_populate_sysroot')}" addtask package_write_rpm after do_packagedata do_package do_deploy_source_date_epoch before do_build +do_build[rdeptask] += "do_package_write_rpm" PACKAGEINDEXDEPS += "rpm-native:do_populate_sysroot" PACKAGEINDEXDEPS += "createrepo-c-native:do_populate_sysroot" diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass index fafdd96749..16f929bf59 100644 --- a/poky/meta/classes/populate_sdk_base.bbclass +++ b/poky/meta/classes/populate_sdk_base.bbclass @@ -92,6 +92,8 @@ SDK_HOST_MANIFEST = "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.host.manifest" SDK_EXT_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest" SDK_EXT_HOST_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest" +SDK_PRUNE_SYSROOT_DIRS ?= "/dev" + python write_target_sdk_manifest () { from oe.sdk import sdk_list_installed_packages from oe.utils import format_pkg_list @@ -103,6 +105,12 @@ python write_target_sdk_manifest () { output.write(format_pkg_list(pkgs, 'ver')) } +sdk_prune_dirs () { + for d in ${SDK_PRUNE_SYSROOT_DIRS}; do + rm -rf ${SDK_OUTPUT}${SDKTARGETSYSROOT}$d + done +} + python write_sdk_test_data() { from oe.data import export2json testdata = "%s/%s.testdata.json" % (d.getVar('SDKDEPLOYDIR'), d.getVar('TOOLCHAIN_OUTPUTNAME')) @@ -122,8 +130,9 @@ python write_host_sdk_manifest () { } POPULATE_SDK_POST_TARGET_COMMAND:append = " write_sdk_test_data ; " -POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk = " write_target_sdk_manifest ; " +POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk = " write_target_sdk_manifest; sdk_prune_dirs; " POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " write_host_sdk_manifest; " + SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}" SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; archive_sdk; ${SDK_PACKAGING_COMMAND} " diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass index 9187f53f13..ef93b6a826 100644 --- a/poky/meta/classes/populate_sdk_ext.bbclass +++ b/poky/meta/classes/populate_sdk_ext.bbclass @@ -626,7 +626,7 @@ install_tools() { for script in $scripts; do for scriptfn in `find ${SDK_OUTPUT}/${SDKPATH}/${scriptrelpath} -maxdepth 1 -executable -name "$script"`; do targetscriptfn="${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/$(basename $scriptfn)" - test -e ${targetscriptfn} || lnr ${scriptfn} ${targetscriptfn} + test -e ${targetscriptfn} || ln -rs ${scriptfn} ${targetscriptfn} done done # We can't use the same method as above because files in the sysroot won't exist at this point @@ -634,7 +634,7 @@ install_tools() { unfsd_path="${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/unfsd" if [ "${SDK_INCLUDE_TOOLCHAIN}" = "1" -a ! -e $unfsd_path ] ; then binrelpath=${@os.path.relpath(d.getVar('STAGING_BINDIR_NATIVE'), d.getVar('TMPDIR'))} - lnr ${SDK_OUTPUT}/${SDKPATH}/tmp/$binrelpath/unfsd $unfsd_path + ln -rs ${SDK_OUTPUT}/${SDKPATH}/tmp/$binrelpath/unfsd $unfsd_path fi touch ${SDK_OUTPUT}/${SDKPATH}/.devtoolbase diff --git a/poky/meta/classes/python3native.bbclass b/poky/meta/classes/python3native.bbclass index 13fbaa5f9c..3783c0c47e 100644 --- a/poky/meta/classes/python3native.bbclass +++ b/poky/meta/classes/python3native.bbclass @@ -4,7 +4,7 @@ PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3" EXTRANATIVEPATH += "python3-native" DEPENDS:append = " python3-native " -# python-config and other scripts are using distutils modules +# python-config and other scripts are using sysconfig modules # which we patch to access these variables export STAGING_INCDIR export STAGING_LIBDIR diff --git a/poky/meta/classes/qemuboot.bbclass b/poky/meta/classes/qemuboot.bbclass index bf529e9aa4..cc1cbce69d 100644 --- a/poky/meta/classes/qemuboot.bbclass +++ b/poky/meta/classes/qemuboot.bbclass @@ -36,6 +36,8 @@ # in system mode, where system is experiencing entropy starvation # # QB_KERNEL_ROOT: kernel's root, e.g., /dev/vda +# By default "/dev/vda rw" gets passed to the kernel. +# To mount the rootfs read-only QB_KERNEL_ROOT can be set to e.g. "/dev/vda ro". # # QB_NETWORK_DEVICE: network device, e.g., "-device virtio-net-pci,netdev=net0,mac=@MAC@", # it needs work with QB_TAP_OPT and QB_SLIRP_OPT. @@ -91,7 +93,7 @@ QB_RNG ?= "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-p QB_OPT_APPEND ?= "" QB_NETWORK_DEVICE ?= "-device virtio-net-pci,netdev=net0,mac=@MAC@" QB_CMDLINE_IP_SLIRP ?= "ip=dhcp" -QB_CMDLINE_IP_TAP ?= "ip=192.168.7.@CLIENT@::192.168.7.@GATEWAY@:255.255.255.0" +QB_CMDLINE_IP_TAP ?= "ip=192.168.7.@CLIENT@::192.168.7.@GATEWAY@:255.255.255.0::eth0:off:8.8.8.8" QB_ROOTFS_EXTRA_OPT ?= "" QB_GRAPHICS ?= "" @@ -116,7 +118,10 @@ python do_write_qemuboot_conf() { import configparser qemuboot = "%s/%s.qemuboot.conf" % (d.getVar('IMGDEPLOYDIR'), d.getVar('IMAGE_NAME')) - qemuboot_link = "%s/%s.qemuboot.conf" % (d.getVar('IMGDEPLOYDIR'), d.getVar('IMAGE_LINK_NAME')) + if d.getVar('IMAGE_LINK_NAME'): + qemuboot_link = "%s/%s.qemuboot.conf" % (d.getVar('IMGDEPLOYDIR'), d.getVar('IMAGE_LINK_NAME')) + else: + qemuboot_link = "" finalpath = d.getVar("DEPLOY_DIR_IMAGE") topdir = d.getVar('TOPDIR') cf = configparser.ConfigParser() @@ -151,7 +156,7 @@ python do_write_qemuboot_conf() { with open(qemuboot, 'w') as f: cf.write(f) - if qemuboot_link != qemuboot: + if qemuboot_link and qemuboot_link != qemuboot: if os.path.lexists(qemuboot_link): os.remove(qemuboot_link) os.symlink(os.path.basename(qemuboot), qemuboot_link) diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass index 7fe9e3d8c8..74035c30b7 100644 --- a/poky/meta/classes/rootfs-postcommands.bbclass +++ b/poky/meta/classes/rootfs-postcommands.bbclass @@ -21,7 +21,7 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "read-only # otherwise kernel or initramfs end up mounting the rootfs read/write # (the default) if supported by the underlying storage. # -# We do this with _append because the default value might get set later with ?= +# We do this with :append because the default value might get set later with ?= # and we don't want to disable such a default that by setting a value here. APPEND:append = '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", " ro", "", d)}' @@ -52,7 +52,7 @@ inherit image-artifact-names # the numeric IDs of dynamically created entries remain stable. # # We want this to run as late as possible, in particular after -# systemd_sysusers_create and set_user_group. Using _append is not +# systemd_sysusers_create and set_user_group. Using :append is not # enough for that, set_user_group is added that way and would end # up running after us. SORT_PASSWD_POSTPROCESS_COMMAND ??= " sort_passwd; " @@ -62,7 +62,7 @@ python () { } systemd_create_users () { - for conffile in ${IMAGE_ROOTFS}/usr/lib/sysusers.d/systemd.conf ${IMAGE_ROOTFS}/usr/lib/sysusers.d/systemd-remote.conf; do + for conffile in ${IMAGE_ROOTFS}/usr/lib/sysusers.d/*.conf; do [ -e $conffile ] || continue grep -v "^#" $conffile | sed -e '/^$/d' | while read type name id comment; do if [ "$type" = "u" ]; then diff --git a/poky/meta/classes/rootfs_rpm.bbclass b/poky/meta/classes/rootfs_rpm.bbclass index 3d8d784f79..bec4d63ed6 100644 --- a/poky/meta/classes/rootfs_rpm.bbclass +++ b/poky/meta/classes/rootfs_rpm.bbclass @@ -4,7 +4,7 @@ ROOTFS_PKGMANAGE = "rpm dnf" -# dnf is using our custom distutils, and so will fail without these +# dnf is using our custom sysconfig module, and so will fail without these export STAGING_INCDIR export STAGING_LIBDIR diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes/sanity.bbclass index ddba1e6e1e..f288b4c84c 100644 --- a/poky/meta/classes/sanity.bbclass +++ b/poky/meta/classes/sanity.bbclass @@ -185,37 +185,6 @@ def raise_sanity_error(msg, d, network_error=False): %s""" % msg) -# Check flags associated with a tuning. -def check_toolchain_tune_args(data, tune, multilib, errs): - found_errors = False - if check_toolchain_args_present(data, tune, multilib, errs, 'CCARGS'): - found_errors = True - if check_toolchain_args_present(data, tune, multilib, errs, 'ASARGS'): - found_errors = True - if check_toolchain_args_present(data, tune, multilib, errs, 'LDARGS'): - found_errors = True - - return found_errors - -def check_toolchain_args_present(data, tune, multilib, tune_errors, which): - args_set = (data.getVar("TUNE_%s" % which) or "").split() - args_wanted = (data.getVar("TUNEABI_REQUIRED_%s:tune-%s" % (which, tune)) or "").split() - args_missing = [] - - # If no args are listed/required, we are done. - if not args_wanted: - return - for arg in args_wanted: - if arg not in args_set: - args_missing.append(arg) - - found_errors = False - if args_missing: - found_errors = True - tune_errors.append("TUNEABI for %s requires '%s' in TUNE_%s (%s)." % - (tune, ' '.join(args_missing), which, ' '.join(args_set))) - return found_errors - # Check a single tune for validity. def check_toolchain_tune(data, tune, multilib): tune_errors = [] @@ -247,17 +216,6 @@ def check_toolchain_tune(data, tune, multilib): bb.debug(2, " %s: %s" % (feature, valid_tunes[feature])) else: tune_errors.append("Feature '%s' is not defined." % feature) - whitelist = localdata.getVar("TUNEABI_WHITELIST") - if whitelist: - tuneabi = localdata.getVar("TUNEABI:tune-%s" % tune) - if not tuneabi: - tuneabi = tune - if True not in [x in whitelist.split() for x in tuneabi.split()]: - tune_errors.append("Tuning '%s' (%s) cannot be used with any supported tuning/ABI." % - (tune, tuneabi)) - else: - if not check_toolchain_tune_args(localdata, tuneabi, multilib, tune_errors): - bb.debug(2, "Sanity check: Compiler args OK for %s." % tune) if tune_errors: return "Tuning '%s' has the following errors:\n" % tune + '\n'.join(tune_errors) @@ -462,13 +420,12 @@ def check_sanity_validmachine(sanity_data): # Patch before 2.7 can't handle all the features in git-style diffs. Some # patches may incorrectly apply, and others won't apply at all. def check_patch_version(sanity_data): - from distutils.version import LooseVersion import re, subprocess try: result = subprocess.check_output(["patch", "--version"], stderr=subprocess.STDOUT).decode('utf-8') version = re.search(r"[0-9.]+", result.splitlines()[0]).group() - if LooseVersion(version) < LooseVersion("2.7"): + if bb.utils.vercmp_string_op(version, "2.7", "<"): return "Your version of patch is older than 2.7 and has bugs which will break builds. Please install a newer version of patch.\n" else: return None @@ -478,7 +435,6 @@ def check_patch_version(sanity_data): # Unpatched versions of make 3.82 are known to be broken. See GNU Savannah Bug 30612. # Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate. def check_make_version(sanity_data): - from distutils.version import LooseVersion import subprocess try: @@ -486,7 +442,7 @@ def check_make_version(sanity_data): except subprocess.CalledProcessError as e: return "Unable to execute make --version, exit code %d\n%s\n" % (e.returncode, e.output) version = result.split()[2] - if LooseVersion(version) == LooseVersion("3.82"): + if bb.utils.vercmp_string_op(version, "3.82", "=="): # Construct a test file f = open("makefile_test", "w") f.write("makefile_test.a: makefile_test_a.c makefile_test_b.c makefile_test.a( makefile_test_a.c makefile_test_b.c)\n") @@ -530,7 +486,7 @@ def check_wsl(d): bb.warn("You are running bitbake under WSLv2, this works properly but you should optimize your VHDX file eventually to avoid running out of storage space") return None -# Require at least gcc version 6.0. +# Require at least gcc version 7.5. # # This can be fixed on CentOS-7 with devtoolset-6+ # https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/ @@ -539,27 +495,25 @@ def check_wsl(d): # built buildtools-extended-tarball) # def check_gcc_version(sanity_data): - from distutils.version import LooseVersion import subprocess build_cc, version = oe.utils.get_host_compiler_version(sanity_data) if build_cc.strip() == "gcc": - if LooseVersion(version) < LooseVersion("6.0"): - return "Your version of gcc is older than 6.0 and will break builds. Please install a newer version of gcc (you could use the project's buildtools-extended-tarball or use scripts/install-buildtools).\n" + if bb.utils.vercmp_string_op(version, "7.5", "<"): + return "Your version of gcc is older than 7.5 and will break builds. Please install a newer version of gcc (you could use the project's buildtools-extended-tarball or use scripts/install-buildtools).\n" return None # Tar version 1.24 and onwards handle overwriting symlinks correctly # but earlier versions do not; this needs to work properly for sstate # Version 1.28 is needed so opkg-build works correctly when reproducibile builds are enabled def check_tar_version(sanity_data): - from distutils.version import LooseVersion import subprocess try: result = subprocess.check_output(["tar", "--version"], stderr=subprocess.STDOUT).decode('utf-8') except subprocess.CalledProcessError as e: return "Unable to execute tar --version, exit code %d\n%s\n" % (e.returncode, e.output) version = result.split()[3] - if LooseVersion(version) < LooseVersion("1.28"): + if bb.utils.vercmp_string_op(version, "1.28", "<"): return "Your version of tar is older than 1.28 and does not have the support needed to enable reproducible builds. Please install a newer version of tar (you could use the project's buildtools-tarball from our last release or use scripts/install-buildtools).\n" return None @@ -567,14 +521,13 @@ def check_tar_version(sanity_data): # The kernel tools assume git >= 1.8.3.1 (verified needed > 1.7.9.5) see #6162 # The git fetcher also had workarounds for git < 1.7.9.2 which we've dropped def check_git_version(sanity_data): - from distutils.version import LooseVersion import subprocess try: result = subprocess.check_output(["git", "--version"], stderr=subprocess.DEVNULL).decode('utf-8') except subprocess.CalledProcessError as e: return "Unable to execute git --version, exit code %d\n%s\n" % (e.returncode, e.output) version = result.split()[2] - if LooseVersion(version) < LooseVersion("1.8.3.1"): + if bb.utils.vercmp_string_op(version, "1.8.3.1", "<"): return "Your version of git is older than 1.8.3.1 and has bugs which will break builds. Please install a newer version of git.\n" return None @@ -796,9 +749,8 @@ def check_sanity_everybuild(status, d): status.addresult('The system requires at least Python 3.6 to run. Please update your Python interpreter.\n') # Check the bitbake version meets minimum requirements - from distutils.version import LooseVersion minversion = d.getVar('BB_MIN_VERSION') - if (LooseVersion(bb.__version__) < LooseVersion(minversion)): + if bb.utils.vercmp_string_op(bb.__version__, minversion, "<"): status.addresult('Bitbake version %s is required and version %s was found\n' % (minversion, bb.__version__)) sanity_check_locale(d) diff --git a/poky/meta/classes/scons.bbclass b/poky/meta/classes/scons.bbclass index 4f3ae502ef..80f8382107 100644 --- a/poky/meta/classes/scons.bbclass +++ b/poky/meta/classes/scons.bbclass @@ -5,9 +5,9 @@ DEPENDS += "python3-scons-native" EXTRA_OESCONS ?= "" do_configure() { - if [ -n "${CONFIGURESTAMPFILE}" ]; then + if [ -n "${CONFIGURESTAMPFILE}" -a "${S}" = "${B}" ]; then if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then - ${STAGING_BINDIR_NATIVE}/scons --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} + ${STAGING_BINDIR_NATIVE}/scons --directory=${S} --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} fi mkdir -p `dirname ${CONFIGURESTAMPFILE}` @@ -16,12 +16,12 @@ do_configure() { } scons_do_compile() { - ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \ + ${STAGING_BINDIR_NATIVE}/scons --directory=${S} ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \ die "scons build execution failed." } scons_do_install() { - ${STAGING_BINDIR_NATIVE}/scons install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \ + ${STAGING_BINDIR_NATIVE}/scons --directory=${S} install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \ die "scons install execution failed." } diff --git a/poky/meta/classes/setuptools3-base.bbclass b/poky/meta/classes/setuptools3-base.bbclass new file mode 100644 index 0000000000..5098ae9d64 --- /dev/null +++ b/poky/meta/classes/setuptools3-base.bbclass @@ -0,0 +1,31 @@ +DEPENDS:append:class-target = " ${PYTHON_PN}-native ${PYTHON_PN}" +DEPENDS:append:class-nativesdk = " ${PYTHON_PN}-native ${PYTHON_PN}" +RDEPENDS:${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' == 'class-target']}" + +export STAGING_INCDIR +export STAGING_LIBDIR + +# LDSHARED is the ld *command* used to create shared library +export LDSHARED = "${CCLD} -shared" +# LDXXSHARED is the ld *command* used to create shared library of C++ +# objects +export LDCXXSHARED = "${CXX} -shared" +# CCSHARED are the C *flags* used to create objects to go into a shared +# library (module) +export CCSHARED = "-fPIC -DPIC" +# LINKFORSHARED are the flags passed to the $(CC) command that links +# the python executable +export LINKFORSHARED = "${SECURITY_CFLAGS} -Xlinker -export-dynamic" + +FILES:${PN} += "${libdir}/* ${libdir}/${PYTHON_DIR}/*" + +FILES:${PN}-staticdev += "\ + ${PYTHON_SITEPACKAGES_DIR}/*.a \ +" +FILES:${PN}-dev += "\ + ${datadir}/pkgconfig \ + ${libdir}/pkgconfig \ + ${PYTHON_SITEPACKAGES_DIR}/*.la \ +" +inherit python3native python3targetconfig + diff --git a/poky/meta/classes/setuptools3.bbclass b/poky/meta/classes/setuptools3.bbclass index 8ca66ee708..fd8499d26c 100644 --- a/poky/meta/classes/setuptools3.bbclass +++ b/poky/meta/classes/setuptools3.bbclass @@ -1,4 +1,68 @@ -inherit distutils3 +inherit setuptools3-base +B = "${WORKDIR}/build" + +SETUPTOOLS_BUILD_ARGS ?= "" +SETUPTOOLS_INSTALL_ARGS ?= "--root=${D} \ + --prefix=${prefix} \ + --install-lib=${PYTHON_SITEPACKAGES_DIR} \ + --install-data=${datadir}" + +SETUPTOOLS_PYTHON = "python3" +SETUPTOOLS_PYTHON:class-native = "nativepython3" + +SETUPTOOLS_SETUP_PATH ?= "${S}" + +setuptools3_do_configure() { + : +} + +setuptools3_do_compile() { + cd ${SETUPTOOLS_SETUP_PATH} + NO_FETCH_BUILD=1 \ + STAGING_INCDIR=${STAGING_INCDIR} \ + STAGING_LIBDIR=${STAGING_LIBDIR} \ + ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py \ + build --build-base=${B} ${SETUPTOOLS_BUILD_ARGS} || \ + bbfatal_log "'${PYTHON_PN} setup.py build ${SETUPTOOLS_BUILD_ARGS}' execution failed." +} +setuptools3_do_compile[vardepsexclude] = "MACHINE" + +setuptools3_do_install() { + cd ${SETUPTOOLS_SETUP_PATH} + install -d ${D}${PYTHON_SITEPACKAGES_DIR} + STAGING_INCDIR=${STAGING_INCDIR} \ + STAGING_LIBDIR=${STAGING_LIBDIR} \ + PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \ + ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py \ + build --build-base=${B} install --skip-build ${SETUPTOOLS_INSTALL_ARGS} || \ + bbfatal_log "'${PYTHON_PN} setup.py install ${SETUPTOOLS_INSTALL_ARGS}' execution failed." + + # support filenames with *spaces* + find ${D} -name "*.py" -exec grep -q ${D} {} \; \ + -exec sed -i -e s:${D}::g {} \; + + for i in ${D}${bindir}/* ${D}${sbindir}/*; do + if [ -f "$i" ]; then + sed -i -e s:${PYTHON}:${USRBINPATH}/env\ ${SETUPTOOLS_PYTHON}:g $i + sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i + fi + done + + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth + + # + # FIXME: Bandaid against wrong datadir computation + # + if [ -e ${D}${datadir}/share ]; then + mv -f ${D}${datadir}/share/* ${D}${datadir}/ + rmdir ${D}${datadir}/share + fi +} +setuptools3_do_install[vardepsexclude] = "MACHINE" + +EXPORT_FUNCTIONS do_configure do_compile do_install + +export LDSHARED="${CCLD} -shared" DEPENDS += "python3-setuptools-native" diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass index 6e4eb09f8e..b45da4fb23 100644 --- a/poky/meta/classes/sstate.bbclass +++ b/poky/meta/classes/sstate.bbclass @@ -22,7 +22,7 @@ def generate_sstatefn(spec, hash, taskname, siginfo, d): components = spec.split(":") # Fields 0,5,6 are mandatory, 1 is most useful, 2,3,4 are just for information # 7 is for the separators - avail = (254 - len(hash + "_" + taskname + extension) - len(components[0]) - len(components[1]) - len(components[5]) - len(components[6]) - 7) // 3 + avail = (limit - len(hash + "_" + taskname + extension) - len(components[0]) - len(components[1]) - len(components[5]) - len(components[6]) - 7) // 3 components[2] = components[2][:avail] components[3] = components[3][:avail] components[4] = components[4][:avail] @@ -158,6 +158,8 @@ python () { for task in unique_tasks: d.prependVarFlag(task, 'prefuncs', "sstate_task_prefunc ") d.appendVarFlag(task, 'postfuncs', " sstate_task_postfunc") + d.setVarFlag(task, 'network', '1') + d.setVarFlag(task + "_setscene", 'network', '1') } def sstate_init(task, d): @@ -793,7 +795,9 @@ def sstate_setscene(d): shared_state = sstate_state_fromvars(d) accelerate = sstate_installpkg(shared_state, d) if not accelerate: - bb.fatal("No suitable staging package found") + msg = "No sstate archive obtainable, will run full task instead." + bb.warn(msg) + raise bb.BBHandledException(msg) python sstate_task_prefunc () { shared_state = sstate_state_fromvars(d) @@ -899,13 +903,13 @@ sstate_unpack_package () { ZSTD="pzstd -p ${ZSTD_THREADS}" fi - tar -I "$ZSTD" -xvf ${SSTATE_PKG} - # update .siginfo atime on local/NFS mirror - [ -O ${SSTATE_PKG}.siginfo ] && [ -w ${SSTATE_PKG}.siginfo ] && [ -h ${SSTATE_PKG}.siginfo ] && touch -a ${SSTATE_PKG}.siginfo - # Use "! -w ||" to return true for read only files - [ ! -w ${SSTATE_PKG} ] || touch --no-dereference ${SSTATE_PKG} - [ ! -w ${SSTATE_PKG}.sig ] || [ ! -e ${SSTATE_PKG}.sig ] || touch --no-dereference ${SSTATE_PKG}.sig - [ ! -w ${SSTATE_PKG}.siginfo ] || [ ! -e ${SSTATE_PKG}.siginfo ] || touch --no-dereference ${SSTATE_PKG}.siginfo + tar -I "$ZSTD" -xvpf ${SSTATE_PKG} + # update .siginfo atime on local/NFS mirror if it is a symbolic link + [ ! -h ${SSTATE_PKG}.siginfo ] || touch -a ${SSTATE_PKG}.siginfo 2>/dev/null || true + # update each symbolic link instead of any referenced file + touch --no-dereference ${SSTATE_PKG} 2>/dev/null || true + [ ! -e ${SSTATE_PKG}.sig ] || touch --no-dereference ${SSTATE_PKG}.sig 2>/dev/null || true + [ ! -e ${SSTATE_PKG}.siginfo ] || touch --no-dereference ${SSTATE_PKG}.siginfo 2>/dev/null || true } BB_HASHCHECK_FUNCTION = "sstate_checkhashes" @@ -934,12 +938,13 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True, return spec, extrapath, tname + def getsstatefile(tid, siginfo, d): + spec, extrapath, tname = getpathcomponents(tid, d) + return extrapath + generate_sstatefn(spec, gethash(tid), tname, siginfo, d) for tid in sq_data['hash']: - spec, extrapath, tname = getpathcomponents(tid, d) - - sstatefile = d.expand("${SSTATE_DIR}/" + extrapath + generate_sstatefn(spec, gethash(tid), tname, siginfo, d)) + sstatefile = d.expand("${SSTATE_DIR}/" + getsstatefile(tid, siginfo, d)) if os.path.exists(sstatefile): found.add(tid) @@ -989,54 +994,49 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True, fetcher.checkstatus() bb.debug(2, "SState: Successful fetch test for %s" % srcuri) found.add(tid) - if tid in missed: - missed.remove(tid) + missed.remove(tid) except bb.fetch2.FetchError as e: - missed.add(tid) - bb.debug(2, "SState: Unsuccessful fetch test for %s (%s)" % (srcuri, e)) + bb.debug(2, "SState: Unsuccessful fetch test for %s (%s)" % (srcuri, repr(e))) except Exception as e: - bb.error("SState: cannot test %s: %s" % (srcuri, e)) - if len(tasklist) >= min_tasks: + bb.error("SState: cannot test %s: %s" % (srcuri, repr(e))) + + if progress: bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - thread_worker.tasks.qsize()), d) tasklist = [] - min_tasks = 100 - for tid in sq_data['hash']: - if tid in found: - continue - spec, extrapath, tname = getpathcomponents(tid, d) - sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(tid), tname, siginfo, d)) + for tid in missed: + sstatefile = d.expand(getsstatefile(tid, siginfo, d)) tasklist.append((tid, sstatefile)) if tasklist: nproc = min(int(d.getVar("BB_NUMBER_THREADS")), len(tasklist)) - if len(tasklist) >= min_tasks: + progress = len(tasklist) >= 100 + if progress: msg = "Checking sstate mirror object availability" bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d) bb.event.enable_threadlock() pool = oe.utils.ThreadedPool(nproc, len(tasklist), - worker_init=checkstatus_init, worker_end=checkstatus_end) + worker_init=checkstatus_init, worker_end=checkstatus_end, + name="sstate_checkhashes-") for t in tasklist: pool.add_task(checkstatus, t) pool.start() pool.wait_completion() bb.event.disable_threadlock() - if len(tasklist) >= min_tasks: + if progress: bb.event.fire(bb.event.ProcessFinished(msg), d) inheritlist = d.getVar("INHERIT") if "toaster" in inheritlist: evdata = {'missed': [], 'found': []}; for tid in missed: - spec, extrapath, tname = getpathcomponents(tid, d) - sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(tid), tname, False, d)) + sstatefile = d.expand(getsstatefile(tid, False, d)) evdata['missed'].append((bb.runqueue.fn_from_tid(tid), bb.runqueue.taskname_from_tid(tid), gethash(tid), sstatefile ) ) for tid in found: - spec, extrapath, tname = getpathcomponents(tid, d) - sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(tid), tname, False, d)) + sstatefile = d.expand(getsstatefile(tid, False, d)) evdata['found'].append((bb.runqueue.fn_from_tid(tid), bb.runqueue.taskname_from_tid(tid), gethash(tid), sstatefile ) ) bb.event.fire(bb.event.MetadataEvent("MissedSstate", evdata), d) diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass index 9980b3f626..898248992c 100644 --- a/poky/meta/classes/testimage.bbclass +++ b/poky/meta/classes/testimage.bbclass @@ -36,6 +36,7 @@ TESTIMAGE_AUTO ??= "0" # TEST_OVERALL_TIMEOUT can be used to set the maximum time in seconds the tests will be allowed to run (defaults to no limit). # TEST_QEMUPARAMS can be used to pass extra parameters to qemu, e.g. "-m 1024" for setting the amount of ram to 1 GB. # TEST_RUNQEMUPARAMS can be used to pass extra parameters to runqemu, e.g. "gl" to enable OpenGL acceleration. +# QEMU_USE_KVM can be set to "" to disable the use of kvm (by default it is enabled if target_arch == build_arch or both of them are x86 archs) # TESTIMAGE_BOOT_PATTERNS can be used to override certain patterns used to communicate with the target when booting, # if a pattern is not specifically present on this variable a default will be used when booting the target. @@ -60,7 +61,7 @@ BASICTESTSUITE = "\ ping date df ssh scp python perl gi ptest parselogs \ logrotate connman systemd oe_syslog pam stap ldd xorg \ kernelmodule gcc buildcpio buildlzip buildgalculator \ - dnf rpm opkg apt weston" + dnf rpm opkg apt weston go rust" DEFAULT_TEST_SUITES = "${BASICTESTSUITE}" @@ -75,6 +76,7 @@ DEFAULT_TEST_SUITES:remove:qemumips64 = "${MIPSREMOVE}" TEST_SUITES ?= "${DEFAULT_TEST_SUITES}" +QEMU_USE_KVM ?= "1" TEST_QEMUBOOT_TIMEOUT ?= "1000" TEST_OVERALL_TIMEOUT ?= "" TEST_TARGET ?= "qemu" @@ -137,6 +139,7 @@ python do_testimage() { addtask testimage do_testimage[nostamp] = "1" +do_testimage[network] = "1" do_testimage[depends] += "${TESTIMAGEDEPENDS}" do_testimage[lockfiles] += "${TESTIMAGELOCK}" diff --git a/poky/meta/classes/testsdk.bbclass b/poky/meta/classes/testsdk.bbclass index 758a23ac55..8b2e74f606 100644 --- a/poky/meta/classes/testsdk.bbclass +++ b/poky/meta/classes/testsdk.bbclass @@ -36,12 +36,14 @@ python do_testsdk() { } addtask testsdk do_testsdk[nostamp] = "1" +do_testsdk[network] = "1" python do_testsdkext() { import_and_run('TESTSDKEXT_CLASS_NAME', d) } addtask testsdkext do_testsdkext[nostamp] = "1" +do_testsdkext[network] = "1" python () { if oe.types.boolean(d.getVar("TESTIMAGE_AUTO") or "False"): diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass index bae8cada0a..8d136e9405 100644 --- a/poky/meta/classes/uboot-sign.bbclass +++ b/poky/meta/classes/uboot-sign.bbclass @@ -131,6 +131,20 @@ concat_dtb_helper() { elif [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e "$deployed_uboot_dtb_binary" ]; then cd ${DEPLOYDIR} cat ${UBOOT_NODTB_IMAGE} $deployed_uboot_dtb_binary | tee ${B}/${CONFIG_B_PATH}/${UBOOT_BINARY} > ${UBOOT_IMAGE} + + if [ -n "${UBOOT_CONFIG}" ] + then + for config in ${UBOOT_MACHINE}; do + i=$(expr $i + 1); + for type in ${UBOOT_CONFIG}; do + j=$(expr $j + 1); + if [ $j -eq $i ] + then + cp ${UBOOT_IMAGE} ${B}/${CONFIG_B_PATH}/u-boot-$type.${UBOOT_SUFFIX} + fi + done + done + fi else bbwarn "Failure while adding public key to u-boot binary. Verified boot won't be available." fi @@ -205,7 +219,7 @@ install_helper() { fi } -# Install SPL dtb and u-boot nodtb to datadir, +# Install SPL dtb and u-boot nodtb to datadir, install_spl_helper() { if [ -f "${SPL_DIR}/${SPL_DTB_BINARY}" ]; then install -Dm 0644 ${SPL_DIR}/${SPL_DTB_BINARY} ${D}${datadir}/${SPL_DTB_IMAGE} diff --git a/poky/meta/classes/uninative.bbclass b/poky/meta/classes/uninative.bbclass index 3c7ccd66f4..4412d7c567 100644 --- a/poky/meta/classes/uninative.bbclass +++ b/poky/meta/classes/uninative.bbclass @@ -2,7 +2,7 @@ UNINATIVE_LOADER ?= "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/ UNINATIVE_STAGING_DIR ?= "${STAGING_DIR}" UNINATIVE_URL ?= "unset" -UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.xz" +UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc-${UNINATIVE_VERSION}.tar.xz" # Example checksums #UNINATIVE_CHECKSUM[aarch64] = "dead" #UNINATIVE_CHECKSUM[i686] = "dead" diff --git a/poky/meta/classes/utility-tasks.bbclass b/poky/meta/classes/utility-tasks.bbclass index 34d6b8f4d5..0466325c13 100644 --- a/poky/meta/classes/utility-tasks.bbclass +++ b/poky/meta/classes/utility-tasks.bbclass @@ -38,6 +38,7 @@ python do_clean() { addtask checkuri do_checkuri[nostamp] = "1" +do_checkuri[network] = "1" python do_checkuri() { src_uri = (d.getVar('SRC_URI') or "").split() if len(src_uri) == 0: diff --git a/poky/meta/classes/waf.bbclass b/poky/meta/classes/waf.bbclass index df0ab8d73f..bc594d3c6b 100644 --- a/poky/meta/classes/waf.bbclass +++ b/poky/meta/classes/waf.bbclass @@ -43,14 +43,13 @@ BB_HASHBASE_WHITELIST += "WAFLOCK" python waf_preconfigure() { import subprocess - from distutils.version import StrictVersion subsrcdir = d.getVar('S') python = d.getVar('WAF_PYTHON') wafbin = os.path.join(subsrcdir, 'waf') try: result = subprocess.check_output([python, wafbin, '--version'], cwd=subsrcdir, stderr=subprocess.STDOUT) version = result.decode('utf-8').split()[1] - if StrictVersion(version) >= StrictVersion("1.8.7"): + if bb.utils.vercmp_string_op(version, "1.8.7", ">="): d.setVar("WAF_EXTRA_CONF", "--bindir=${bindir} --libdir=${libdir}") except subprocess.CalledProcessError as e: bb.warn("Unable to execute waf --version, exit code %d. Assuming waf version without bindir/libdir support." % e.returncode) |