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
diff --git a/poky/meta/classes/allarch.bbclass b/poky/meta/classes/allarch.bbclass
index 5bd5c44..a766a65 100644
--- a/poky/meta/classes/allarch.bbclass
+++ b/poky/meta/classes/allarch.bbclass
@@ -61,3 +61,5 @@
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 411d459..549f331 100644
--- a/poky/meta/classes/archiver.bbclass
+++ b/poky/meta/classes/archiver.bbclass
@@ -51,7 +51,7 @@
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 a65fcc6..5f4956a 100644
--- a/poky/meta/classes/base.bbclass
+++ b/poky/meta/classes/base.bbclass
@@ -150,6 +150,7 @@
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 @@
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 62d0d78..daa96f3 100644
--- a/poky/meta/classes/buildhistory.bbclass
+++ b/poky/meta/classes/buildhistory.bbclass
@@ -91,13 +91,19 @@
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 @@
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 @@
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 @@
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 23d82aa..90fad75 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 c0ed434..0000000
--- 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 c35dbe1..eb95350 100644
--- a/poky/meta/classes/create-spdx.bbclass
+++ b/poky/meta/classes/create-spdx.bbclass
@@ -28,6 +28,8 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 3e6a2f6..9d95107 100644
--- a/poky/meta/classes/cross.bbclass
+++ b/poky/meta/classes/cross.bbclass
@@ -93,3 +93,5 @@
}
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 70d1988..6c04ff9 100644
--- a/poky/meta/classes/cve-check.bbclass
+++ b/poky/meta/classes/cve-check.bbclass
@@ -111,6 +111,7 @@
}
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 39b1a1a..8367be9 100644
--- a/poky/meta/classes/debian.bbclass
+++ b/poky/meta/classes/debian.bbclass
@@ -14,6 +14,10 @@
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 dc9a947..facc46f 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 bc994f7..59c750a 100644
--- a/poky/meta/classes/distutils-common-base.bbclass
+++ b/poky/meta/classes/distutils-common-base.bbclass
@@ -23,3 +23,6 @@
${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 d41873e..850c535 100644
--- a/poky/meta/classes/distutils3-base.bbclass
+++ b/poky/meta/classes/distutils3-base.bbclass
@@ -4,3 +4,6 @@
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 be645d3..a6d8e87 100644
--- a/poky/meta/classes/distutils3.bbclass
+++ b/poky/meta/classes/distutils3.bbclass
@@ -14,6 +14,10 @@
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 aa54b4a..9c4c92b 100644
--- a/poky/meta/classes/go.bbclass
+++ b/poky/meta/classes/go.bbclass
@@ -2,6 +2,8 @@
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 @@
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 822a226..4db1b36 100644
--- a/poky/meta/classes/gobject-introspection.bbclass
+++ b/poky/meta/classes/gobject-introspection.bbclass
@@ -14,16 +14,18 @@
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 7149bc0..07b46ac 100644
--- a/poky/meta/classes/gtk-doc.bbclass
+++ b/poky/meta/classes/gtk-doc.bbclass
@@ -63,7 +63,7 @@
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 2fa69a4..2b0ce4a 100644
--- a/poky/meta/classes/image.bbclass
+++ b/poky/meta/classes/image.bbclass
@@ -15,6 +15,7 @@
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 @@
# 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 @@
# 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 @@
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 1e2f1b7..11532ec 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -37,7 +37,7 @@
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 @@
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 @@
"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 @@
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 @@
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 @@
###########################################################################
# 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 @@
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 a65cddd..e77107c 100644
--- a/poky/meta/classes/kernel-artifact-names.bbclass
+++ b/poky/meta/classes/kernel-artifact-names.bbclass
@@ -8,15 +8,20 @@
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 a50ea4f..b4338da 100644
--- a/poky/meta/classes/kernel-devicetree.bbclass
+++ b/poky/meta/classes/kernel-devicetree.bbclass
@@ -83,21 +83,29 @@
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 8718ce7..b0c971b 100644
--- a/poky/meta/classes/kernel-fitimage.bbclass
+++ b/poky/meta/classes/kernel-fitimage.bbclass
@@ -722,22 +722,30 @@
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 7b3c6be..473e28b 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -5,7 +5,7 @@
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 @@
# 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 @@
# 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[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_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 @@
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 @@
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 @@
}
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
+python do_strip() {
+ import shutil
- 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}'`
+ strip = d.getVar('STRIP')
+ extra_sections = d.getVar('KERNEL_IMAGE_STRIP_EXTRA_SECTIONS')
+ kernel_image = d.getVar('B') + "/" + d.getVar('KERNEL_OUTPUT_DIR') + "/vmlinux"
- for str in ${KERNEL_IMAGE_STRIP_EXTRA_SECTIONS}; do {
- if ! (echo "$headers" | grep -q "^$str$"); then
- bbwarn "Section not found: $str";
- fi
-
- "$CROSS_COMPILE"strip -s -R $str ${KERNEL_OUTPUT_DIR}/vmlinux
- }; done
-
- 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 @@
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 @@
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 64b7d8c..5e09c77 100644
--- a/poky/meta/classes/manpages.bbclass
+++ b/poky/meta/classes/manpages.bbclass
@@ -12,13 +12,14 @@
# 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 @@
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 da58cb4..0bfe945 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: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 @@
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 @@
[properties]
needs_exe_wrapper = true
-gtkdoc_exe_wrapper = '${B}/gtkdoc-qemuwrapper'
[host_machine]
system = '${@meson_operating_system('HOST_OS', d)}'
@@ -85,7 +102,9 @@
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 @@
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 1afce92..8e7b35d 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 73ad2ab..4a3e582 100644
--- a/poky/meta/classes/multilib.bbclass
+++ b/poky/meta/classes/multilib.bbclass
@@ -92,6 +92,10 @@
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 76a599b..fc7422c 100644
--- a/poky/meta/classes/native.bbclass
+++ b/poky/meta/classes/native.bbclass
@@ -195,3 +195,34 @@
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 14e2105..f8e9607 100644
--- a/poky/meta/classes/nativesdk.bbclass
+++ b/poky/meta/classes/nativesdk.bbclass
@@ -113,3 +113,5 @@
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 0000000..4ced07b
--- /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 8d9b59c..4a860f7 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
+ from oe.overlayfs import mountUnitName
-[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
-"""
+ 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 @@
'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 @@
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 e244de5..ef97274 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 92eba98..4927fb9 100644
--- a/poky/meta/classes/package.bbclass
+++ b/poky/meta/classes/package.bbclass
@@ -390,10 +390,6 @@
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 @@
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 @@
#
elffiles = {}
symlinks = {}
- kernmods = []
staticlibs = []
inodes = {}
libdir = os.path.abspath(dvar + os.sep + d.getVar("libdir"))
@@ -1143,9 +1140,6 @@
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 @@
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 @@
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 @@
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 1ae6393..2e75e22 100644
--- a/poky/meta/classes/package_deb.bbclass
+++ b/poky/meta/classes/package_deb.bbclass
@@ -316,6 +316,7 @@
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 902b7f9..f67cb0e 100644
--- a/poky/meta/classes/package_ipk.bbclass
+++ b/poky/meta/classes/package_ipk.bbclass
@@ -275,6 +275,7 @@
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 b075442..e9ff1f7 100644
--- a/poky/meta/classes/package_rpm.bbclass
+++ b/poky/meta/classes/package_rpm.bbclass
@@ -749,6 +749,7 @@
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 fafdd96..16f929b 100644
--- a/poky/meta/classes/populate_sdk_base.bbclass
+++ b/poky/meta/classes/populate_sdk_base.bbclass
@@ -92,6 +92,8 @@
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 @@
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 @@
}
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 9187f53..ef93b6a 100644
--- a/poky/meta/classes/populate_sdk_ext.bbclass
+++ b/poky/meta/classes/populate_sdk_ext.bbclass
@@ -626,7 +626,7 @@
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 @@
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 13fbaa5..3783c0c 100644
--- a/poky/meta/classes/python3native.bbclass
+++ b/poky/meta/classes/python3native.bbclass
@@ -4,7 +4,7 @@
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 bf529e9..cc1cbce 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_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 @@
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 @@
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 7fe9e3d..74035c3 100644
--- a/poky/meta/classes/rootfs-postcommands.bbclass
+++ b/poky/meta/classes/rootfs-postcommands.bbclass
@@ -21,7 +21,7 @@
# 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 @@
# 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 @@
}
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 3d8d784..bec4d63 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 ddba1e6..f288b4c 100644
--- a/poky/meta/classes/sanity.bbclass
+++ b/poky/meta/classes/sanity.bbclass
@@ -185,37 +185,6 @@
%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 @@
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 @@
# 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 @@
# 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 @@
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 @@
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 @@
# 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 @@
# 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 @@
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 4f3ae50..80f8382 100644
--- a/poky/meta/classes/scons.bbclass
+++ b/poky/meta/classes/scons.bbclass
@@ -5,9 +5,9 @@
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 @@
}
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 0000000..5098ae9
--- /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 8ca66ee..fd8499d 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 6e4eb09..b45da4f 100644
--- a/poky/meta/classes/sstate.bbclass
+++ b/poky/meta/classes/sstate.bbclass
@@ -22,7 +22,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 9980b3f..8982489 100644
--- a/poky/meta/classes/testimage.bbclass
+++ b/poky/meta/classes/testimage.bbclass
@@ -36,6 +36,7 @@
# 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 @@
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 @@
TEST_SUITES ?= "${DEFAULT_TEST_SUITES}"
+QEMU_USE_KVM ?= "1"
TEST_QEMUBOOT_TIMEOUT ?= "1000"
TEST_OVERALL_TIMEOUT ?= ""
TEST_TARGET ?= "qemu"
@@ -137,6 +139,7 @@
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 758a23a..8b2e74f 100644
--- a/poky/meta/classes/testsdk.bbclass
+++ b/poky/meta/classes/testsdk.bbclass
@@ -36,12 +36,14 @@
}
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 bae8cad..8d136e9 100644
--- a/poky/meta/classes/uboot-sign.bbclass
+++ b/poky/meta/classes/uboot-sign.bbclass
@@ -131,6 +131,20 @@
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 @@
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 3c7ccd6..4412d7c 100644
--- a/poky/meta/classes/uninative.bbclass
+++ b/poky/meta/classes/uninative.bbclass
@@ -2,7 +2,7 @@
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 34d6b8f..0466325 100644
--- a/poky/meta/classes/utility-tasks.bbclass
+++ b/poky/meta/classes/utility-tasks.bbclass
@@ -38,6 +38,7 @@
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 df0ab8d..bc594d3 100644
--- a/poky/meta/classes/waf.bbclass
+++ b/poky/meta/classes/waf.bbclass
@@ -43,14 +43,13 @@
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)