poky: subtree update:7231c10430..0ac99625bf
Alban Bedel (1):
systemd: Fix systemd when used with busybox less
Alejandro Hernandez Samaniego (3):
poky-tiny: Reduce busybox size by 13%
poky-tiny: Enable size optimization by default
python3: Update manifest
Alexander Kamensky (1):
kexec: arm64: disabled check if kaslr-seed dtb property was wiped
Alexander Kanavin (128):
systemd-boot: upgrade 246.2 -> 246.6
glib-2.0: upgrade 2.64.5 -> 2.66.1
cmake: update 3.18.2 -> 3.18.4
python3-pygobject: upgrade 3.36.1 -> 3.38.0
libdazzle: upgrade 3.36.0 -> 3.38.0
gobject-introspection: upgrade 1.64.1 -> 1.66.1
json-glib: upgrade 1.4.4 -> 1.6.0
ovmf: update edk2-stable202005 -> edk2-stable202008
gnu-config: update to latest revision
file: enable all built-in compression checkers
rpm: update 4.15.1 -> 4.16.0
elfutils: update 0.180 -> 0.181
ghostscript: update 9.52 -> 9.53.3
ltp: update 20200515 -> 20200930
gsettings-desktop-schemas: update 3.36.1 -> 3.38.0
libsecret: update 0.20.3 -> 0.20.4
mesa: update 20.1.8 -> 20.2.1
xf86-video-vesa: update 2.4.0 -> 2.5.0
lttng-modules: update 2.12.2 -> 2.12.3
webkitgtk: update 2.28.4 -> 2.30.1
dos2unix: update 7.4.1 -> 7.4.2
gnutls: update 3.16.4 -> 3.16.5
libcap: update 2.43 -> 2.44
vte: update 0.60.3 -> 0.62.1
libhandy: upgrade 0.0.13 -> 1.0.0
libportal: add a recipe
epiphany: upgrade 3.36.4 -> 3.38.1
gtk-doc: upgrade 1.32 -> 1.33.0
rpm: adjust MIPS64 N32 support
apt: remove host contamination with gtest
opkg-utils: correct priority matching in update-alternatives
libxml2: add a patch to fix python 3.9 support
python: update 3.8.5 -> 3.9.0
glib-2.0: update 2.66.1 -> 2.66.2
json-glib: fix reproducibility
spirv-tools: correctly set PV
spirv-tools: upgrade 2019.5 -> 2020.5
glslang: fix upstream version check
glslang: upgrade 8.13.3559 -> 8.13.3743
glslang: bump to a newer commit
shaderc: upgrade 2019.0 -> 2020.3
vulkan: update 1.2.135 -> 1.2.154
vulkan-samples: replace vulkan-demos
piglit: upgrade to latest revision
acpica: upgrade 20200717 -> 20200925
adwaita-icon-theme: upgrade 3.36.1 -> 3.38.0
at-spi2-atk: upgrade 2.34.2 -> 2.38.0
at-spi2-core: upgrade 2.36.1 -> 2.38.0
bison: upgrade 3.7.2 -> 3.7.3
createrepo-c: upgrade 0.16.0 -> 0.16.1
curl: upgrade 7.72.0 -> 7.73.0
debianutils: upgrade 4.11.1 -> 4.11.2
dhcpcd: upgrade 9.2.0 -> 9.3.1
dmidecode: upgrade 3.2 -> 3.3
dnf: upgrade 4.2.23 -> 4.4.0
ethtool: upgrade 5.8 -> 5.9
expat: upgrade 2.2.9 -> 2.2.10
gcr: upgrade 3.36.0 -> 3.38.0
glib-networking: upgrade 2.64.3 -> 2.66.0
gtk+3: upgrade 3.24.22 -> 3.24.23
help2man: upgrade 1.47.15 -> 1.47.16
i2c-tools: upgrade 4.1 -> 4.2
iw: upgrade 5.8 -> 5.9
kmscube: upgrade to latest revision
less: upgrade 562 -> 563
libdnf: upgrade 0.48.0 -> 0.54.2
libgudev: upgrade 233 -> 234
libinput: upgrade 1.16.1 -> 1.16.2
libuv: upgrade 1.39.0 -> 1.40.0
libva: upgrade 2.8.0 -> 2.9.0
libva-utils: update 2.8.0 -> 2.9.1
libwpe: upgrade 1.7.1 -> 1.8.0
libxkbcommon: upgrade 0.10.0 -> 1.0.1
openssh: upgrade 8.3p1 -> 8.4p1
openssl: upgrade 1.1.1g -> 1.1.1h
strace: upgrade 5.8 -> 5.9
sudo: upgrade 1.9.3 -> 1.9.3p1
vala: upgrade 0.48.9 -> 0.50.1
wpebackend-fdo: upgrade 1.7.1 -> 1.8.0
xkeyboard-config: upgrade 2.30 -> 2.31
u-boot: upgrade 2020.07 -> 2020.10
usbutils: upgrade 012 -> 013
nfs-utils: upgrade 2.5.1 -> 2.5.2
dropbear: upgrade 2020.80 -> 2020.81
btrfs-tools: upgrade 5.7 -> 5.9
git: upgrade 2.28.0 -> 2.29.2
go: upgrade 1.15.2 -> 1.15.3
mtools: upgrade 4.0.24 -> 4.0.25
python3-numpy: upgrade 1.19.1 -> 1.19.3
python3-git: upgrade 3.1.7 -> 3.1.11
python3-pyelftools: upgrade 0.26 -> 0.27
python3-pygments: upgrade 2.6.1 -> 2.7.2
python3-setuptools: upgrade 49.6.0 -> 50.3.2
asciidoc: upgrade 9.0.2 -> 9.0.4
iptables: upgrade 1.8.5 -> 1.8.6
libsolv: upgrade 0.7.14 -> 0.7.16
stress-ng: upgrade 0.11.21 -> 0.11.23
libhandy: upgrade 1.0.0 -> 1.0.1
freetype: upgrade 2.10.2 -> 2.10.4
linux-firmware: upgrade 20200817 -> 20201022
alsa: upgrade 1.2.3 -> 1.2.4
gstreamer1.0: upgrade 1.18.0 -> 1.18.1
x264: upgrade to latest revision
rt-tests/hwlatdetect: upgrade 1.8 -> 1.9
webkitgtk: upgrade 2.30.1 -> 2.30.2
diffoscope: upgrade 160 -> 161
enchant2: upgrade 2.2.9 -> 2.2.12
libassuan: upgrade 2.5.3 -> 2.5.4
libcap-ng: upgrade 0.7.11 -> 0.8
libevdev: upgrade 1.9.1 -> 1.10.0
libgcrypt: upgrade 1.8.6 -> 1.8.7
libmpc: upgrade 1.2.0 -> 1.2.1
libsoup-2.4: upgrade 2.70.0 -> 2.72.0
numactl: upgrade 2.0.13 -> 2.0.14
kea: use odd-even version scheme for updates
mesa: fix a build race
clutter-gst-3.0: do not call out to host gstreamer plugin scanner
conf-notes.txt: mention more important images than just sato
weston-init: correctly start under systemd
weston-init: fall back to fbdev under x32
wayland-utils: introduce a recipe
poky/conf-notes.txt: mention more important images than just sato
python3: split python target configuration into own class
python3-pycairo: use python3targetconfig
distutils3-base.bbclass: use python3targetconfig
meta: drop _PYTHON_SYSCONFIGDATA_NAME hacks
gpgme: use python3targetconfig
bitbake: lib/bb/fetch2/__init__.py: drop _PYTHON_SYSCONFIGDATA_NAME unsetting
Alexander Vickberg (1):
socat: make building with OpenSSL support optional
Alistair (1):
weston-init: Fix incorrect idle-time setting
Andrej Valek (1):
autotools: CONFIG_SHELL defaults
Andrey Zhizhikin (1):
insane: add GitLab /archive/ tests
Anibal Limon (1):
recipes-graphics: libxkbcommon disable build of libxkbregistry
Anuj Mittal (2):
glib-2.0: RDEPEND on dbusmock only when GI_DATA_ENABLED is True
distutils-common-base: fix LINKSHARED expansion
Bruce Ashfield (17):
kernel: provide module.lds for out of tree builds in v5.10+
linux-yocto/5.8: update to v5.8.15
linux-yocto/5.4: update to v5.4.71
linux-yocto/5.8: update to v5.8.16
linux-yocto/5.4: update to v5.4.72
linux-yocto/5.8: update to v5.8.17
linux-yocto/5.4: update to v5.4.73
linux-yocto-dev: move to v5.10-rc
linux-yocto/5.4: config cleanup / warnings
linux-yocto/5.8: config cleanup / warnings
linux-yocto/5.8: update to v5.8.18
linux-yocto/5.4: update to v5.4.75
kernel: relocate copy of module.lds to module compilation task
linux-yocto/5.4: perf: Alias SYS_futex with SYS_futex_time64 on 32-bit arches with 64bit time_t
linux-yocto/5.8: perf: Alias SYS_futex with SYS_futex_time64 on 32-bit arches with 64bit time_t
linux-yocto/5.8: ext4/tipc warning fixups
linux-yocto/5.4: update to v5.4.78
Chaitanya Vadrevu (1):
isoimage-isohybrid.py: Support adding files/dirs
Changqing Li (2):
timezone: upgrade to 2020d
vulkan-samples: fix do_compile failure
Chee Yang Lee (2):
bluez5: update to 5.55
ruby: update to 2.7.2
Chris Laplante (4):
bitbake: main: extract creation of argument parser into function so it can be utilized externally, e.g. by unit tests
bitbake: bb.ui: delete __init__.py to make bb.ui a namespace package
bitbake: cookerdata: tweak to avoid mutable default argument
cases/bbtests.py: ensure PACKAGE_CLASSES is set to RPM for bbtests.BitbakeTests.test_force_task_1
Dan Callaghan (1):
gdb: add PACKAGECONFIG for xz (lzma) compression support
Denys Dmytriyenko (1):
grep: upgrade 3.4 -> 3.5
Denys Zagorui (1):
binutils: reproducibility: reuse debug-prefix-map for stabs
Federico Pellegrin (1):
openssl: Add c_rehash to misc package and add perl runtime dependency
Fedor Ross (2):
sysvinit: remove bashism to be compatible with dash
eudev: remove bashism to be compatible with dash
Fredrik Gustafsson (1):
package management: Allow dynamic loading of PM
Gratian Crisan (1):
kernel-module-split.bbclass: identify kernel modconf files as configuration files
He Zhe (1):
lttng-modules: Backport a patch to fix btrfs build failure
Hombourger, Cedric (1):
bitbake: fetch2: use relative symlinks for anything pulled from PREMIRRORS
Hongxu Jia (1):
bitbake: Revert "bb.ui: delete __init__.py to make bb.ui a namespace package"
INC@Cisco) (1):
kernel-devsrc: improve reproducibility for arm64
Jason Wessel (2):
base-files/profile: Add universal resize function
systemd-serialgetty: Switch to TERM=linux
Jose Quaresma (31):
spirv-tools: import from meta-oe to OE core
spirv-tools: enable native build and install more header files
glslang: add receipe
shaderc: add receipe
spirv-tools: fix identation and cleanup install append
maintainers.inc: Add Jose Quaresma
gstreamer1.0: Fix reproducibility issue around libcap
gstreamer1.0: upgrade to version 1.18.0
gstreamer1.0-plugins-base: upgrade to version 1.18.0
gstreamer1.0-plugins-base: add new meson option as PACKAGECONFIG
gstreamer1.0-plugins-good: upgrade to version 1.18.0
gstreamer1.0-plugins-good: disable new meson options
gstreamer1.0-plugins-good: add new meson option as PACKAGECONFIG
gstreamer1.0-plugins-bad: upgrade to version 1.18.0
gstreamer1.0-plugins-bad: disable new meson options
gstreamer1.0-plugins-bad: add new meson options as PACKAGECONFIG
gstreamer1.0-plugins-ugly: upgrade to version 1.18.0
gstreamer1.0-python: upgrade to version 1.18.0
gstreamer1.0-python: install append is not need any more
gstreamer1.0-rtsp-server: upgrade to version 1.18.0
gstreamer1.0-vaapi: upgrade to version 1.18.0
gst-examples: upgrade to version 1.18.0
gstreamer1.0-omx: upgrade to version 1.18.0
gstreamer1.0-libav: upgrade to version 1.18.0
gst-devtools: add version 1.18.0 (gst-validate -> gst-devtools)
orc: Upgrade 0.4.31 -> 0.4.32
gstreamer1.0-plugins-good: on wayland qt5 needs qtwayland
gstreamer1.0-libav: add comercial license flags as ffmpeg needs this
gstreamer1.0-plugins-bad: add srt package config knob
ffmpeg: add srt package config knob
gstreamer1.0-plugins-good: add package config knob for the Raspberry Pi
Joseph Reynolds (1):
add new extrausers command passwd-expire
Joshua Watt (8):
documentation: Add Pipenv support
systemd: Re-enable chvt as non-root user without polkit
python3-pycryptodomex: upgrade 3.9.8 -> 3.9.9
weston-init: Stop running weston as root
python3-pycryptodome: upgrade 3.9.8 -> 3.9.9
bitbake: bitbake: hashserve: Add async client
bitbake: bitbake: hashserve: Add support for readonly upstream
bitbake: bitbake: cache: Remove bad keys() function
Kai Kang (1):
sudo: fix multilib conflict
Khasim Mohammed (1):
grub: add grub-nativesdk
Khem Raj (34):
webkitgtk: Disable gold linker and JIT on riscv
init-ifupdown: Define interfaces file for riscv emulators
init-ifupdown: Merge all interface files for differnet qemus
musl: Update to latest master
qemuboot.bbclass: Fix a typo
musl: Add .file directive in crt assembly files
musl: Update to latest
rpm: Fix error.h handing properly on musl
gdb: Update to 10.x release
numactl: Link with libatomic on rv64/rv32
gstreamer: Fix build on 32bit arches with 64bit time_t
rt-tests: Enable only for x86/ppc64 architectures
lto: Add global LTO distro policy file
python3: Enable lto if its in DISTRO_FEATURES
lto.inc: Add -ffat-lto-objects and -fuse-linker-plugin
lto: Introduce LTOEXTRA variable
libaio: Disable LTO
weston: Fix linking with LTO
lto.inc: Disable LTO for xserver-xorg
gcc: Do no parameterize LTO configuration flags
puzzles: Check for excessive constant arguments
lto.inc: Disable LTO for perf
gcc: Handle duplicate names for variables
musl: Update to latest master
lrzsz: Use Cross AR during compile
gawk: Avoid using host ar during cross compile
lto.inc: Disable LTO for webkit
python-numpy: Add support for riscv32
arch-riscv: Enable qemu-usermode on rv32
python3targetconfig.bbclass: Make py3 dep and tasks only for target recipes
go: Update to 1.15.5
binutils: Fix linker errors on chromium/ffmpeg on aarch64
python3-numpy: Upgrade to 1.19.4
python3-numpy: Add ptest
Konrad Weihmann (3):
oeqa/core/context: expose results as variable
oeqa/core/context: initialize _run_end_time
testimage: print results for interrupted runs
Lee Chee Yang (5):
bitbake: BBHandler: prompt error when task name contain expression
libproxy: fix CVE-2020-26154
python3: fix CVE-2020-27619
python3: whitelist CVE-2020-15523
qemu: fix CVE-2020-24352
Loic Domaigne (1):
roofs_*.bbclass: fix missing vardeps for do_rootfs
Luca Boccassi (1):
dbus: split -common and -tools out of main package
Mark Jonas (4):
libsdl2: Fix directfb syntax error
libsdl2: Fix directfb SDL_RenderFillRect
libbsd: Remove BSD-4-Clause from main package
libsdl2: Add directfb to PACKAGECONFIG rdepends
Martin Jansa (5):
tune-arm9tdmi.inc: include arm9tdmi in PACKAGE_ARCHS
gnutls: explicitly set --with-librt-prefix
webkitgtk: fix opengl PACKAGECONFIG
webkitgtk: fix build with x11 enabled
weston: add pam to REQUIRED_DISTRO_FEATURES
Matt Madison (1):
layer.conf: fix syntax error in PATH setting
Max Krummenacher (1):
linux-firmware: rdepend on license for all nvidia packages
Maxime Roussin-BĂ©langer (3):
meta: fix some unresponsive homepages and bugtracker links
bitbake: cache: remove unused variables.
bitbake: monitordisk: remove unused function parameter
Mert Kirpici (2):
bitbake: fetch2: add zstd support to unpack
bitbake: doc/conf.py: add missing import sys
Mingli Yu (2):
bitbake.conf: Exclude ${CCACHE_DIR} from pseudo database
update_udev_hwdb: clean hwdb.bin
Nathan Rossi (4):
vim: add nativesdk to BBCLASSEXTEND
rsync: add nativesdk to BBCLASSEXTEND
diffstat: add nativesdk to BBCLASSEXTEND
cml1.bbclass: Handle ncurses-native being available via pkg-config
Nicolas Dechesne (17):
conf: update for release 3.2
poky.yaml: remove unused variables
poky.yaml: updates for 3.2
sphinx: releases: add link to 3.1.3
what-i-wish-id-known: replace labels with references to section title
sdk-manual: replace labels with references to section title
ref-manual: replace labels with references to section title
dev-manual: replace labels with references to section title
kernel-dev: replace labels with references to section title
test-manual: remove unused labels
bsp-guide: remove unused labels
kernel-dev: remove unused labels
profile-manual: remove unused labels
sdk-manual: remove unused labels
toaster-manual: remove unused labels
Makefile: enable parallel build
bitbake: docs: Makefile: enable parallel build
Norbert Kaminski (1):
grub: Add support for RISC-V
Paul Barker (11):
conf.py: Improve TOC and Outline depth in PDF output
conf.py: Add oe_git directive
documentation/README: Refer to top-level README for contributions
dev-manual-common-tasks: Fix refs to testing branches
dev-manual-common-tasks: Update & move patchwork reference
dev-manual-common-tasks: Tidy up patch submission process
dev-manual-common-tasks: Describe git-send-email accurately
dev-manual-common-tasks: Describe how to handle patch feedback
dev-manual-common-tasks: Describe how to propose changes to stable branches
dev-manual-common-tasks: Re-order patch submission instructions
poky.yaml: Define DISTRO_NAME_NO_CAP_LTS
Paul Eggleton (10):
ref-manual: add reference anchors for each QA check
ref-manual: fix for features_check class change
ref-manual: QA check updates
ref-manual: add PSEUDO_IGNORE_PATHS
ref-manual: add IMAGE_VERSION_SUFFIX variable
ref-manual: add IMAGE_NAME_SUFFIX variable
ref-manual: add migration section for 3.2
ref-manual: add IMAGE_LINK_NAME
ref-manual: add migration info for image-artifact-names
ref-manual: add migration info about MLPREFIX changes
Peter Bergin (2):
rt-tests: backport patch that enable build for all archs
Revert "rt-tests: Enable only for x86/ppc64 architectures"
Purushottam choudhary (1):
systemd: selinux hook handling to enumerate nexthop
Randy MacLeod (1):
libsdl2: Disable video-rpi
Randy Witt (4):
numactl: Add the recipe for numactl
numactl: Remove COMPATIBLE_HOST restrictions
numactl: Skip the ptests when numa is not supported
rt-tests: Update recipes to use 1.8
Ricardo Salveti (1):
dosfstools: add mkfs.vfat to ALTERNATIVE
Richard Leitner (4):
deb: replace deprecated apt force-yes argument
xcb-proto: update to 1.14.1
deb: export INTERCEPT_DIR for remove actions
weston-init: introduce WESTON_GROUP
Richard Purdie (21):
ref-manual/faq: Add entry for why binaries are changed in images
dev-manual: Add a note about prelink changing prebuild binaries
sstatesig: Log timestamps for hashequiv in reprodubile builds for do_package
netbase: Add whitespace to purge bogus hash equivalence from autobuilder
scripts/buildhistory_analysis: Avoid tracebacks from file comparision code
maintainers: Add myself as numactl maintainer to avoid QA errors
bitbake: bitbake: Post release version bump
poky.conf: Post release version bump
libxcb: Fix install file owner/group
bitbake: siggen: Remove broken optimisation
bitbake: fetch2/git: Document that we won't support passwords in git urls
sstatesig: Remove workaround for bitbake taskhash bug
ptest-runner: Fix license as it contains 'or later' clause
libdnf: Fix license as it contains 'or later' clause
alsa-utils: Fix license to GPLv2 only
overview-manual-concepts: Fix the compiler bootstrap process
bitbake: Add missing documentation Makefile
oeqa/commands: Fix compatibility with python 3.9
fs-perms: Ensure /usr/src/debug/ file modes are correct
e2fsprogs: Fix a ptest permissions determinism issue
uninative: Don't use single sstate for pseudo-native
Robert P. J. Day (3):
ref-manual/ref-variables: "PACKAGE_FEEDS_ARCHS" -> "PACKAGE_FEED_ARCHS"
README: "yocto-project-qs" -> "brief-yoctoprojectqs"
adt-manual: delete obsolete ADT manual, and related content
Ross Burton (13):
rpm: use libgcrypt instead of OpenSSL for cryptography
syslinux: add link to upstream discussion in patch
json-glib: use PACKAGECONFIG for tests
json-glib: update patch status
libical: backport a patch to fix build with ICU 68.1
webkitgtk: fix build with ICU 68.1
cve-check: show real PN/PV
python3: add CVE-2007-4559 to whitelist
sqlite3: add CVE-2015-3717 to whitelist
gstreamer1.0-rtsp-server: set CVE_PRODUCT
gstreamer1.0-plugins-base: set CVE_PRODUCT
bitbake: providers: selected version not available should be a warning
cve-update-db-native: handle all-wildcard versions
Saul Wold (1):
classes/buildhistory: record LICENSE
Sinan Kaya (2):
volatile-binds: add /srv to mount and install
kernel-uboot: allow compression option to be configurable
Stacy Gaikovaia (1):
valgrind: helgrind: Intercept libc functions
Steve Sakoman (3):
netbase: update SRC_URI to reflect new file name
openssh: whitelist CVE-2014-9278
cups: whitelist CVE-2018-6553
Tim Orling (22):
python3-atomicwrites: move from meta-python
python3-attrs: move from meta-python
python3-iniconfig: move from meta-python
python3-more-itertools: move from meta-python
python3-pathlib2: move from meta-python
python3-toml: move from meta-python
python3-py: move from meta-python
python3-setuptools-scm: move from meta-python
python3-packaging: move from meta-python
python3-wcwidth: move from meta-python
python3-zipp: move from meta-python
python3-importlib-metadata: move from meta-python
python3-pluggy: move from meta-python
python3-pytest: move from meta-python
maintainers.inc: add self for new pytest packages
python3-more-itertools: upgrade 8.5.0 -> 8.6.0
python3-importlib-metadata: upgrade 2.0.0 to 3.1.0
python3-pytest: RDEPENDS on python3-toml
python3-hypothesis: move from meta-python
python3-sortedcontainers: move from meta-python
maintainers.inc: add self for new python recipes
python3-hypothesis: upgrade 5.41.3 -> 5.41.4
Tom Hochstein (1):
mesa: Add xcb-fixes to loader when using x11 and dri3
Vyacheslav Yurkov (1):
license_image.bbclass: use canonical name for license files
Wonmin Jung (1):
kernel: Set proper LD in KERNEL_KCONFIG_COMMAND
Yann Dirson (6):
systemtap: split examples and python scripts out of main package
systemtap: remove extra dependencies
systemtap: clarify the relation between exporter and python3-probes feature
systemtap: fix install when python3-probes is disabled in PACKAGECONFIG
systemtap: split runtime material in its own package
systemtap: avoid RDEPENDS on python3-core when not using python3
Yann E. MORIN (2):
common-licenses: add bzip2-1.0.4
recipes-core/busybox: fixup licensing information
Yi Zhao (5):
resolvconf: do not install dhclient hooks
connman: set service to conflict with systemd-networkd
pulseaudio: unify volatiles file name
dhcpcd: install dhcpcd to /sbin rather than /usr/sbin
dhcpcd: upgrade 9.3.1 -> 9.3.2
Yongxin Liu (2):
grub: fix several CVEs in grub 2.04
grub: clean up CVE patches
zangrc (18):
python3-pycairo: upgrade 1.19.1 -> 1.20.0
iproute2: upgrade 5.8.0 -> 5.9.0
icu: upgrade 67.1 -> 68.1
libdnf: upgrade 0.54.2 -> 0.55.0
libinput: upgrade 1.16.2 -> 1.16.3
enchant2: upgrade 2.2.12 -> 2.2.13
libdrm: upgrade 2.4.102 -> 2.4.103
gmp: upgrade 6.2.0 -> 6.2.1
gpgme: upgrade 1.14.0 -> 1.15.0
libunwind: upgrade 1.4.0 -> 1.5.0
msmtp: upgrade 1.8.12 -> 1.8.13
gtk-doc: upgrade 1.33.0 -> 1.33.1
hdparm: upgrade 9.58 -> 9.60
libcap-ng: upgrade 0.8 -> 0.8.1
libjpeg-turbo: upgrade 2.0.5 -> 2.0.6
libxkbcommon: upgrade 1.0.1 -> 1.0.3
pulseaudio: upgrade 13.0 -> 14.0
wireless-regdb: upgrade 2020.04.29 -> 2020.11.20
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I22fa6c7160be5ff2105113cc63acc25f8977ae4e
diff --git a/poky/meta/classes/autotools.bbclass b/poky/meta/classes/autotools.bbclass
index 70804b8..2ceb790 100644
--- a/poky/meta/classes/autotools.bbclass
+++ b/poky/meta/classes/autotools.bbclass
@@ -90,7 +90,7 @@
cfgscript=`python3 -c "import os; print(os.path.relpath(os.path.dirname('${CONFIGURE_SCRIPT}'), '.'))"`/$cfgscript_name
if [ -x "$cfgscript" ] ; then
bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@"
- if ! CONFIG_SHELL=/bin/bash ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"; then
+ if ! CONFIG_SHELL=${CONFIG_SHELL-/bin/bash} ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"; then
bbnote "The following config.log files may provide further information."
bbnote `find ${B} -ignore_readdir_race -type f -name config.log`
bbfatal_log "configure failed"
diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass
index 5a0b0c6..78ae28b 100644
--- a/poky/meta/classes/base.bbclass
+++ b/poky/meta/classes/base.bbclass
@@ -231,6 +231,7 @@
if isinstance(e, bb.event.ConfigParsed):
if not d.getVar("NATIVELSBSTRING", False):
d.setVar("NATIVELSBSTRING", lsb_distro_identifier(d))
+ d.setVar("ORIGNATIVELSBSTRING", d.getVar("NATIVELSBSTRING", False))
d.setVar('BB_VERSION', bb.__version__)
# There might be no bb.event.ConfigParsed event if bitbake server is
diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass
index 7d5e3eb..daae056 100644
--- a/poky/meta/classes/buildhistory.bbclass
+++ b/poky/meta/classes/buildhistory.bbclass
@@ -115,6 +115,7 @@
self.packages = ""
self.srcrev = ""
self.layer = ""
+ self.license = ""
self.config = ""
self.src_uri = ""
@@ -218,6 +219,7 @@
pv = d.getVar('PV')
pr = d.getVar('PR')
layer = bb.utils.get_file_layer(d.getVar('FILE'), d)
+ license = d.getVar('LICENSE')
pkgdata_dir = d.getVar('PKGDATA_DIR')
packages = ""
@@ -258,6 +260,7 @@
rcpinfo.depends = sortlist(oe.utils.squashspaces(d.getVar('DEPENDS') or ""))
rcpinfo.packages = packages
rcpinfo.layer = layer
+ rcpinfo.license = license
rcpinfo.config = sortlist(oe.utils.squashspaces(d.getVar('PACKAGECONFIG') or ""))
rcpinfo.src_uri = oe.utils.squashspaces(d.getVar('SRC_URI') or "")
write_recipehistory(rcpinfo, d)
@@ -369,6 +372,7 @@
f.write(u"DEPENDS = %s\n" % rcpinfo.depends)
f.write(u"PACKAGES = %s\n" % rcpinfo.packages)
f.write(u"LAYER = %s\n" % rcpinfo.layer)
+ f.write(u"LICENSE = %s\n" % rcpinfo.license)
f.write(u"CONFIG = %s\n" % rcpinfo.config)
f.write(u"SRC_URI = %s\n" % rcpinfo.src_uri)
diff --git a/poky/meta/classes/cml1.bbclass b/poky/meta/classes/cml1.bbclass
index 9b9866f..d319d66 100644
--- a/poky/meta/classes/cml1.bbclass
+++ b/poky/meta/classes/cml1.bbclass
@@ -40,6 +40,14 @@
except OSError:
mtime = 0
+ # setup native pkg-config variables (kconfig scripts call pkg-config directly, cannot generically be overriden to pkg-config-native)
+ d.setVar("PKG_CONFIG_DIR", "${STAGING_DIR_NATIVE}${libdir_native}/pkgconfig")
+ d.setVar("PKG_CONFIG_PATH", "${PKG_CONFIG_DIR}:${STAGING_DATADIR_NATIVE}/pkgconfig")
+ d.setVar("PKG_CONFIG_LIBDIR", "${PKG_CONFIG_DIR}")
+ d.setVarFlag("PKG_CONFIG_SYSROOT_DIR", "unexport", "1")
+ # ensure that environment variables are overwritten with this tasks 'd' values
+ d.appendVar("OE_TERMINAL_EXPORTS", " PKG_CONFIG_DIR PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR")
+
oe_terminal("sh -c \"make %s; if [ \\$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
d.getVar('PN') + ' Configuration', d)
diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass
index 25cefda..d843e7c 100644
--- a/poky/meta/classes/cve-check.bbclass
+++ b/poky/meta/classes/cve-check.bbclass
@@ -208,6 +208,9 @@
"""
from distutils.version import LooseVersion
+ pn = d.getVar("PN")
+ real_pv = d.getVar("PV")
+
cves_unpatched = []
# CVE_PRODUCT can contain more than one product (eg. curl/libcurl)
products = d.getVar("CVE_PRODUCT").split()
@@ -217,7 +220,7 @@
pv = d.getVar("CVE_VERSION").split("+git")[0]
# If the recipe has been whitlisted we return empty lists
- if d.getVar("PN") in d.getVar("CVE_CHECK_PN_WHITELIST").split():
+ if pn in d.getVar("CVE_CHECK_PN_WHITELIST").split():
bb.note("Recipe has been whitelisted, skipping check")
return ([], [], [])
@@ -286,12 +289,12 @@
vulnerable = vulnerable_start or vulnerable_end
if vulnerable:
- bb.note("%s-%s is vulnerable to %s" % (product, pv, cve))
+ bb.note("%s-%s is vulnerable to %s" % (pn, real_pv, cve))
cves_unpatched.append(cve)
break
if not vulnerable:
- bb.note("%s-%s is not vulnerable to %s" % (product, pv, cve))
+ bb.note("%s-%s is not vulnerable to %s" % (pn, real_pv, cve))
# TODO: not patched but not vulnerable
patched_cves.add(cve)
diff --git a/poky/meta/classes/distutils-common-base.bbclass b/poky/meta/classes/distutils-common-base.bbclass
index 94b5fd4..43a38e5 100644
--- a/poky/meta/classes/distutils-common-base.bbclass
+++ b/poky/meta/classes/distutils-common-base.bbclass
@@ -11,7 +11,7 @@
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"
+export LINKFORSHARED = "${SECURITY_CFLAGS} -Xlinker -export-dynamic"
FILES_${PN} += "${libdir}/* ${libdir}/${PYTHON_DIR}/*"
diff --git a/poky/meta/classes/distutils3-base.bbclass b/poky/meta/classes/distutils3-base.bbclass
index 7dbf07a..a277d1c 100644
--- a/poky/meta/classes/distutils3-base.bbclass
+++ b/poky/meta/classes/distutils3-base.bbclass
@@ -1,5 +1,5 @@
DEPENDS += "${@["${PYTHON_PN}-native ${PYTHON_PN}", ""][(d.getVar('PACKAGES') == '')]}"
RDEPENDS_${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' == 'class-target']}"
-inherit distutils-common-base python3native
+inherit distutils-common-base python3native python3targetconfig
diff --git a/poky/meta/classes/extrausers.bbclass b/poky/meta/classes/extrausers.bbclass
index 32569e9..90811bf 100644
--- a/poky/meta/classes/extrausers.bbclass
+++ b/poky/meta/classes/extrausers.bbclass
@@ -46,6 +46,9 @@
usermod)
perform_usermod "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} $opts"
;;
+ passwd-expire)
+ perform_passwd_expire "${IMAGE_ROOTFS}" "$opts"
+ ;;
groupmod)
perform_groupmod "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} $opts"
;;
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index c6dff96..cf2165c 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -976,8 +976,8 @@
package_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"github\.com/.+/.+/archive/.+", url):
- package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub archives" % pn, d)
+ if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url):
+ package_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):
diff --git a/poky/meta/classes/kernel-module-split.bbclass b/poky/meta/classes/kernel-module-split.bbclass
index 221022b..c8ede26 100644
--- a/poky/meta/classes/kernel-module-split.bbclass
+++ b/poky/meta/classes/kernel-module-split.bbclass
@@ -120,6 +120,7 @@
files = d.getVar('FILES_%s' % pkg)
files = "%s /etc/modules-load.d/%s.conf /etc/modprobe.d/%s.conf" % (files, basename, basename)
d.setVar('FILES_%s' % pkg, files)
+ d.setVar('CONFFILES_%s' % pkg, files)
if "description" in vals:
old_desc = d.getVar('DESCRIPTION_' + pkg) or ""
diff --git a/poky/meta/classes/kernel-uboot.bbclass b/poky/meta/classes/kernel-uboot.bbclass
index 87f0265..b1e7ac0 100644
--- a/poky/meta/classes/kernel-uboot.bbclass
+++ b/poky/meta/classes/kernel-uboot.bbclass
@@ -1,3 +1,7 @@
+# fitImage kernel compression algorithm
+FIT_KERNEL_COMP_ALG ?= "gzip"
+FIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz"
+
uboot_prep_kimage() {
if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then
vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux"
@@ -11,8 +15,8 @@
linux_comp="none"
else
vmlinux_path="vmlinux"
- linux_suffix=".gz"
- linux_comp="gzip"
+ linux_suffix="${FIT_KERNEL_COMP_ALG_EXTENSION}"
+ linux_comp="${FIT_KERNEL_COMP_ALG}"
fi
[ -n "${vmlinux_path}" ] && ${OBJCOPY} -O binary -R .note -R .comment -S "${vmlinux_path}" linux.bin
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index 78def5b..1a444ef 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -383,6 +383,10 @@
# other kernel modules and will look at this
# file to do symbol lookups
cp ${B}/Module.symvers ${STAGING_KERNEL_BUILDDIR}/
+ # 5.10+ kernels have module.lds that we need to copy for external module builds
+ if [ -e "${B}/scripts/module.lds" ]; then
+ install -Dm 0644 ${B}/scripts/module.lds ${STAGING_KERNEL_BUILDDIR}/scripts/module.lds
+ fi
else
bbnote "no modules to compile"
fi
@@ -586,7 +590,7 @@
inherit cml1
-KCONFIG_CONFIG_COMMAND_append = " HOSTLDFLAGS='${BUILD_LDFLAGS}'"
+KCONFIG_CONFIG_COMMAND_append = " LD='${KERNEL_LD}' HOSTLDFLAGS='${BUILD_LDFLAGS}'"
EXPORT_FUNCTIONS do_compile do_install do_configure
diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass
index 702e9f9..119c8df 100644
--- a/poky/meta/classes/license_image.bbclass
+++ b/poky/meta/classes/license_image.bbclass
@@ -125,7 +125,6 @@
licenses = os.listdir(pkg_license_dir)
for lic in licenses:
- rootfs_license = os.path.join(rootfs_license_dir, lic)
pkg_license = os.path.join(pkg_license_dir, lic)
pkg_rootfs_license = os.path.join(pkg_rootfs_license_dir, lic)
@@ -144,6 +143,8 @@
bad_licenses) == False:
continue
+ # Make sure we use only canonical name for the license file
+ rootfs_license = os.path.join(rootfs_license_dir, "generic_%s" % generic_lic)
if not os.path.exists(rootfs_license):
oe.path.copyhardlink(pkg_license, rootfs_license)
diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass
index e6236c0..247bdc7 100644
--- a/poky/meta/classes/package.bbclass
+++ b/poky/meta/classes/package.bbclass
@@ -2340,7 +2340,7 @@
# cache. This is useful if an item this class depends on changes in a
# way that the output of this class changes. rpmdeps is a good example
# as any change to rpmdeps requires this to be rerun.
- # PACKAGE_BBCLASS_VERSION = "2"
+ # PACKAGE_BBCLASS_VERSION = "4"
# Init cachedpath
global cpath
diff --git a/poky/meta/classes/python3-dir.bbclass b/poky/meta/classes/python3-dir.bbclass
index 036d714..f51f971 100644
--- a/poky/meta/classes/python3-dir.bbclass
+++ b/poky/meta/classes/python3-dir.bbclass
@@ -1,4 +1,4 @@
-PYTHON_BASEVERSION = "3.8"
+PYTHON_BASEVERSION = "3.9"
PYTHON_ABI = ""
PYTHON_DIR = "python${PYTHON_BASEVERSION}"
PYTHON_PN = "python3"
diff --git a/poky/meta/classes/python3native.bbclass b/poky/meta/classes/python3native.bbclass
index d98fb4c..2e3a88c 100644
--- a/poky/meta/classes/python3native.bbclass
+++ b/poky/meta/classes/python3native.bbclass
@@ -17,8 +17,6 @@
export PYTHON_LIBRARY="${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so"
export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
-export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
-
# suppress host user's site-packages dirs.
export PYTHONNOUSERSITE = "1"
diff --git a/poky/meta/classes/python3targetconfig.bbclass b/poky/meta/classes/python3targetconfig.bbclass
new file mode 100644
index 0000000..fc1025c
--- /dev/null
+++ b/poky/meta/classes/python3targetconfig.bbclass
@@ -0,0 +1,17 @@
+inherit python3native
+
+EXTRA_PYTHON_DEPENDS ?= ""
+EXTRA_PYTHON_DEPENDS_class-target = "python3"
+DEPENDS_append = " ${EXTRA_PYTHON_DEPENDS}"
+
+do_configure_prepend_class-target() {
+ export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
+}
+
+do_compile_prepend_class-target() {
+ export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
+}
+
+do_install_prepend_class-target() {
+ export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
+}
diff --git a/poky/meta/classes/qemuboot.bbclass b/poky/meta/classes/qemuboot.bbclass
index 8246762..4b7532b 100644
--- a/poky/meta/classes/qemuboot.bbclass
+++ b/poky/meta/classes/qemuboot.bbclass
@@ -43,7 +43,7 @@
# QB_NETWORK_DEVICE_prepend might be used, since Qemu enumerates the eth*
# devices in reverse order to -device arguments.
#
-# QB_TAP_OPT: netowrk option for 'tap' mode, e.g.,
+# QB_TAP_OPT: network option for 'tap' mode, e.g.,
# "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
# Note, runqemu will replace "@TAP@" with the one which is used, such as tap0, tap1 ...
#
diff --git a/poky/meta/classes/rootfs_deb.bbclass b/poky/meta/classes/rootfs_deb.bbclass
index 2b93796..ef616da 100644
--- a/poky/meta/classes/rootfs_deb.bbclass
+++ b/poky/meta/classes/rootfs_deb.bbclass
@@ -7,7 +7,7 @@
do_rootfs[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot"
do_populate_sdk[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot bzip2-native:do_populate_sysroot"
do_rootfs[recrdeptask] += "do_package_write_deb do_package_qa"
-do_rootfs[vardeps] += "PACKAGE_FEED_URIS"
+do_rootfs[vardeps] += "PACKAGE_FEED_URIS PACKAGE_FEED_BASE_PATHS PACKAGE_FEED_ARCHS"
do_rootfs[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
do_populate_sdk[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
diff --git a/poky/meta/classes/rootfs_ipk.bbclass b/poky/meta/classes/rootfs_ipk.bbclass
index e73d2bf..f1e0219 100644
--- a/poky/meta/classes/rootfs_ipk.bbclass
+++ b/poky/meta/classes/rootfs_ipk.bbclass
@@ -11,7 +11,7 @@
do_rootfs[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot"
do_populate_sdk[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot"
do_rootfs[recrdeptask] += "do_package_write_ipk do_package_qa"
-do_rootfs[vardeps] += "PACKAGE_FEED_URIS"
+do_rootfs[vardeps] += "PACKAGE_FEED_URIS PACKAGE_FEED_BASE_PATHS PACKAGE_FEED_ARCHS"
do_rootfs[lockfiles] += "${WORKDIR}/ipk.lock"
do_populate_sdk[lockfiles] += "${WORKDIR}/ipk.lock"
diff --git a/poky/meta/classes/rootfs_rpm.bbclass b/poky/meta/classes/rootfs_rpm.bbclass
index 82584f3..0af7d65 100644
--- a/poky/meta/classes/rootfs_rpm.bbclass
+++ b/poky/meta/classes/rootfs_rpm.bbclass
@@ -24,7 +24,7 @@
do_populate_sdk[depends] += "${RPMROOTFSDEPENDS}"
do_rootfs[recrdeptask] += "do_package_write_rpm do_package_qa"
-do_rootfs[vardeps] += "PACKAGE_FEED_URIS"
+do_rootfs[vardeps] += "PACKAGE_FEED_URIS PACKAGE_FEED_BASE_PATHS PACKAGE_FEED_ARCHS"
python () {
if d.getVar('BUILD_IMAGES_FROM_FEEDS'):
diff --git a/poky/meta/classes/scons.bbclass b/poky/meta/classes/scons.bbclass
index 6b171ca..4f3ae50 100644
--- a/poky/meta/classes/scons.bbclass
+++ b/poky/meta/classes/scons.bbclass
@@ -5,7 +5,6 @@
EXTRA_OESCONS ?= ""
do_configure() {
- unset _PYTHON_SYSCONFIGDATA_NAME
if [ -n "${CONFIGURESTAMPFILE}" ]; then
if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then
${STAGING_BINDIR_NATIVE}/scons --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS}
@@ -17,13 +16,11 @@
}
scons_do_compile() {
- unset _PYTHON_SYSCONFIGDATA_NAME
${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \
die "scons build execution failed."
}
scons_do_install() {
- unset _PYTHON_SYSCONFIGDATA_NAME
${STAGING_BINDIR_NATIVE}/scons install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \
die "scons install execution failed."
}
diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass
index a8ae751..d08d950 100644
--- a/poky/meta/classes/sstate.bbclass
+++ b/poky/meta/classes/sstate.bbclass
@@ -72,6 +72,7 @@
SSTATE_ARCHS = " \
${BUILD_ARCH} \
+ ${BUILD_ARCH}_${ORIGNATIVELSBSTRING} \
${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} \
${BUILD_ARCH}_${TARGET_ARCH} \
${SDK_ARCH}_${SDK_OS} \
@@ -80,6 +81,7 @@
${PACKAGE_ARCH} \
${PACKAGE_EXTRA_ARCHS} \
${MACHINE_ARCH}"
+SSTATE_ARCHS[vardepsexclude] = "ORIGNATIVELSBSTRING"
SSTATE_MANMACH ?= "${SSTATE_PKGARCH}"
@@ -121,6 +123,8 @@
python () {
if bb.data.inherits_class('native', d):
d.setVar('SSTATE_PKGARCH', d.getVar('BUILD_ARCH', False))
+ if d.getVar("PN") == "pseudo-native":
+ d.appendVar('SSTATE_PKGARCH', '_${ORIGNATIVELSBSTRING}')
elif bb.data.inherits_class('crosssdk', d):
d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"))
elif bb.data.inherits_class('cross', d):
diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass
index e3feef0..78da4b0 100644
--- a/poky/meta/classes/testimage.bbclass
+++ b/poky/meta/classes/testimage.bbclass
@@ -367,6 +367,7 @@
package_extraction(d, tc.suites)
results = None
+ complete = False
orig_sigterm_handler = signal.signal(signal.SIGTERM, sigterm_exception)
try:
# We need to check if runqemu ends unexpectedly
@@ -378,6 +379,7 @@
except ValueError:
pass
results = tc.runTests()
+ complete = True
except (KeyboardInterrupt, BlockingIOError) as err:
if isinstance(err, KeyboardInterrupt):
bb.error('testimage interrupted, shutting down...')
@@ -385,20 +387,21 @@
bb.error('runqemu failed, shutting down...')
if results:
results.stop()
- results = None
+ results = tc.results
finally:
signal.signal(signal.SIGTERM, orig_sigterm_handler)
tc.target.stop()
# Show results (if we have them)
- if not results:
+ if results:
+ configuration = get_testimage_configuration(d, 'runtime', machine)
+ results.logDetails(get_testimage_json_result_dir(d),
+ configuration,
+ get_testimage_result_id(configuration),
+ dump_streams=d.getVar('TESTREPORT_FULLLOGS'))
+ results.logSummary(pn)
+ if not results or not complete:
bb.fatal('%s - FAILED - tests were interrupted during execution' % pn, forcelog=True)
- configuration = get_testimage_configuration(d, 'runtime', machine)
- results.logDetails(get_testimage_json_result_dir(d),
- configuration,
- get_testimage_result_id(configuration),
- dump_streams=d.getVar('TESTREPORT_FULLLOGS'))
- results.logSummary(pn)
if not results.wasSuccessful():
bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, forcelog=True)
diff --git a/poky/meta/classes/useradd_base.bbclass b/poky/meta/classes/useradd_base.bbclass
index 0d0bdb8..7f5b9b7 100644
--- a/poky/meta/classes/useradd_base.bbclass
+++ b/poky/meta/classes/useradd_base.bbclass
@@ -145,3 +145,21 @@
fi
set -e
}
+
+perform_passwd_expire () {
+ local rootdir="$1"
+ local opts="$2"
+ bbnote "${PN}: Performing equivalent of passwd --expire with [$opts]"
+ # Directly set sp_lstchg to 0 without using the passwd command: Only root can do that
+ local username=`echo "$opts" | awk '{ print $NF }'`
+ local user_exists="`grep "^$username:" $rootdir/etc/passwd || true`"
+ if test "x$user_exists" != "x"; then
+ eval flock -x $rootdir${sysconfdir} -c \"$PSEUDO sed -i \''s/^\('$username':[^:]*\):[^:]*:/\1:0:/'\' $rootdir/etc/shadow \" || true
+ local passwd_lastchanged="`grep "^$username:" $rootdir/etc/shadow | cut -d: -f3`"
+ if test "x$passwd_lastchanged" != "x0"; then
+ bbfatal "${PN}: passwd --expire operation did not succeed."
+ fi
+ else
+ bbnote "${PN}: user $username doesn't exist, not expiring its password"
+ fi
+}
diff --git a/poky/meta/conf/abi_version.conf b/poky/meta/conf/abi_version.conf
index 5318a10..251d43b 100644
--- a/poky/meta/conf/abi_version.conf
+++ b/poky/meta/conf/abi_version.conf
@@ -12,4 +12,4 @@
# a reset of the equivalence, for example when reproducibility issues break the
# existing match data. Distros can also append to this value for the same effect.
#
-HASHEQUIV_HASH_VERSION = "3"
+HASHEQUIV_HASH_VERSION = "4"
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 1b5cde2..0d38eac 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -685,7 +685,7 @@
PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/"
PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}:${PSEUDO_SYSROOT}"
PSEUDO_SYSROOT = "${COMPONENTS_DIR}/${BUILD_ARCH}/pseudo-native"
-PSEUDO_IGNORE_PATHS = "/usr/,/etc/,/lib,/dev/,${T},${WORKDIR}/recipe-sysroot,${SSTATE_DIR},${STAMPS_DIR},${WORKDIR}/pkgdata-sysroot,${TMPDIR}/sstate-control,${DEPLOY_DIR},${WORKDIR}/deploy-,${TMPDIR}/buildstats,${WORKDIR}/sstate-build-package_,${WORKDIR}/sstate-install-package_,${WORKDIR}/sstate-build-image_complete,${TMPDIR}/sysroots-components,${BUILDHISTORY_DIR},${TMPDIR}/pkgdata,${TOPDIR}/cache,${COREBASE}/scripts,${COREBASE}/meta"
+PSEUDO_IGNORE_PATHS = "/usr/,/etc/,/lib,/dev/,${T},${WORKDIR}/recipe-sysroot,${SSTATE_DIR},${STAMPS_DIR},${WORKDIR}/pkgdata-sysroot,${TMPDIR}/sstate-control,${DEPLOY_DIR},${WORKDIR}/deploy-,${TMPDIR}/buildstats,${WORKDIR}/sstate-build-package_,${WORKDIR}/sstate-install-package_,${WORKDIR}/sstate-build-image_complete,${TMPDIR}/sysroots-components,${BUILDHISTORY_DIR},${TMPDIR}/pkgdata,${TOPDIR}/cache,${COREBASE}/scripts,${COREBASE}/meta,${CCACHE_DIR}"
export PSEUDO_DISABLED = "1"
#export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}"
diff --git a/poky/meta/conf/conf-notes.txt b/poky/meta/conf/conf-notes.txt
index 5af13a8..1a9414a 100644
--- a/poky/meta/conf/conf-notes.txt
+++ b/poky/meta/conf/conf-notes.txt
@@ -5,7 +5,9 @@
Common targets are:
core-image-minimal
+ core-image-full-cmdline
core-image-sato
+ core-image-weston
meta-toolchain
meta-ide-support
diff --git a/poky/meta/conf/distro/include/lto.inc b/poky/meta/conf/distro/include/lto.inc
new file mode 100644
index 0000000..20895ad
--- /dev/null
+++ b/poky/meta/conf/distro/include/lto.inc
@@ -0,0 +1,49 @@
+# To enable LTO, add following in local.conf
+# require conf/distro/include/lto.inc
+# DISTRO_FEATURES_append = " lto"
+#
+
+# Disable LTO for following packages
+LTO_pn-glibc = ""
+LTO_pn-gcc-runtime = ""
+LTO_pn-libgcc-initial = ""
+LTO_pn-libgcc = ""
+LTO_pn-libaio = ""
+LTO_pn-libpam = ""
+LTO_pn-elfutils = ""
+LTO_pn-perl = ""
+LTO_pn-busybox = ""
+LTO_pn-libxcrypt = ""
+LTO_pn-curl = ""
+LTO_pn-libcap = ""
+LTO_pn-libproxy = ""
+LTO_pn-libbsd = ""
+LTO_pn-perf = ""
+# webkit is not linking properly with LTO, disable until next time
+LTO_pn-webkitgtk = ""
+LTO_pn-xserver-xorg = ""
+
+# Custom LTO flags
+# disable partitioning/streaming algorithm since its uses ASM
+# constructs not compatible with lto
+LTOEXTRA_pn-alsa-lib = "-flto-partition=none"
+
+LTOEXTRA ?= ""
+
+# Override it for additional or different options if needed e.g.
+# with clang thin-lto might be better for compile speed
+#
+# ffat-lto-objects
+# object files that contain both the intermediate
+# language and the object code. This makes them
+# usable for both LTO linking and normal linking
+#
+# -fuse-linker-plugin
+# ensures that libraries participate in LTO by supplying intermediate
+# code from .a files to linker
+LTO ?= "-flto -ffat-lto-objects -fuse-linker-plugin ${LTOEXTRA}"
+
+SELECTED_OPTIMIZATION_append = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}"
+TARGET_LDFLAGS_append_class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}"
+
+SELECTED_OPTIMIZATION[vardeps] += "LTO LTOEXTRA"
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 7935f96..e9c69b2 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -213,6 +213,7 @@
RECIPE_MAINTAINER_pn-glibc-testsuite = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-glide = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
RECIPE_MAINTAINER_pn-gmp = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-glslang = "Jose Quaresma <quaresma.jose@gmail.com>"
RECIPE_MAINTAINER_pn-gnome-desktop-testing = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-gnu-config = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-gnu-efi = "Yi Zhao <yi.zhao@windriver.com>"
@@ -237,8 +238,8 @@
RECIPE_MAINTAINER_pn-grub-bootconf = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-grub-efi = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-gsettings-desktop-schemas = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER_pn-gst-devtools = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-gst-examples = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gst-validate = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-gstreamer1.0 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-gstreamer1.0-libav = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-gstreamer1.0-omx = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -367,6 +368,7 @@
RECIPE_MAINTAINER_pn-libpcre2 = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libpipeline = "Wang Mingyu <wangmy@cn.fujitsu.com>"
RECIPE_MAINTAINER_pn-libpng = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER_pn-libportal = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libproxy = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libpthread-stubs = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libpsl = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -532,6 +534,7 @@
RECIPE_MAINTAINER_pn-ninja = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-npth = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-nss-myhostname = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER_pn-numactl = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-ofono = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-opensbi = "Alistair Francis <alistair.francis@wdc.com>"
RECIPE_MAINTAINER_pn-openssh = "Armin Kuster <akuster808@gmail.com>"
@@ -579,6 +582,8 @@
RECIPE_MAINTAINER_pn-puzzles = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-python3 = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-async = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-atomicwrites = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-attrs = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-cython = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-dbus = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>"
RECIPE_MAINTAINER_pn-python3-dbusmock = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
@@ -588,28 +593,42 @@
RECIPE_MAINTAINER_pn-python3-extras = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-git = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-gitdb = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-hypothesis = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-importlib-metadata = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-iniconfig = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-iniparse = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-python3-magic = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-python3-mako = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-markupsafe = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-python3-more-itertools = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-nose = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-numpy = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-packaging = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-pathlib2 = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-pbr = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>"
RECIPE_MAINTAINER_pn-python3-pip = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>"
+RECIPE_MAINTAINER_pn-python3-pluggy = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-py = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-pycairo = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>"
RECIPE_MAINTAINER_pn-python3-pyelftools = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-python3-pygments = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-pygobject = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>"
RECIPE_MAINTAINER_pn-python3-pyparsing = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-pytest = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-scons = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-setuptools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-setuptools-scm = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-six = "Zang Ruochen <zangrc.fnst@cn.fujitsu.com>"
RECIPE_MAINTAINER_pn-python3-smmap = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-sortedcontainers = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-subunit = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-testtools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-toml = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-wcwidth = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-zipp = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-qemu = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-qemu-helper-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-qemu-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
@@ -641,6 +660,7 @@
RECIPE_MAINTAINER_pn-shadow = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-shadow-securetty = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-shadow-sysroot = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER_pn-shaderc = "Jose Quaresma <quaresma.jose@gmail.com>"
RECIPE_MAINTAINER_pn-shared-mime-info = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-shutdown-desktop = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-signing-keys = "Richard Purdie <richard.purdie@linuxfoundation.org>"
@@ -648,6 +668,7 @@
RECIPE_MAINTAINER_pn-socat = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-speex = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-speexdsp = "Tanu Kaskinen <tanuk@iki.fi>"
+RECIPE_MAINTAINER_pn-spirv-tools = "Jose Quaresma <quaresma.jose@gmail.com>"
RECIPE_MAINTAINER_pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-squashfs-tools = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-ssh-pregen-hostkeys = "Richard Purdie <richard.purdie@linuxfoundation.org>"
@@ -707,15 +728,16 @@
RECIPE_MAINTAINER_pn-virglrenderer = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-volatile-binds = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-vte = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-vulkan-demos = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-vulkan-headers = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-vulkan-loader = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER_pn-vulkan-samples = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-vulkan-tools = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-waffle = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-watchdog = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-watchdog-config = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-wayland = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-wayland-protocols = "Denys Dmytriyenko <denys@ti.com>"
+RECIPE_MAINTAINER_pn-wayland-utils = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-webkitgtk = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-weston = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-weston-init = "Denys Dmytriyenko <denys@ti.com>"
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index 50e8a20..75796a7 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -19,7 +19,7 @@
GCCVERSION ?= "10.%"
SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.35%"
-GDBVERSION ?= "9.%"
+GDBVERSION ?= "10.%"
GLIBCVERSION ?= "2.32"
LINUXLIBCVERSION ?= "5.8%"
QEMUVERSION ?= "5.1%"
diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf
index 2d9cd05..cda37c3 100644
--- a/poky/meta/conf/layer.conf
+++ b/poky/meta/conf/layer.conf
@@ -104,4 +104,4 @@
# We need to keep bitbake tools in PATH
# Avoid empty path entries
BITBAKEPATH := "${@os.path.dirname(bb.utils.which(d.getVar('PATH'),'bitbake'))}"
-PATH := "${@'${BITBAKEPATH}:' if '${BITBAKEPATH}' is not '' else ''}${HOSTTOOLS_DIR}"
+PATH := "${@'${BITBAKEPATH}:' if '${BITBAKEPATH}' != '' else ''}${HOSTTOOLS_DIR}"
diff --git a/poky/meta/conf/machine/include/riscv/arch-riscv.inc b/poky/meta/conf/machine/include/riscv/arch-riscv.inc
index e3dbef7..eae2b88 100644
--- a/poky/meta/conf/machine/include/riscv/arch-riscv.inc
+++ b/poky/meta/conf/machine/include/riscv/arch-riscv.inc
@@ -7,9 +7,6 @@
TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv64nf', ' -mabi=lp64', ' ', d)}"
TUNE_CCARGS_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32nf', ' -mabi=ilp32', ' ', d)}"
-# QEMU usermode fails with invalid instruction error (For riscv32)
-MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32', ' qemu-usermode', '', d)}"
-
# Fix: ld: unrecognized option '--hash-style=sysv'
LINKER_HASH_STYLE_libc-newlib = ""
# Fix: ld: unrecognized option '--hash-style=gnu'
diff --git a/poky/meta/conf/machine/include/tune-arm9tdmi.inc b/poky/meta/conf/machine/include/tune-arm9tdmi.inc
index 6160664..8a46f8e 100644
--- a/poky/meta/conf/machine/include/tune-arm9tdmi.inc
+++ b/poky/meta/conf/machine/include/tune-arm9tdmi.inc
@@ -10,4 +10,4 @@
ARMPKGARCH_tune-arm9tdmi = "arm9tdmi"
# mcpu is used so don't use armv4t as we don't want march
TUNE_FEATURES_tune-arm9tdmi = "arm thumb arm9tdmi"
-PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm9tdmit"
+PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm9tdmi arm9tdmit"
diff --git a/poky/meta/files/common-licenses/bzip2-1.0.4 b/poky/meta/files/common-licenses/bzip2-1.0.4
new file mode 100644
index 0000000..4458e35
--- /dev/null
+++ b/poky/meta/files/common-licenses/bzip2-1.0.4
@@ -0,0 +1,43 @@
+
+--------------------------------------------------------------------------
+
+This program, "bzip2", the associated library "libbzip2", and all
+documentation, are copyright (C) 1996-2006 Julian R Seward. All
+rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. The origin of this software must not be misrepresented; you must
+ not claim that you wrote the original software. If you use this
+ software in a product, an acknowledgment in the product
+ documentation would be appreciated but is not required.
+
+3. Altered source versions must be plainly marked as such, and must
+ not be misrepresented as being the original software.
+
+4. The name of the author may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Julian Seward, Cambridge, UK.
+jseward@bzip.org
+bzip2/libbzip2 version 1.0.4 of 20 December 2006
+
+--------------------------------------------------------------------------
diff --git a/poky/meta/files/fs-perms-persistent-log.txt b/poky/meta/files/fs-perms-persistent-log.txt
index 3a7cf3a..518c1be 100644
--- a/poky/meta/files/fs-perms-persistent-log.txt
+++ b/poky/meta/files/fs-perms-persistent-log.txt
@@ -41,7 +41,7 @@
${oldincludedir} 0755 root root true 0644 root root
# Cleanup debug src
-/usr/src/debug 0755 root root true - root root
+/usr/src/debug 0755 root root true 0644 root root
# Items from base-files
# Links
diff --git a/poky/meta/files/fs-perms.txt b/poky/meta/files/fs-perms.txt
index c8c3ac5..daa4aed 100644
--- a/poky/meta/files/fs-perms.txt
+++ b/poky/meta/files/fs-perms.txt
@@ -41,7 +41,7 @@
${oldincludedir} 0755 root root true 0644 root root
# Cleanup debug src
-/usr/src/debug 0755 root root true - root root
+/usr/src/debug 0755 root root true 0644 root root
# Items from base-files
# Links
diff --git a/poky/meta/lib/oe/buildhistory_analysis.py b/poky/meta/lib/oe/buildhistory_analysis.py
index 2d6fa17..b185684 100644
--- a/poky/meta/lib/oe/buildhistory_analysis.py
+++ b/poky/meta/lib/oe/buildhistory_analysis.py
@@ -373,8 +373,10 @@
removals.remove(removal2)
continue
filechanges.append(FileChange(removal, FileChange.changetype_move, addition))
- additions.remove(addition)
- removals.remove(removal)
+ if addition in additions:
+ additions.remove(addition)
+ if removal in removals:
+ removals.remove(removal)
for rename in renames:
filechanges.append(FileChange(renames[rename], FileChange.changetype_move, rename))
diff --git a/poky/meta/lib/oe/manifest.py b/poky/meta/lib/oe/manifest.py
index 47bd622..1a058dc 100644
--- a/poky/meta/lib/oe/manifest.py
+++ b/poky/meta/lib/oe/manifest.py
@@ -191,14 +191,8 @@
def create_manifest(d, final_manifest=False, manifest_dir=None,
manifest_type=Manifest.MANIFEST_TYPE_IMAGE):
- from oe.package_manager.rpm.manifest import RpmManifest
- from oe.package_manager.ipk.manifest import OpkgManifest
- from oe.package_manager.deb.manifest import DpkgManifest
- manifest_map = {'rpm': RpmManifest,
- 'ipk': OpkgManifest,
- 'deb': DpkgManifest}
-
- manifest = manifest_map[d.getVar('IMAGE_PKGTYPE')](d, manifest_dir, manifest_type)
+ import importlib
+ manifest = importlib.import_module('oe.package_manager.' + d.getVar('IMAGE_PKGTYPE') + '.manifest').PkgManifest(d, manifest_dir, manifest_type)
if final_manifest:
manifest.create_final()
diff --git a/poky/meta/lib/oe/package_manager/deb/__init__.py b/poky/meta/lib/oe/package_manager/deb/__init__.py
index 72155b1..10ad707 100644
--- a/poky/meta/lib/oe/package_manager/deb/__init__.py
+++ b/poky/meta/lib/oe/package_manager/deb/__init__.py
@@ -79,7 +79,7 @@
if self.d.getVar('PACKAGE_FEED_SIGN') == '1':
raise NotImplementedError('Package feed signing not implementd for dpkg')
-class DpkgPkgsList(PkgsList):
+class PMPkgsList(PkgsList):
def list_pkgs(self):
cmd = [bb.utils.which(os.getenv('PATH'), "dpkg-query"),
@@ -282,7 +282,7 @@
os.environ['APT_CONFIG'] = self.apt_conf_file
- cmd = "%s %s install --force-yes --allow-unauthenticated --no-remove %s" % \
+ cmd = "%s %s install --allow-downgrades --allow-remove-essential --allow-change-held-packages --allow-unauthenticated --no-remove %s" % \
(self.apt_get_cmd, self.apt_args, ' '.join(pkgs))
try:
@@ -312,6 +312,8 @@
if not pkgs:
return
+ os.environ['INTERCEPT_DIR'] = self.intercepts_dir
+
if with_dependencies:
os.environ['APT_CONFIG'] = self.apt_conf_file
cmd = "%s purge %s" % (self.apt_get_cmd, ' '.join(pkgs))
@@ -459,7 +461,7 @@
"returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
def list_installed(self):
- return DpkgPkgsList(self.d, self.target_rootfs).list_pkgs()
+ return PMPkgsList(self.d, self.target_rootfs).list_pkgs()
def package_info(self, pkg):
"""
diff --git a/poky/meta/lib/oe/package_manager/deb/manifest.py b/poky/meta/lib/oe/package_manager/deb/manifest.py
index 0b12036..d8eab24 100644
--- a/poky/meta/lib/oe/package_manager/deb/manifest.py
+++ b/poky/meta/lib/oe/package_manager/deb/manifest.py
@@ -4,7 +4,7 @@
from oe.manifest import Manifest
-class DpkgManifest(Manifest):
+class PkgManifest(Manifest):
def create_initial(self):
with open(self.initial_manifest, "w+") as manifest:
manifest.write(self.initial_manifest_file_header)
diff --git a/poky/meta/lib/oe/package_manager/deb/rootfs.py b/poky/meta/lib/oe/package_manager/deb/rootfs.py
index 819f67e..8fbaca1 100644
--- a/poky/meta/lib/oe/package_manager/deb/rootfs.py
+++ b/poky/meta/lib/oe/package_manager/deb/rootfs.py
@@ -7,7 +7,7 @@
from oe.rootfs import Rootfs
from oe.manifest import Manifest
from oe.utils import execute_pre_post_process
-from oe.package_manager.deb.manifest import DpkgManifest
+from oe.package_manager.deb.manifest import PkgManifest
from oe.package_manager.deb import DpkgPM
class DpkgOpkgRootfs(Rootfs):
@@ -120,9 +120,9 @@
num += 1
-class DpkgRootfs(DpkgOpkgRootfs):
+class PkgRootfs(DpkgOpkgRootfs):
def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None):
- super(DpkgRootfs, self).__init__(d, progress_reporter, logcatcher)
+ super(PkgRootfs, self).__init__(d, progress_reporter, logcatcher)
self.log_check_regex = '^E:'
self.log_check_expected_regexes = \
[
@@ -131,7 +131,7 @@
bb.utils.remove(self.image_rootfs, True)
bb.utils.remove(self.d.getVar('MULTILIB_TEMP_ROOTFS'), True)
- self.manifest = DpkgManifest(d, manifest_dir)
+ self.manifest = PkgManifest(d, manifest_dir)
self.pm = DpkgPM(d, d.getVar('IMAGE_ROOTFS'),
d.getVar('PACKAGE_ARCHS'),
d.getVar('DPKG_ARCH'))
diff --git a/poky/meta/lib/oe/package_manager/deb/sdk.py b/poky/meta/lib/oe/package_manager/deb/sdk.py
index b25eb70..9859d8f 100644
--- a/poky/meta/lib/oe/package_manager/deb/sdk.py
+++ b/poky/meta/lib/oe/package_manager/deb/sdk.py
@@ -8,19 +8,19 @@
from oe.sdk import Sdk
from oe.manifest import Manifest
from oe.package_manager.deb import DpkgPM
+from oe.package_manager.deb.manifest import PkgManifest
-class DpkgSdk(Sdk):
+class PkgSdk(Sdk):
def __init__(self, d, manifest_dir=None):
- super(DpkgSdk, self).__init__(d, manifest_dir)
+ super(PkgSdk, self).__init__(d, manifest_dir)
self.target_conf_dir = os.path.join(self.d.getVar("APTCONF_TARGET"), "apt")
self.host_conf_dir = os.path.join(self.d.getVar("APTCONF_TARGET"), "apt-sdk")
- from oe.package_manager.deb.manifest import DpkgManifest
- self.target_manifest = DpkgManifest(d, self.manifest_dir,
+ self.target_manifest = PkgManifest(d, self.manifest_dir,
Manifest.MANIFEST_TYPE_SDK_TARGET)
- self.host_manifest = DpkgManifest(d, self.manifest_dir,
+ self.host_manifest = PkgManifest(d, self.manifest_dir,
Manifest.MANIFEST_TYPE_SDK_HOST)
deb_repo_workdir = "oe-sdk-repo"
diff --git a/poky/meta/lib/oe/package_manager/ipk/__init__.py b/poky/meta/lib/oe/package_manager/ipk/__init__.py
index 9603993..416ed23 100644
--- a/poky/meta/lib/oe/package_manager/ipk/__init__.py
+++ b/poky/meta/lib/oe/package_manager/ipk/__init__.py
@@ -59,9 +59,10 @@
self.d.getVar('PACKAGE_FEED_GPG_PASSPHRASE_FILE'),
armor=is_ascii_sig)
-class OpkgPkgsList(PkgsList):
- def __init__(self, d, rootfs_dir, config_file):
- super(OpkgPkgsList, self).__init__(d, rootfs_dir)
+class PMPkgsList(PkgsList):
+ def __init__(self, d, rootfs_dir):
+ super(PMPkgsList, self).__init__(d, rootfs_dir)
+ config_file = d.getVar("IPKGCONF_TARGET")
self.opkg_cmd = bb.utils.which(os.getenv('PATH'), "opkg")
self.opkg_args = "-f %s -o %s " % (config_file, rootfs_dir)
@@ -416,7 +417,7 @@
bb.utils.remove(os.path.join(self.opkg_dir, "lists"), True)
def list_installed(self):
- return OpkgPkgsList(self.d, self.target_rootfs, self.config_file).list_pkgs()
+ return PMPkgsList(self.d, self.target_rootfs).list_pkgs()
def dummy_install(self, pkgs):
"""
diff --git a/poky/meta/lib/oe/package_manager/ipk/manifest.py b/poky/meta/lib/oe/package_manager/ipk/manifest.py
index 6967690..ee4b57b 100644
--- a/poky/meta/lib/oe/package_manager/ipk/manifest.py
+++ b/poky/meta/lib/oe/package_manager/ipk/manifest.py
@@ -4,7 +4,7 @@
from oe.manifest import Manifest
-class OpkgManifest(Manifest):
+class PkgManifest(Manifest):
"""
Returns a dictionary object with mip and mlp packages.
"""
diff --git a/poky/meta/lib/oe/package_manager/ipk/rootfs.py b/poky/meta/lib/oe/package_manager/ipk/rootfs.py
index 63b4a59..26dbee6 100644
--- a/poky/meta/lib/oe/package_manager/ipk/rootfs.py
+++ b/poky/meta/lib/oe/package_manager/ipk/rootfs.py
@@ -8,7 +8,7 @@
from oe.rootfs import Rootfs
from oe.manifest import Manifest
from oe.utils import execute_pre_post_process
-from oe.package_manager.ipk.manifest import OpkgManifest
+from oe.package_manager.ipk.manifest import PkgManifest
from oe.package_manager.ipk import OpkgPM
class DpkgOpkgRootfs(Rootfs):
@@ -121,12 +121,12 @@
num += 1
-class OpkgRootfs(DpkgOpkgRootfs):
+class PkgRootfs(DpkgOpkgRootfs):
def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None):
- super(OpkgRootfs, self).__init__(d, progress_reporter, logcatcher)
+ super(PkgRootfs, self).__init__(d, progress_reporter, logcatcher)
self.log_check_regex = '(exit 1|Collected errors)'
- self.manifest = OpkgManifest(d, manifest_dir)
+ self.manifest = PkgManifest(d, manifest_dir)
self.opkg_conf = self.d.getVar("IPKGCONF_TARGET")
self.pkg_archs = self.d.getVar("ALL_MULTILIB_PACKAGE_ARCHS")
diff --git a/poky/meta/lib/oe/package_manager/ipk/sdk.py b/poky/meta/lib/oe/package_manager/ipk/sdk.py
index 47c0a92..37af034 100644
--- a/poky/meta/lib/oe/package_manager/ipk/sdk.py
+++ b/poky/meta/lib/oe/package_manager/ipk/sdk.py
@@ -6,20 +6,20 @@
import shutil
from oe.utils import execute_pre_post_process
from oe.sdk import Sdk
+from oe.package_manager.ipk.manifest import PkgManifest
from oe.manifest import Manifest
from oe.package_manager.ipk import OpkgPM
-class OpkgSdk(Sdk):
+class PkgSdk(Sdk):
def __init__(self, d, manifest_dir=None):
- super(OpkgSdk, self).__init__(d, manifest_dir)
+ super(PkgSdk, self).__init__(d, manifest_dir)
self.target_conf = self.d.getVar("IPKGCONF_TARGET")
self.host_conf = self.d.getVar("IPKGCONF_SDK")
- from oe.package_manager.ipk.manifest import OpkgManifest
- self.target_manifest = OpkgManifest(d, self.manifest_dir,
+ self.target_manifest = PkgManifest(d, self.manifest_dir,
Manifest.MANIFEST_TYPE_SDK_TARGET)
- self.host_manifest = OpkgManifest(d, self.manifest_dir,
+ self.host_manifest = PkgManifest(d, self.manifest_dir,
Manifest.MANIFEST_TYPE_SDK_HOST)
ipk_repo_workdir = "oe-sdk-repo"
diff --git a/poky/meta/lib/oe/package_manager/rpm/__init__.py b/poky/meta/lib/oe/package_manager/rpm/__init__.py
index c91f61a..8981844 100644
--- a/poky/meta/lib/oe/package_manager/rpm/__init__.py
+++ b/poky/meta/lib/oe/package_manager/rpm/__init__.py
@@ -43,7 +43,7 @@
self.do_write_index(dir_path)
-class RpmPkgsList(PkgsList):
+class PMPkgsList(PkgsList):
def list_pkgs(self):
return RpmPM(self.d, self.rootfs_dir, self.d.getVar('TARGET_VENDOR'), needfeed=False).list_installed()
diff --git a/poky/meta/lib/oe/package_manager/rpm/manifest.py b/poky/meta/lib/oe/package_manager/rpm/manifest.py
index a75f6bd..e6604b3 100644
--- a/poky/meta/lib/oe/package_manager/rpm/manifest.py
+++ b/poky/meta/lib/oe/package_manager/rpm/manifest.py
@@ -4,7 +4,7 @@
from oe.manifest import Manifest
-class RpmManifest(Manifest):
+class PkgManifest(Manifest):
"""
Returns a dictionary object with mip and mlp packages.
"""
diff --git a/poky/meta/lib/oe/package_manager/rpm/rootfs.py b/poky/meta/lib/oe/package_manager/rpm/rootfs.py
index 2de5752..00d07cd 100644
--- a/poky/meta/lib/oe/package_manager/rpm/rootfs.py
+++ b/poky/meta/lib/oe/package_manager/rpm/rootfs.py
@@ -5,17 +5,17 @@
from oe.rootfs import Rootfs
from oe.manifest import Manifest
from oe.utils import execute_pre_post_process
-from oe.package_manager.rpm.manifest import RpmManifest
+from oe.package_manager.rpm.manifest import PkgManifest
from oe.package_manager.rpm import RpmPM
-class RpmRootfs(Rootfs):
+class PkgRootfs(Rootfs):
def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None):
- super(RpmRootfs, self).__init__(d, progress_reporter, logcatcher)
+ super(PkgRootfs, self).__init__(d, progress_reporter, logcatcher)
self.log_check_regex = r'(unpacking of archive failed|Cannot find package'\
r'|exit 1|ERROR: |Error: |Error |ERROR '\
r'|Failed |Failed: |Failed$|Failed\(\d+\):)'
- self.manifest = RpmManifest(d, manifest_dir)
+ self.manifest = PkgManifest(d, manifest_dir)
self.pm = RpmPM(d,
d.getVar('IMAGE_ROOTFS'),
diff --git a/poky/meta/lib/oe/package_manager/rpm/sdk.py b/poky/meta/lib/oe/package_manager/rpm/sdk.py
index b14b155..c5f2324 100644
--- a/poky/meta/lib/oe/package_manager/rpm/sdk.py
+++ b/poky/meta/lib/oe/package_manager/rpm/sdk.py
@@ -6,16 +6,16 @@
from oe.utils import execute_pre_post_process
from oe.sdk import Sdk
from oe.manifest import Manifest
+from oe.package_manager.rpm.manifest import PkgManifest
from oe.package_manager.rpm import RpmPM
-class RpmSdk(Sdk):
+class PkgSdk(Sdk):
def __init__(self, d, manifest_dir=None, rpm_workdir="oe-sdk-repo"):
- super(RpmSdk, self).__init__(d, manifest_dir)
+ super(PkgSdk, self).__init__(d, manifest_dir)
- from oe.package_manager.rpm.manifest import RpmManifest
- self.target_manifest = RpmManifest(d, self.manifest_dir,
+ self.target_manifest = PkgManifest(d, self.manifest_dir,
Manifest.MANIFEST_TYPE_SDK_TARGET)
- self.host_manifest = RpmManifest(d, self.manifest_dir,
+ self.host_manifest = PkgManifest(d, self.manifest_dir,
Manifest.MANIFEST_TYPE_SDK_HOST)
rpm_repo_workdir = "oe-sdk-repo"
diff --git a/poky/meta/lib/oe/prservice.py b/poky/meta/lib/oe/prservice.py
index 2d3c9c7..fcdbe66 100644
--- a/poky/meta/lib/oe/prservice.py
+++ b/poky/meta/lib/oe/prservice.py
@@ -3,10 +3,6 @@
#
def prserv_make_conn(d, check = False):
- # Otherwise this fails when called from recipes which e.g. inherit python3native (which sets _PYTHON_SYSCONFIGDATA_NAME) with:
- # No module named '_sysconfigdata'
- if '_PYTHON_SYSCONFIGDATA_NAME' in os.environ:
- del os.environ['_PYTHON_SYSCONFIGDATA_NAME']
import prserv.serv
host_params = list([_f for _f in (d.getVar("PRSERV_HOST") or '').split(':') if _f])
try:
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index 4e09eae..4b747dd 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -10,12 +10,6 @@
import os
import subprocess
import re
-from oe.package_manager.rpm.manifest import RpmManifest
-from oe.package_manager.ipk.manifest import OpkgManifest
-from oe.package_manager.deb.manifest import DpkgManifest
-from oe.package_manager.rpm import RpmPkgsList
-from oe.package_manager.ipk import OpkgPkgsList
-from oe.package_manager.deb import DpkgPkgsList
class Rootfs(object, metaclass=ABCMeta):
"""
@@ -360,12 +354,9 @@
def get_class_for_type(imgtype):
- from oe.package_manager.rpm.rootfs import RpmRootfs
- from oe.package_manager.ipk.rootfs import OpkgRootfs
- from oe.package_manager.deb.rootfs import DpkgRootfs
- return {"rpm": RpmRootfs,
- "ipk": OpkgRootfs,
- "deb": DpkgRootfs}[imgtype]
+ import importlib
+ mod = importlib.import_module('oe.package_manager.' + imgtype + '.rootfs')
+ return mod.PkgRootfs
def variable_depends(d, manifest_dir=None):
img_type = d.getVar('IMAGE_PKGTYPE')
@@ -375,17 +366,10 @@
def create_rootfs(d, manifest_dir=None, progress_reporter=None, logcatcher=None):
env_bkp = os.environ.copy()
- from oe.package_manager.rpm.rootfs import RpmRootfs
- from oe.package_manager.ipk.rootfs import OpkgRootfs
- from oe.package_manager.deb.rootfs import DpkgRootfs
img_type = d.getVar('IMAGE_PKGTYPE')
- if img_type == "rpm":
- RpmRootfs(d, manifest_dir, progress_reporter, logcatcher).create()
- elif img_type == "ipk":
- OpkgRootfs(d, manifest_dir, progress_reporter, logcatcher).create()
- elif img_type == "deb":
- DpkgRootfs(d, manifest_dir, progress_reporter, logcatcher).create()
+ cls = get_class_for_type(img_type)
+ cls(d, manifest_dir, progress_reporter, logcatcher).create()
os.environ.clear()
os.environ.update(env_bkp)
@@ -395,12 +379,10 @@
rootfs_dir = d.getVar('IMAGE_ROOTFS')
img_type = d.getVar('IMAGE_PKGTYPE')
- if img_type == "rpm":
- return RpmPkgsList(d, rootfs_dir).list_pkgs()
- elif img_type == "ipk":
- return OpkgPkgsList(d, rootfs_dir, d.getVar("IPKGCONF_TARGET")).list_pkgs()
- elif img_type == "deb":
- return DpkgPkgsList(d, rootfs_dir).list_pkgs()
+
+ import importlib
+ cls = importlib.import_module('oe.package_manager.' + img_type)
+ return cls.PMPkgsList(d, rootfs_dir).list_pkgs()
if __name__ == "__main__":
"""
diff --git a/poky/meta/lib/oe/sdk.py b/poky/meta/lib/oe/sdk.py
index fdcadcb..37b59af 100644
--- a/poky/meta/lib/oe/sdk.py
+++ b/poky/meta/lib/oe/sdk.py
@@ -115,33 +115,18 @@
rootfs_dir = [sdk_output, os.path.join(sdk_output, target_path)][target is True]
- from oe.package_manager.rpm import RpmPkgsList
- from oe.package_manager.ipk import OpkgPkgsList
- from oe.package_manager.deb import DpkgPkgsList
img_type = d.getVar('IMAGE_PKGTYPE')
- if img_type == "rpm":
- arch_var = ["SDK_PACKAGE_ARCHS", None][target is True]
- os_var = ["SDK_OS", None][target is True]
- return RpmPkgsList(d, rootfs_dir).list_pkgs()
- elif img_type == "ipk":
- conf_file_var = ["IPKGCONF_SDK", "IPKGCONF_TARGET"][target is True]
- return OpkgPkgsList(d, rootfs_dir, d.getVar(conf_file_var)).list_pkgs()
- elif img_type == "deb":
- return DpkgPkgsList(d, rootfs_dir).list_pkgs()
+ import importlib
+ cls = importlib.import_module('oe.package_manager.' + img_type)
+ return cls.PMPkgsList(d, rootfs_dir).list_pkgs()
def populate_sdk(d, manifest_dir=None):
env_bkp = os.environ.copy()
img_type = d.getVar('IMAGE_PKGTYPE')
- from oe.package_manager.rpm.sdk import RpmSdk
- from oe.package_manager.ipk.sdk import OpkgSdk
- from oe.package_manager.deb.sdk import DpkgSdk
- if img_type == "rpm":
- RpmSdk(d, manifest_dir).populate()
- elif img_type == "ipk":
- OpkgSdk(d, manifest_dir).populate()
- elif img_type == "deb":
- DpkgSdk(d, manifest_dir).populate()
+ import importlib
+ cls = importlib.import_module('oe.package_manager.' + img_type + '.sdk')
+ cls.PkgSdk(d, manifest_dir).populate()
os.environ.clear()
os.environ.update(env_bkp)
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index 4b8f264..adfe2e4 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -162,12 +162,7 @@
else:
return super().get_taskhash(tid, deps, dataCaches)
- # get_taskhash will call get_unihash internally in the parent class, we
- # need to disable our filter of it whilst this runs else
- # incorrect hashes can be calculated.
- self._internal = True
h = super().get_taskhash(tid, deps, dataCaches)
- self._internal = False
(mc, _, task, fn) = bb.runqueue.split_tid_mcfn(tid)
@@ -439,7 +434,7 @@
d2 = multilibcache[variant]
if taskdata.endswith("-native"):
- pkgarchs = ["${BUILD_ARCH}"]
+ pkgarchs = ["${BUILD_ARCH}", "${BUILD_ARCH}_${ORIGNATIVELSBSTRING}"]
elif taskdata.startswith("nativesdk-"):
pkgarchs = ["${SDK_ARCH}_${SDK_OS}", "allarch"]
elif "-cross-canadian" in taskdata:
@@ -484,6 +479,9 @@
include_owners = os.environ.get('PSEUDO_DISABLED') == '0'
if "package_write_" in task or task == "package_qa":
include_owners = False
+ include_timestamps = False
+ if task == "package":
+ include_timestamps = d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1'
extra_content = d.getVar('HASHEQUIV_HASH_VERSION')
try:
@@ -558,6 +556,9 @@
bb.warn("KeyError in %s" % path)
raise
+ if include_timestamps:
+ update_hash(" %10d" % s.st_mtime)
+
update_hash(" ")
if stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode):
update_hash("%9s" % ("%d.%d" % (os.major(s.st_rdev), os.minor(s.st_rdev))))
diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py
index 7d3fa3b..2abe353 100644
--- a/poky/meta/lib/oeqa/core/context.py
+++ b/poky/meta/lib/oeqa/core/context.py
@@ -31,6 +31,9 @@
self._registry = {}
self._registry['cases'] = collections.OrderedDict()
+ self.results = unittest.TestResult()
+ unittest.registerResult(self.results)
+
def _read_modules_from_manifest(self, manifest):
if not os.path.exists(manifest):
raise OEQAMissingManifest("Manifest does not exist on %s" % manifest)
@@ -82,6 +85,7 @@
self.skipTests(skips)
self._run_start_time = time.time()
+ self._run_end_time = self._run_start_time
if not processes:
self.runner.buffer = True
result = self.runner.run(self.prepareSuite(self.suites, processes))
diff --git a/poky/meta/lib/oeqa/runtime/cases/weston.py b/poky/meta/lib/oeqa/runtime/cases/weston.py
index 36b4f9e..a1c7183 100644
--- a/poky/meta/lib/oeqa/runtime/cases/weston.py
+++ b/poky/meta/lib/oeqa/runtime/cases/weston.py
@@ -34,7 +34,7 @@
return 'export XDG_RUNTIME_DIR=/run/user/0; export WAYLAND_DISPLAY=wayland-0; %s' % cmd
def run_weston_init(self):
- if 'systemd' in self.tc.td['DISTRO_FEATURES']:
+ if 'systemd' in self.tc.td['VIRTUAL-RUNTIME_init_manager']:
self.target.run('systemd-run --collect --unit=weston-ptest.service --uid=0 -p PAMName=login -p TTYPath=/dev/tty6 -E XDG_RUNTIME_DIR=/tmp -E WAYLAND_DISPLAY=wayland-0 /usr/bin/weston --socket=wayland-1 --log=%s' % self.weston_log_file)
else:
self.target.run(self.get_weston_command('openvt -- weston --socket=wayland-1 --log=%s' % self.weston_log_file))
@@ -51,10 +51,10 @@
return new_wl_processes, try_cnt
- @OEHasPackage(['weston'])
- def test_weston_info(self):
- status, output = self.target.run(self.get_weston_command('weston-info'))
- self.assertEqual(status, 0, msg='weston-info error: %s' % output)
+ @OEHasPackage(['wayland-utils'])
+ def test_wayland_info(self):
+ status, output = self.target.run(self.get_weston_command('wayland-info'))
+ self.assertEqual(status, 0, msg='wayland-info error: %s' % output)
@OEHasPackage(['weston'])
def test_weston_can_initialize_new_wayland_compositor(self):
@@ -66,7 +66,7 @@
new_wl_processes, try_cnt = self.get_new_wayland_processes(existing_wl_processes)
existing_and_new_weston_processes = self.get_processes_of('weston', 'existing and new')
new_weston_processes = [x for x in existing_and_new_weston_processes if x not in existing_weston_processes]
- if 'systemd' in self.tc.td['DISTRO_FEATURES']:
+ if 'systemd' in self.tc.td['VIRTUAL-RUNTIME_init_manager']:
self.target.run('systemctl stop weston-ptest.service')
else:
for w in new_weston_processes:
diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
index dc423ec..79390ac 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -89,6 +89,7 @@
image_dir = bb_vars['D']
pkgsplit_dir = bb_vars['PKGDEST']
man_dir = bb_vars['mandir']
+ self.write_config("PACKAGE_CLASSES = \"package_rpm\"")
bitbake('-c clean %s' % test_recipe)
bitbake('-c package -f %s' % test_recipe)
diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
index 1bb1c4b..7189e4e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -384,7 +384,7 @@
KERNEL_EXTRA_FEATURES_append = " features/systemtap/systemtap.scc"
# add systemtap run-time into target image if it is not there yet
-IMAGE_INSTALL_append = " systemtap"
+IMAGE_INSTALL_append = " systemtap-runtime"
"""
def test_crosstap_helloworld(self):
diff --git a/poky/meta/lib/oeqa/utils/commands.py b/poky/meta/lib/oeqa/utils/commands.py
index 8059cbc..6c1535d 100644
--- a/poky/meta/lib/oeqa/utils/commands.py
+++ b/poky/meta/lib/oeqa/utils/commands.py
@@ -125,11 +125,11 @@
def stop(self):
for thread in self.threads:
- if thread.isAlive():
+ if thread.is_alive():
self.process.terminate()
# let's give it more time to terminate gracefully before killing it
thread.join(5)
- if thread.isAlive():
+ if thread.is_alive():
self.process.kill()
thread.join()
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-14308-calloc-Use-calloc-at-most-places.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-14308-calloc-Use-calloc-at-most-places.patch
new file mode 100644
index 0000000..637e368
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/CVE-2020-14308-calloc-Use-calloc-at-most-places.patch
@@ -0,0 +1,1863 @@
+From bcdd6a55952222ec9829a59348240a4f983b0b56 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Mon, 15 Jun 2020 12:26:01 -0400
+Subject: [PATCH 4/9] calloc: Use calloc() at most places
+
+This modifies most of the places we do some form of:
+
+ X = malloc(Y * Z);
+
+to use calloc(Y, Z) instead.
+
+Among other issues, this fixes:
+ - allocation of integer overflow in grub_png_decode_image_header()
+ reported by Chris Coulson,
+ - allocation of integer overflow in luks_recover_key()
+ reported by Chris Coulson,
+ - allocation of integer overflow in grub_lvm_detect()
+ reported by Chris Coulson.
+
+Fixes: CVE-2020-14308
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2020-14308
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=f725fa7cb2ece547c5af01eeeecfe8d95802ed41
+
+[YL: don't patch on grub-core/lib/json/json.c, which is not existing in grub 2.04]
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/bus/usb/usbhub.c | 8 ++++----
+ grub-core/commands/efi/lsefisystab.c | 3 ++-
+ grub-core/commands/legacycfg.c | 6 +++---
+ grub-core/commands/menuentry.c | 2 +-
+ grub-core/commands/nativedisk.c | 2 +-
+ grub-core/commands/parttool.c | 12 +++++++++---
+ grub-core/commands/regexp.c | 2 +-
+ grub-core/commands/search_wrap.c | 2 +-
+ grub-core/disk/diskfilter.c | 4 ++--
+ grub-core/disk/ieee1275/ofdisk.c | 2 +-
+ grub-core/disk/ldm.c | 14 +++++++-------
+ grub-core/disk/luks.c | 2 +-
+ grub-core/disk/lvm.c | 12 ++++++------
+ grub-core/disk/xen/xendisk.c | 2 +-
+ grub-core/efiemu/loadcore.c | 2 +-
+ grub-core/efiemu/mm.c | 6 +++---
+ grub-core/font/font.c | 3 +--
+ grub-core/fs/affs.c | 6 +++---
+ grub-core/fs/btrfs.c | 6 +++---
+ grub-core/fs/hfs.c | 2 +-
+ grub-core/fs/hfsplus.c | 6 +++---
+ grub-core/fs/iso9660.c | 2 +-
+ grub-core/fs/ntfs.c | 4 ++--
+ grub-core/fs/sfs.c | 2 +-
+ grub-core/fs/tar.c | 2 +-
+ grub-core/fs/udf.c | 4 ++--
+ grub-core/fs/zfs/zfs.c | 4 ++--
+ grub-core/gfxmenu/gui_string_util.c | 2 +-
+ grub-core/gfxmenu/widget-box.c | 4 ++--
+ grub-core/io/gzio.c | 2 +-
+ grub-core/kern/efi/efi.c | 6 +++---
+ grub-core/kern/emu/hostdisk.c | 2 +-
+ grub-core/kern/fs.c | 2 +-
+ grub-core/kern/misc.c | 2 +-
+ grub-core/kern/parser.c | 2 +-
+ grub-core/kern/uboot/uboot.c | 2 +-
+ grub-core/lib/libgcrypt/cipher/ac.c | 8 ++++----
+ grub-core/lib/libgcrypt/cipher/primegen.c | 4 ++--
+ grub-core/lib/libgcrypt/cipher/pubkey.c | 4 ++--
+ grub-core/lib/priority_queue.c | 2 +-
+ grub-core/lib/reed_solomon.c | 7 +++----
+ grub-core/lib/relocator.c | 10 +++++-----
+ grub-core/lib/zstd/fse_decompress.c | 2 +-
+ grub-core/loader/arm/linux.c | 2 +-
+ grub-core/loader/efi/chainloader.c | 2 +-
+ grub-core/loader/i386/bsdXX.c | 2 +-
+ grub-core/loader/i386/xnu.c | 4 ++--
+ grub-core/loader/macho.c | 2 +-
+ grub-core/loader/multiboot_elfxx.c | 2 +-
+ grub-core/loader/xnu.c | 2 +-
+ grub-core/mmap/mmap.c | 4 ++--
+ grub-core/net/bootp.c | 2 +-
+ grub-core/net/dns.c | 10 +++++-----
+ grub-core/net/net.c | 4 ++--
+ grub-core/normal/charset.c | 10 +++++-----
+ grub-core/normal/cmdline.c | 14 +++++++-------
+ grub-core/normal/menu_entry.c | 14 +++++++-------
+ grub-core/normal/menu_text.c | 4 ++--
+ grub-core/normal/term.c | 4 ++--
+ grub-core/osdep/linux/getroot.c | 6 +++---
+ grub-core/osdep/unix/config.c | 2 +-
+ grub-core/osdep/windows/getroot.c | 2 +-
+ grub-core/osdep/windows/hostdisk.c | 4 ++--
+ grub-core/osdep/windows/init.c | 2 +-
+ grub-core/osdep/windows/platform.c | 4 ++--
+ grub-core/osdep/windows/relpath.c | 2 +-
+ grub-core/partmap/gpt.c | 2 +-
+ grub-core/partmap/msdos.c | 2 +-
+ grub-core/script/execute.c | 2 +-
+ grub-core/tests/fake_input.c | 2 +-
+ grub-core/tests/video_checksum.c | 6 +++---
+ grub-core/video/capture.c | 2 +-
+ grub-core/video/emu/sdl.c | 2 +-
+ grub-core/video/i386/pc/vga.c | 2 +-
+ grub-core/video/readers/png.c | 2 +-
+ include/grub/unicode.h | 4 ++--
+ util/getroot.c | 2 +-
+ util/grub-file.c | 2 +-
+ util/grub-fstest.c | 4 ++--
+ util/grub-install-common.c | 2 +-
+ util/grub-install.c | 4 ++--
+ util/grub-mkimagexx.c | 6 ++----
+ util/grub-mkrescue.c | 4 ++--
+ util/grub-mkstandalone.c | 2 +-
+ util/grub-pe2elf.c | 12 +++++-------
+ util/grub-probe.c | 4 ++--
+ 86 files changed, 178 insertions(+), 177 deletions(-)
+
+diff --git a/grub-core/bus/usb/usbhub.c b/grub-core/bus/usb/usbhub.c
+index 34a7ff1..a06cce3 100644
+--- a/grub-core/bus/usb/usbhub.c
++++ b/grub-core/bus/usb/usbhub.c
+@@ -149,8 +149,8 @@ grub_usb_add_hub (grub_usb_device_t dev)
+ grub_usb_set_configuration (dev, 1);
+
+ dev->nports = hubdesc.portcnt;
+- dev->children = grub_zalloc (hubdesc.portcnt * sizeof (dev->children[0]));
+- dev->ports = grub_zalloc (dev->nports * sizeof (dev->ports[0]));
++ dev->children = grub_calloc (hubdesc.portcnt, sizeof (dev->children[0]));
++ dev->ports = grub_calloc (dev->nports, sizeof (dev->ports[0]));
+ if (!dev->children || !dev->ports)
+ {
+ grub_free (dev->children);
+@@ -268,8 +268,8 @@ grub_usb_controller_dev_register_iter (grub_usb_controller_t controller, void *d
+
+ /* Query the number of ports the root Hub has. */
+ hub->nports = controller->dev->hubports (controller);
+- hub->devices = grub_zalloc (sizeof (hub->devices[0]) * hub->nports);
+- hub->ports = grub_zalloc (sizeof (hub->ports[0]) * hub->nports);
++ hub->devices = grub_calloc (hub->nports, sizeof (hub->devices[0]));
++ hub->ports = grub_calloc (hub->nports, sizeof (hub->ports[0]));
+ if (!hub->devices || !hub->ports)
+ {
+ grub_free (hub->devices);
+diff --git a/grub-core/commands/efi/lsefisystab.c b/grub-core/commands/efi/lsefisystab.c
+index df10302..cd81507 100644
+--- a/grub-core/commands/efi/lsefisystab.c
++++ b/grub-core/commands/efi/lsefisystab.c
+@@ -71,7 +71,8 @@ grub_cmd_lsefisystab (struct grub_command *cmd __attribute__ ((unused)),
+ grub_printf ("Vendor: ");
+
+ for (vendor_utf16 = st->firmware_vendor; *vendor_utf16; vendor_utf16++);
+- vendor = grub_malloc (4 * (vendor_utf16 - st->firmware_vendor) + 1);
++ /* Allocate extra 3 bytes to simplify math. */
++ vendor = grub_calloc (4, vendor_utf16 - st->firmware_vendor + 1);
+ if (!vendor)
+ return grub_errno;
+ *grub_utf16_to_utf8 ((grub_uint8_t *) vendor, st->firmware_vendor,
+diff --git a/grub-core/commands/legacycfg.c b/grub-core/commands/legacycfg.c
+index db7a8f0..5e3ec0d 100644
+--- a/grub-core/commands/legacycfg.c
++++ b/grub-core/commands/legacycfg.c
+@@ -314,7 +314,7 @@ grub_cmd_legacy_kernel (struct grub_command *mycmd __attribute__ ((unused)),
+ if (argc < 2)
+ return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
+
+- cutargs = grub_malloc (sizeof (cutargs[0]) * (argc - 1));
++ cutargs = grub_calloc (argc - 1, sizeof (cutargs[0]));
+ if (!cutargs)
+ return grub_errno;
+ cutargc = argc - 1;
+@@ -436,7 +436,7 @@ grub_cmd_legacy_kernel (struct grub_command *mycmd __attribute__ ((unused)),
+ {
+ char rbuf[3] = "-r";
+ bsdargc = cutargc + 2;
+- bsdargs = grub_malloc (sizeof (bsdargs[0]) * bsdargc);
++ bsdargs = grub_calloc (bsdargc, sizeof (bsdargs[0]));
+ if (!bsdargs)
+ {
+ err = grub_errno;
+@@ -559,7 +559,7 @@ grub_cmd_legacy_initrdnounzip (struct grub_command *mycmd __attribute__ ((unused
+ return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("can't find command `%s'"),
+ "module");
+
+- newargs = grub_malloc ((argc + 1) * sizeof (newargs[0]));
++ newargs = grub_calloc (argc + 1, sizeof (newargs[0]));
+ if (!newargs)
+ return grub_errno;
+ grub_memcpy (newargs + 1, args, argc * sizeof (newargs[0]));
+diff --git a/grub-core/commands/menuentry.c b/grub-core/commands/menuentry.c
+index 2c5363d..9164df7 100644
+--- a/grub-core/commands/menuentry.c
++++ b/grub-core/commands/menuentry.c
+@@ -154,7 +154,7 @@ grub_normal_add_menu_entry (int argc, const char **args,
+ goto fail;
+
+ /* Save argc, args to pass as parameters to block arg later. */
+- menu_args = grub_malloc (sizeof (char*) * (argc + 1));
++ menu_args = grub_calloc (argc + 1, sizeof (char *));
+ if (! menu_args)
+ goto fail;
+
+diff --git a/grub-core/commands/nativedisk.c b/grub-core/commands/nativedisk.c
+index 699447d..7c8f97f 100644
+--- a/grub-core/commands/nativedisk.c
++++ b/grub-core/commands/nativedisk.c
+@@ -195,7 +195,7 @@ grub_cmd_nativedisk (grub_command_t cmd __attribute__ ((unused)),
+ else
+ path_prefix = prefix;
+
+- mods = grub_malloc (argc * sizeof (mods[0]));
++ mods = grub_calloc (argc, sizeof (mods[0]));
+ if (!mods)
+ return grub_errno;
+
+diff --git a/grub-core/commands/parttool.c b/grub-core/commands/parttool.c
+index 22b46b1..051e313 100644
+--- a/grub-core/commands/parttool.c
++++ b/grub-core/commands/parttool.c
+@@ -59,7 +59,13 @@ grub_parttool_register(const char *part_name,
+ for (nargs = 0; args[nargs].name != 0; nargs++);
+ cur->nargs = nargs;
+ cur->args = (struct grub_parttool_argdesc *)
+- grub_malloc ((nargs + 1) * sizeof (struct grub_parttool_argdesc));
++ grub_calloc (nargs + 1, sizeof (struct grub_parttool_argdesc));
++ if (!cur->args)
++ {
++ grub_free (cur);
++ curhandle--;
++ return -1;
++ }
+ grub_memcpy (cur->args, args,
+ (nargs + 1) * sizeof (struct grub_parttool_argdesc));
+
+@@ -257,7 +263,7 @@ grub_cmd_parttool (grub_command_t cmd __attribute__ ((unused)),
+ return err;
+ }
+
+- parsed = (int *) grub_zalloc (argc * sizeof (int));
++ parsed = (int *) grub_calloc (argc, sizeof (int));
+
+ for (i = 1; i < argc; i++)
+ if (! parsed[i])
+@@ -290,7 +296,7 @@ grub_cmd_parttool (grub_command_t cmd __attribute__ ((unused)),
+ }
+ ptool = cur;
+ pargs = (struct grub_parttool_args *)
+- grub_zalloc (ptool->nargs * sizeof (struct grub_parttool_args));
++ grub_calloc (ptool->nargs, sizeof (struct grub_parttool_args));
+ for (j = i; j < argc; j++)
+ if (! parsed[j])
+ {
+diff --git a/grub-core/commands/regexp.c b/grub-core/commands/regexp.c
+index f00b184..4019164 100644
+--- a/grub-core/commands/regexp.c
++++ b/grub-core/commands/regexp.c
+@@ -116,7 +116,7 @@ grub_cmd_regexp (grub_extcmd_context_t ctxt, int argc, char **args)
+ if (ret)
+ goto fail;
+
+- matches = grub_zalloc (sizeof (*matches) * (regex.re_nsub + 1));
++ matches = grub_calloc (regex.re_nsub + 1, sizeof (*matches));
+ if (! matches)
+ goto fail;
+
+diff --git a/grub-core/commands/search_wrap.c b/grub-core/commands/search_wrap.c
+index d7fd26b..47fc8eb 100644
+--- a/grub-core/commands/search_wrap.c
++++ b/grub-core/commands/search_wrap.c
+@@ -122,7 +122,7 @@ grub_cmd_search (grub_extcmd_context_t ctxt, int argc, char **args)
+ for (i = 0; state[SEARCH_HINT_BAREMETAL].args[i]; i++)
+ nhints++;
+
+- hints = grub_malloc (sizeof (hints[0]) * nhints);
++ hints = grub_calloc (nhints, sizeof (hints[0]));
+ if (!hints)
+ return grub_errno;
+ j = 0;
+diff --git a/grub-core/disk/diskfilter.c b/grub-core/disk/diskfilter.c
+index c3b578a..68ca9e0 100644
+--- a/grub-core/disk/diskfilter.c
++++ b/grub-core/disk/diskfilter.c
+@@ -1134,7 +1134,7 @@ grub_diskfilter_make_raid (grub_size_t uuidlen, char *uuid, int nmemb,
+ array->lvs->segments->node_count = nmemb;
+ array->lvs->segments->raid_member_size = disk_size;
+ array->lvs->segments->nodes
+- = grub_zalloc (nmemb * sizeof (array->lvs->segments->nodes[0]));
++ = grub_calloc (nmemb, sizeof (array->lvs->segments->nodes[0]));
+ array->lvs->segments->stripe_size = stripe_size;
+ for (i = 0; i < nmemb; i++)
+ {
+@@ -1226,7 +1226,7 @@ insert_array (grub_disk_t disk, const struct grub_diskfilter_pv_id *id,
+ grub_partition_t p;
+ for (p = disk->partition; p; p = p->parent)
+ s++;
+- pv->partmaps = xmalloc (s * sizeof (pv->partmaps[0]));
++ pv->partmaps = xcalloc (s, sizeof (pv->partmaps[0]));
+ s = 0;
+ for (p = disk->partition; p; p = p->parent)
+ pv->partmaps[s++] = xstrdup (p->partmap->name);
+diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c
+index f73257e..03674cb 100644
+--- a/grub-core/disk/ieee1275/ofdisk.c
++++ b/grub-core/disk/ieee1275/ofdisk.c
+@@ -297,7 +297,7 @@ dev_iterate (const struct grub_ieee1275_devalias *alias)
+ /* Power machines documentation specify 672 as maximum SAS disks in
+ one system. Using a slightly larger value to be safe. */
+ table_size = 768;
+- table = grub_malloc (table_size * sizeof (grub_uint64_t));
++ table = grub_calloc (table_size, sizeof (grub_uint64_t));
+
+ if (!table)
+ {
+diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c
+index 2a22d2d..e632370 100644
+--- a/grub-core/disk/ldm.c
++++ b/grub-core/disk/ldm.c
+@@ -323,8 +323,8 @@ make_vg (grub_disk_t disk,
+ lv->segments->type = GRUB_DISKFILTER_MIRROR;
+ lv->segments->node_count = 0;
+ lv->segments->node_alloc = 8;
+- lv->segments->nodes = grub_zalloc (sizeof (*lv->segments->nodes)
+- * lv->segments->node_alloc);
++ lv->segments->nodes = grub_calloc (lv->segments->node_alloc,
++ sizeof (*lv->segments->nodes));
+ if (!lv->segments->nodes)
+ goto fail2;
+ ptr = vblk[i].dynamic;
+@@ -543,8 +543,8 @@ make_vg (grub_disk_t disk,
+ {
+ comp->segment_alloc = 8;
+ comp->segment_count = 0;
+- comp->segments = grub_malloc (sizeof (*comp->segments)
+- * comp->segment_alloc);
++ comp->segments = grub_calloc (comp->segment_alloc,
++ sizeof (*comp->segments));
+ if (!comp->segments)
+ goto fail2;
+ }
+@@ -590,8 +590,8 @@ make_vg (grub_disk_t disk,
+ }
+ comp->segments->node_count = read_int (ptr + 1, *ptr);
+ comp->segments->node_alloc = comp->segments->node_count;
+- comp->segments->nodes = grub_zalloc (sizeof (*comp->segments->nodes)
+- * comp->segments->node_alloc);
++ comp->segments->nodes = grub_calloc (comp->segments->node_alloc,
++ sizeof (*comp->segments->nodes));
+ if (!lv->segments->nodes)
+ goto fail2;
+ }
+@@ -1017,7 +1017,7 @@ grub_util_ldm_embed (struct grub_disk *disk, unsigned int *nsectors,
+ *nsectors = lv->size;
+ if (*nsectors > max_nsectors)
+ *nsectors = max_nsectors;
+- *sectors = grub_malloc (*nsectors * sizeof (**sectors));
++ *sectors = grub_calloc (*nsectors, sizeof (**sectors));
+ if (!*sectors)
+ return grub_errno;
+ for (i = 0; i < *nsectors; i++)
+diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c
+index 86c50c6..18b3a8b 100644
+--- a/grub-core/disk/luks.c
++++ b/grub-core/disk/luks.c
+@@ -336,7 +336,7 @@ luks_recover_key (grub_disk_t source,
+ && grub_be_to_cpu32 (header.keyblock[i].stripes) > max_stripes)
+ max_stripes = grub_be_to_cpu32 (header.keyblock[i].stripes);
+
+- split_key = grub_malloc (keysize * max_stripes);
++ split_key = grub_calloc (keysize, max_stripes);
+ if (!split_key)
+ return grub_errno;
+
+diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
+index dc6b83b..7b5fbbc 100644
+--- a/grub-core/disk/lvm.c
++++ b/grub-core/disk/lvm.c
+@@ -209,7 +209,7 @@ grub_lvm_detect (grub_disk_t disk,
+ first one. */
+
+ /* Allocate buffer space for the circular worst-case scenario. */
+- metadatabuf = grub_malloc (2 * mda_size);
++ metadatabuf = grub_calloc (2, mda_size);
+ if (! metadatabuf)
+ goto fail;
+
+@@ -464,7 +464,7 @@ grub_lvm_detect (grub_disk_t disk,
+ #endif
+ goto lvs_fail;
+ }
+- lv->segments = grub_zalloc (sizeof (*seg) * lv->segment_count);
++ lv->segments = grub_calloc (lv->segment_count, sizeof (*seg));
+ seg = lv->segments;
+
+ for (i = 0; i < lv->segment_count; i++)
+@@ -521,8 +521,8 @@ grub_lvm_detect (grub_disk_t disk,
+ if (seg->node_count != 1)
+ seg->stripe_size = grub_lvm_getvalue (&p, "stripe_size = ");
+
+- seg->nodes = grub_zalloc (sizeof (*stripe)
+- * seg->node_count);
++ seg->nodes = grub_calloc (seg->node_count,
++ sizeof (*stripe));
+ stripe = seg->nodes;
+
+ p = grub_strstr (p, "stripes = [");
+@@ -898,7 +898,7 @@ grub_lvm_detect (grub_disk_t disk,
+ break;
+ if (lv)
+ {
+- cache->lv->segments = grub_malloc (lv->segment_count * sizeof (*lv->segments));
++ cache->lv->segments = grub_calloc (lv->segment_count, sizeof (*lv->segments));
+ if (!cache->lv->segments)
+ {
+ grub_lvm_free_cache_lvs (cache_lvs);
+@@ -911,7 +911,7 @@ grub_lvm_detect (grub_disk_t disk,
+ struct grub_diskfilter_node *nodes = lv->segments[i].nodes;
+ grub_size_t node_count = lv->segments[i].node_count;
+
+- cache->lv->segments[i].nodes = grub_malloc (node_count * sizeof (*nodes));
++ cache->lv->segments[i].nodes = grub_calloc (node_count, sizeof (*nodes));
+ if (!cache->lv->segments[i].nodes)
+ {
+ for (j = 0; j < i; ++j)
+diff --git a/grub-core/disk/xen/xendisk.c b/grub-core/disk/xen/xendisk.c
+index 48476cb..d6612ee 100644
+--- a/grub-core/disk/xen/xendisk.c
++++ b/grub-core/disk/xen/xendisk.c
+@@ -426,7 +426,7 @@ grub_xendisk_init (void)
+ if (!ctr)
+ return;
+
+- virtdisks = grub_malloc (ctr * sizeof (virtdisks[0]));
++ virtdisks = grub_calloc (ctr, sizeof (virtdisks[0]));
+ if (!virtdisks)
+ return;
+ if (grub_xenstore_dir ("device/vbd", fill, &ctr))
+diff --git a/grub-core/efiemu/loadcore.c b/grub-core/efiemu/loadcore.c
+index 44085ef..2b92462 100644
+--- a/grub-core/efiemu/loadcore.c
++++ b/grub-core/efiemu/loadcore.c
+@@ -201,7 +201,7 @@ grub_efiemu_count_symbols (const Elf_Ehdr *e)
+
+ grub_efiemu_nelfsyms = (unsigned) s->sh_size / (unsigned) s->sh_entsize;
+ grub_efiemu_elfsyms = (struct grub_efiemu_elf_sym *)
+- grub_malloc (sizeof (struct grub_efiemu_elf_sym) * grub_efiemu_nelfsyms);
++ grub_calloc (grub_efiemu_nelfsyms, sizeof (struct grub_efiemu_elf_sym));
+
+ /* Relocators */
+ for (i = 0, s = (Elf_Shdr *) ((char *) e + e->e_shoff);
+diff --git a/grub-core/efiemu/mm.c b/grub-core/efiemu/mm.c
+index 52a032f..9b8e0d0 100644
+--- a/grub-core/efiemu/mm.c
++++ b/grub-core/efiemu/mm.c
+@@ -554,11 +554,11 @@ grub_efiemu_mmap_sort_and_uniq (void)
+ /* Initialize variables*/
+ grub_memset (present, 0, sizeof (int) * GRUB_EFI_MAX_MEMORY_TYPE);
+ scanline_events = (struct grub_efiemu_mmap_scan *)
+- grub_malloc (sizeof (struct grub_efiemu_mmap_scan) * 2 * mmap_num);
++ grub_calloc (mmap_num, sizeof (struct grub_efiemu_mmap_scan) * 2);
+
+ /* Number of chunks can't increase more than by factor of 2 */
+ result = (grub_efi_memory_descriptor_t *)
+- grub_malloc (sizeof (grub_efi_memory_descriptor_t) * 2 * mmap_num);
++ grub_calloc (mmap_num, sizeof (grub_efi_memory_descriptor_t) * 2);
+ if (!result || !scanline_events)
+ {
+ grub_free (result);
+@@ -660,7 +660,7 @@ grub_efiemu_mm_do_alloc (void)
+
+ /* Preallocate mmap */
+ efiemu_mmap = (grub_efi_memory_descriptor_t *)
+- grub_malloc (mmap_reserved_size * sizeof (grub_efi_memory_descriptor_t));
++ grub_calloc (mmap_reserved_size, sizeof (grub_efi_memory_descriptor_t));
+ if (!efiemu_mmap)
+ {
+ grub_efiemu_unload ();
+diff --git a/grub-core/font/font.c b/grub-core/font/font.c
+index 85a2925..8e118b3 100644
+--- a/grub-core/font/font.c
++++ b/grub-core/font/font.c
+@@ -293,8 +293,7 @@ load_font_index (grub_file_t file, grub_uint32_t sect_length, struct
+ font->num_chars = sect_length / FONT_CHAR_INDEX_ENTRY_SIZE;
+
+ /* Allocate the character index array. */
+- font->char_index = grub_malloc (font->num_chars
+- * sizeof (struct char_index_entry));
++ font->char_index = grub_calloc (font->num_chars, sizeof (struct char_index_entry));
+ if (!font->char_index)
+ return 1;
+ font->bmp_idx = grub_malloc (0x10000 * sizeof (grub_uint16_t));
+diff --git a/grub-core/fs/affs.c b/grub-core/fs/affs.c
+index 6b6a2bc..220b371 100644
+--- a/grub-core/fs/affs.c
++++ b/grub-core/fs/affs.c
+@@ -301,7 +301,7 @@ grub_affs_read_symlink (grub_fshelp_node_t node)
+ return 0;
+ }
+ latin1[symlink_size] = 0;
+- utf8 = grub_malloc (symlink_size * GRUB_MAX_UTF8_PER_LATIN1 + 1);
++ utf8 = grub_calloc (GRUB_MAX_UTF8_PER_LATIN1 + 1, symlink_size);
+ if (!utf8)
+ {
+ grub_free (latin1);
+@@ -422,7 +422,7 @@ grub_affs_iterate_dir (grub_fshelp_node_t dir,
+ return 1;
+ }
+
+- hashtable = grub_zalloc (data->htsize * sizeof (*hashtable));
++ hashtable = grub_calloc (data->htsize, sizeof (*hashtable));
+ if (!hashtable)
+ return 1;
+
+@@ -628,7 +628,7 @@ grub_affs_label (grub_device_t device, char **label)
+ len = file.namelen;
+ if (len > sizeof (file.name))
+ len = sizeof (file.name);
+- *label = grub_malloc (len * GRUB_MAX_UTF8_PER_LATIN1 + 1);
++ *label = grub_calloc (GRUB_MAX_UTF8_PER_LATIN1 + 1, len);
+ if (*label)
+ *grub_latin1_to_utf8 ((grub_uint8_t *) *label, file.name, len) = '\0';
+ }
+diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
+index 48bd3d0..11272ef 100644
+--- a/grub-core/fs/btrfs.c
++++ b/grub-core/fs/btrfs.c
+@@ -413,7 +413,7 @@ lower_bound (struct grub_btrfs_data *data,
+ {
+ desc->allocated = 16;
+ desc->depth = 0;
+- desc->data = grub_malloc (sizeof (desc->data[0]) * desc->allocated);
++ desc->data = grub_calloc (desc->allocated, sizeof (desc->data[0]));
+ if (!desc->data)
+ return grub_errno;
+ }
+@@ -752,7 +752,7 @@ raid56_read_retry (struct grub_btrfs_data *data,
+ grub_err_t ret = GRUB_ERR_OUT_OF_MEMORY;
+ grub_uint64_t i, failed_devices;
+
+- buffers = grub_zalloc (sizeof(*buffers) * nstripes);
++ buffers = grub_calloc (nstripes, sizeof (*buffers));
+ if (!buffers)
+ goto cleanup;
+
+@@ -2160,7 +2160,7 @@ grub_btrfs_embed (grub_device_t device __attribute__ ((unused)),
+ *nsectors = 64 * 2 - 1;
+ if (*nsectors > max_nsectors)
+ *nsectors = max_nsectors;
+- *sectors = grub_malloc (*nsectors * sizeof (**sectors));
++ *sectors = grub_calloc (*nsectors, sizeof (**sectors));
+ if (!*sectors)
+ return grub_errno;
+ for (i = 0; i < *nsectors; i++)
+diff --git a/grub-core/fs/hfs.c b/grub-core/fs/hfs.c
+index ac0a409..3fe842b 100644
+--- a/grub-core/fs/hfs.c
++++ b/grub-core/fs/hfs.c
+@@ -1360,7 +1360,7 @@ grub_hfs_label (grub_device_t device, char **label)
+ grub_size_t len = data->sblock.volname[0];
+ if (len > sizeof (data->sblock.volname) - 1)
+ len = sizeof (data->sblock.volname) - 1;
+- *label = grub_malloc (len * MAX_UTF8_PER_MAC_ROMAN + 1);
++ *label = grub_calloc (MAX_UTF8_PER_MAC_ROMAN + 1, len);
+ if (*label)
+ macroman_to_utf8 (*label, data->sblock.volname + 1,
+ len + 1, 0);
+diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c
+index 54786bb..dae43be 100644
+--- a/grub-core/fs/hfsplus.c
++++ b/grub-core/fs/hfsplus.c
+@@ -720,7 +720,7 @@ list_nodes (void *record, void *hook_arg)
+ if (! filename)
+ return 0;
+
+- keyname = grub_malloc (grub_be_to_cpu16 (catkey->namelen) * sizeof (*keyname));
++ keyname = grub_calloc (grub_be_to_cpu16 (catkey->namelen), sizeof (*keyname));
+ if (!keyname)
+ {
+ grub_free (filename);
+@@ -1007,7 +1007,7 @@ grub_hfsplus_label (grub_device_t device, char **label)
+ grub_hfsplus_btree_recptr (&data->catalog_tree, node, ptr);
+
+ label_len = grub_be_to_cpu16 (catkey->namelen);
+- label_name = grub_malloc (label_len * sizeof (*label_name));
++ label_name = grub_calloc (label_len, sizeof (*label_name));
+ if (!label_name)
+ {
+ grub_free (node);
+@@ -1029,7 +1029,7 @@ grub_hfsplus_label (grub_device_t device, char **label)
+ }
+ }
+
+- *label = grub_malloc (label_len * GRUB_MAX_UTF8_PER_UTF16 + 1);
++ *label = grub_calloc (label_len, GRUB_MAX_UTF8_PER_UTF16 + 1);
+ if (! *label)
+ {
+ grub_free (label_name);
+diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c
+index 49c0c63..4f1b52a 100644
+--- a/grub-core/fs/iso9660.c
++++ b/grub-core/fs/iso9660.c
+@@ -331,7 +331,7 @@ grub_iso9660_convert_string (grub_uint8_t *us, int len)
+ int i;
+ grub_uint16_t t[MAX_NAMELEN / 2 + 1];
+
+- p = grub_malloc (len * GRUB_MAX_UTF8_PER_UTF16 + 1);
++ p = grub_calloc (len, GRUB_MAX_UTF8_PER_UTF16 + 1);
+ if (! p)
+ return NULL;
+
+diff --git a/grub-core/fs/ntfs.c b/grub-core/fs/ntfs.c
+index fc4e1f6..2f34f76 100644
+--- a/grub-core/fs/ntfs.c
++++ b/grub-core/fs/ntfs.c
+@@ -556,8 +556,8 @@ get_utf8 (grub_uint8_t *in, grub_size_t len)
+ grub_uint16_t *tmp;
+ grub_size_t i;
+
+- buf = grub_malloc (len * GRUB_MAX_UTF8_PER_UTF16 + 1);
+- tmp = grub_malloc (len * sizeof (tmp[0]));
++ buf = grub_calloc (len, GRUB_MAX_UTF8_PER_UTF16 + 1);
++ tmp = grub_calloc (len, sizeof (tmp[0]));
+ if (!buf || !tmp)
+ {
+ grub_free (buf);
+diff --git a/grub-core/fs/sfs.c b/grub-core/fs/sfs.c
+index 50c1fe7..90f7fb3 100644
+--- a/grub-core/fs/sfs.c
++++ b/grub-core/fs/sfs.c
+@@ -266,7 +266,7 @@ grub_sfs_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
+ node->next_extent = node->block;
+ node->cache_size = 0;
+
+- node->cache = grub_malloc (sizeof (node->cache[0]) * cache_size);
++ node->cache = grub_calloc (cache_size, sizeof (node->cache[0]));
+ if (!node->cache)
+ {
+ grub_errno = 0;
+diff --git a/grub-core/fs/tar.c b/grub-core/fs/tar.c
+index 7d63e0c..c551ed6 100644
+--- a/grub-core/fs/tar.c
++++ b/grub-core/fs/tar.c
+@@ -120,7 +120,7 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name,
+ if (data->linkname_alloc < linksize + 1)
+ {
+ char *n;
+- n = grub_malloc (2 * (linksize + 1));
++ n = grub_calloc (2, linksize + 1);
+ if (!n)
+ return grub_errno;
+ grub_free (data->linkname);
+diff --git a/grub-core/fs/udf.c b/grub-core/fs/udf.c
+index dc8b6e2..a837616 100644
+--- a/grub-core/fs/udf.c
++++ b/grub-core/fs/udf.c
+@@ -873,7 +873,7 @@ read_string (const grub_uint8_t *raw, grub_size_t sz, char *outbuf)
+ {
+ unsigned i;
+ utf16len = sz - 1;
+- utf16 = grub_malloc (utf16len * sizeof (utf16[0]));
++ utf16 = grub_calloc (utf16len, sizeof (utf16[0]));
+ if (!utf16)
+ return NULL;
+ for (i = 0; i < utf16len; i++)
+@@ -883,7 +883,7 @@ read_string (const grub_uint8_t *raw, grub_size_t sz, char *outbuf)
+ {
+ unsigned i;
+ utf16len = (sz - 1) / 2;
+- utf16 = grub_malloc (utf16len * sizeof (utf16[0]));
++ utf16 = grub_calloc (utf16len, sizeof (utf16[0]));
+ if (!utf16)
+ return NULL;
+ for (i = 0; i < utf16len; i++)
+diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c
+index 2f72e42..381dde5 100644
+--- a/grub-core/fs/zfs/zfs.c
++++ b/grub-core/fs/zfs/zfs.c
+@@ -3325,7 +3325,7 @@ dnode_get_fullpath (const char *fullpath, struct subvolume *subvol,
+ }
+ subvol->nkeys = 0;
+ zap_iterate (&keychain_dn, 8, count_zap_keys, &ctx, data);
+- subvol->keyring = grub_zalloc (subvol->nkeys * sizeof (subvol->keyring[0]));
++ subvol->keyring = grub_calloc (subvol->nkeys, sizeof (subvol->keyring[0]));
+ if (!subvol->keyring)
+ {
+ grub_free (fsname);
+@@ -4336,7 +4336,7 @@ grub_zfs_embed (grub_device_t device __attribute__ ((unused)),
+ *nsectors = (VDEV_BOOT_SIZE >> GRUB_DISK_SECTOR_BITS);
+ if (*nsectors > max_nsectors)
+ *nsectors = max_nsectors;
+- *sectors = grub_malloc (*nsectors * sizeof (**sectors));
++ *sectors = grub_calloc (*nsectors, sizeof (**sectors));
+ if (!*sectors)
+ return grub_errno;
+ for (i = 0; i < *nsectors; i++)
+diff --git a/grub-core/gfxmenu/gui_string_util.c b/grub-core/gfxmenu/gui_string_util.c
+index a9a415e..ba1e1ea 100644
+--- a/grub-core/gfxmenu/gui_string_util.c
++++ b/grub-core/gfxmenu/gui_string_util.c
+@@ -55,7 +55,7 @@ canonicalize_path (const char *path)
+ if (*p == '/')
+ components++;
+
+- char **path_array = grub_malloc (components * sizeof (*path_array));
++ char **path_array = grub_calloc (components, sizeof (*path_array));
+ if (! path_array)
+ return 0;
+
+diff --git a/grub-core/gfxmenu/widget-box.c b/grub-core/gfxmenu/widget-box.c
+index b606028..470597d 100644
+--- a/grub-core/gfxmenu/widget-box.c
++++ b/grub-core/gfxmenu/widget-box.c
+@@ -303,10 +303,10 @@ grub_gfxmenu_create_box (const char *pixmaps_prefix,
+ box->content_height = 0;
+ box->raw_pixmaps =
+ (struct grub_video_bitmap **)
+- grub_malloc (BOX_NUM_PIXMAPS * sizeof (struct grub_video_bitmap *));
++ grub_calloc (BOX_NUM_PIXMAPS, sizeof (struct grub_video_bitmap *));
+ box->scaled_pixmaps =
+ (struct grub_video_bitmap **)
+- grub_malloc (BOX_NUM_PIXMAPS * sizeof (struct grub_video_bitmap *));
++ grub_calloc (BOX_NUM_PIXMAPS, sizeof (struct grub_video_bitmap *));
+
+ /* Initialize all pixmap pointers to NULL so that proper destruction can
+ be performed if an error is encountered partway through construction. */
+diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c
+index 6208a97..43d98a7 100644
+--- a/grub-core/io/gzio.c
++++ b/grub-core/io/gzio.c
+@@ -554,7 +554,7 @@ huft_build (unsigned *b, /* code lengths in bits (all assumed <= BMAX) */
+ z = 1 << j; /* table entries for j-bit table */
+
+ /* allocate and link in new table */
+- q = (struct huft *) grub_zalloc ((z + 1) * sizeof (struct huft));
++ q = (struct huft *) grub_calloc (z + 1, sizeof (struct huft));
+ if (! q)
+ {
+ if (h)
+diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
+index 6e1ceb9..dc31caa 100644
+--- a/grub-core/kern/efi/efi.c
++++ b/grub-core/kern/efi/efi.c
+@@ -202,7 +202,7 @@ grub_efi_set_variable(const char *var, const grub_efi_guid_t *guid,
+
+ len = grub_strlen (var);
+ len16 = len * GRUB_MAX_UTF16_PER_UTF8;
+- var16 = grub_malloc ((len16 + 1) * sizeof (var16[0]));
++ var16 = grub_calloc (len16 + 1, sizeof (var16[0]));
+ if (!var16)
+ return grub_errno;
+ len16 = grub_utf8_to_utf16 (var16, len16, (grub_uint8_t *) var, len, NULL);
+@@ -237,7 +237,7 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
+
+ len = grub_strlen (var);
+ len16 = len * GRUB_MAX_UTF16_PER_UTF8;
+- var16 = grub_malloc ((len16 + 1) * sizeof (var16[0]));
++ var16 = grub_calloc (len16 + 1, sizeof (var16[0]));
+ if (!var16)
+ return NULL;
+ len16 = grub_utf8_to_utf16 (var16, len16, (grub_uint8_t *) var, len, NULL);
+@@ -383,7 +383,7 @@ grub_efi_get_filename (grub_efi_device_path_t *dp0)
+ while (len > 0 && fp->path_name[len - 1] == 0)
+ len--;
+
+- dup_name = grub_malloc (len * sizeof (*dup_name));
++ dup_name = grub_calloc (len, sizeof (*dup_name));
+ if (!dup_name)
+ {
+ grub_free (name);
+diff --git a/grub-core/kern/emu/hostdisk.c b/grub-core/kern/emu/hostdisk.c
+index e9ec680..d975265 100644
+--- a/grub-core/kern/emu/hostdisk.c
++++ b/grub-core/kern/emu/hostdisk.c
+@@ -615,7 +615,7 @@ static char *
+ grub_util_path_concat_real (size_t n, int ext, va_list ap)
+ {
+ size_t totlen = 0;
+- char **l = xmalloc ((n + ext) * sizeof (l[0]));
++ char **l = xcalloc (n + ext, sizeof (l[0]));
+ char *r, *p, *pi;
+ size_t i;
+ int first = 1;
+diff --git a/grub-core/kern/fs.c b/grub-core/kern/fs.c
+index 2b85f49..f90be65 100644
+--- a/grub-core/kern/fs.c
++++ b/grub-core/kern/fs.c
+@@ -151,7 +151,7 @@ grub_fs_blocklist_open (grub_file_t file, const char *name)
+ while (p);
+
+ /* Allocate a block list. */
+- blocks = grub_zalloc (sizeof (struct grub_fs_block) * (num + 1));
++ blocks = grub_calloc (num + 1, sizeof (struct grub_fs_block));
+ if (! blocks)
+ return 0;
+
+diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
+index 3b633d5..a7abd36 100644
+--- a/grub-core/kern/misc.c
++++ b/grub-core/kern/misc.c
+@@ -690,7 +690,7 @@ parse_printf_args (const char *fmt0, struct printf_args *args,
+ args->ptr = args->prealloc;
+ else
+ {
+- args->ptr = grub_malloc (args->count * sizeof (args->ptr[0]));
++ args->ptr = grub_calloc (args->count, sizeof (args->ptr[0]));
+ if (!args->ptr)
+ {
+ grub_errno = GRUB_ERR_NONE;
+diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c
+index 78175aa..619db31 100644
+--- a/grub-core/kern/parser.c
++++ b/grub-core/kern/parser.c
+@@ -213,7 +213,7 @@ grub_parser_split_cmdline (const char *cmdline,
+ return grub_errno;
+ grub_memcpy (args, buffer, bp - buffer);
+
+- *argv = grub_malloc (sizeof (char *) * (*argc + 1));
++ *argv = grub_calloc (*argc + 1, sizeof (char *));
+ if (!*argv)
+ {
+ grub_free (args);
+diff --git a/grub-core/kern/uboot/uboot.c b/grub-core/kern/uboot/uboot.c
+index be4816f..aac8f9a 100644
+--- a/grub-core/kern/uboot/uboot.c
++++ b/grub-core/kern/uboot/uboot.c
+@@ -133,7 +133,7 @@ grub_uboot_dev_enum (void)
+ return num_devices;
+
+ max_devices = 2;
+- enum_devices = grub_malloc (sizeof(struct device_info) * max_devices);
++ enum_devices = grub_calloc (max_devices, sizeof(struct device_info));
+ if (!enum_devices)
+ return 0;
+
+diff --git a/grub-core/lib/libgcrypt/cipher/ac.c b/grub-core/lib/libgcrypt/cipher/ac.c
+index f5e946a..63f6fcd 100644
+--- a/grub-core/lib/libgcrypt/cipher/ac.c
++++ b/grub-core/lib/libgcrypt/cipher/ac.c
+@@ -185,7 +185,7 @@ ac_data_mpi_copy (gcry_ac_mpi_t *data_mpis, unsigned int data_mpis_n,
+ gcry_mpi_t mpi;
+ char *label;
+
+- data_mpis_new = gcry_malloc (sizeof (*data_mpis_new) * data_mpis_n);
++ data_mpis_new = gcry_calloc (data_mpis_n, sizeof (*data_mpis_new));
+ if (! data_mpis_new)
+ {
+ err = gcry_error_from_errno (errno);
+@@ -572,7 +572,7 @@ _gcry_ac_data_to_sexp (gcry_ac_data_t data, gcry_sexp_t *sexp,
+ }
+
+ /* Add MPI list. */
+- arg_list = gcry_malloc (sizeof (*arg_list) * (data_n + 1));
++ arg_list = gcry_calloc (data_n + 1, sizeof (*arg_list));
+ if (! arg_list)
+ {
+ err = gcry_error_from_errno (errno);
+@@ -1283,7 +1283,7 @@ ac_data_construct (const char *identifier, int include_flags,
+ /* We build a list of arguments to pass to
+ gcry_sexp_build_array(). */
+ data_length = _gcry_ac_data_length (data);
+- arg_list = gcry_malloc (sizeof (*arg_list) * (data_length * 2));
++ arg_list = gcry_calloc (data_length, sizeof (*arg_list) * 2);
+ if (! arg_list)
+ {
+ err = gcry_error_from_errno (errno);
+@@ -1593,7 +1593,7 @@ _gcry_ac_key_pair_generate (gcry_ac_handle_t handle, unsigned int nbits,
+ arg_list_n += 2;
+
+ /* Allocate list. */
+- arg_list = gcry_malloc (sizeof (*arg_list) * arg_list_n);
++ arg_list = gcry_calloc (arg_list_n, sizeof (*arg_list));
+ if (! arg_list)
+ {
+ err = gcry_error_from_errno (errno);
+diff --git a/grub-core/lib/libgcrypt/cipher/primegen.c b/grub-core/lib/libgcrypt/cipher/primegen.c
+index 2788e34..b12e79b 100644
+--- a/grub-core/lib/libgcrypt/cipher/primegen.c
++++ b/grub-core/lib/libgcrypt/cipher/primegen.c
+@@ -383,7 +383,7 @@ prime_generate_internal (int need_q_factor,
+ }
+
+ /* Allocate an array to track pool usage. */
+- pool_in_use = gcry_malloc (n * sizeof *pool_in_use);
++ pool_in_use = gcry_calloc (n, sizeof *pool_in_use);
+ if (!pool_in_use)
+ {
+ err = gpg_err_code_from_errno (errno);
+@@ -765,7 +765,7 @@ gen_prime (unsigned int nbits, int secret, int randomlevel,
+ if (nbits < 16)
+ log_fatal ("can't generate a prime with less than %d bits\n", 16);
+
+- mods = gcry_xmalloc( no_of_small_prime_numbers * sizeof *mods );
++ mods = gcry_xcalloc( no_of_small_prime_numbers, sizeof *mods);
+ /* Make nbits fit into gcry_mpi_t implementation. */
+ val_2 = mpi_alloc_set_ui( 2 );
+ val_3 = mpi_alloc_set_ui( 3);
+diff --git a/grub-core/lib/libgcrypt/cipher/pubkey.c b/grub-core/lib/libgcrypt/cipher/pubkey.c
+index 9109821..ca087ad 100644
+--- a/grub-core/lib/libgcrypt/cipher/pubkey.c
++++ b/grub-core/lib/libgcrypt/cipher/pubkey.c
+@@ -2941,7 +2941,7 @@ gcry_pk_encrypt (gcry_sexp_t *r_ciph, gcry_sexp_t s_data, gcry_sexp_t s_pkey)
+ * array to a format string, so we have to do it this way :-(. */
+ /* FIXME: There is now such a format specifier, so we can
+ change the code to be more clear. */
+- arg_list = malloc (nelem * sizeof *arg_list);
++ arg_list = calloc (nelem, sizeof *arg_list);
+ if (!arg_list)
+ {
+ rc = gpg_err_code_from_syserror ();
+@@ -3233,7 +3233,7 @@ gcry_pk_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_hash, gcry_sexp_t s_skey)
+ }
+ strcpy (p, "))");
+
+- arg_list = malloc (nelem * sizeof *arg_list);
++ arg_list = calloc (nelem, sizeof *arg_list);
+ if (!arg_list)
+ {
+ rc = gpg_err_code_from_syserror ();
+diff --git a/grub-core/lib/priority_queue.c b/grub-core/lib/priority_queue.c
+index 659be0b..7d5e7c0 100644
+--- a/grub-core/lib/priority_queue.c
++++ b/grub-core/lib/priority_queue.c
+@@ -92,7 +92,7 @@ grub_priority_queue_new (grub_size_t elsize,
+ {
+ struct grub_priority_queue *ret;
+ void *els;
+- els = grub_malloc (elsize * 8);
++ els = grub_calloc (8, elsize);
+ if (!els)
+ return 0;
+ ret = (struct grub_priority_queue *) grub_malloc (sizeof (*ret));
+diff --git a/grub-core/lib/reed_solomon.c b/grub-core/lib/reed_solomon.c
+index ee9fa7b..467305b 100644
+--- a/grub-core/lib/reed_solomon.c
++++ b/grub-core/lib/reed_solomon.c
+@@ -20,6 +20,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
++#define xcalloc calloc
+ #define xmalloc malloc
+ #define grub_memset memset
+ #define grub_memcpy memcpy
+@@ -158,11 +159,9 @@ rs_encode (gf_single_t *data, grub_size_t s, grub_size_t rs)
+ gf_single_t *rs_polynomial;
+ int i, j;
+ gf_single_t *m;
+- m = xmalloc ((s + rs) * sizeof (gf_single_t));
++ m = xcalloc (s + rs, sizeof (gf_single_t));
+ grub_memcpy (m, data, s * sizeof (gf_single_t));
+- grub_memset (m + s, 0, rs * sizeof (gf_single_t));
+- rs_polynomial = xmalloc ((rs + 1) * sizeof (gf_single_t));
+- grub_memset (rs_polynomial, 0, (rs + 1) * sizeof (gf_single_t));
++ rs_polynomial = xcalloc (rs + 1, sizeof (gf_single_t));
+ rs_polynomial[rs] = 1;
+ /* Multiply with X - a^r */
+ for (j = 0; j < rs; j++)
+diff --git a/grub-core/lib/relocator.c b/grub-core/lib/relocator.c
+index ea3ebc7..5847aac 100644
+--- a/grub-core/lib/relocator.c
++++ b/grub-core/lib/relocator.c
+@@ -495,9 +495,9 @@ malloc_in_range (struct grub_relocator *rel,
+ }
+ #endif
+
+- eventt = grub_malloc (maxevents * sizeof (events[0]));
++ eventt = grub_calloc (maxevents, sizeof (events[0]));
+ counter = grub_malloc ((DIGITSORT_MASK + 2) * sizeof (counter[0]));
+- events = grub_malloc (maxevents * sizeof (events[0]));
++ events = grub_calloc (maxevents, sizeof (events[0]));
+ if (!events || !eventt || !counter)
+ {
+ grub_dprintf ("relocator", "events or counter allocation failed %d\n",
+@@ -963,7 +963,7 @@ malloc_in_range (struct grub_relocator *rel,
+ #endif
+ unsigned cural = 0;
+ int oom = 0;
+- res->subchunks = grub_malloc (sizeof (res->subchunks[0]) * nallocs);
++ res->subchunks = grub_calloc (nallocs, sizeof (res->subchunks[0]));
+ if (!res->subchunks)
+ oom = 1;
+ res->nsubchunks = nallocs;
+@@ -1562,8 +1562,8 @@ grub_relocator_prepare_relocs (struct grub_relocator *rel, grub_addr_t addr,
+ count[(chunk->src & 0xff) + 1]++;
+ }
+ }
+- from = grub_malloc (nchunks * sizeof (sorted[0]));
+- to = grub_malloc (nchunks * sizeof (sorted[0]));
++ from = grub_calloc (nchunks, sizeof (sorted[0]));
++ to = grub_calloc (nchunks, sizeof (sorted[0]));
+ if (!from || !to)
+ {
+ grub_free (from);
+diff --git a/grub-core/lib/zstd/fse_decompress.c b/grub-core/lib/zstd/fse_decompress.c
+index 72bbead..2227b84 100644
+--- a/grub-core/lib/zstd/fse_decompress.c
++++ b/grub-core/lib/zstd/fse_decompress.c
+@@ -82,7 +82,7 @@
+ FSE_DTable* FSE_createDTable (unsigned tableLog)
+ {
+ if (tableLog > FSE_TABLELOG_ABSOLUTE_MAX) tableLog = FSE_TABLELOG_ABSOLUTE_MAX;
+- return (FSE_DTable*)malloc( FSE_DTABLE_SIZE_U32(tableLog) * sizeof (U32) );
++ return (FSE_DTable*)calloc( FSE_DTABLE_SIZE_U32(tableLog), sizeof (U32) );
+ }
+
+ void FSE_freeDTable (FSE_DTable* dt)
+diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c
+index 5168491..d70c174 100644
+--- a/grub-core/loader/arm/linux.c
++++ b/grub-core/loader/arm/linux.c
+@@ -78,7 +78,7 @@ linux_prepare_atag (void *target_atag)
+
+ /* some place for cmdline, initrd and terminator. */
+ tmp_size = get_atag_size (atag_orig) + 20 + (arg_size) / 4;
+- tmp_atag = grub_malloc (tmp_size * sizeof (grub_uint32_t));
++ tmp_atag = grub_calloc (tmp_size, sizeof (grub_uint32_t));
+ if (!tmp_atag)
+ return grub_errno;
+
+diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
+index cd92ea3..daf8c6b 100644
+--- a/grub-core/loader/efi/chainloader.c
++++ b/grub-core/loader/efi/chainloader.c
+@@ -116,7 +116,7 @@ copy_file_path (grub_efi_file_path_device_path_t *fp,
+ fp->header.type = GRUB_EFI_MEDIA_DEVICE_PATH_TYPE;
+ fp->header.subtype = GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE;
+
+- path_name = grub_malloc (len * GRUB_MAX_UTF16_PER_UTF8 * sizeof (*path_name));
++ path_name = grub_calloc (len, GRUB_MAX_UTF16_PER_UTF8 * sizeof (*path_name));
+ if (!path_name)
+ return;
+
+diff --git a/grub-core/loader/i386/bsdXX.c b/grub-core/loader/i386/bsdXX.c
+index af6741d..a8d8bf7 100644
+--- a/grub-core/loader/i386/bsdXX.c
++++ b/grub-core/loader/i386/bsdXX.c
+@@ -48,7 +48,7 @@ read_headers (grub_file_t file, const char *filename, Elf_Ehdr *e, char **shdr)
+ if (e->e_ident[EI_CLASS] != SUFFIX (ELFCLASS))
+ return grub_error (GRUB_ERR_BAD_OS, N_("invalid arch-dependent ELF magic"));
+
+- *shdr = grub_malloc ((grub_uint32_t) e->e_shnum * e->e_shentsize);
++ *shdr = grub_calloc (e->e_shnum, e->e_shentsize);
+ if (! *shdr)
+ return grub_errno;
+
+diff --git a/grub-core/loader/i386/xnu.c b/grub-core/loader/i386/xnu.c
+index e64ed08..b7d176b 100644
+--- a/grub-core/loader/i386/xnu.c
++++ b/grub-core/loader/i386/xnu.c
+@@ -295,7 +295,7 @@ grub_xnu_devprop_add_property_utf8 (struct grub_xnu_devprop_device_descriptor *d
+ return grub_errno;
+
+ len = grub_strlen (name);
+- utf16 = grub_malloc (sizeof (grub_uint16_t) * len);
++ utf16 = grub_calloc (len, sizeof (grub_uint16_t));
+ if (!utf16)
+ {
+ grub_free (utf8);
+@@ -331,7 +331,7 @@ grub_xnu_devprop_add_property_utf16 (struct grub_xnu_devprop_device_descriptor *
+ grub_uint16_t *utf16;
+ grub_err_t err;
+
+- utf16 = grub_malloc (sizeof (grub_uint16_t) * namelen);
++ utf16 = grub_calloc (namelen, sizeof (grub_uint16_t));
+ if (!utf16)
+ return grub_errno;
+ grub_memcpy (utf16, name, sizeof (grub_uint16_t) * namelen);
+diff --git a/grub-core/loader/macho.c b/grub-core/loader/macho.c
+index 085f9c6..05710c4 100644
+--- a/grub-core/loader/macho.c
++++ b/grub-core/loader/macho.c
+@@ -97,7 +97,7 @@ grub_macho_file (grub_file_t file, const char *filename, int is_64bit)
+ if (grub_file_seek (macho->file, sizeof (struct grub_macho_fat_header))
+ == (grub_off_t) -1)
+ goto fail;
+- archs = grub_malloc (sizeof (struct grub_macho_fat_arch) * narchs);
++ archs = grub_calloc (narchs, sizeof (struct grub_macho_fat_arch));
+ if (!archs)
+ goto fail;
+ if (grub_file_read (macho->file, archs,
+diff --git a/grub-core/loader/multiboot_elfxx.c b/grub-core/loader/multiboot_elfxx.c
+index 70cd1db..cc68536 100644
+--- a/grub-core/loader/multiboot_elfxx.c
++++ b/grub-core/loader/multiboot_elfxx.c
+@@ -217,7 +217,7 @@ CONCAT(grub_multiboot_load_elf, XX) (mbi_load_data_t *mld)
+ {
+ grub_uint8_t *shdr, *shdrptr;
+
+- shdr = grub_malloc ((grub_uint32_t) ehdr->e_shnum * ehdr->e_shentsize);
++ shdr = grub_calloc (ehdr->e_shnum, ehdr->e_shentsize);
+ if (!shdr)
+ return grub_errno;
+
+diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c
+index 7f74d1d..77d7060 100644
+--- a/grub-core/loader/xnu.c
++++ b/grub-core/loader/xnu.c
+@@ -800,7 +800,7 @@ grub_cmd_xnu_mkext (grub_command_t cmd __attribute__ ((unused)),
+ if (grub_be_to_cpu32 (head.magic) == GRUB_MACHO_FAT_MAGIC)
+ {
+ narchs = grub_be_to_cpu32 (head.nfat_arch);
+- archs = grub_malloc (sizeof (struct grub_macho_fat_arch) * narchs);
++ archs = grub_calloc (narchs, sizeof (struct grub_macho_fat_arch));
+ if (! archs)
+ {
+ grub_file_close (file);
+diff --git a/grub-core/mmap/mmap.c b/grub-core/mmap/mmap.c
+index 6a31cba..57b4e9a 100644
+--- a/grub-core/mmap/mmap.c
++++ b/grub-core/mmap/mmap.c
+@@ -143,9 +143,9 @@ grub_mmap_iterate (grub_memory_hook_t hook, void *hook_data)
+
+ /* Initialize variables. */
+ ctx.scanline_events = (struct grub_mmap_scan *)
+- grub_malloc (sizeof (struct grub_mmap_scan) * 2 * mmap_num);
++ grub_calloc (mmap_num, sizeof (struct grub_mmap_scan) * 2);
+
+- present = grub_zalloc (sizeof (present[0]) * current_priority);
++ present = grub_calloc (current_priority, sizeof (present[0]));
+
+ if (! ctx.scanline_events || !present)
+ {
+diff --git a/grub-core/net/bootp.c b/grub-core/net/bootp.c
+index 04cfbb0..6539572 100644
+--- a/grub-core/net/bootp.c
++++ b/grub-core/net/bootp.c
+@@ -766,7 +766,7 @@ grub_cmd_bootp (struct grub_command *cmd __attribute__ ((unused)),
+ if (ncards == 0)
+ return grub_error (GRUB_ERR_NET_NO_CARD, N_("no network card found"));
+
+- ifaces = grub_zalloc (ncards * sizeof (ifaces[0]));
++ ifaces = grub_calloc (ncards, sizeof (ifaces[0]));
+ if (!ifaces)
+ return grub_errno;
+
+diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c
+index 5d9afe0..e332d5e 100644
+--- a/grub-core/net/dns.c
++++ b/grub-core/net/dns.c
+@@ -285,8 +285,8 @@ recv_hook (grub_net_udp_socket_t sock __attribute__ ((unused)),
+ ptr++;
+ ptr += 4;
+ }
+- *data->addresses = grub_malloc (sizeof ((*data->addresses)[0])
+- * grub_be_to_cpu16 (head->ancount));
++ *data->addresses = grub_calloc (grub_be_to_cpu16 (head->ancount),
++ sizeof ((*data->addresses)[0]));
+ if (!*data->addresses)
+ {
+ grub_errno = GRUB_ERR_NONE;
+@@ -406,8 +406,8 @@ recv_hook (grub_net_udp_socket_t sock __attribute__ ((unused)),
+ dns_cache[h].addresses = 0;
+ dns_cache[h].name = grub_strdup (data->oname);
+ dns_cache[h].naddresses = *data->naddresses;
+- dns_cache[h].addresses = grub_malloc (*data->naddresses
+- * sizeof (dns_cache[h].addresses[0]));
++ dns_cache[h].addresses = grub_calloc (*data->naddresses,
++ sizeof (dns_cache[h].addresses[0]));
+ dns_cache[h].limit_time = grub_get_time_ms () + 1000 * ttl_all;
+ if (!dns_cache[h].addresses || !dns_cache[h].name)
+ {
+@@ -479,7 +479,7 @@ grub_net_dns_lookup (const char *name,
+ }
+ }
+
+- sockets = grub_malloc (sizeof (sockets[0]) * n_servers);
++ sockets = grub_calloc (n_servers, sizeof (sockets[0]));
+ if (!sockets)
+ return grub_errno;
+
+diff --git a/grub-core/net/net.c b/grub-core/net/net.c
+index d5d726a..38f19df 100644
+--- a/grub-core/net/net.c
++++ b/grub-core/net/net.c
+@@ -333,8 +333,8 @@ grub_cmd_ipv6_autoconf (struct grub_command *cmd __attribute__ ((unused)),
+ ncards++;
+ }
+
+- ifaces = grub_zalloc (ncards * sizeof (ifaces[0]));
+- slaacs = grub_zalloc (ncards * sizeof (slaacs[0]));
++ ifaces = grub_calloc (ncards, sizeof (ifaces[0]));
++ slaacs = grub_calloc (ncards, sizeof (slaacs[0]));
+ if (!ifaces || !slaacs)
+ {
+ grub_free (ifaces);
+diff --git a/grub-core/normal/charset.c b/grub-core/normal/charset.c
+index b0ab47d..d57fb72 100644
+--- a/grub-core/normal/charset.c
++++ b/grub-core/normal/charset.c
+@@ -203,7 +203,7 @@ grub_utf8_to_ucs4_alloc (const char *msg, grub_uint32_t **unicode_msg,
+ {
+ grub_size_t msg_len = grub_strlen (msg);
+
+- *unicode_msg = grub_malloc (msg_len * sizeof (grub_uint32_t));
++ *unicode_msg = grub_calloc (msg_len, sizeof (grub_uint32_t));
+
+ if (!*unicode_msg)
+ return -1;
+@@ -488,7 +488,7 @@ grub_unicode_aglomerate_comb (const grub_uint32_t *in, grub_size_t inlen,
+ }
+ else
+ {
+- n = grub_malloc (sizeof (n[0]) * (out->ncomb + 1));
++ n = grub_calloc (out->ncomb + 1, sizeof (n[0]));
+ if (!n)
+ {
+ grub_errno = GRUB_ERR_NONE;
+@@ -842,7 +842,7 @@ grub_bidi_line_logical_to_visual (const grub_uint32_t *logical,
+ } \
+ }
+
+- visual = grub_malloc (sizeof (visual[0]) * logical_len);
++ visual = grub_calloc (logical_len, sizeof (visual[0]));
+ if (!visual)
+ return -1;
+
+@@ -1165,8 +1165,8 @@ grub_bidi_logical_to_visual (const grub_uint32_t *logical,
+ {
+ const grub_uint32_t *line_start = logical, *ptr;
+ struct grub_unicode_glyph *visual_ptr;
+- *visual_out = visual_ptr = grub_malloc (3 * sizeof (visual_ptr[0])
+- * (logical_len + 2));
++ *visual_out = visual_ptr = grub_calloc (logical_len + 2,
++ 3 * sizeof (visual_ptr[0]));
+ if (!visual_ptr)
+ return -1;
+ for (ptr = logical; ptr <= logical + logical_len; ptr++)
+diff --git a/grub-core/normal/cmdline.c b/grub-core/normal/cmdline.c
+index c037d50..c57242e 100644
+--- a/grub-core/normal/cmdline.c
++++ b/grub-core/normal/cmdline.c
+@@ -41,7 +41,7 @@ grub_err_t
+ grub_set_history (int newsize)
+ {
+ grub_uint32_t **old_hist_lines = hist_lines;
+- hist_lines = grub_malloc (sizeof (grub_uint32_t *) * newsize);
++ hist_lines = grub_calloc (newsize, sizeof (grub_uint32_t *));
+
+ /* Copy the old lines into the new buffer. */
+ if (old_hist_lines)
+@@ -114,7 +114,7 @@ static void
+ grub_history_set (int pos, grub_uint32_t *s, grub_size_t len)
+ {
+ grub_free (hist_lines[pos]);
+- hist_lines[pos] = grub_malloc ((len + 1) * sizeof (grub_uint32_t));
++ hist_lines[pos] = grub_calloc (len + 1, sizeof (grub_uint32_t));
+ if (!hist_lines[pos])
+ {
+ grub_print_error ();
+@@ -349,7 +349,7 @@ grub_cmdline_get (const char *prompt_translated)
+ char *ret;
+ unsigned nterms;
+
+- buf = grub_malloc (max_len * sizeof (grub_uint32_t));
++ buf = grub_calloc (max_len, sizeof (grub_uint32_t));
+ if (!buf)
+ return 0;
+
+@@ -377,7 +377,7 @@ grub_cmdline_get (const char *prompt_translated)
+ FOR_ACTIVE_TERM_OUTPUTS(cur)
+ nterms++;
+
+- cl_terms = grub_malloc (sizeof (cl_terms[0]) * nterms);
++ cl_terms = grub_calloc (nterms, sizeof (cl_terms[0]));
+ if (!cl_terms)
+ {
+ grub_free (buf);
+@@ -385,7 +385,7 @@ grub_cmdline_get (const char *prompt_translated)
+ }
+ cl_term_cur = cl_terms;
+
+- unicode_msg = grub_malloc (msg_len * sizeof (grub_uint32_t));
++ unicode_msg = grub_calloc (msg_len, sizeof (grub_uint32_t));
+ if (!unicode_msg)
+ {
+ grub_free (buf);
+@@ -495,7 +495,7 @@ grub_cmdline_get (const char *prompt_translated)
+ grub_uint32_t *insert;
+
+ insertlen = grub_strlen (insertu8);
+- insert = grub_malloc ((insertlen + 1) * sizeof (grub_uint32_t));
++ insert = grub_calloc (insertlen + 1, sizeof (grub_uint32_t));
+ if (!insert)
+ {
+ grub_free (insertu8);
+@@ -602,7 +602,7 @@ grub_cmdline_get (const char *prompt_translated)
+
+ grub_free (kill_buf);
+
+- kill_buf = grub_malloc ((n + 1) * sizeof(grub_uint32_t));
++ kill_buf = grub_calloc (n + 1, sizeof (grub_uint32_t));
+ if (grub_errno)
+ {
+ grub_print_error ();
+diff --git a/grub-core/normal/menu_entry.c b/grub-core/normal/menu_entry.c
+index cdf3590..1993995 100644
+--- a/grub-core/normal/menu_entry.c
++++ b/grub-core/normal/menu_entry.c
+@@ -95,8 +95,8 @@ init_line (struct screen *screen, struct line *linep)
+ {
+ linep->len = 0;
+ linep->max_len = 80;
+- linep->buf = grub_malloc ((linep->max_len + 1) * sizeof (linep->buf[0]));
+- linep->pos = grub_zalloc (screen->nterms * sizeof (linep->pos[0]));
++ linep->buf = grub_calloc (linep->max_len + 1, sizeof (linep->buf[0]));
++ linep->pos = grub_calloc (screen->nterms, sizeof (linep->pos[0]));
+ if (! linep->buf || !linep->pos)
+ {
+ grub_free (linep->buf);
+@@ -287,7 +287,7 @@ update_screen (struct screen *screen, struct per_term_screen *term_screen,
+ pos = linep->pos + (term_screen - screen->terms);
+
+ if (!*pos)
+- *pos = grub_zalloc ((linep->len + 1) * sizeof (**pos));
++ *pos = grub_calloc (linep->len + 1, sizeof (**pos));
+
+ if (i == region_start || linep == screen->lines + screen->line
+ || (i > region_start && mode == ALL_LINES))
+@@ -471,7 +471,7 @@ insert_string (struct screen *screen, const char *s, int update)
+
+ /* Insert the string. */
+ current_linep = screen->lines + screen->line;
+- unicode_msg = grub_malloc ((p - s) * sizeof (grub_uint32_t));
++ unicode_msg = grub_calloc (p - s, sizeof (grub_uint32_t));
+
+ if (!unicode_msg)
+ return 0;
+@@ -1023,7 +1023,7 @@ complete (struct screen *screen, int continuous, int update)
+ if (completion_buffer.buf)
+ {
+ buflen = grub_strlen (completion_buffer.buf);
+- ucs4 = grub_malloc (sizeof (grub_uint32_t) * (buflen + 1));
++ ucs4 = grub_calloc (buflen + 1, sizeof (grub_uint32_t));
+
+ if (!ucs4)
+ {
+@@ -1268,7 +1268,7 @@ grub_menu_entry_run (grub_menu_entry_t entry)
+ for (i = 0; i < (unsigned) screen->num_lines; i++)
+ {
+ grub_free (screen->lines[i].pos);
+- screen->lines[i].pos = grub_zalloc (screen->nterms * sizeof (screen->lines[i].pos[0]));
++ screen->lines[i].pos = grub_calloc (screen->nterms, sizeof (screen->lines[i].pos[0]));
+ if (! screen->lines[i].pos)
+ {
+ grub_print_error ();
+@@ -1278,7 +1278,7 @@ grub_menu_entry_run (grub_menu_entry_t entry)
+ }
+ }
+
+- screen->terms = grub_zalloc (screen->nterms * sizeof (screen->terms[0]));
++ screen->terms = grub_calloc (screen->nterms, sizeof (screen->terms[0]));
+ if (!screen->terms)
+ {
+ grub_print_error ();
+diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
+index e22bb91..18240e7 100644
+--- a/grub-core/normal/menu_text.c
++++ b/grub-core/normal/menu_text.c
+@@ -78,7 +78,7 @@ grub_print_message_indented_real (const char *msg, int margin_left,
+ grub_size_t msg_len = grub_strlen (msg) + 2;
+ int ret = 0;
+
+- unicode_msg = grub_malloc (msg_len * sizeof (grub_uint32_t));
++ unicode_msg = grub_calloc (msg_len, sizeof (grub_uint32_t));
+
+ if (!unicode_msg)
+ return 0;
+@@ -211,7 +211,7 @@ print_entry (int y, int highlight, grub_menu_entry_t entry,
+
+ title = entry ? entry->title : "";
+ title_len = grub_strlen (title);
+- unicode_title = grub_malloc (title_len * sizeof (*unicode_title));
++ unicode_title = grub_calloc (title_len, sizeof (*unicode_title));
+ if (! unicode_title)
+ /* XXX How to show this error? */
+ return;
+diff --git a/grub-core/normal/term.c b/grub-core/normal/term.c
+index a1e5c5a..cc8c173 100644
+--- a/grub-core/normal/term.c
++++ b/grub-core/normal/term.c
+@@ -264,7 +264,7 @@ grub_term_save_pos (void)
+ FOR_ACTIVE_TERM_OUTPUTS(cur)
+ cnt++;
+
+- ret = grub_malloc (cnt * sizeof (ret[0]));
++ ret = grub_calloc (cnt, sizeof (ret[0]));
+ if (!ret)
+ return NULL;
+
+@@ -1013,7 +1013,7 @@ grub_xnputs (const char *str, grub_size_t msg_len)
+
+ grub_error_push ();
+
+- unicode_str = grub_malloc (msg_len * sizeof (grub_uint32_t));
++ unicode_str = grub_calloc (msg_len, sizeof (grub_uint32_t));
+
+ grub_error_pop ();
+
+diff --git a/grub-core/osdep/linux/getroot.c b/grub-core/osdep/linux/getroot.c
+index 90d92d3..5b41ad0 100644
+--- a/grub-core/osdep/linux/getroot.c
++++ b/grub-core/osdep/linux/getroot.c
+@@ -168,7 +168,7 @@ grub_util_raid_getmembers (const char *name, int bootable)
+ if (ret != 0)
+ grub_util_error (_("ioctl GET_ARRAY_INFO error: %s"), strerror (errno));
+
+- devicelist = xmalloc ((info.nr_disks + 1) * sizeof (char *));
++ devicelist = xcalloc (info.nr_disks + 1, sizeof (char *));
+
+ for (i = 0, j = 0; j < info.nr_disks; i++)
+ {
+@@ -241,7 +241,7 @@ grub_find_root_devices_from_btrfs (const char *dir)
+ return NULL;
+ }
+
+- ret = xmalloc ((fsi.num_devices + 1) * sizeof (ret[0]));
++ ret = xcalloc (fsi.num_devices + 1, sizeof (ret[0]));
+
+ for (i = 1; i <= fsi.max_id && j < fsi.num_devices; i++)
+ {
+@@ -396,7 +396,7 @@ grub_find_root_devices_from_mountinfo (const char *dir, char **relroot)
+ if (relroot)
+ *relroot = NULL;
+
+- entries = xmalloc (entry_max * sizeof (*entries));
++ entries = xcalloc (entry_max, sizeof (*entries));
+
+ again:
+ fp = grub_util_fopen ("/proc/self/mountinfo", "r");
+diff --git a/grub-core/osdep/unix/config.c b/grub-core/osdep/unix/config.c
+index 65effa9..7d63251 100644
+--- a/grub-core/osdep/unix/config.c
++++ b/grub-core/osdep/unix/config.c
+@@ -89,7 +89,7 @@ grub_util_load_config (struct grub_util_config *cfg)
+ argv[0] = "sh";
+ argv[1] = "-c";
+
+- script = xmalloc (4 * strlen (cfgfile) + 300);
++ script = xcalloc (4, strlen (cfgfile) + 300);
+
+ ptr = script;
+ memcpy (ptr, ". '", 3);
+diff --git a/grub-core/osdep/windows/getroot.c b/grub-core/osdep/windows/getroot.c
+index 661d954..eada663 100644
+--- a/grub-core/osdep/windows/getroot.c
++++ b/grub-core/osdep/windows/getroot.c
+@@ -59,7 +59,7 @@ grub_get_mount_point (const TCHAR *path)
+
+ for (ptr = path; *ptr; ptr++);
+ allocsize = (ptr - path + 10) * 2;
+- out = xmalloc (allocsize * sizeof (out[0]));
++ out = xcalloc (allocsize, sizeof (out[0]));
+
+ /* When pointing to EFI system partition GetVolumePathName fails
+ for ESP root and returns abberant information for everything
+diff --git a/grub-core/osdep/windows/hostdisk.c b/grub-core/osdep/windows/hostdisk.c
+index 3551007..0be3273 100644
+--- a/grub-core/osdep/windows/hostdisk.c
++++ b/grub-core/osdep/windows/hostdisk.c
+@@ -111,7 +111,7 @@ grub_util_get_windows_path_real (const char *path)
+
+ while (1)
+ {
+- fpa = xmalloc (alloc * sizeof (fpa[0]));
++ fpa = xcalloc (alloc, sizeof (fpa[0]));
+
+ len = GetFullPathName (tpath, alloc, fpa, NULL);
+ if (len >= alloc)
+@@ -399,7 +399,7 @@ grub_util_fd_opendir (const char *name)
+ for (l = 0; name_windows[l]; l++);
+ for (l--; l >= 0 && (name_windows[l] == '\\' || name_windows[l] == '/'); l--);
+ l++;
+- pattern = xmalloc ((l + 3) * sizeof (pattern[0]));
++ pattern = xcalloc (l + 3, sizeof (pattern[0]));
+ memcpy (pattern, name_windows, l * sizeof (pattern[0]));
+ pattern[l] = '\\';
+ pattern[l + 1] = '*';
+diff --git a/grub-core/osdep/windows/init.c b/grub-core/osdep/windows/init.c
+index e8ffd62..6297de6 100644
+--- a/grub-core/osdep/windows/init.c
++++ b/grub-core/osdep/windows/init.c
+@@ -161,7 +161,7 @@ grub_util_host_init (int *argc __attribute__ ((unused)),
+ LPWSTR *targv;
+
+ targv = CommandLineToArgvW (tcmdline, argc);
+- *argv = xmalloc ((*argc + 1) * sizeof (argv[0]));
++ *argv = xcalloc (*argc + 1, sizeof (argv[0]));
+
+ for (i = 0; i < *argc; i++)
+ (*argv)[i] = grub_util_tchar_to_utf8 (targv[i]);
+diff --git a/grub-core/osdep/windows/platform.c b/grub-core/osdep/windows/platform.c
+index 7eb53fe..1ef86bf 100644
+--- a/grub-core/osdep/windows/platform.c
++++ b/grub-core/osdep/windows/platform.c
+@@ -225,8 +225,8 @@ grub_install_register_efi (grub_device_t efidir_grub_dev,
+ grub_util_error ("%s", _("no EFI routines are available when running in BIOS mode"));
+
+ distrib8_len = grub_strlen (efi_distributor);
+- distributor16 = xmalloc ((distrib8_len + 1) * GRUB_MAX_UTF16_PER_UTF8
+- * sizeof (grub_uint16_t));
++ distributor16 = xcalloc (distrib8_len + 1,
++ GRUB_MAX_UTF16_PER_UTF8 * sizeof (grub_uint16_t));
+ distrib16_len = grub_utf8_to_utf16 (distributor16, distrib8_len * GRUB_MAX_UTF16_PER_UTF8,
+ (const grub_uint8_t *) efi_distributor,
+ distrib8_len, 0);
+diff --git a/grub-core/osdep/windows/relpath.c b/grub-core/osdep/windows/relpath.c
+index cb08617..478e8ef 100644
+--- a/grub-core/osdep/windows/relpath.c
++++ b/grub-core/osdep/windows/relpath.c
+@@ -72,7 +72,7 @@ grub_make_system_path_relative_to_its_root (const char *path)
+ if (dirwindows[0] && dirwindows[1] == ':')
+ offset = 2;
+ }
+- ret = xmalloc (sizeof (ret[0]) * (flen - offset + 2));
++ ret = xcalloc (flen - offset + 2, sizeof (ret[0]));
+ if (dirwindows[offset] != '\\'
+ && dirwindows[offset] != '/'
+ && dirwindows[offset])
+diff --git a/grub-core/partmap/gpt.c b/grub-core/partmap/gpt.c
+index 103f679..72a2e37 100644
+--- a/grub-core/partmap/gpt.c
++++ b/grub-core/partmap/gpt.c
+@@ -199,7 +199,7 @@ gpt_partition_map_embed (struct grub_disk *disk, unsigned int *nsectors,
+ *nsectors = ctx.len;
+ if (*nsectors > max_nsectors)
+ *nsectors = max_nsectors;
+- *sectors = grub_malloc (*nsectors * sizeof (**sectors));
++ *sectors = grub_calloc (*nsectors, sizeof (**sectors));
+ if (!*sectors)
+ return grub_errno;
+ for (i = 0; i < *nsectors; i++)
+diff --git a/grub-core/partmap/msdos.c b/grub-core/partmap/msdos.c
+index 7b8e450..ee3f249 100644
+--- a/grub-core/partmap/msdos.c
++++ b/grub-core/partmap/msdos.c
+@@ -337,7 +337,7 @@ pc_partition_map_embed (struct grub_disk *disk, unsigned int *nsectors,
+ avail_nsectors = *nsectors;
+ if (*nsectors > max_nsectors)
+ *nsectors = max_nsectors;
+- *sectors = grub_malloc (*nsectors * sizeof (**sectors));
++ *sectors = grub_calloc (*nsectors, sizeof (**sectors));
+ if (!*sectors)
+ return grub_errno;
+ for (i = 0; i < *nsectors; i++)
+diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
+index ee299fd..c8d6806 100644
+--- a/grub-core/script/execute.c
++++ b/grub-core/script/execute.c
+@@ -553,7 +553,7 @@ gettext_append (struct grub_script_argv *result, const char *orig_str)
+ for (iptr = orig_str; *iptr; iptr++)
+ if (*iptr == '$')
+ dollar_cnt++;
+- ctx.allowed_strings = grub_malloc (sizeof (ctx.allowed_strings[0]) * dollar_cnt);
++ ctx.allowed_strings = grub_calloc (dollar_cnt, sizeof (ctx.allowed_strings[0]));
+
+ if (parse_string (orig_str, gettext_save_allow, &ctx, 0))
+ goto fail;
+diff --git a/grub-core/tests/fake_input.c b/grub-core/tests/fake_input.c
+index 2d60852..b5eb516 100644
+--- a/grub-core/tests/fake_input.c
++++ b/grub-core/tests/fake_input.c
+@@ -49,7 +49,7 @@ grub_terminal_input_fake_sequence (int *seq_in, int nseq_in)
+ saved = grub_term_inputs;
+ if (seq)
+ grub_free (seq);
+- seq = grub_malloc (nseq_in * sizeof (seq[0]));
++ seq = grub_calloc (nseq_in, sizeof (seq[0]));
+ if (!seq)
+ return;
+
+diff --git a/grub-core/tests/video_checksum.c b/grub-core/tests/video_checksum.c
+index 74d5b65..44d0810 100644
+--- a/grub-core/tests/video_checksum.c
++++ b/grub-core/tests/video_checksum.c
+@@ -336,7 +336,7 @@ grub_video_capture_write_bmp (const char *fname,
+ {
+ case 4:
+ {
+- grub_uint8_t *buffer = xmalloc (mode_info->width * 3);
++ grub_uint8_t *buffer = xcalloc (3, mode_info->width);
+ grub_uint32_t rmask = ((1 << mode_info->red_mask_size) - 1);
+ grub_uint32_t gmask = ((1 << mode_info->green_mask_size) - 1);
+ grub_uint32_t bmask = ((1 << mode_info->blue_mask_size) - 1);
+@@ -367,7 +367,7 @@ grub_video_capture_write_bmp (const char *fname,
+ }
+ case 3:
+ {
+- grub_uint8_t *buffer = xmalloc (mode_info->width * 3);
++ grub_uint8_t *buffer = xcalloc (3, mode_info->width);
+ grub_uint32_t rmask = ((1 << mode_info->red_mask_size) - 1);
+ grub_uint32_t gmask = ((1 << mode_info->green_mask_size) - 1);
+ grub_uint32_t bmask = ((1 << mode_info->blue_mask_size) - 1);
+@@ -407,7 +407,7 @@ grub_video_capture_write_bmp (const char *fname,
+ }
+ case 2:
+ {
+- grub_uint8_t *buffer = xmalloc (mode_info->width * 3);
++ grub_uint8_t *buffer = xcalloc (3, mode_info->width);
+ grub_uint16_t rmask = ((1 << mode_info->red_mask_size) - 1);
+ grub_uint16_t gmask = ((1 << mode_info->green_mask_size) - 1);
+ grub_uint16_t bmask = ((1 << mode_info->blue_mask_size) - 1);
+diff --git a/grub-core/video/capture.c b/grub-core/video/capture.c
+index 4f83c74..4d3195e 100644
+--- a/grub-core/video/capture.c
++++ b/grub-core/video/capture.c
+@@ -89,7 +89,7 @@ grub_video_capture_start (const struct grub_video_mode_info *mode_info,
+ framebuffer.mode_info = *mode_info;
+ framebuffer.mode_info.blit_format = grub_video_get_blit_format (&framebuffer.mode_info);
+
+- framebuffer.ptr = grub_malloc (framebuffer.mode_info.height * framebuffer.mode_info.pitch);
++ framebuffer.ptr = grub_calloc (framebuffer.mode_info.height, framebuffer.mode_info.pitch);
+ if (!framebuffer.ptr)
+ return grub_errno;
+
+diff --git a/grub-core/video/emu/sdl.c b/grub-core/video/emu/sdl.c
+index a2f639f..0ebab6f 100644
+--- a/grub-core/video/emu/sdl.c
++++ b/grub-core/video/emu/sdl.c
+@@ -172,7 +172,7 @@ grub_video_sdl_set_palette (unsigned int start, unsigned int count,
+ if (start + count > mode_info.number_of_colors)
+ count = mode_info.number_of_colors - start;
+
+- tmp = grub_malloc (count * sizeof (tmp[0]));
++ tmp = grub_calloc (count, sizeof (tmp[0]));
+ for (i = 0; i < count; i++)
+ {
+ tmp[i].r = palette_data[i].r;
+diff --git a/grub-core/video/i386/pc/vga.c b/grub-core/video/i386/pc/vga.c
+index 01f4711..b2f776c 100644
+--- a/grub-core/video/i386/pc/vga.c
++++ b/grub-core/video/i386/pc/vga.c
+@@ -127,7 +127,7 @@ grub_video_vga_setup (unsigned int width, unsigned int height,
+
+ vga_height = height ? : 480;
+
+- framebuffer.temporary_buffer = grub_malloc (vga_height * VGA_WIDTH);
++ framebuffer.temporary_buffer = grub_calloc (vga_height, VGA_WIDTH);
+ framebuffer.front_page = 0;
+ framebuffer.back_page = 0;
+ if (!framebuffer.temporary_buffer)
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index 777e713..61bd645 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -309,7 +309,7 @@ grub_png_decode_image_header (struct grub_png_data *data)
+ if (data->is_16bit || data->is_gray || data->is_palette)
+ #endif
+ {
+- data->image_data = grub_malloc (data->image_height * data->row_bytes);
++ data->image_data = grub_calloc (data->image_height, data->row_bytes);
+ if (grub_errno)
+ return grub_errno;
+
+diff --git a/include/grub/unicode.h b/include/grub/unicode.h
+index a0403e9..4de986a 100644
+--- a/include/grub/unicode.h
++++ b/include/grub/unicode.h
+@@ -293,7 +293,7 @@ grub_unicode_glyph_dup (const struct grub_unicode_glyph *in)
+ grub_memcpy (out, in, sizeof (*in));
+ if (in->ncomb > ARRAY_SIZE (out->combining_inline))
+ {
+- out->combining_ptr = grub_malloc (in->ncomb * sizeof (out->combining_ptr[0]));
++ out->combining_ptr = grub_calloc (in->ncomb, sizeof (out->combining_ptr[0]));
+ if (!out->combining_ptr)
+ {
+ grub_free (out);
+@@ -315,7 +315,7 @@ grub_unicode_set_glyph (struct grub_unicode_glyph *out,
+ grub_memcpy (out, in, sizeof (*in));
+ if (in->ncomb > ARRAY_SIZE (out->combining_inline))
+ {
+- out->combining_ptr = grub_malloc (in->ncomb * sizeof (out->combining_ptr[0]));
++ out->combining_ptr = grub_calloc (in->ncomb, sizeof (out->combining_ptr[0]));
+ if (!out->combining_ptr)
+ return;
+ grub_memcpy (out->combining_ptr, in->combining_ptr,
+diff --git a/util/getroot.c b/util/getroot.c
+index 847406f..a5eaa64 100644
+--- a/util/getroot.c
++++ b/util/getroot.c
+@@ -200,7 +200,7 @@ make_device_name (const char *drive)
+ char *ret, *ptr;
+ const char *iptr;
+
+- ret = xmalloc (strlen (drive) * 2);
++ ret = xcalloc (2, strlen (drive));
+ ptr = ret;
+ for (iptr = drive; *iptr; iptr++)
+ {
+diff --git a/util/grub-file.c b/util/grub-file.c
+index 50c18b6..b2e7dd6 100644
+--- a/util/grub-file.c
++++ b/util/grub-file.c
+@@ -54,7 +54,7 @@ main (int argc, char *argv[])
+
+ grub_util_host_init (&argc, &argv);
+
+- argv2 = xmalloc (argc * sizeof (argv2[0]));
++ argv2 = xcalloc (argc, sizeof (argv2[0]));
+
+ if (argc == 2 && strcmp (argv[1], "--version") == 0)
+ {
+diff --git a/util/grub-fstest.c b/util/grub-fstest.c
+index f14e02d..57246af 100644
+--- a/util/grub-fstest.c
++++ b/util/grub-fstest.c
+@@ -650,7 +650,7 @@ argp_parser (int key, char *arg, struct argp_state *state)
+ if (args_count < num_disks)
+ {
+ if (args_count == 0)
+- images = xmalloc (num_disks * sizeof (images[0]));
++ images = xcalloc (num_disks, sizeof (images[0]));
+ images[args_count] = grub_canonicalize_file_name (arg);
+ args_count++;
+ return 0;
+@@ -734,7 +734,7 @@ main (int argc, char *argv[])
+
+ grub_util_host_init (&argc, &argv);
+
+- args = xmalloc (argc * sizeof (args[0]));
++ args = xcalloc (argc, sizeof (args[0]));
+
+ argp_parse (&argp, argc, argv, 0, 0, 0);
+
+diff --git a/util/grub-install-common.c b/util/grub-install-common.c
+index ca0ac61..0295d40 100644
+--- a/util/grub-install-common.c
++++ b/util/grub-install-common.c
+@@ -286,7 +286,7 @@ handle_install_list (struct install_list *il, const char *val,
+ il->n_entries++;
+ }
+ il->n_alloc = il->n_entries + 1;
+- il->entries = xmalloc (il->n_alloc * sizeof (il->entries[0]));
++ il->entries = xcalloc (il->n_alloc, sizeof (il->entries[0]));
+ ptr = val;
+ for (ce = il->entries; ; ce++)
+ {
+diff --git a/util/grub-install.c b/util/grub-install.c
+index 8a55ad4..a82725f 100644
+--- a/util/grub-install.c
++++ b/util/grub-install.c
+@@ -626,7 +626,7 @@ device_map_check_duplicates (const char *dev_map)
+ if (! fp)
+ return;
+
+- d = xmalloc (alloced * sizeof (d[0]));
++ d = xcalloc (alloced, sizeof (d[0]));
+
+ while (fgets (buf, sizeof (buf), fp))
+ {
+@@ -1260,7 +1260,7 @@ main (int argc, char *argv[])
+ ndev++;
+ }
+
+- grub_drives = xmalloc (sizeof (grub_drives[0]) * (ndev + 1));
++ grub_drives = xcalloc (ndev + 1, sizeof (grub_drives[0]));
+
+ for (curdev = grub_devices, curdrive = grub_drives; *curdev; curdev++,
+ curdrive++)
+diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
+index bc087c2..d97d0e7 100644
+--- a/util/grub-mkimagexx.c
++++ b/util/grub-mkimagexx.c
+@@ -2294,10 +2294,8 @@ SUFFIX (grub_mkimage_load_image) (const char *kernel_path,
+ + grub_host_to_target16 (e->e_shstrndx) * smd.section_entsize);
+ smd.strtab = (char *) e + grub_host_to_target_addr (s->sh_offset);
+
+- smd.addrs = xmalloc (sizeof (*smd.addrs) * smd.num_sections);
+- memset (smd.addrs, 0, sizeof (*smd.addrs) * smd.num_sections);
+- smd.vaddrs = xmalloc (sizeof (*smd.vaddrs) * smd.num_sections);
+- memset (smd.vaddrs, 0, sizeof (*smd.vaddrs) * smd.num_sections);
++ smd.addrs = xcalloc (smd.num_sections, sizeof (*smd.addrs));
++ smd.vaddrs = xcalloc (smd.num_sections, sizeof (*smd.vaddrs));
+
+ SUFFIX (locate_sections) (e, kernel_path, &smd, layout, image_target);
+
+diff --git a/util/grub-mkrescue.c b/util/grub-mkrescue.c
+index ce2cbc4..5183102 100644
+--- a/util/grub-mkrescue.c
++++ b/util/grub-mkrescue.c
+@@ -441,8 +441,8 @@ main (int argc, char *argv[])
+ xorriso = xstrdup ("xorriso");
+ label_font = grub_util_path_concat (2, pkgdatadir, "unicode.pf2");
+
+- argp_argv = xmalloc (sizeof (argp_argv[0]) * argc);
+- xorriso_tail_argv = xmalloc (sizeof (argp_argv[0]) * argc);
++ argp_argv = xcalloc (argc, sizeof (argp_argv[0]));
++ xorriso_tail_argv = xcalloc (argc, sizeof (argp_argv[0]));
+
+ xorriso_tail_argc = 0;
+ /* Program name */
+diff --git a/util/grub-mkstandalone.c b/util/grub-mkstandalone.c
+index 4907d44..edf3097 100644
+--- a/util/grub-mkstandalone.c
++++ b/util/grub-mkstandalone.c
+@@ -296,7 +296,7 @@ main (int argc, char *argv[])
+ grub_util_host_init (&argc, &argv);
+ grub_util_disable_fd_syncs ();
+
+- files = xmalloc ((argc + 1) * sizeof (files[0]));
++ files = xcalloc (argc + 1, sizeof (files[0]));
+
+ argp_parse (&argp, argc, argv, 0, 0, 0);
+
+diff --git a/util/grub-pe2elf.c b/util/grub-pe2elf.c
+index 0d4084a..1133129 100644
+--- a/util/grub-pe2elf.c
++++ b/util/grub-pe2elf.c
+@@ -100,9 +100,9 @@ write_section_data (FILE* fp, const char *name, char *image,
+ char *pe_strtab = (image + pe_chdr->symtab_offset
+ + pe_chdr->num_symbols * sizeof (struct grub_pe32_symbol));
+
+- section_map = xmalloc ((2 * pe_chdr->num_sections + 5) * sizeof (int));
++ section_map = xcalloc (2 * pe_chdr->num_sections + 5, sizeof (int));
+ section_map[0] = 0;
+- shdr = xmalloc ((2 * pe_chdr->num_sections + 5) * sizeof (shdr[0]));
++ shdr = xcalloc (2 * pe_chdr->num_sections + 5, sizeof (shdr[0]));
+ idx = 1;
+ idx_reloc = pe_chdr->num_sections + 1;
+
+@@ -233,7 +233,7 @@ write_reloc_section (FILE* fp, const char *name, char *image,
+
+ pe_sec = pe_shdr + shdr[i].sh_link;
+ pe_rel = (struct grub_pe32_reloc *) (image + pe_sec->relocations_offset);
+- rel = (elf_reloc_t *) xmalloc (pe_sec->num_relocations * sizeof (elf_reloc_t));
++ rel = (elf_reloc_t *) xcalloc (pe_sec->num_relocations, sizeof (elf_reloc_t));
+ num_rels = 0;
+ modified = 0;
+
+@@ -365,12 +365,10 @@ write_symbol_table (FILE* fp, const char *name, char *image,
+ pe_symtab = (struct grub_pe32_symbol *) (image + pe_chdr->symtab_offset);
+ pe_strtab = (char *) (pe_symtab + pe_chdr->num_symbols);
+
+- symtab = (Elf_Sym *) xmalloc ((pe_chdr->num_symbols + 1) *
+- sizeof (Elf_Sym));
+- memset (symtab, 0, (pe_chdr->num_symbols + 1) * sizeof (Elf_Sym));
++ symtab = (Elf_Sym *) xcalloc (pe_chdr->num_symbols + 1, sizeof (Elf_Sym));
+ num_syms = 1;
+
+- symtab_map = (int *) xmalloc (pe_chdr->num_symbols * sizeof (int));
++ symtab_map = (int *) xcalloc (pe_chdr->num_symbols, sizeof (int));
+
+ for (i = 0; i < (int) pe_chdr->num_symbols;
+ i += pe_symtab->num_aux + 1, pe_symtab += pe_symtab->num_aux + 1)
+diff --git a/util/grub-probe.c b/util/grub-probe.c
+index 81d27ee..cbe6ed9 100644
+--- a/util/grub-probe.c
++++ b/util/grub-probe.c
+@@ -361,8 +361,8 @@ probe (const char *path, char **device_names, char delim)
+ grub_util_pull_device (*curdev);
+ ndev++;
+ }
+-
+- drives_names = xmalloc (sizeof (drives_names[0]) * (ndev + 1));
++
++ drives_names = xcalloc (ndev + 1, sizeof (drives_names[0]));
+
+ for (curdev = device_names, curdrive = drives_names; *curdev; curdev++,
+ curdrive++)
+--
+2.14.4
+
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch
new file mode 100644
index 0000000..896a214
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch
@@ -0,0 +1,1330 @@
+From eb77d1ef65e25746acff43545f62a71360b15eec Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Mon, 15 Jun 2020 12:28:27 -0400
+Subject: [PATCH 6/9] malloc: Use overflow checking primitives where we do
+ complex allocations
+
+This attempts to fix the places where we do the following where
+arithmetic_expr may include unvalidated data:
+
+ X = grub_malloc(arithmetic_expr);
+
+It accomplishes this by doing the arithmetic ahead of time using grub_add(),
+grub_sub(), grub_mul() and testing for overflow before proceeding.
+
+Among other issues, this fixes:
+ - allocation of integer overflow in grub_video_bitmap_create()
+ reported by Chris Coulson,
+ - allocation of integer overflow in grub_png_decode_image_header()
+ reported by Chris Coulson,
+ - allocation of integer overflow in grub_squash_read_symlink()
+ reported by Chris Coulson,
+ - allocation of integer overflow in grub_ext2_read_symlink()
+ reported by Chris Coulson,
+ - allocation of integer overflow in read_section_as_string()
+ reported by Chris Coulson.
+
+Fixes: CVE-2020-14309, CVE-2020-14310, CVE-2020-14311
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2020-14309, CVE-2020-14310, CVE-2020-14311
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=3f05d693d1274965ffbe4ba99080dc2c570944c6
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/commands/legacycfg.c | 29 +++++++++++++++++++-----
+ grub-core/commands/wildcard.c | 36 ++++++++++++++++++++++++-----
+ grub-core/disk/ldm.c | 32 ++++++++++++++++++--------
+ grub-core/font/font.c | 7 +++++-
+ grub-core/fs/btrfs.c | 28 +++++++++++++++--------
+ grub-core/fs/ext2.c | 10 ++++++++-
+ grub-core/fs/iso9660.c | 51 +++++++++++++++++++++++++++++-------------
+ grub-core/fs/sfs.c | 27 +++++++++++++++++-----
+ grub-core/fs/squash4.c | 45 ++++++++++++++++++++++++++++---------
+ grub-core/fs/udf.c | 41 +++++++++++++++++++++------------
+ grub-core/fs/xfs.c | 11 +++++----
+ grub-core/fs/zfs/zfs.c | 22 ++++++++++++------
+ grub-core/fs/zfs/zfscrypt.c | 7 +++++-
+ grub-core/lib/arg.c | 20 +++++++++++++++--
+ grub-core/loader/i386/bsd.c | 8 ++++++-
+ grub-core/net/dns.c | 9 +++++++-
+ grub-core/normal/charset.c | 10 +++++++--
+ grub-core/normal/cmdline.c | 14 ++++++++++--
+ grub-core/normal/menu_entry.c | 13 +++++++++--
+ grub-core/script/argv.c | 16 +++++++++++--
+ grub-core/script/lexer.c | 21 ++++++++++++++---
+ grub-core/video/bitmap.c | 25 +++++++++++++--------
+ grub-core/video/readers/png.c | 13 +++++++++--
+ 23 files changed, 382 insertions(+), 113 deletions(-)
+
+diff --git a/grub-core/commands/legacycfg.c b/grub-core/commands/legacycfg.c
+index 5e3ec0d..cc5971f 100644
+--- a/grub-core/commands/legacycfg.c
++++ b/grub-core/commands/legacycfg.c
+@@ -32,6 +32,7 @@
+ #include <grub/auth.h>
+ #include <grub/disk.h>
+ #include <grub/partition.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -104,13 +105,22 @@ legacy_file (const char *filename)
+ if (newsuffix)
+ {
+ char *t;
+-
++ grub_size_t sz;
++
++ if (grub_add (grub_strlen (suffix), grub_strlen (newsuffix), &sz) ||
++ grub_add (sz, 1, &sz))
++ {
++ grub_errno = GRUB_ERR_OUT_OF_RANGE;
++ goto fail_0;
++ }
++
+ t = suffix;
+- suffix = grub_realloc (suffix, grub_strlen (suffix)
+- + grub_strlen (newsuffix) + 1);
++ suffix = grub_realloc (suffix, sz);
+ if (!suffix)
+ {
+ grub_free (t);
++
++ fail_0:
+ grub_free (entrysrc);
+ grub_free (parsed);
+ grub_free (newsuffix);
+@@ -154,13 +164,22 @@ legacy_file (const char *filename)
+ else
+ {
+ char *t;
++ grub_size_t sz;
++
++ if (grub_add (grub_strlen (entrysrc), grub_strlen (parsed), &sz) ||
++ grub_add (sz, 1, &sz))
++ {
++ grub_errno = GRUB_ERR_OUT_OF_RANGE;
++ goto fail_1;
++ }
+
+ t = entrysrc;
+- entrysrc = grub_realloc (entrysrc, grub_strlen (entrysrc)
+- + grub_strlen (parsed) + 1);
++ entrysrc = grub_realloc (entrysrc, sz);
+ if (!entrysrc)
+ {
+ grub_free (t);
++
++ fail_1:
+ grub_free (parsed);
+ grub_free (suffix);
+ return grub_errno;
+diff --git a/grub-core/commands/wildcard.c b/grub-core/commands/wildcard.c
+index 4a106ca..cc32903 100644
+--- a/grub-core/commands/wildcard.c
++++ b/grub-core/commands/wildcard.c
+@@ -23,6 +23,7 @@
+ #include <grub/file.h>
+ #include <grub/device.h>
+ #include <grub/script_sh.h>
++#include <grub/safemath.h>
+
+ #include <regex.h>
+
+@@ -48,6 +49,7 @@ merge (char **dest, char **ps)
+ int i;
+ int j;
+ char **p;
++ grub_size_t sz;
+
+ if (! dest)
+ return ps;
+@@ -60,7 +62,12 @@ merge (char **dest, char **ps)
+ for (j = 0; ps[j]; j++)
+ ;
+
+- p = grub_realloc (dest, sizeof (char*) * (i + j + 1));
++ if (grub_add (i, j, &sz) ||
++ grub_add (sz, 1, &sz) ||
++ grub_mul (sz, sizeof (char *), &sz))
++ return dest;
++
++ p = grub_realloc (dest, sz);
+ if (! p)
+ {
+ grub_free (dest);
+@@ -115,8 +122,15 @@ make_regex (const char *start, const char *end, regex_t *regexp)
+ char ch;
+ int i = 0;
+ unsigned len = end - start;
+- char *buffer = grub_malloc (len * 2 + 2 + 1); /* worst case size. */
++ char *buffer;
++ grub_size_t sz;
+
++ /* Worst case size is (len * 2 + 2 + 1). */
++ if (grub_mul (len, 2, &sz) ||
++ grub_add (sz, 3, &sz))
++ return 1;
++
++ buffer = grub_malloc (sz);
+ if (! buffer)
+ return 1;
+
+@@ -226,6 +240,7 @@ match_devices_iter (const char *name, void *data)
+ struct match_devices_ctx *ctx = data;
+ char **t;
+ char *buffer;
++ grub_size_t sz;
+
+ /* skip partitions if asked to. */
+ if (ctx->noparts && grub_strchr (name, ','))
+@@ -239,11 +254,16 @@ match_devices_iter (const char *name, void *data)
+ if (regexec (ctx->regexp, buffer, 0, 0, 0))
+ {
+ grub_dprintf ("expand", "not matched\n");
++ fail:
+ grub_free (buffer);
+ return 0;
+ }
+
+- t = grub_realloc (ctx->devs, sizeof (char*) * (ctx->ndev + 2));
++ if (grub_add (ctx->ndev, 2, &sz) ||
++ grub_mul (sz, sizeof (char *), &sz))
++ goto fail;
++
++ t = grub_realloc (ctx->devs, sz);
+ if (! t)
+ {
+ grub_free (buffer);
+@@ -300,6 +320,7 @@ match_files_iter (const char *name,
+ struct match_files_ctx *ctx = data;
+ char **t;
+ char *buffer;
++ grub_size_t sz;
+
+ /* skip . and .. names */
+ if (grub_strcmp(".", name) == 0 || grub_strcmp("..", name) == 0)
+@@ -315,9 +336,14 @@ match_files_iter (const char *name,
+ if (! buffer)
+ return 1;
+
+- t = grub_realloc (ctx->files, sizeof (char*) * (ctx->nfile + 2));
+- if (! t)
++ if (grub_add (ctx->nfile, 2, &sz) ||
++ grub_mul (sz, sizeof (char *), &sz))
++ goto fail;
++
++ t = grub_realloc (ctx->files, sz);
++ if (!t)
+ {
++ fail:
+ grub_free (buffer);
+ return 1;
+ }
+diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c
+index e632370..58f8a53 100644
+--- a/grub-core/disk/ldm.c
++++ b/grub-core/disk/ldm.c
+@@ -25,6 +25,7 @@
+ #include <grub/msdos_partition.h>
+ #include <grub/gpt_partition.h>
+ #include <grub/i18n.h>
++#include <grub/safemath.h>
+
+ #ifdef GRUB_UTIL
+ #include <grub/emu/misc.h>
+@@ -289,6 +290,7 @@ make_vg (grub_disk_t disk,
+ struct grub_ldm_vblk vblk[GRUB_DISK_SECTOR_SIZE
+ / sizeof (struct grub_ldm_vblk)];
+ unsigned i;
++ grub_size_t sz;
+ err = grub_disk_read (disk, cursec, 0,
+ sizeof(vblk), &vblk);
+ if (err)
+@@ -350,7 +352,13 @@ make_vg (grub_disk_t disk,
+ grub_free (lv);
+ goto fail2;
+ }
+- lv->name = grub_malloc (*ptr + 1);
++ if (grub_add (*ptr, 1, &sz))
++ {
++ grub_free (lv->internal_id);
++ grub_free (lv);
++ goto fail2;
++ }
++ lv->name = grub_malloc (sz);
+ if (!lv->name)
+ {
+ grub_free (lv->internal_id);
+@@ -599,10 +607,13 @@ make_vg (grub_disk_t disk,
+ if (lv->segments->node_alloc == lv->segments->node_count)
+ {
+ void *t;
+- lv->segments->node_alloc *= 2;
+- t = grub_realloc (lv->segments->nodes,
+- sizeof (*lv->segments->nodes)
+- * lv->segments->node_alloc);
++ grub_size_t sz;
++
++ if (grub_mul (lv->segments->node_alloc, 2, &lv->segments->node_alloc) ||
++ grub_mul (lv->segments->node_alloc, sizeof (*lv->segments->nodes), &sz))
++ goto fail2;
++
++ t = grub_realloc (lv->segments->nodes, sz);
+ if (!t)
+ goto fail2;
+ lv->segments->nodes = t;
+@@ -723,10 +734,13 @@ make_vg (grub_disk_t disk,
+ if (comp->segment_alloc == comp->segment_count)
+ {
+ void *t;
+- comp->segment_alloc *= 2;
+- t = grub_realloc (comp->segments,
+- comp->segment_alloc
+- * sizeof (*comp->segments));
++ grub_size_t sz;
++
++ if (grub_mul (comp->segment_alloc, 2, &comp->segment_alloc) ||
++ grub_mul (comp->segment_alloc, sizeof (*comp->segments), &sz))
++ goto fail2;
++
++ t = grub_realloc (comp->segments, sz);
+ if (!t)
+ goto fail2;
+ comp->segments = t;
+diff --git a/grub-core/font/font.c b/grub-core/font/font.c
+index 8e118b3..5edb477 100644
+--- a/grub-core/font/font.c
++++ b/grub-core/font/font.c
+@@ -30,6 +30,7 @@
+ #include <grub/unicode.h>
+ #include <grub/fontformat.h>
+ #include <grub/env.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -360,9 +361,13 @@ static char *
+ read_section_as_string (struct font_file_section *section)
+ {
+ char *str;
++ grub_size_t sz;
+ grub_ssize_t ret;
+
+- str = grub_malloc (section->length + 1);
++ if (grub_add (section->length, 1, &sz))
++ return NULL;
++
++ str = grub_malloc (sz);
+ if (!str)
+ return 0;
+
+diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
+index 11272ef..2b65bd5 100644
+--- a/grub-core/fs/btrfs.c
++++ b/grub-core/fs/btrfs.c
+@@ -40,6 +40,7 @@
+ #include <grub/btrfs.h>
+ #include <grub/crypto.h>
+ #include <grub/diskfilter.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -329,9 +330,13 @@ save_ref (struct grub_btrfs_leaf_descriptor *desc,
+ if (desc->allocated < desc->depth)
+ {
+ void *newdata;
+- desc->allocated *= 2;
+- newdata = grub_realloc (desc->data, sizeof (desc->data[0])
+- * desc->allocated);
++ grub_size_t sz;
++
++ if (grub_mul (desc->allocated, 2, &desc->allocated) ||
++ grub_mul (desc->allocated, sizeof (desc->data[0]), &sz))
++ return GRUB_ERR_OUT_OF_RANGE;
++
++ newdata = grub_realloc (desc->data, sz);
+ if (!newdata)
+ return grub_errno;
+ desc->data = newdata;
+@@ -622,16 +627,21 @@ find_device (struct grub_btrfs_data *data, grub_uint64_t id)
+ if (data->n_devices_attached > data->n_devices_allocated)
+ {
+ void *tmp;
+- data->n_devices_allocated = 2 * data->n_devices_attached + 1;
+- data->devices_attached
+- = grub_realloc (tmp = data->devices_attached,
+- data->n_devices_allocated
+- * sizeof (data->devices_attached[0]));
++ grub_size_t sz;
++
++ if (grub_mul (data->n_devices_attached, 2, &data->n_devices_allocated) ||
++ grub_add (data->n_devices_allocated, 1, &data->n_devices_allocated) ||
++ grub_mul (data->n_devices_allocated, sizeof (data->devices_attached[0]), &sz))
++ goto fail;
++
++ data->devices_attached = grub_realloc (tmp = data->devices_attached, sz);
+ if (!data->devices_attached)
+ {
++ data->devices_attached = tmp;
++
++ fail:
+ if (ctx.dev_found)
+ grub_device_close (ctx.dev_found);
+- data->devices_attached = tmp;
+ return NULL;
+ }
+ }
+diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c
+index 9b38980..ac33bcd 100644
+--- a/grub-core/fs/ext2.c
++++ b/grub-core/fs/ext2.c
+@@ -46,6 +46,7 @@
+ #include <grub/dl.h>
+ #include <grub/types.h>
+ #include <grub/fshelp.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -703,6 +704,7 @@ grub_ext2_read_symlink (grub_fshelp_node_t node)
+ {
+ char *symlink;
+ struct grub_fshelp_node *diro = node;
++ grub_size_t sz;
+
+ if (! diro->inode_read)
+ {
+@@ -717,7 +719,13 @@ grub_ext2_read_symlink (grub_fshelp_node_t node)
+ }
+ }
+
+- symlink = grub_malloc (grub_le_to_cpu32 (diro->inode.size) + 1);
++ if (grub_add (grub_le_to_cpu32 (diro->inode.size), 1, &sz))
++ {
++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++ return NULL;
++ }
++
++ symlink = grub_malloc (sz);
+ if (! symlink)
+ return 0;
+
+diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c
+index 4f1b52a..7ba5b30 100644
+--- a/grub-core/fs/iso9660.c
++++ b/grub-core/fs/iso9660.c
+@@ -28,6 +28,7 @@
+ #include <grub/fshelp.h>
+ #include <grub/charset.h>
+ #include <grub/datetime.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -531,8 +532,13 @@ add_part (struct iterate_dir_ctx *ctx,
+ int len2)
+ {
+ int size = ctx->symlink ? grub_strlen (ctx->symlink) : 0;
++ grub_size_t sz;
+
+- ctx->symlink = grub_realloc (ctx->symlink, size + len2 + 1);
++ if (grub_add (size, len2, &sz) ||
++ grub_add (sz, 1, &sz))
++ return;
++
++ ctx->symlink = grub_realloc (ctx->symlink, sz);
+ if (! ctx->symlink)
+ return;
+
+@@ -560,17 +566,24 @@ susp_iterate_dir (struct grub_iso9660_susp_entry *entry,
+ {
+ grub_size_t off = 0, csize = 1;
+ char *old;
++ grub_size_t sz;
++
+ csize = entry->len - 5;
+ old = ctx->filename;
+ if (ctx->filename_alloc)
+ {
+ off = grub_strlen (ctx->filename);
+- ctx->filename = grub_realloc (ctx->filename, csize + off + 1);
++ if (grub_add (csize, off, &sz) ||
++ grub_add (sz, 1, &sz))
++ return GRUB_ERR_OUT_OF_RANGE;
++ ctx->filename = grub_realloc (ctx->filename, sz);
+ }
+ else
+ {
+ off = 0;
+- ctx->filename = grub_zalloc (csize + 1);
++ if (grub_add (csize, 1, &sz))
++ return GRUB_ERR_OUT_OF_RANGE;
++ ctx->filename = grub_zalloc (sz);
+ }
+ if (!ctx->filename)
+ {
+@@ -776,14 +789,18 @@ grub_iso9660_iterate_dir (grub_fshelp_node_t dir,
+ if (node->have_dirents >= node->alloc_dirents)
+ {
+ struct grub_fshelp_node *new_node;
+- node->alloc_dirents *= 2;
+- new_node = grub_realloc (node,
+- sizeof (struct grub_fshelp_node)
+- + ((node->alloc_dirents
+- - ARRAY_SIZE (node->dirents))
+- * sizeof (node->dirents[0])));
++ grub_size_t sz;
++
++ if (grub_mul (node->alloc_dirents, 2, &node->alloc_dirents) ||
++ grub_sub (node->alloc_dirents, ARRAY_SIZE (node->dirents), &sz) ||
++ grub_mul (sz, sizeof (node->dirents[0]), &sz) ||
++ grub_add (sz, sizeof (struct grub_fshelp_node), &sz))
++ goto fail_0;
++
++ new_node = grub_realloc (node, sz);
+ if (!new_node)
+ {
++ fail_0:
+ if (ctx.filename_alloc)
+ grub_free (ctx.filename);
+ grub_free (node);
+@@ -799,14 +816,18 @@ grub_iso9660_iterate_dir (grub_fshelp_node_t dir,
+ * sizeof (node->dirents[0]) < grub_strlen (ctx.symlink) + 1)
+ {
+ struct grub_fshelp_node *new_node;
+- new_node = grub_realloc (node,
+- sizeof (struct grub_fshelp_node)
+- + ((node->alloc_dirents
+- - ARRAY_SIZE (node->dirents))
+- * sizeof (node->dirents[0]))
+- + grub_strlen (ctx.symlink) + 1);
++ grub_size_t sz;
++
++ if (grub_sub (node->alloc_dirents, ARRAY_SIZE (node->dirents), &sz) ||
++ grub_mul (sz, sizeof (node->dirents[0]), &sz) ||
++ grub_add (sz, sizeof (struct grub_fshelp_node) + 1, &sz) ||
++ grub_add (sz, grub_strlen (ctx.symlink), &sz))
++ goto fail_1;
++
++ new_node = grub_realloc (node, sz);
+ if (!new_node)
+ {
++ fail_1:
+ if (ctx.filename_alloc)
+ grub_free (ctx.filename);
+ grub_free (node);
+diff --git a/grub-core/fs/sfs.c b/grub-core/fs/sfs.c
+index 90f7fb3..de2b107 100644
+--- a/grub-core/fs/sfs.c
++++ b/grub-core/fs/sfs.c
+@@ -26,6 +26,7 @@
+ #include <grub/types.h>
+ #include <grub/fshelp.h>
+ #include <grub/charset.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -307,10 +308,15 @@ grub_sfs_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
+ if (node->cache && node->cache_size >= node->cache_allocated)
+ {
+ struct cache_entry *e = node->cache;
+- e = grub_realloc (node->cache,node->cache_allocated * 2
+- * sizeof (e[0]));
++ grub_size_t sz;
++
++ if (grub_mul (node->cache_allocated, 2 * sizeof (e[0]), &sz))
++ goto fail;
++
++ e = grub_realloc (node->cache, sz);
+ if (!e)
+ {
++ fail:
+ grub_errno = 0;
+ grub_free (node->cache);
+ node->cache = 0;
+@@ -477,10 +483,16 @@ grub_sfs_create_node (struct grub_fshelp_node **node,
+ grub_size_t len = grub_strlen (name);
+ grub_uint8_t *name_u8;
+ int ret;
++ grub_size_t sz;
++
++ if (grub_mul (len, GRUB_MAX_UTF8_PER_LATIN1, &sz) ||
++ grub_add (sz, 1, &sz))
++ return 1;
++
+ *node = grub_malloc (sizeof (**node));
+ if (!*node)
+ return 1;
+- name_u8 = grub_malloc (len * GRUB_MAX_UTF8_PER_LATIN1 + 1);
++ name_u8 = grub_malloc (sz);
+ if (!name_u8)
+ {
+ grub_free (*node);
+@@ -724,8 +736,13 @@ grub_sfs_label (grub_device_t device, char **label)
+ data = grub_sfs_mount (disk);
+ if (data)
+ {
+- grub_size_t len = grub_strlen (data->label);
+- *label = grub_malloc (len * GRUB_MAX_UTF8_PER_LATIN1 + 1);
++ grub_size_t sz, len = grub_strlen (data->label);
++
++ if (grub_mul (len, GRUB_MAX_UTF8_PER_LATIN1, &sz) ||
++ grub_add (sz, 1, &sz))
++ return GRUB_ERR_OUT_OF_RANGE;
++
++ *label = grub_malloc (sz);
+ if (*label)
+ *grub_latin1_to_utf8 ((grub_uint8_t *) *label,
+ (const grub_uint8_t *) data->label,
+diff --git a/grub-core/fs/squash4.c b/grub-core/fs/squash4.c
+index 95d5c1e..7851238 100644
+--- a/grub-core/fs/squash4.c
++++ b/grub-core/fs/squash4.c
+@@ -26,6 +26,7 @@
+ #include <grub/types.h>
+ #include <grub/fshelp.h>
+ #include <grub/deflate.h>
++#include <grub/safemath.h>
+ #include <minilzo.h>
+
+ #include "xz.h"
+@@ -459,7 +460,17 @@ grub_squash_read_symlink (grub_fshelp_node_t node)
+ {
+ char *ret;
+ grub_err_t err;
+- ret = grub_malloc (grub_le_to_cpu32 (node->ino.symlink.namelen) + 1);
++ grub_size_t sz;
++
++ if (grub_add (grub_le_to_cpu32 (node->ino.symlink.namelen), 1, &sz))
++ {
++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++ return NULL;
++ }
++
++ ret = grub_malloc (sz);
++ if (!ret)
++ return NULL;
+
+ err = read_chunk (node->data, ret,
+ grub_le_to_cpu32 (node->ino.symlink.namelen),
+@@ -506,11 +517,16 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir,
+
+ {
+ grub_fshelp_node_t node;
+- node = grub_malloc (sizeof (*node) + dir->stsize * sizeof (dir->stack[0]));
++ grub_size_t sz;
++
++ if (grub_mul (dir->stsize, sizeof (dir->stack[0]), &sz) ||
++ grub_add (sz, sizeof (*node), &sz))
++ return 0;
++
++ node = grub_malloc (sz);
+ if (!node)
+ return 0;
+- grub_memcpy (node, dir,
+- sizeof (*node) + dir->stsize * sizeof (dir->stack[0]));
++ grub_memcpy (node, dir, sz);
+ if (hook (".", GRUB_FSHELP_DIR, node, hook_data))
+ return 1;
+
+@@ -518,12 +534,15 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir,
+ {
+ grub_err_t err;
+
+- node = grub_malloc (sizeof (*node) + dir->stsize * sizeof (dir->stack[0]));
++ if (grub_mul (dir->stsize, sizeof (dir->stack[0]), &sz) ||
++ grub_add (sz, sizeof (*node), &sz))
++ return 0;
++
++ node = grub_malloc (sz);
+ if (!node)
+ return 0;
+
+- grub_memcpy (node, dir,
+- sizeof (*node) + dir->stsize * sizeof (dir->stack[0]));
++ grub_memcpy (node, dir, sz);
+
+ node->stsize--;
+ err = read_chunk (dir->data, &node->ino, sizeof (node->ino),
+@@ -557,6 +576,7 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir,
+ enum grub_fshelp_filetype filetype = GRUB_FSHELP_REG;
+ struct grub_squash_dirent di;
+ struct grub_squash_inode ino;
++ grub_size_t sz;
+
+ err = read_chunk (dir->data, &di, sizeof (di),
+ grub_le_to_cpu64 (dir->data->sb.diroffset)
+@@ -589,13 +609,16 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir,
+ if (grub_le_to_cpu16 (di.type) == SQUASH_TYPE_SYMLINK)
+ filetype = GRUB_FSHELP_SYMLINK;
+
+- node = grub_malloc (sizeof (*node)
+- + (dir->stsize + 1) * sizeof (dir->stack[0]));
++ if (grub_add (dir->stsize, 1, &sz) ||
++ grub_mul (sz, sizeof (dir->stack[0]), &sz) ||
++ grub_add (sz, sizeof (*node), &sz))
++ return 0;
++
++ node = grub_malloc (sz);
+ if (! node)
+ return 0;
+
+- grub_memcpy (node, dir,
+- sizeof (*node) + dir->stsize * sizeof (dir->stack[0]));
++ grub_memcpy (node, dir, sz - sizeof(dir->stack[0]));
+
+ node->ino = ino;
+ node->stack[node->stsize].ino_chunk = grub_le_to_cpu32 (dh.ino_chunk);
+diff --git a/grub-core/fs/udf.c b/grub-core/fs/udf.c
+index a837616..21ac7f4 100644
+--- a/grub-core/fs/udf.c
++++ b/grub-core/fs/udf.c
+@@ -28,6 +28,7 @@
+ #include <grub/charset.h>
+ #include <grub/datetime.h>
+ #include <grub/udf.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -890,9 +891,19 @@ read_string (const grub_uint8_t *raw, grub_size_t sz, char *outbuf)
+ utf16[i] = (raw[2 * i + 1] << 8) | raw[2*i + 2];
+ }
+ if (!outbuf)
+- outbuf = grub_malloc (utf16len * GRUB_MAX_UTF8_PER_UTF16 + 1);
++ {
++ grub_size_t size;
++
++ if (grub_mul (utf16len, GRUB_MAX_UTF8_PER_UTF16, &size) ||
++ grub_add (size, 1, &size))
++ goto fail;
++
++ outbuf = grub_malloc (size);
++ }
+ if (outbuf)
+ *grub_utf16_to_utf8 ((grub_uint8_t *) outbuf, utf16, utf16len) = '\0';
++
++ fail:
+ grub_free (utf16);
+ return outbuf;
+ }
+@@ -1005,7 +1016,7 @@ grub_udf_read_symlink (grub_fshelp_node_t node)
+ grub_size_t sz = U64 (node->block.fe.file_size);
+ grub_uint8_t *raw;
+ const grub_uint8_t *ptr;
+- char *out, *optr;
++ char *out = NULL, *optr;
+
+ if (sz < 4)
+ return NULL;
+@@ -1013,14 +1024,16 @@ grub_udf_read_symlink (grub_fshelp_node_t node)
+ if (!raw)
+ return NULL;
+ if (grub_udf_read_file (node, NULL, NULL, 0, sz, (char *) raw) < 0)
+- {
+- grub_free (raw);
+- return NULL;
+- }
++ goto fail_1;
+
+- out = grub_malloc (sz * 2 + 1);
++ if (grub_mul (sz, 2, &sz) ||
++ grub_add (sz, 1, &sz))
++ goto fail_0;
++
++ out = grub_malloc (sz);
+ if (!out)
+ {
++ fail_0:
+ grub_free (raw);
+ return NULL;
+ }
+@@ -1031,17 +1044,17 @@ grub_udf_read_symlink (grub_fshelp_node_t node)
+ {
+ grub_size_t s;
+ if ((grub_size_t) (ptr - raw + 4) > sz)
+- goto fail;
++ goto fail_1;
+ if (!(ptr[2] == 0 && ptr[3] == 0))
+- goto fail;
++ goto fail_1;
+ s = 4 + ptr[1];
+ if ((grub_size_t) (ptr - raw + s) > sz)
+- goto fail;
++ goto fail_1;
+ switch (*ptr)
+ {
+ case 1:
+ if (ptr[1])
+- goto fail;
++ goto fail_1;
+ /* Fallthrough. */
+ case 2:
+ /* in 4 bytes. out: 1 byte. */
+@@ -1066,11 +1079,11 @@ grub_udf_read_symlink (grub_fshelp_node_t node)
+ if (optr != out)
+ *optr++ = '/';
+ if (!read_string (ptr + 4, s - 4, optr))
+- goto fail;
++ goto fail_1;
+ optr += grub_strlen (optr);
+ break;
+ default:
+- goto fail;
++ goto fail_1;
+ }
+ ptr += s;
+ }
+@@ -1078,7 +1091,7 @@ grub_udf_read_symlink (grub_fshelp_node_t node)
+ grub_free (raw);
+ return out;
+
+- fail:
++ fail_1:
+ grub_free (raw);
+ grub_free (out);
+ grub_error (GRUB_ERR_BAD_FS, "invalid symlink");
+diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c
+index 96ffecb..ea65902 100644
+--- a/grub-core/fs/xfs.c
++++ b/grub-core/fs/xfs.c
+@@ -25,6 +25,7 @@
+ #include <grub/dl.h>
+ #include <grub/types.h>
+ #include <grub/fshelp.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -899,6 +900,7 @@ static struct grub_xfs_data *
+ grub_xfs_mount (grub_disk_t disk)
+ {
+ struct grub_xfs_data *data = 0;
++ grub_size_t sz;
+
+ data = grub_zalloc (sizeof (struct grub_xfs_data));
+ if (!data)
+@@ -913,10 +915,11 @@ grub_xfs_mount (grub_disk_t disk)
+ if (!grub_xfs_sb_valid(data))
+ goto fail;
+
+- data = grub_realloc (data,
+- sizeof (struct grub_xfs_data)
+- - sizeof (struct grub_xfs_inode)
+- + grub_xfs_inode_size(data) + 1);
++ if (grub_add (grub_xfs_inode_size (data),
++ sizeof (struct grub_xfs_data) - sizeof (struct grub_xfs_inode) + 1, &sz))
++ goto fail;
++
++ data = grub_realloc (data, sz);
+
+ if (! data)
+ goto fail;
+diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c
+index 381dde5..36d0373 100644
+--- a/grub-core/fs/zfs/zfs.c
++++ b/grub-core/fs/zfs/zfs.c
+@@ -55,6 +55,7 @@
+ #include <grub/deflate.h>
+ #include <grub/crypto.h>
+ #include <grub/i18n.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -773,11 +774,14 @@ fill_vdev_info (struct grub_zfs_data *data,
+ if (data->n_devices_attached > data->n_devices_allocated)
+ {
+ void *tmp;
+- data->n_devices_allocated = 2 * data->n_devices_attached + 1;
+- data->devices_attached
+- = grub_realloc (tmp = data->devices_attached,
+- data->n_devices_allocated
+- * sizeof (data->devices_attached[0]));
++ grub_size_t sz;
++
++ if (grub_mul (data->n_devices_attached, 2, &data->n_devices_allocated) ||
++ grub_add (data->n_devices_allocated, 1, &data->n_devices_allocated) ||
++ grub_mul (data->n_devices_allocated, sizeof (data->devices_attached[0]), &sz))
++ return GRUB_ERR_OUT_OF_RANGE;
++
++ data->devices_attached = grub_realloc (tmp = data->devices_attached, sz);
+ if (!data->devices_attached)
+ {
+ data->devices_attached = tmp;
+@@ -3468,14 +3472,18 @@ grub_zfs_nvlist_lookup_nvlist (const char *nvlist, const char *name)
+ {
+ char *nvpair;
+ char *ret;
+- grub_size_t size;
++ grub_size_t size, sz;
+ int found;
+
+ found = nvlist_find_value (nvlist, name, DATA_TYPE_NVLIST, &nvpair,
+ &size, 0);
+ if (!found)
+ return 0;
+- ret = grub_zalloc (size + 3 * sizeof (grub_uint32_t));
++
++ if (grub_add (size, 3 * sizeof (grub_uint32_t), &sz))
++ return 0;
++
++ ret = grub_zalloc (sz);
+ if (!ret)
+ return 0;
+ grub_memcpy (ret, nvlist, sizeof (grub_uint32_t));
+diff --git a/grub-core/fs/zfs/zfscrypt.c b/grub-core/fs/zfs/zfscrypt.c
+index 1402e0b..de3b015 100644
+--- a/grub-core/fs/zfs/zfscrypt.c
++++ b/grub-core/fs/zfs/zfscrypt.c
+@@ -22,6 +22,7 @@
+ #include <grub/misc.h>
+ #include <grub/disk.h>
+ #include <grub/partition.h>
++#include <grub/safemath.h>
+ #include <grub/dl.h>
+ #include <grub/types.h>
+ #include <grub/zfs/zfs.h>
+@@ -82,9 +83,13 @@ grub_zfs_add_key (grub_uint8_t *key_in,
+ int passphrase)
+ {
+ struct grub_zfs_wrap_key *key;
++ grub_size_t sz;
++
+ if (!passphrase && keylen > 32)
+ keylen = 32;
+- key = grub_malloc (sizeof (*key) + keylen);
++ if (grub_add (sizeof (*key), keylen, &sz))
++ return GRUB_ERR_OUT_OF_RANGE;
++ key = grub_malloc (sz);
+ if (!key)
+ return grub_errno;
+ key->is_passphrase = passphrase;
+diff --git a/grub-core/lib/arg.c b/grub-core/lib/arg.c
+index fd7744a..3288609 100644
+--- a/grub-core/lib/arg.c
++++ b/grub-core/lib/arg.c
+@@ -23,6 +23,7 @@
+ #include <grub/term.h>
+ #include <grub/extcmd.h>
+ #include <grub/i18n.h>
++#include <grub/safemath.h>
+
+ /* Built-in parser for default options. */
+ static const struct grub_arg_option help_options[] =
+@@ -216,7 +217,13 @@ static inline grub_err_t
+ add_arg (char ***argl, int *num, char *s)
+ {
+ char **p = *argl;
+- *argl = grub_realloc (*argl, (++(*num) + 1) * sizeof (char *));
++ grub_size_t sz;
++
++ if (grub_add (++(*num), 1, &sz) ||
++ grub_mul (sz, sizeof (char *), &sz))
++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++
++ *argl = grub_realloc (*argl, sz);
+ if (! *argl)
+ {
+ grub_free (p);
+@@ -431,6 +438,7 @@ grub_arg_list_alloc(grub_extcmd_t extcmd, int argc,
+ grub_size_t argcnt;
+ struct grub_arg_list *list;
+ const struct grub_arg_option *options;
++ grub_size_t sz0, sz1;
+
+ options = extcmd->options;
+ if (! options)
+@@ -443,7 +451,15 @@ grub_arg_list_alloc(grub_extcmd_t extcmd, int argc,
+ argcnt += ((grub_size_t) argc + 1) / 2 + 1; /* max possible for any option */
+ }
+
+- list = grub_zalloc (sizeof (*list) * i + sizeof (char*) * argcnt);
++ if (grub_mul (sizeof (*list), i, &sz0) ||
++ grub_mul (sizeof (char *), argcnt, &sz1) ||
++ grub_add (sz0, sz1, &sz0))
++ {
++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++ return 0;
++ }
++
++ list = grub_zalloc (sz0);
+ if (! list)
+ return 0;
+
+diff --git a/grub-core/loader/i386/bsd.c b/grub-core/loader/i386/bsd.c
+index 3730ed3..b92cbe9 100644
+--- a/grub-core/loader/i386/bsd.c
++++ b/grub-core/loader/i386/bsd.c
+@@ -35,6 +35,7 @@
+ #include <grub/ns8250.h>
+ #include <grub/bsdlabel.h>
+ #include <grub/crypto.h>
++#include <grub/safemath.h>
+ #include <grub/verify.h>
+ #ifdef GRUB_MACHINE_PCBIOS
+ #include <grub/machine/int.h>
+@@ -1012,11 +1013,16 @@ grub_netbsd_add_modules (void)
+ struct grub_netbsd_btinfo_modules *mods;
+ unsigned i;
+ grub_err_t err;
++ grub_size_t sz;
+
+ for (mod = netbsd_mods; mod; mod = mod->next)
+ modcnt++;
+
+- mods = grub_malloc (sizeof (*mods) + sizeof (mods->mods[0]) * modcnt);
++ if (grub_mul (modcnt, sizeof (mods->mods[0]), &sz) ||
++ grub_add (sz, sizeof (*mods), &sz))
++ return GRUB_ERR_OUT_OF_RANGE;
++
++ mods = grub_malloc (sz);
+ if (!mods)
+ return grub_errno;
+
+diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c
+index e332d5e..906ec7d 100644
+--- a/grub-core/net/dns.c
++++ b/grub-core/net/dns.c
+@@ -22,6 +22,7 @@
+ #include <grub/i18n.h>
+ #include <grub/err.h>
+ #include <grub/time.h>
++#include <grub/safemath.h>
+
+ struct dns_cache_element
+ {
+@@ -51,9 +52,15 @@ grub_net_add_dns_server (const struct grub_net_network_level_address *s)
+ {
+ int na = dns_servers_alloc * 2;
+ struct grub_net_network_level_address *ns;
++ grub_size_t sz;
++
+ if (na < 8)
+ na = 8;
+- ns = grub_realloc (dns_servers, na * sizeof (ns[0]));
++
++ if (grub_mul (na, sizeof (ns[0]), &sz))
++ return GRUB_ERR_OUT_OF_RANGE;
++
++ ns = grub_realloc (dns_servers, sz);
+ if (!ns)
+ return grub_errno;
+ dns_servers_alloc = na;
+diff --git a/grub-core/normal/charset.c b/grub-core/normal/charset.c
+index d57fb72..4dfcc31 100644
+--- a/grub-core/normal/charset.c
++++ b/grub-core/normal/charset.c
+@@ -48,6 +48,7 @@
+ #include <grub/unicode.h>
+ #include <grub/term.h>
+ #include <grub/normal.h>
++#include <grub/safemath.h>
+
+ #if HAVE_FONT_SOURCE
+ #include "widthspec.h"
+@@ -464,6 +465,7 @@ grub_unicode_aglomerate_comb (const grub_uint32_t *in, grub_size_t inlen,
+ {
+ struct grub_unicode_combining *n;
+ unsigned j;
++ grub_size_t sz;
+
+ if (!haveout)
+ continue;
+@@ -477,10 +479,14 @@ grub_unicode_aglomerate_comb (const grub_uint32_t *in, grub_size_t inlen,
+ n = out->combining_inline;
+ else if (out->ncomb > (int) ARRAY_SIZE (out->combining_inline))
+ {
+- n = grub_realloc (out->combining_ptr,
+- sizeof (n[0]) * (out->ncomb + 1));
++ if (grub_add (out->ncomb, 1, &sz) ||
++ grub_mul (sz, sizeof (n[0]), &sz))
++ goto fail;
++
++ n = grub_realloc (out->combining_ptr, sz);
+ if (!n)
+ {
++ fail:
+ grub_errno = GRUB_ERR_NONE;
+ continue;
+ }
+diff --git a/grub-core/normal/cmdline.c b/grub-core/normal/cmdline.c
+index c57242e..de03fe6 100644
+--- a/grub-core/normal/cmdline.c
++++ b/grub-core/normal/cmdline.c
+@@ -28,6 +28,7 @@
+ #include <grub/env.h>
+ #include <grub/i18n.h>
+ #include <grub/charset.h>
++#include <grub/safemath.h>
+
+ static grub_uint32_t *kill_buf;
+
+@@ -307,12 +308,21 @@ cl_insert (struct cmdline_term *cl_terms, unsigned nterms,
+ if (len + (*llen) >= (*max_len))
+ {
+ grub_uint32_t *nbuf;
+- (*max_len) *= 2;
+- nbuf = grub_realloc ((*buf), sizeof (grub_uint32_t) * (*max_len));
++ grub_size_t sz;
++
++ if (grub_mul (*max_len, 2, max_len) ||
++ grub_mul (*max_len, sizeof (grub_uint32_t), &sz))
++ {
++ grub_errno = GRUB_ERR_OUT_OF_RANGE;
++ goto fail;
++ }
++
++ nbuf = grub_realloc ((*buf), sz);
+ if (nbuf)
+ (*buf) = nbuf;
+ else
+ {
++ fail:
+ grub_print_error ();
+ grub_errno = GRUB_ERR_NONE;
+ (*max_len) /= 2;
+diff --git a/grub-core/normal/menu_entry.c b/grub-core/normal/menu_entry.c
+index 1993995..50eef91 100644
+--- a/grub-core/normal/menu_entry.c
++++ b/grub-core/normal/menu_entry.c
+@@ -27,6 +27,7 @@
+ #include <grub/auth.h>
+ #include <grub/i18n.h>
+ #include <grub/charset.h>
++#include <grub/safemath.h>
+
+ enum update_mode
+ {
+@@ -113,10 +114,18 @@ ensure_space (struct line *linep, int extra)
+ {
+ if (linep->max_len < linep->len + extra)
+ {
+- linep->max_len = 2 * (linep->len + extra);
+- linep->buf = grub_realloc (linep->buf, (linep->max_len + 1) * sizeof (linep->buf[0]));
++ grub_size_t sz0, sz1;
++
++ if (grub_add (linep->len, extra, &sz0) ||
++ grub_mul (sz0, 2, &sz0) ||
++ grub_add (sz0, 1, &sz1) ||
++ grub_mul (sz1, sizeof (linep->buf[0]), &sz1))
++ return 0;
++
++ linep->buf = grub_realloc (linep->buf, sz1);
+ if (! linep->buf)
+ return 0;
++ linep->max_len = sz0;
+ }
+
+ return 1;
+diff --git a/grub-core/script/argv.c b/grub-core/script/argv.c
+index 217ec5d..5751fdd 100644
+--- a/grub-core/script/argv.c
++++ b/grub-core/script/argv.c
+@@ -20,6 +20,7 @@
+ #include <grub/mm.h>
+ #include <grub/misc.h>
+ #include <grub/script_sh.h>
++#include <grub/safemath.h>
+
+ /* Return nearest power of two that is >= v. */
+ static unsigned
+@@ -81,11 +82,16 @@ int
+ grub_script_argv_next (struct grub_script_argv *argv)
+ {
+ char **p = argv->args;
++ grub_size_t sz;
+
+ if (argv->args && argv->argc && argv->args[argv->argc - 1] == 0)
+ return 0;
+
+- p = grub_realloc (p, round_up_exp ((argv->argc + 2) * sizeof (char *)));
++ if (grub_add (argv->argc, 2, &sz) ||
++ grub_mul (sz, sizeof (char *), &sz))
++ return 1;
++
++ p = grub_realloc (p, round_up_exp (sz));
+ if (! p)
+ return 1;
+
+@@ -105,13 +111,19 @@ grub_script_argv_append (struct grub_script_argv *argv, const char *s,
+ {
+ grub_size_t a;
+ char *p = argv->args[argv->argc - 1];
++ grub_size_t sz;
+
+ if (! s)
+ return 0;
+
+ a = p ? grub_strlen (p) : 0;
+
+- p = grub_realloc (p, round_up_exp ((a + slen + 1) * sizeof (char)));
++ if (grub_add (a, slen, &sz) ||
++ grub_add (sz, 1, &sz) ||
++ grub_mul (sz, sizeof (char), &sz))
++ return 1;
++
++ p = grub_realloc (p, round_up_exp (sz));
+ if (! p)
+ return 1;
+
+diff --git a/grub-core/script/lexer.c b/grub-core/script/lexer.c
+index c6bd317..5fb0cbd 100644
+--- a/grub-core/script/lexer.c
++++ b/grub-core/script/lexer.c
+@@ -24,6 +24,7 @@
+ #include <grub/mm.h>
+ #include <grub/script_sh.h>
+ #include <grub/i18n.h>
++#include <grub/safemath.h>
+
+ #define yytext_ptr char *
+ #include "grub_script.tab.h"
+@@ -110,10 +111,14 @@ grub_script_lexer_record (struct grub_parser_param *parser, char *str)
+ old = lexer->recording;
+ if (lexer->recordlen < len)
+ lexer->recordlen = len;
+- lexer->recordlen *= 2;
++
++ if (grub_mul (lexer->recordlen, 2, &lexer->recordlen))
++ goto fail;
++
+ lexer->recording = grub_realloc (lexer->recording, lexer->recordlen);
+ if (!lexer->recording)
+ {
++ fail:
+ grub_free (old);
+ lexer->recordpos = 0;
+ lexer->recordlen = 0;
+@@ -130,7 +135,7 @@ int
+ grub_script_lexer_yywrap (struct grub_parser_param *parserstate,
+ const char *input)
+ {
+- grub_size_t len = 0;
++ grub_size_t len = 0, sz;
+ char *p = 0;
+ char *line = 0;
+ YY_BUFFER_STATE buffer;
+@@ -168,12 +173,22 @@ grub_script_lexer_yywrap (struct grub_parser_param *parserstate,
+ }
+ else if (len && line[len - 1] != '\n')
+ {
+- p = grub_realloc (line, len + 2);
++ if (grub_add (len, 2, &sz))
++ {
++ grub_free (line);
++ grub_script_yyerror (parserstate, N_("overflow is detected"));
++ return 1;
++ }
++
++ p = grub_realloc (line, sz);
+ if (p)
+ {
+ p[len++] = '\n';
+ p[len] = '\0';
+ }
++ else
++ grub_free (line);
++
+ line = p;
+ }
+
+diff --git a/grub-core/video/bitmap.c b/grub-core/video/bitmap.c
+index b2e0315..6256e20 100644
+--- a/grub-core/video/bitmap.c
++++ b/grub-core/video/bitmap.c
+@@ -23,6 +23,7 @@
+ #include <grub/mm.h>
+ #include <grub/misc.h>
+ #include <grub/i18n.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -58,7 +59,7 @@ grub_video_bitmap_create (struct grub_video_bitmap **bitmap,
+ enum grub_video_blit_format blit_format)
+ {
+ struct grub_video_mode_info *mode_info;
+- unsigned int size;
++ grub_size_t size;
+
+ if (!bitmap)
+ return grub_error (GRUB_ERR_BUG, "invalid argument");
+@@ -137,19 +138,25 @@ grub_video_bitmap_create (struct grub_video_bitmap **bitmap,
+
+ mode_info->pitch = width * mode_info->bytes_per_pixel;
+
+- /* Calculate size needed for the data. */
+- size = (width * mode_info->bytes_per_pixel) * height;
++ /* Calculate size needed for the data. */
++ if (grub_mul (width, mode_info->bytes_per_pixel, &size) ||
++ grub_mul (size, height, &size))
++ {
++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++ goto fail;
++ }
+
+ (*bitmap)->data = grub_zalloc (size);
+ if (! (*bitmap)->data)
+- {
+- grub_free (*bitmap);
+- *bitmap = 0;
+-
+- return grub_errno;
+- }
++ goto fail;
+
+ return GRUB_ERR_NONE;
++
++ fail:
++ grub_free (*bitmap);
++ *bitmap = NULL;
++
++ return grub_errno;
+ }
+
+ /* Frees all resources allocated by bitmap. */
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index 61bd645..0157ff7 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -23,6 +23,7 @@
+ #include <grub/mm.h>
+ #include <grub/misc.h>
+ #include <grub/bufio.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -301,9 +302,17 @@ grub_png_decode_image_header (struct grub_png_data *data)
+ data->bpp <<= 1;
+
+ data->color_bits = color_bits;
+- data->row_bytes = data->image_width * data->bpp;
++
++ if (grub_mul (data->image_width, data->bpp, &data->row_bytes))
++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++
+ if (data->color_bits <= 4)
+- data->row_bytes = (data->image_width * data->color_bits + 7) / 8;
++ {
++ if (grub_mul (data->image_width, data->color_bits + 7, &data->row_bytes))
++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++
++ data->row_bytes >>= 3;
++ }
+
+ #ifndef GRUB_CPU_WORDS_BIGENDIAN
+ if (data->is_16bit || data->is_gray || data->is_palette)
+--
+2.14.4
+
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch
new file mode 100644
index 0000000..329e554
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch
@@ -0,0 +1,117 @@
+From c65fc7e75b7b7e880d90766057040011701e97f4 Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Fri, 10 Jul 2020 14:41:45 +0100
+Subject: [PATCH 8/9] script: Avoid a use-after-free when redefining a function
+ during execution
+
+Defining a new function with the same name as a previously defined
+function causes the grub_script and associated resources for the
+previous function to be freed. If the previous function is currently
+executing when a function with the same name is defined, this results
+in use-after-frees when processing subsequent commands in the original
+function.
+
+Instead, reject a new function definition if it has the same name as
+a previously defined function, and that function is currently being
+executed. Although a behavioural change, this should be backwards
+compatible with existing configurations because they can't be
+dependent on the current behaviour without being broken.
+
+Fixes: CVE-2020-15706
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2020-15706
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=426f57383d647406ae9c628c472059c27cd6e040
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/script/execute.c | 2 ++
+ grub-core/script/function.c | 16 +++++++++++++---
+ grub-core/script/parser.y | 3 ++-
+ include/grub/script_sh.h | 2 ++
+ 4 files changed, 19 insertions(+), 4 deletions(-)
+
+diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
+index c8d6806..7e028e1 100644
+--- a/grub-core/script/execute.c
++++ b/grub-core/script/execute.c
+@@ -838,7 +838,9 @@ grub_script_function_call (grub_script_function_t func, int argc, char **args)
+ old_scope = scope;
+ scope = &new_scope;
+
++ func->executing++;
+ ret = grub_script_execute (func->func);
++ func->executing--;
+
+ function_return = 0;
+ active_loops = loops;
+diff --git a/grub-core/script/function.c b/grub-core/script/function.c
+index d36655e..3aad04b 100644
+--- a/grub-core/script/function.c
++++ b/grub-core/script/function.c
+@@ -34,6 +34,7 @@ grub_script_function_create (struct grub_script_arg *functionname_arg,
+ func = (grub_script_function_t) grub_malloc (sizeof (*func));
+ if (! func)
+ return 0;
++ func->executing = 0;
+
+ func->name = grub_strdup (functionname_arg->str);
+ if (! func->name)
+@@ -60,10 +61,19 @@ grub_script_function_create (struct grub_script_arg *functionname_arg,
+ grub_script_function_t q;
+
+ q = *p;
+- grub_script_free (q->func);
+- q->func = cmd;
+ grub_free (func);
+- func = q;
++ if (q->executing > 0)
++ {
++ grub_error (GRUB_ERR_BAD_ARGUMENT,
++ N_("attempt to redefine a function being executed"));
++ func = NULL;
++ }
++ else
++ {
++ grub_script_free (q->func);
++ q->func = cmd;
++ func = q;
++ }
+ }
+ else
+ {
+diff --git a/grub-core/script/parser.y b/grub-core/script/parser.y
+index 4f0ab83..f80b86b 100644
+--- a/grub-core/script/parser.y
++++ b/grub-core/script/parser.y
+@@ -289,7 +289,8 @@ function: "function" "name"
+ grub_script_mem_free (state->func_mem);
+ else {
+ script->children = state->scripts;
+- grub_script_function_create ($2, script);
++ if (!grub_script_function_create ($2, script))
++ grub_script_free (script);
+ }
+
+ state->scripts = $<scripts>3;
+diff --git a/include/grub/script_sh.h b/include/grub/script_sh.h
+index b382bcf..6c48e07 100644
+--- a/include/grub/script_sh.h
++++ b/include/grub/script_sh.h
+@@ -361,6 +361,8 @@ struct grub_script_function
+
+ /* The next element. */
+ struct grub_script_function *next;
++
++ unsigned executing;
+ };
+ typedef struct grub_script_function *grub_script_function_t;
+
+--
+2.14.4
+
diff --git a/poky/meta/recipes-bsp/grub/files/CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch b/poky/meta/recipes-bsp/grub/files/CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch
new file mode 100644
index 0000000..d4f9300
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch
@@ -0,0 +1,177 @@
+From 68a09a74f6d726d79709847f3671c0a08e4fb5a0 Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@debian.org>
+Date: Sat, 25 Jul 2020 12:15:37 +0100
+Subject: [PATCH 9/9] linux: Fix integer overflows in initrd size handling
+
+These could be triggered by a crafted filesystem with very large files.
+
+Fixes: CVE-2020-15707
+
+Signed-off-by: Colin Watson <cjwatson@debian.org>
+Reviewed-by: Jan Setje-Eilers <jan.setjeeilers@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2020-15707
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=e7b8856f8be3292afdb38d2e8c70ad8d62a61e10
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/loader/linux.c | 74 +++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 54 insertions(+), 20 deletions(-)
+
+diff --git a/grub-core/loader/linux.c b/grub-core/loader/linux.c
+index 471b214..8c8565a 100644
+--- a/grub-core/loader/linux.c
++++ b/grub-core/loader/linux.c
+@@ -4,6 +4,7 @@
+ #include <grub/misc.h>
+ #include <grub/file.h>
+ #include <grub/mm.h>
++#include <grub/safemath.h>
+
+ struct newc_head
+ {
+@@ -98,13 +99,13 @@ free_dir (struct dir *root)
+ grub_free (root);
+ }
+
+-static grub_size_t
++static grub_err_t
+ insert_dir (const char *name, struct dir **root,
+- grub_uint8_t *ptr)
++ grub_uint8_t *ptr, grub_size_t *size)
+ {
+ struct dir *cur, **head = root;
+ const char *cb, *ce = name;
+- grub_size_t size = 0;
++ *size = 0;
+ while (1)
+ {
+ for (cb = ce; *cb == '/'; cb++);
+@@ -130,14 +131,22 @@ insert_dir (const char *name, struct dir **root,
+ ptr = make_header (ptr, name, ce - name,
+ 040777, 0);
+ }
+- size += ALIGN_UP ((ce - (char *) name)
+- + sizeof (struct newc_head), 4);
++ if (grub_add (*size,
++ ALIGN_UP ((ce - (char *) name)
++ + sizeof (struct newc_head), 4),
++ size))
++ {
++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++ grub_free (n->name);
++ grub_free (n);
++ return grub_errno;
++ }
+ *head = n;
+ cur = n;
+ }
+ root = &cur->next;
+ }
+- return size;
++ return GRUB_ERR_NONE;
+ }
+
+ grub_err_t
+@@ -173,26 +182,33 @@ grub_initrd_init (int argc, char *argv[],
+ eptr = grub_strchr (ptr, ':');
+ if (eptr)
+ {
++ grub_size_t dir_size, name_len;
++
+ initrd_ctx->components[i].newc_name = grub_strndup (ptr, eptr - ptr);
+- if (!initrd_ctx->components[i].newc_name)
++ if (!initrd_ctx->components[i].newc_name ||
++ insert_dir (initrd_ctx->components[i].newc_name, &root, 0,
++ &dir_size))
+ {
+ grub_initrd_close (initrd_ctx);
+ return grub_errno;
+ }
+- initrd_ctx->size
+- += ALIGN_UP (sizeof (struct newc_head)
+- + grub_strlen (initrd_ctx->components[i].newc_name),
+- 4);
+- initrd_ctx->size += insert_dir (initrd_ctx->components[i].newc_name,
+- &root, 0);
++ name_len = grub_strlen (initrd_ctx->components[i].newc_name);
++ if (grub_add (initrd_ctx->size,
++ ALIGN_UP (sizeof (struct newc_head) + name_len, 4),
++ &initrd_ctx->size) ||
++ grub_add (initrd_ctx->size, dir_size, &initrd_ctx->size))
++ goto overflow;
+ newc = 1;
+ fname = eptr + 1;
+ }
+ }
+ else if (newc)
+ {
+- initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head)
+- + sizeof ("TRAILER!!!") - 1, 4);
++ if (grub_add (initrd_ctx->size,
++ ALIGN_UP (sizeof (struct newc_head)
++ + sizeof ("TRAILER!!!") - 1, 4),
++ &initrd_ctx->size))
++ goto overflow;
+ free_dir (root);
+ root = 0;
+ newc = 0;
+@@ -208,19 +224,29 @@ grub_initrd_init (int argc, char *argv[],
+ initrd_ctx->nfiles++;
+ initrd_ctx->components[i].size
+ = grub_file_size (initrd_ctx->components[i].file);
+- initrd_ctx->size += initrd_ctx->components[i].size;
++ if (grub_add (initrd_ctx->size, initrd_ctx->components[i].size,
++ &initrd_ctx->size))
++ goto overflow;
+ }
+
+ if (newc)
+ {
+ initrd_ctx->size = ALIGN_UP (initrd_ctx->size, 4);
+- initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head)
+- + sizeof ("TRAILER!!!") - 1, 4);
++ if (grub_add (initrd_ctx->size,
++ ALIGN_UP (sizeof (struct newc_head)
++ + sizeof ("TRAILER!!!") - 1, 4),
++ &initrd_ctx->size))
++ goto overflow;
+ free_dir (root);
+ root = 0;
+ }
+
+ return GRUB_ERR_NONE;
++
++ overflow:
++ free_dir (root);
++ grub_initrd_close (initrd_ctx);
++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
+ }
+
+ grub_size_t
+@@ -261,8 +287,16 @@ grub_initrd_load (struct grub_linux_initrd_context *initrd_ctx,
+
+ if (initrd_ctx->components[i].newc_name)
+ {
+- ptr += insert_dir (initrd_ctx->components[i].newc_name,
+- &root, ptr);
++ grub_size_t dir_size;
++
++ if (insert_dir (initrd_ctx->components[i].newc_name, &root, ptr,
++ &dir_size))
++ {
++ free_dir (root);
++ grub_initrd_close (initrd_ctx);
++ return grub_errno;
++ }
++ ptr += dir_size;
+ ptr = make_header (ptr, initrd_ctx->components[i].newc_name,
+ grub_strlen (initrd_ctx->components[i].newc_name),
+ 0100777,
+--
+2.14.4
+
diff --git a/poky/meta/recipes-bsp/grub/files/calloc-Make-sure-we-always-have-an-overflow-checking.patch b/poky/meta/recipes-bsp/grub/files/calloc-Make-sure-we-always-have-an-overflow-checking.patch
new file mode 100644
index 0000000..c9536e6
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/calloc-Make-sure-we-always-have-an-overflow-checking.patch
@@ -0,0 +1,246 @@
+From c005f62f5c4b26a77b916c8f76a852324439ecb3 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Mon, 15 Jun 2020 12:15:29 -0400
+Subject: [PATCH 2/9] calloc: Make sure we always have an overflow-checking
+ calloc() available
+
+This tries to make sure that everywhere in this source tree, we always have
+an appropriate version of calloc() (i.e. grub_calloc(), xcalloc(), etc.)
+available, and that they all safely check for overflow and return NULL when
+it would occur.
+
+Upstream-Status: Backport [commit 64e26162ebfe68317c143ca5ec996c892019f8f8
+from https://git.savannah.gnu.org/git/grub.git]
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/kern/emu/misc.c | 12 ++++++++++++
+ grub-core/kern/emu/mm.c | 10 ++++++++++
+ grub-core/kern/mm.c | 40 ++++++++++++++++++++++++++++++++++++++
+ grub-core/lib/libgcrypt_wrap/mem.c | 11 +++++++++--
+ grub-core/lib/posix_wrap/stdlib.h | 8 +++++++-
+ include/grub/emu/misc.h | 1 +
+ include/grub/mm.h | 6 ++++++
+ 7 files changed, 85 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/kern/emu/misc.c b/grub-core/kern/emu/misc.c
+index 65db79b..dfd8a8e 100644
+--- a/grub-core/kern/emu/misc.c
++++ b/grub-core/kern/emu/misc.c
+@@ -85,6 +85,18 @@ grub_util_error (const char *fmt, ...)
+ exit (1);
+ }
+
++void *
++xcalloc (grub_size_t nmemb, grub_size_t size)
++{
++ void *p;
++
++ p = calloc (nmemb, size);
++ if (!p)
++ grub_util_error ("%s", _("out of memory"));
++
++ return p;
++}
++
+ void *
+ xmalloc (grub_size_t size)
+ {
+diff --git a/grub-core/kern/emu/mm.c b/grub-core/kern/emu/mm.c
+index f262e95..145b01d 100644
+--- a/grub-core/kern/emu/mm.c
++++ b/grub-core/kern/emu/mm.c
+@@ -25,6 +25,16 @@
+ #include <string.h>
+ #include <grub/i18n.h>
+
++void *
++grub_calloc (grub_size_t nmemb, grub_size_t size)
++{
++ void *ret;
++ ret = calloc (nmemb, size);
++ if (!ret)
++ grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory"));
++ return ret;
++}
++
+ void *
+ grub_malloc (grub_size_t size)
+ {
+diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c
+index ee88ff6..f2822a8 100644
+--- a/grub-core/kern/mm.c
++++ b/grub-core/kern/mm.c
+@@ -67,8 +67,10 @@
+ #include <grub/dl.h>
+ #include <grub/i18n.h>
+ #include <grub/mm_private.h>
++#include <grub/safemath.h>
+
+ #ifdef MM_DEBUG
++# undef grub_calloc
+ # undef grub_malloc
+ # undef grub_zalloc
+ # undef grub_realloc
+@@ -375,6 +377,30 @@ grub_memalign (grub_size_t align, grub_size_t size)
+ return 0;
+ }
+
++/*
++ * Allocate NMEMB instances of SIZE bytes and return the pointer, or error on
++ * integer overflow.
++ */
++void *
++grub_calloc (grub_size_t nmemb, grub_size_t size)
++{
++ void *ret;
++ grub_size_t sz = 0;
++
++ if (grub_mul (nmemb, size, &sz))
++ {
++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++ return NULL;
++ }
++
++ ret = grub_memalign (0, sz);
++ if (!ret)
++ return NULL;
++
++ grub_memset (ret, 0, sz);
++ return ret;
++}
++
+ /* Allocate SIZE bytes and return the pointer. */
+ void *
+ grub_malloc (grub_size_t size)
+@@ -561,6 +587,20 @@ grub_mm_dump (unsigned lineno)
+ grub_printf ("\n");
+ }
+
++void *
++grub_debug_calloc (const char *file, int line, grub_size_t nmemb, grub_size_t size)
++{
++ void *ptr;
++
++ if (grub_mm_debug)
++ grub_printf ("%s:%d: calloc (0x%" PRIxGRUB_SIZE ", 0x%" PRIxGRUB_SIZE ") = ",
++ file, line, size);
++ ptr = grub_calloc (nmemb, size);
++ if (grub_mm_debug)
++ grub_printf ("%p\n", ptr);
++ return ptr;
++}
++
+ void *
+ grub_debug_malloc (const char *file, int line, grub_size_t size)
+ {
+diff --git a/grub-core/lib/libgcrypt_wrap/mem.c b/grub-core/lib/libgcrypt_wrap/mem.c
+index beeb661..74c6eaf 100644
+--- a/grub-core/lib/libgcrypt_wrap/mem.c
++++ b/grub-core/lib/libgcrypt_wrap/mem.c
+@@ -4,6 +4,7 @@
+ #include <grub/crypto.h>
+ #include <grub/dl.h>
+ #include <grub/env.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -36,7 +37,10 @@ void *
+ gcry_xcalloc (size_t n, size_t m)
+ {
+ void *ret;
+- ret = grub_zalloc (n * m);
++ size_t sz;
++ if (grub_mul (n, m, &sz))
++ grub_fatal ("gcry_xcalloc would overflow");
++ ret = grub_zalloc (sz);
+ if (!ret)
+ grub_fatal ("gcry_xcalloc failed");
+ return ret;
+@@ -56,7 +60,10 @@ void *
+ gcry_xcalloc_secure (size_t n, size_t m)
+ {
+ void *ret;
+- ret = grub_zalloc (n * m);
++ size_t sz;
++ if (grub_mul (n, m, &sz))
++ grub_fatal ("gcry_xcalloc would overflow");
++ ret = grub_zalloc (sz);
+ if (!ret)
+ grub_fatal ("gcry_xcalloc failed");
+ return ret;
+diff --git a/grub-core/lib/posix_wrap/stdlib.h b/grub-core/lib/posix_wrap/stdlib.h
+index 3b46f47..7a8d385 100644
+--- a/grub-core/lib/posix_wrap/stdlib.h
++++ b/grub-core/lib/posix_wrap/stdlib.h
+@@ -21,6 +21,7 @@
+
+ #include <grub/mm.h>
+ #include <grub/misc.h>
++#include <grub/safemath.h>
+
+ static inline void
+ free (void *ptr)
+@@ -37,7 +38,12 @@ malloc (grub_size_t size)
+ static inline void *
+ calloc (grub_size_t size, grub_size_t nelem)
+ {
+- return grub_zalloc (size * nelem);
++ grub_size_t sz;
++
++ if (grub_mul (size, nelem, &sz))
++ return NULL;
++
++ return grub_zalloc (sz);
+ }
+
+ static inline void *
+diff --git a/include/grub/emu/misc.h b/include/grub/emu/misc.h
+index ce464cf..ff9c48a 100644
+--- a/include/grub/emu/misc.h
++++ b/include/grub/emu/misc.h
+@@ -47,6 +47,7 @@ grub_util_device_is_mapped (const char *dev);
+ #define GRUB_HOST_PRIuLONG_LONG "llu"
+ #define GRUB_HOST_PRIxLONG_LONG "llx"
+
++void * EXPORT_FUNC(xcalloc) (grub_size_t nmemb, grub_size_t size) WARN_UNUSED_RESULT;
+ void * EXPORT_FUNC(xmalloc) (grub_size_t size) WARN_UNUSED_RESULT;
+ void * EXPORT_FUNC(xrealloc) (void *ptr, grub_size_t size) WARN_UNUSED_RESULT;
+ char * EXPORT_FUNC(xstrdup) (const char *str) WARN_UNUSED_RESULT;
+diff --git a/include/grub/mm.h b/include/grub/mm.h
+index 28e2e53..9c38dd3 100644
+--- a/include/grub/mm.h
++++ b/include/grub/mm.h
+@@ -29,6 +29,7 @@
+ #endif
+
+ void grub_mm_init_region (void *addr, grub_size_t size);
++void *EXPORT_FUNC(grub_calloc) (grub_size_t nmemb, grub_size_t size);
+ void *EXPORT_FUNC(grub_malloc) (grub_size_t size);
+ void *EXPORT_FUNC(grub_zalloc) (grub_size_t size);
+ void EXPORT_FUNC(grub_free) (void *ptr);
+@@ -48,6 +49,9 @@ extern int EXPORT_VAR(grub_mm_debug);
+ void grub_mm_dump_free (void);
+ void grub_mm_dump (unsigned lineno);
+
++#define grub_calloc(nmemb, size) \
++ grub_debug_calloc (GRUB_FILE, __LINE__, nmemb, size)
++
+ #define grub_malloc(size) \
+ grub_debug_malloc (GRUB_FILE, __LINE__, size)
+
+@@ -63,6 +67,8 @@ void grub_mm_dump (unsigned lineno);
+ #define grub_free(ptr) \
+ grub_debug_free (GRUB_FILE, __LINE__, ptr)
+
++void *EXPORT_FUNC(grub_debug_calloc) (const char *file, int line,
++ grub_size_t nmemb, grub_size_t size);
+ void *EXPORT_FUNC(grub_debug_malloc) (const char *file, int line,
+ grub_size_t size);
+ void *EXPORT_FUNC(grub_debug_zalloc) (const char *file, int line,
+--
+2.14.4
+
diff --git a/poky/meta/recipes-bsp/grub/files/lvm-Add-LVM-cache-logical-volume-handling.patch b/poky/meta/recipes-bsp/grub/files/lvm-Add-LVM-cache-logical-volume-handling.patch
new file mode 100644
index 0000000..2b8157f
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/lvm-Add-LVM-cache-logical-volume-handling.patch
@@ -0,0 +1,287 @@
+From 8eb02bcb5897b238b29ff762402bb0c3028f0eab Mon Sep 17 00:00:00 2001
+From: Michael Chang <mchang@suse.com>
+Date: Thu, 19 Mar 2020 13:56:13 +0800
+Subject: [PATCH 3/9] lvm: Add LVM cache logical volume handling
+
+The LVM cache logical volume is the logical volume consisting of the original
+and the cache pool logical volume. The original is usually on a larger and
+slower storage device while the cache pool is on a smaller and faster one. The
+performance of the original volume can be improved by storing the frequently
+used data on the cache pool to utilize the greater performance of faster
+device.
+
+The default cache mode "writethrough" ensures that any data written will be
+stored both in the cache and on the origin LV, therefore grub can be straight
+to read the original lv as no data loss is guarenteed.
+
+The second cache mode is "writeback", which delays writing from the cache pool
+back to the origin LV to have increased performance. The drawback is potential
+data loss if losing the associated cache device.
+
+During the boot time grub reads the LVM offline i.e. LVM volumes are not
+activated and mounted, hence it should be fine to read directly from original
+lv since all cached data should have been flushed back in the process of taking
+it offline.
+
+It is also not much helpful to the situation by adding fsync calls to the
+install code. The fsync did not force to write back dirty cache to the original
+device and rather it would update associated cache metadata to complete the
+write transaction with the cache device. IOW the writes to cached blocks still
+go only to the cache device.
+
+To write back dirty cache, as LVM cache did not support dirty cache flush per
+block range, there'no way to do it for file. On the other hand the "cleaner"
+policy is implemented and can be used to write back "all" dirty blocks in a
+cache, which effectively drain all dirty cache gradually to attain and last in
+the "clean" state, which can be useful for shrinking or decommissioning a
+cache. The result and effect is not what we are looking for here.
+
+In conclusion, as it seems no way to enforce file writes to the original
+device, grub may suffer from power failure as it cannot assemble the cache
+device and read the dirty data from it. However since the case is only
+applicable to writeback mode which is sensitive to data lost in nature, I'd
+still like to propose my (relatively simple) patch and treat reading dirty
+cache as improvement.
+
+Upstream-Status: Backport [commit 0454b0445393aafc5600e92ef0c39494e333b135
+from https://git.savannah.gnu.org/git/grub.git]
+
+Signed-off-by: Michael Chang <mchang@suse.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/disk/lvm.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 190 insertions(+)
+
+diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
+index 7b265c7..dc6b83b 100644
+--- a/grub-core/disk/lvm.c
++++ b/grub-core/disk/lvm.c
+@@ -33,6 +33,14 @@
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
++struct cache_lv
++{
++ struct grub_diskfilter_lv *lv;
++ char *cache_pool;
++ char *origin;
++ struct cache_lv *next;
++};
++
+
+ /* Go the string STR and return the number after STR. *P will point
+ at the number. In case STR is not found, *P will be NULL and the
+@@ -95,6 +103,34 @@ grub_lvm_check_flag (char *p, const char *str, const char *flag)
+ }
+ }
+
++static void
++grub_lvm_free_cache_lvs (struct cache_lv *cache_lvs)
++{
++ struct cache_lv *cache;
++
++ while ((cache = cache_lvs))
++ {
++ cache_lvs = cache_lvs->next;
++
++ if (cache->lv)
++ {
++ unsigned int i;
++
++ for (i = 0; i < cache->lv->segment_count; ++i)
++ if (cache->lv->segments)
++ grub_free (cache->lv->segments[i].nodes);
++ grub_free (cache->lv->segments);
++ grub_free (cache->lv->fullname);
++ grub_free (cache->lv->idname);
++ grub_free (cache->lv->name);
++ }
++ grub_free (cache->lv);
++ grub_free (cache->origin);
++ grub_free (cache->cache_pool);
++ grub_free (cache);
++ }
++}
++
+ static struct grub_diskfilter_vg *
+ grub_lvm_detect (grub_disk_t disk,
+ struct grub_diskfilter_pv_id *id,
+@@ -242,6 +278,8 @@ grub_lvm_detect (grub_disk_t disk,
+
+ if (! vg)
+ {
++ struct cache_lv *cache_lvs = NULL;
++
+ /* First time we see this volume group. We've to create the
+ whole volume group structure. */
+ vg = grub_malloc (sizeof (*vg));
+@@ -671,6 +709,106 @@ grub_lvm_detect (grub_disk_t disk,
+ seg->nodes[seg->node_count - 1].name = tmp;
+ }
+ }
++ else if (grub_memcmp (p, "cache\"",
++ sizeof ("cache\"") - 1) == 0)
++ {
++ struct cache_lv *cache = NULL;
++
++ char *p2, *p3;
++ grub_size_t sz;
++
++ cache = grub_zalloc (sizeof (*cache));
++ if (!cache)
++ goto cache_lv_fail;
++ cache->lv = grub_zalloc (sizeof (*cache->lv));
++ if (!cache->lv)
++ goto cache_lv_fail;
++ grub_memcpy (cache->lv, lv, sizeof (*cache->lv));
++
++ if (lv->fullname)
++ {
++ cache->lv->fullname = grub_strdup (lv->fullname);
++ if (!cache->lv->fullname)
++ goto cache_lv_fail;
++ }
++ if (lv->idname)
++ {
++ cache->lv->idname = grub_strdup (lv->idname);
++ if (!cache->lv->idname)
++ goto cache_lv_fail;
++ }
++ if (lv->name)
++ {
++ cache->lv->name = grub_strdup (lv->name);
++ if (!cache->lv->name)
++ goto cache_lv_fail;
++ }
++
++ skip_lv = 1;
++
++ p2 = grub_strstr (p, "cache_pool = \"");
++ if (!p2)
++ goto cache_lv_fail;
++
++ p2 = grub_strchr (p2, '"');
++ if (!p2)
++ goto cache_lv_fail;
++
++ p3 = ++p2;
++ p3 = grub_strchr (p3, '"');
++ if (!p3)
++ goto cache_lv_fail;
++
++ sz = p3 - p2;
++
++ cache->cache_pool = grub_malloc (sz + 1);
++ if (!cache->cache_pool)
++ goto cache_lv_fail;
++ grub_memcpy (cache->cache_pool, p2, sz);
++ cache->cache_pool[sz] = '\0';
++
++ p2 = grub_strstr (p, "origin = \"");
++ if (!p2)
++ goto cache_lv_fail;
++
++ p2 = grub_strchr (p2, '"');
++ if (!p2)
++ goto cache_lv_fail;
++
++ p3 = ++p2;
++ p3 = grub_strchr (p3, '"');
++ if (!p3)
++ goto cache_lv_fail;
++
++ sz = p3 - p2;
++
++ cache->origin = grub_malloc (sz + 1);
++ if (!cache->origin)
++ goto cache_lv_fail;
++ grub_memcpy (cache->origin, p2, sz);
++ cache->origin[sz] = '\0';
++
++ cache->next = cache_lvs;
++ cache_lvs = cache;
++ break;
++
++ cache_lv_fail:
++ if (cache)
++ {
++ grub_free (cache->origin);
++ grub_free (cache->cache_pool);
++ if (cache->lv)
++ {
++ grub_free (cache->lv->fullname);
++ grub_free (cache->lv->idname);
++ grub_free (cache->lv->name);
++ }
++ grub_free (cache->lv);
++ grub_free (cache);
++ }
++ grub_lvm_free_cache_lvs (cache_lvs);
++ goto fail4;
++ }
+ else
+ {
+ #ifdef GRUB_UTIL
+@@ -747,6 +885,58 @@ grub_lvm_detect (grub_disk_t disk,
+ }
+
+ }
++
++ {
++ struct cache_lv *cache;
++
++ for (cache = cache_lvs; cache; cache = cache->next)
++ {
++ struct grub_diskfilter_lv *lv;
++
++ for (lv = vg->lvs; lv; lv = lv->next)
++ if (grub_strcmp (lv->name, cache->origin) == 0)
++ break;
++ if (lv)
++ {
++ cache->lv->segments = grub_malloc (lv->segment_count * sizeof (*lv->segments));
++ if (!cache->lv->segments)
++ {
++ grub_lvm_free_cache_lvs (cache_lvs);
++ goto fail4;
++ }
++ grub_memcpy (cache->lv->segments, lv->segments, lv->segment_count * sizeof (*lv->segments));
++
++ for (i = 0; i < lv->segment_count; ++i)
++ {
++ struct grub_diskfilter_node *nodes = lv->segments[i].nodes;
++ grub_size_t node_count = lv->segments[i].node_count;
++
++ cache->lv->segments[i].nodes = grub_malloc (node_count * sizeof (*nodes));
++ if (!cache->lv->segments[i].nodes)
++ {
++ for (j = 0; j < i; ++j)
++ grub_free (cache->lv->segments[j].nodes);
++ grub_free (cache->lv->segments);
++ cache->lv->segments = NULL;
++ grub_lvm_free_cache_lvs (cache_lvs);
++ goto fail4;
++ }
++ grub_memcpy (cache->lv->segments[i].nodes, nodes, node_count * sizeof (*nodes));
++ }
++
++ if (cache->lv->segments)
++ {
++ cache->lv->segment_count = lv->segment_count;
++ cache->lv->vg = vg;
++ cache->lv->next = vg->lvs;
++ vg->lvs = cache->lv;
++ cache->lv = NULL;
++ }
++ }
++ }
++ }
++
++ grub_lvm_free_cache_lvs (cache_lvs);
+ if (grub_diskfilter_vg_register (vg))
+ goto fail4;
+ }
+--
+2.14.4
+
diff --git a/poky/meta/recipes-bsp/grub/files/safemath-Add-some-arithmetic-primitives-that-check-f.patch b/poky/meta/recipes-bsp/grub/files/safemath-Add-some-arithmetic-primitives-that-check-f.patch
new file mode 100644
index 0000000..29021e8
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/safemath-Add-some-arithmetic-primitives-that-check-f.patch
@@ -0,0 +1,94 @@
+From 06c361a71c4998635493610e5d76d0d223925251 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Mon, 15 Jun 2020 10:58:42 -0400
+Subject: [PATCH 5/9] safemath: Add some arithmetic primitives that check for
+ overflow
+
+This adds a new header, include/grub/safemath.h, that includes easy to
+use wrappers for __builtin_{add,sub,mul}_overflow() declared like:
+
+ bool OP(a, b, res)
+
+where OP is grub_add, grub_sub or grub_mul. OP() returns true in the
+case where the operation would overflow and res is not modified.
+Otherwise, false is returned and the operation is executed.
+
+These arithmetic primitives require newer compiler versions. So, bump
+these requirements in the INSTALL file too.
+
+Upstream-Status: Backport [commit 68708c4503018d61dbcce7ac11cbb511d6425f4d
+from https://git.savannah.gnu.org/git/grub.git]
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+[YL: omit the change to INSTALL from original patch]
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ include/grub/compiler.h | 8 ++++++++
+ include/grub/safemath.h | 37 +++++++++++++++++++++++++++++++++++++
+ 2 files changed, 45 insertions(+)
+ create mode 100644 include/grub/safemath.h
+
+diff --git a/include/grub/compiler.h b/include/grub/compiler.h
+index c9e1d7a..8f3be3a 100644
+--- a/include/grub/compiler.h
++++ b/include/grub/compiler.h
+@@ -48,4 +48,12 @@
+ # define WARN_UNUSED_RESULT
+ #endif
+
++#if defined(__clang__) && defined(__clang_major__) && defined(__clang_minor__)
++# define CLANG_PREREQ(maj,min) \
++ ((__clang_major__ > (maj)) || \
++ (__clang_major__ == (maj) && __clang_minor__ >= (min)))
++#else
++# define CLANG_PREREQ(maj,min) 0
++#endif
++
+ #endif /* ! GRUB_COMPILER_HEADER */
+diff --git a/include/grub/safemath.h b/include/grub/safemath.h
+new file mode 100644
+index 0000000..c17b89b
+--- /dev/null
++++ b/include/grub/safemath.h
+@@ -0,0 +1,37 @@
++/*
++ * GRUB -- GRand Unified Bootloader
++ * Copyright (C) 2020 Free Software Foundation, Inc.
++ *
++ * GRUB is free software: you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation, either version 3 of the License, or
++ * (at your option) any later version.
++ *
++ * GRUB is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
++ *
++ * Arithmetic operations that protect against overflow.
++ */
++
++#ifndef GRUB_SAFEMATH_H
++#define GRUB_SAFEMATH_H 1
++
++#include <grub/compiler.h>
++
++/* These appear in gcc 5.1 and clang 3.8. */
++#if GNUC_PREREQ(5, 1) || CLANG_PREREQ(3, 8)
++
++#define grub_add(a, b, res) __builtin_add_overflow(a, b, res)
++#define grub_sub(a, b, res) __builtin_sub_overflow(a, b, res)
++#define grub_mul(a, b, res) __builtin_mul_overflow(a, b, res)
++
++#else
++#error gcc 5.1 or newer or clang 3.8 or newer is required
++#endif
++
++#endif /* GRUB_SAFEMATH_H */
+--
+2.14.4
+
diff --git a/poky/meta/recipes-bsp/grub/files/script-Remove-unused-fields-from-grub_script_functio.patch b/poky/meta/recipes-bsp/grub/files/script-Remove-unused-fields-from-grub_script_functio.patch
new file mode 100644
index 0000000..84a80d5
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/script-Remove-unused-fields-from-grub_script_functio.patch
@@ -0,0 +1,37 @@
+From e219bad8cee67b2bb21712df8f055706f8da25d2 Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Fri, 10 Jul 2020 11:21:14 +0100
+Subject: [PATCH 7/9] script: Remove unused fields from grub_script_function
+ struct
+
+Upstream-Status: Backport [commit 1a8d9c9b4ab6df7669b5aa36a56477f297825b96
+from https://git.savannah.gnu.org/git/grub.git]
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ include/grub/script_sh.h | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/include/grub/script_sh.h b/include/grub/script_sh.h
+index 360c2be..b382bcf 100644
+--- a/include/grub/script_sh.h
++++ b/include/grub/script_sh.h
+@@ -359,13 +359,8 @@ struct grub_script_function
+ /* The script function. */
+ struct grub_script *func;
+
+- /* The flags. */
+- unsigned flags;
+-
+ /* The next element. */
+ struct grub_script_function *next;
+-
+- int references;
+ };
+ typedef struct grub_script_function *grub_script_function_t;
+
+--
+2.14.4
+
diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb
index 30d95f9..f80afd9 100644
--- a/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb
+++ b/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb
@@ -26,6 +26,10 @@
grubtarget = 'arm64'
elif re.match('arm', target):
grubtarget = 'arm'
+ elif re.match('riscv64', target):
+ grubtarget = 'riscv64'
+ elif re.match('riscv32', target):
+ grubtarget = 'riscv32'
else:
raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target)
grubimage = prefix + d.getVar("EFI_BOOT_IMAGE")
diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc
index 345554e..d020103 100644
--- a/poky/meta/recipes-bsp/grub/grub2.inc
+++ b/poky/meta/recipes-bsp/grub/grub2.inc
@@ -19,13 +19,21 @@
file://grub-module-explicitly-keeps-symbole-.module_license.patch \
file://0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch \
file://CVE-2020-10713.patch \
+ file://calloc-Make-sure-we-always-have-an-overflow-checking.patch \
+ file://lvm-Add-LVM-cache-logical-volume-handling.patch \
+ file://CVE-2020-14308-calloc-Use-calloc-at-most-places.patch \
+ file://safemath-Add-some-arithmetic-primitives-that-check-f.patch \
+ file://CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch \
+ file://script-Remove-unused-fields-from-grub_script_functio.patch \
+ file://CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch \
+ file://CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch \
"
SRC_URI[md5sum] = "5ce674ca6b2612d8939b9e6abed32934"
SRC_URI[sha256sum] = "f10c85ae3e204dbaec39ae22fa3c5e99f0665417e91c2cb49b7e5031658ba6ea"
DEPENDS = "flex-native bison-native gettext-native"
-COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)'
+COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|riscv.*)-(linux.*|freebsd.*)'
COMPATIBLE_HOST_armv7a = 'null'
COMPATIBLE_HOST_armv7ve = 'null'
@@ -34,6 +42,8 @@
GRUBPLATFORM_arm = "efi"
GRUBPLATFORM_aarch64 = "efi"
+GRUBPLATFORM_riscv32 = "efi"
+GRUBPLATFORM_riscv64 = "efi"
GRUBPLATFORM ??= "pc"
inherit autotools gettext texinfo pkgconfig
diff --git a/poky/meta/recipes-bsp/grub/grub_2.04.bb b/poky/meta/recipes-bsp/grub/grub_2.04.bb
index df607ca..f2942b9 100644
--- a/poky/meta/recipes-bsp/grub/grub_2.04.bb
+++ b/poky/meta/recipes-bsp/grub/grub_2.04.bb
@@ -35,4 +35,4 @@
INSANE_SKIP_${PN} = "arch"
INSANE_SKIP_${PN}-dbg = "arch"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/0001-Fix-cross-compilation-using-autoconf-detected-AR.patch b/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/0001-Fix-cross-compilation-using-autoconf-detected-AR.patch
new file mode 100644
index 0000000..47c7ec4
--- /dev/null
+++ b/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/0001-Fix-cross-compilation-using-autoconf-detected-AR.patch
@@ -0,0 +1,36 @@
+From ecdcf0df6c28c65ca6d1e5638726e13e373c76c5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 11 Nov 2020 22:58:55 -0800
+Subject: [PATCH] Fix cross compilation using autoconf detected AR
+
+currently its using 'ar' program from build host, which is not expected,
+we need to respect AR passed in environment
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.in | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/configure.in b/configure.in
+index 4ddbe8b..b7c3c31 100644
+--- a/configure.in
++++ b/configure.in
+@@ -84,6 +84,13 @@ AC_ARG_ENABLE(syslog,
+ ])
+
+ dnl Checks for programs.
++m4_ifndef([AC_PROG_AR],[dnl
++ AN_MAKEVAR([AR], [AC_PROG_AR])
++ AN_PROGRAM([ar], [AC_PROG_AR])
++ AC_DEFUN([AC_PROG_AR],
++ [AC_CHECK_TOOL(AR, ar, :)])
++])
++AC_PROG_AR
+ AC_PROG_CC
+ AC_PROG_GCC_TRADITIONAL
+ dnl AC_PROG_INSTALL included in AM_INIT_AUTOMAKE
+--
+2.29.2
+
diff --git a/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb b/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
index 4129237..54c431e 100644
--- a/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
+++ b/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
@@ -19,6 +19,7 @@
file://lrzsz-check-locale.h.patch \
file://cve-2018-10195.patch \
file://include.patch \
+ file://0001-Fix-cross-compilation-using-autoconf-detected-AR.patch \
"
SRC_URI[md5sum] = "b5ce6a74abc9b9eb2af94dffdfd372a4"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
index 9199bbf..cbce408 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -7,12 +7,12 @@
DEPENDS += "flex-native bison-native"
LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
PE = "1"
# We use the revision in order to avoid having to fetch it from the
# repo during parse
-SRCREV = "2f5fbb5b39f7b67044dda5c35e4a4b31685a3109"
+SRCREV = "050acee119b3757fee3bd128f55d720fdd9bb890"
SRC_URI = "git://git.denx.de/u-boot.git \
"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2020.07.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2020.10.bb
similarity index 97%
rename from poky/meta/recipes-bsp/u-boot/u-boot-tools_2020.07.bb
rename to poky/meta/recipes-bsp/u-boot/u-boot-tools_2020.10.bb
index 7eaf721..ef386f7 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2020.07.bb
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2020.10.bb
@@ -1,2 +1,3 @@
require u-boot-common.inc
require u-boot-tools.inc
+
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2020.07.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2020.10.bb
similarity index 98%
rename from poky/meta/recipes-bsp/u-boot/u-boot_2020.07.bb
rename to poky/meta/recipes-bsp/u-boot/u-boot_2020.10.bb
index 02d67c0..4f5b3e5 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot_2020.07.bb
+++ b/poky/meta/recipes-bsp/u-boot/u-boot_2020.10.bb
@@ -2,3 +2,4 @@
require u-boot.inc
DEPENDS += "bc-native dtc-native"
+
diff --git a/poky/meta/recipes-bsp/usbutils/usbutils_012.bb b/poky/meta/recipes-bsp/usbutils/usbutils_013.bb
similarity index 87%
rename from poky/meta/recipes-bsp/usbutils/usbutils_012.bb
rename to poky/meta/recipes-bsp/usbutils/usbutils_013.bb
index 28031e7..51f909b 100644
--- a/poky/meta/recipes-bsp/usbutils/usbutils_012.bb
+++ b/poky/meta/recipes-bsp/usbutils/usbutils_013.bb
@@ -12,8 +12,7 @@
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \
"
-SRC_URI[md5sum] = "7484445cbcf04b3eacac892fe58f8d9f"
-SRC_URI[sha256sum] = "ae2e10aad530d95839b6f4d46cd41715eae6f0f1789310d793e9be21b3e7ae20"
+SRC_URI[sha256sum] = "efdfd5403dbdd7412de6bb897d5fbaae65ef3eb4332032c0e1f216216618e9a9"
inherit autotools pkgconfig update-alternatives
diff --git a/poky/meta/recipes-bsp/v86d/v86d_0.1.10.bb b/poky/meta/recipes-bsp/v86d/v86d_0.1.10.bb
index 84e27d2..a8df80f 100644
--- a/poky/meta/recipes-bsp/v86d/v86d_0.1.10.bb
+++ b/poky/meta/recipes-bsp/v86d/v86d_0.1.10.bb
@@ -1,5 +1,5 @@
SUMMARY = "User support binary for the uvesafb kernel module"
-HOMEPAGE = "http://dev.gentoo.org/~spock/projects/uvesafb/"
+HOMEPAGE = "https://tracker.debian.org/pkg/v86d"
# the copyright info is at the bottom of README, expect break
LICENSE = "GPLv2"
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.16.7.bb b/poky/meta/recipes-connectivity/bind/bind_9.16.7.bb
index 5fc2c1d..fbe3de6 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.16.7.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.16.7.bb
@@ -1,5 +1,5 @@
SUMMARY = "ISC Internet Domain Name Server"
-HOMEPAGE = "http://www.isc.org/sw/bind/"
+HOMEPAGE = "https://www.isc.org/bind/"
SECTION = "console/network"
LICENSE = "MPL-2.0"
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5_5.54.bb b/poky/meta/recipes-connectivity/bluez5/bluez5_5.55.bb
similarity index 91%
rename from poky/meta/recipes-connectivity/bluez5/bluez5_5.54.bb
rename to poky/meta/recipes-connectivity/bluez5/bluez5_5.55.bb
index 260eee1..8190924 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5_5.54.bb
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5_5.55.bb
@@ -1,7 +1,7 @@
require bluez5.inc
-SRC_URI[md5sum] = "e637feb2dbb7582bbbff1708367a847c"
-SRC_URI[sha256sum] = "68cdab9e63e8832b130d5979dc8c96fdb087b31278f342874d992af3e56656dc"
+SRC_URI[md5sum] = "94972b8bc7ade60c72b0ffa6ccff2c0a"
+SRC_URI[sha256sum] = "8863717113c4897e2ad3271fc808ea245319e6fd95eed2e934fae8e0894e9b88"
# noinst programs in Makefile.tools that are conditional on READLINE
# support
diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-networkd-when-using-con.patch b/poky/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-networkd-when-using-con.patch
new file mode 100644
index 0000000..dd01275
--- /dev/null
+++ b/poky/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-networkd-when-using-con.patch
@@ -0,0 +1,29 @@
+From 9fea099d0a3ece37d80ad70d32ebb8a93f8f3280 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Fri, 30 Oct 2020 13:48:45 +0800
+Subject: [PATCH] connman.service: stop systemd-networkd when using connman
+
+Stop systemd-networkd service when we use connman as network manager.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ src/connman.service.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/connman.service.in b/src/connman.service.in
+index 79e75d6..014eafe 100644
+--- a/src/connman.service.in
++++ b/src/connman.service.in
+@@ -6,6 +6,7 @@ RequiresMountsFor=@localstatedir@/lib/connman
+ After=dbus.service network-pre.target systemd-sysusers.service
+ Before=network.target multi-user.target shutdown.target
+ Wants=network.target
++Conflicts=systemd-networkd.service systemd-networkd.socket
+ Conflicts=systemd-resolved.service
+
+ [Service]
+--
+2.17.1
+
diff --git a/poky/meta/recipes-connectivity/connman/connman_1.38.bb b/poky/meta/recipes-connectivity/connman/connman_1.38.bb
index 027c41e..45c2934 100644
--- a/poky/meta/recipes-connectivity/connman/connman_1.38.bb
+++ b/poky/meta/recipes-connectivity/connman/connman_1.38.bb
@@ -3,6 +3,7 @@
SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
+ file://0001-connman.service-stop-systemd-networkd-when-using-con.patch \
file://connman \
file://no-version-scripts.patch \
"
diff --git a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.2.0.bb b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.3.2.bb
similarity index 93%
rename from poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.2.0.bb
rename to poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.3.2.bb
index 1346718..cca60dd 100644
--- a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.2.0.bb
+++ b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_9.3.2.bb
@@ -17,7 +17,7 @@
file://dhcpcd@.service \
"
-SRC_URI[sha256sum] = "fcb2d19672d445bbfd38678fdee4f556ef967a3ea6bd81092d10545df2cb9666"
+SRC_URI[sha256sum] = "6d49af5e766a2515e6366e4f669663df04ecdf90a1a60ddb1d7a2feb4b5d2566"
inherit pkgconfig autotools-brokensep systemd useradd
@@ -34,6 +34,7 @@
EXTRA_OECONF = "--enable-ipv4 \
--dbdir=${localstatedir}/lib/${BPN} \
+ --sbindir=${base_sbindir} \
--runstatedir=/run \
--enable-privsep \
--privsepuser=dhcpcd \
diff --git a/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd.service b/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd.service
index bbed6d8..6c967dd 100644
--- a/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd.service
+++ b/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd.service
@@ -5,7 +5,7 @@
Conflicts=connman.service
[Service]
-ExecStart=/usr/sbin/dhcpcd -q --nobackground
+ExecStart=/sbin/dhcpcd -q --nobackground
[Install]
WantedBy=multi-user.target
diff --git a/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd@.service b/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd@.service
index 389b076..845b83b 100644
--- a/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd@.service
+++ b/poky/meta/recipes-connectivity/dhcpcd/files/dhcpcd@.service
@@ -9,8 +9,8 @@
[Service]
Type=forking
PIDFile=/run/dhcpcd/%I.pid
-ExecStart=/usr/sbin/dhcpcd -q %I
-ExecStop=/usr/sbin/dhcpcd -x %I
+ExecStart=/sbin/dhcpcd -q %I
+ExecStop=/sbin/dhcpcd -x %I
[Install]
WantedBy=multi-user.target
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch
deleted file mode 100644
index fdd8bbf..0000000
--- a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From ce39396d4617874323f6039a5b476e44bf552908 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Sat, 6 Jun 2020 18:00:13 +0000
-Subject: [PATCH] devlink.c: add missing include
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- devlink/devlink.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/devlink/devlink.c b/devlink/devlink.c
-index 0982fae..93dc01c 100644
---- a/devlink/devlink.c
-+++ b/devlink/devlink.c
-@@ -33,6 +33,7 @@
- #include <sys/select.h>
- #include <sys/socket.h>
- #include <sys/types.h>
-+#include <signal.h>
-
- #include "version.h"
- #include "list.h"
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.8.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.9.0.bb
similarity index 64%
rename from poky/meta/recipes-connectivity/iproute2/iproute2_5.8.0.bb
rename to poky/meta/recipes-connectivity/iproute2/iproute2_5.9.0.bb
index 3a590f9..0e6a53e 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.8.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.9.0.bb
@@ -2,10 +2,9 @@
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
file://0001-libc-compat.h-add-musl-workaround.patch \
- file://0001-devlink.c-add-missing-include.patch \
"
-SRC_URI[sha256sum] = "cfcd1f890290f8c8afcc91d9444ad929b9252c16f9ab3f286c50dd3c59dc646e"
+SRC_URI[sha256sum] = "a25dac94bcdcf2f73316c7f812115ea7a5710580bad892b08a83d00c6b33dacf"
# CFLAGS are computed in Makefile and reference CCOPTS
#
diff --git a/poky/meta/recipes-connectivity/iw/iw_5.8.bb b/poky/meta/recipes-connectivity/iw/iw_5.9.bb
similarity index 79%
rename from poky/meta/recipes-connectivity/iw/iw_5.8.bb
rename to poky/meta/recipes-connectivity/iw/iw_5.9.bb
index 97ca66d..3d1e1c7 100644
--- a/poky/meta/recipes-connectivity/iw/iw_5.8.bb
+++ b/poky/meta/recipes-connectivity/iw/iw_5.9.bb
@@ -2,7 +2,7 @@
DESCRIPTION = "iw is a new nl80211 based CLI configuration utility for \
wireless devices. It supports almost all new drivers that have been added \
to the kernel recently. "
-HOMEPAGE = "http://wireless.kernel.org/en/users/Documentation/iw"
+HOMEPAGE = "https://wireless.wiki.kernel.org/en/users/documentation/iw"
SECTION = "base"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774"
@@ -14,8 +14,7 @@
file://separate-objdir.patch \
"
-SRC_URI[md5sum] = "98129d64212bdbb408f009c56ed5c62a"
-SRC_URI[sha256sum] = "cd9125c7e560926d66b09977fe0f75e5365ffd05a15df67d86a421dc76f96a96"
+SRC_URI[sha256sum] = "6e7d3c9f8b4ee68e412f20fe229c9854c2dba383e3e650ce6af8eb8dbd12efc3"
inherit pkgconfig
diff --git a/poky/meta/recipes-connectivity/kea/kea_1.7.10.bb b/poky/meta/recipes-connectivity/kea/kea_1.7.10.bb
index c9a5819..1d011ac 100644
--- a/poky/meta/recipes-connectivity/kea/kea_1.7.10.bb
+++ b/poky/meta/recipes-connectivity/kea/kea_1.7.10.bb
@@ -21,7 +21,7 @@
"
SRC_URI[sha256sum] = "4e121f0e58b175a827581c69cb1d60778647049fa47f142940dddc9ce58f3c82"
-inherit autotools systemd update-rc.d
+inherit autotools systemd update-rc.d upstream-version-is-even
INITSCRIPT_NAME = "kea-dhcp4-server"
INITSCRIPT_PARAMS = "defaults 30"
diff --git a/poky/meta/recipes-connectivity/libuv/libuv_1.39.0.bb b/poky/meta/recipes-connectivity/libuv/libuv_1.40.0.bb
similarity index 89%
rename from poky/meta/recipes-connectivity/libuv/libuv_1.39.0.bb
rename to poky/meta/recipes-connectivity/libuv/libuv_1.40.0.bb
index b6ce475..f793db0 100644
--- a/poky/meta/recipes-connectivity/libuv/libuv_1.39.0.bb
+++ b/poky/meta/recipes-connectivity/libuv/libuv_1.40.0.bb
@@ -4,7 +4,7 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a68902a430e32200263d182d44924d47"
-SRCREV = "25f4b8b8a3c0f934158cd37a37b0525d75ca488e"
+SRCREV = "4e69e333252693bd82d6338d6124f0416538dbfc"
SRC_URI = "git://github.com/libuv/libuv;branch=v1.x"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch
index 20400fe..fde99b5 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-warnings.patch
@@ -1,4 +1,7 @@
-Detect warning options during configure
+From 1ab0c326405c6daa06f1a7eb4b0b60bf4e0584c2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 31 Dec 2019 08:15:34 -0800
+Subject: [PATCH] Detect warning options during configure
Certain options maybe compiler specific therefore its better
to detect them before use.
@@ -12,28 +15,12 @@
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/configure.ac
-+++ b/configure.ac
-@@ -599,7 +599,6 @@ my_am_cflags="\
- -Werror=parentheses \
- -Werror=aggregate-return \
- -Werror=unused-result \
-- -Wno-cast-function-type \
- -fno-strict-aliasing \
- "
-
-@@ -619,9 +618,10 @@ CHECK_CCSUPPORT([-Werror=format-overflow
- CHECK_CCSUPPORT([-Werror=int-conversion], [flg2])
- CHECK_CCSUPPORT([-Werror=incompatible-pointer-types], [flg3])
- CHECK_CCSUPPORT([-Werror=misleading-indentation], [flg4])
-+CHECK_CCSUPPORT([-Wno-cast-function-type], [flg5])
- AX_GCC_FUNC_ATTRIBUTE([format])
-
--AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4"])
-+AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4 $flg5"])
-
- # Make sure that $ACLOCAL_FLAGS are used during a rebuild
- AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"])
+---
+ support/nfs/xcommon.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/support/nfs/xcommon.c b/support/nfs/xcommon.c
+index 3989f0b..e080423 100644
--- a/support/nfs/xcommon.c
+++ b/support/nfs/xcommon.c
@@ -98,7 +98,10 @@ nfs_error (const char *fmt, ...) {
@@ -47,15 +34,3 @@
va_end (args);
free (fmt2);
}
---- a/utils/mount/stropts.c
-+++ b/utils/mount/stropts.c
-@@ -1094,9 +1094,7 @@ static int nfsmount_fg(struct nfsmount_i
- if (nfs_try_mount(mi))
- return EX_SUCCESS;
-
--#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers"
- if (errno == EBUSY && is_mountpoint(mi->node)) {
--#pragma GCC diagnostic warning "-Wdiscarded-qualifiers"
- /*
- * EBUSY can happen when mounting a filesystem that
- * is already mounted or when the context= are
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.1.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.2.bb
similarity index 98%
rename from poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.1.bb
rename to poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.2.bb
index b8ad23a..c7ac67c 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.1.bb
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.2.bb
@@ -31,7 +31,7 @@
file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
file://clang-warnings.patch \
"
-SRC_URI[sha256sum] = "0f1c8170e16a07d9836bbf0836d48d0c842b6f0e0e8b18748f099751851d30c4"
+SRC_URI[sha256sum] = "d493b81c9d3ffce5d10af701a63ed2b8a21768c23da4a2eceb4d708aea65d9de"
# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
# pull in the remainder of the dependencies.
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.3p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.4p1.bb
similarity index 95%
rename from poky/meta/recipes-connectivity/openssh/openssh_8.3p1.bb
rename to poky/meta/recipes-connectivity/openssh/openssh_8.4p1.bb
index e007328..676a8a6 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_8.3p1.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_8.4p1.bb
@@ -25,7 +25,11 @@
file://sshd_check_keys \
file://add-test-support-for-busybox.patch \
"
-SRC_URI[sha256sum] = "f2befbe0472fe7eb75d23340eb17531cb6b3aac24075e2066b41f814e12387b2"
+SRC_URI[sha256sum] = "5a01d22e407eb1c05ba8a8f7c654d388a13e9f226e4ed33bd38748dafa1d2b24"
+
+# This CVE is specific to OpenSSH server, as used in Fedora and Red Hat Enterprise Linux 7
+# and when running in a Kerberos environment. As such it is not relevant to OpenEmbedded
+CVE_CHECK_WHITELIST += "CVE-2014-9278"
PAM_SRC_URI = "file://sshd"
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1g.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1h.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/openssl/openssl_1.1.1g.bb
rename to poky/meta/recipes-connectivity/openssl/openssl_1.1.1h.bb
index 8159558..1827167 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1g.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1h.bb
@@ -23,7 +23,7 @@
file://environment.d-openssl.sh \
"
-SRC_URI[sha256sum] = "ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46"
+SRC_URI[sha256sum] = "5c9ca8774bd7b03e5784f26ae9e9e6d749c9da2438545077e6b3d755a06595d9"
inherit lib_package multilib_header multilib_script ptest
MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
@@ -195,13 +195,14 @@
${libdir}/ssl-1.1/openssl.cnf* \
"
FILES_${PN}-engines = "${libdir}/engines-1.1"
-FILES_${PN}-misc = "${libdir}/ssl-1.1/misc"
+FILES_${PN}-misc = "${libdir}/ssl-1.1/misc ${bindir}/c_rehash"
FILES_${PN} =+ "${libdir}/ssl-1.1/*"
FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
RRECOMMENDS_libcrypto += "openssl-conf"
+RDEPENDS_${PN}-misc = "perl"
RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash"
RDEPENDS_${PN}-bin += "openssl-conf"
diff --git a/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.83.bb b/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.83.bb
index f0ffc82..33ee553 100644
--- a/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.83.bb
+++ b/poky/meta/recipes-connectivity/resolvconf/resolvconf_1.83.bb
@@ -43,7 +43,7 @@
ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run
install -d ${D}${sysconfdir} ${D}${base_sbindir}
install -d ${D}${mandir}/man8 ${D}${docdir}/${P}
- cp -pPR etc/* ${D}${sysconfdir}/
+ cp -pPR etc/resolvconf ${D}${sysconfdir}/
chown -R root:root ${D}${sysconfdir}/
install -m 0755 bin/resolvconf ${D}${base_sbindir}/
install -m 0755 bin/list-records ${D}${base_libdir}/${BPN}
diff --git a/poky/meta/recipes-connectivity/socat/socat_1.7.3.4.bb b/poky/meta/recipes-connectivity/socat/socat_1.7.3.4.bb
index 9b0d407..f3f569d 100644
--- a/poky/meta/recipes-connectivity/socat/socat_1.7.3.4.bb
+++ b/poky/meta/recipes-connectivity/socat/socat_1.7.3.4.bb
@@ -5,8 +5,6 @@
SECTION = "console/network"
-DEPENDS = "openssl"
-
LICENSE = "GPL-2.0-with-OpenSSL-exception"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://README;beginline=257;endline=287;md5=338c05eadd013872abb1d6e198e10a3f"
@@ -39,10 +37,11 @@
sc_cv_sys_tabdly_shift=10 \
sc_cv_sys_csize_shift=8"
-PACKAGECONFIG_class-target ??= "tcp-wrappers readline"
-PACKAGECONFIG ??= "readline"
+PACKAGECONFIG_class-target ??= "tcp-wrappers readline openssl"
+PACKAGECONFIG ??= "readline openssl"
PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
CFLAGS += "-fcommon"
diff --git a/poky/meta/recipes-core/base-files/base-files/profile b/poky/meta/recipes-core/base-files/base-files/profile
index 9e4283e..cc37e1b 100644
--- a/poky/meta/recipes-core/base-files/base-files/profile
+++ b/poky/meta/recipes-core/base-files/base-files/profile
@@ -2,7 +2,6 @@
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
PATH="/usr/local/bin:/usr/bin:/bin"
-EDITOR="vi" # needed for packages like cron, git-commit
[ "$TERM" ] || TERM="vt100" # Basic terminal capab. For screen etc.
# Add /sbin & co to $PATH for the root user
@@ -20,13 +19,48 @@
unset i
fi
-# Make sure we are on a serial console (i.e. the device used starts with
-# /dev/tty[A-z]), otherwise we confuse e.g. the eclipse launcher which tries do
-# use ssh
-case $(tty 2>/dev/null) in
- /dev/tty[A-z]*) [ -x @BINDIR@/resize ] && @BINDIR@/resize >/dev/null;;
-esac
+if [ -t 0 -a $# -eq 0 ]; then
+ if [ ! -x @BINDIR@/resize ] ; then
+ if [ -n "$BASH_VERSION" ] ; then
+# Optimized resize funciton for bash
+resize() {
+ local x y
+ IFS='[;' read -t 2 -p $(printf '\e7\e[r\e[999;999H\e[6n\e8') -sd R _ y x _
+ [ -n "$y" ] && \
+ echo -e "COLUMNS=$x;\nLINES=$y;\nexport COLUMNS LINES;" && \
+ stty cols $x rows $y
+}
+ else
+# Portable resize function for ash/bash/dash/ksh
+# with subshell to avoid local variables
+resize() {
+ (o=$(stty -g)
+ stty -echo raw min 0 time 2
+ printf '\0337\033[r\033[999;999H\033[6n\0338'
+ if echo R | read -d R x 2> /dev/null; then
+ IFS='[;R' read -t 2 -d R -r z y x _
+ else
+ IFS='[;R' read -r _ y x _
+ fi
+ stty "$o"
+ [ -z "$y" ] && y=${z##*[}&&x=${y##*;}&&y=${y%%;*}
+ [ -n "$y" ] && \
+ echo "COLUMNS=$x;"&&echo "LINES=$y;"&&echo "export COLUMNS LINES;"&& \
+ stty cols $x rows $y)
+}
+ fi
+ fi
+ # Use the EDITOR not being set as a trigger to call resize
+ # and only do this for /dev/tty[A-z] which are typically
+ # serial ports
+ if [ -z "$EDITOR" -a "$SHLVL" = 1 ] ; then
+ case $(tty 2>/dev/null) in
+ /dev/tty[A-z]*) resize >/dev/null;;
+ esac
+ fi
+fi
+EDITOR="vi" # needed for packages like cron, git-commit
export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM
umask 022
diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc
index 45aaa2b..e0522be 100644
--- a/poky/meta/recipes-core/busybox/busybox.inc
+++ b/poky/meta/recipes-core/busybox/busybox.inc
@@ -5,10 +5,11 @@
DEPENDS += "kern-tools-native virtual/crypt"
-# bzip2 applet in busybox is based on lightly-modified bzip2 source
+# bzip2 applet in busybox is based on lightly-modified bzip2-1.0.4 source
# the GPL is version 2 only
-LICENSE = "GPLv2 & bzip2-1.0.6"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb"
+LICENSE = "GPLv2 & bzip2-1.0.4"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb \
+ file://archival/libarchive/bz/LICENSE;md5=28e3301eae987e8cfe19988e98383dae"
SECTION = "base"
diff --git a/poky/meta/recipes-core/dbus/dbus_1.12.20.bb b/poky/meta/recipes-core/dbus/dbus_1.12.20.bb
index cf6f7dc..4040fdb 100644
--- a/poky/meta/recipes-core/dbus/dbus_1.12.20.bb
+++ b/poky/meta/recipes-core/dbus/dbus_1.12.20.bb
@@ -11,6 +11,8 @@
PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}"
ALLOW_EMPTY_dbus-ptest = "1"
RDEPENDS_dbus-ptest_class-target = "dbus-test-ptest"
+RDEPENDS_${PN} += "${PN}-common ${PN}-tools"
+RDEPENDS_${PN}_class-native = ""
inherit useradd update-rc.d
@@ -31,7 +33,7 @@
DEBIANNAME_${PN} = "dbus-1"
-PACKAGES =+ "${PN}-lib"
+PACKAGES =+ "${PN}-lib ${PN}-common ${PN}-tools"
OLDPKGNAME = "dbus-x11"
OLDPKGNAME_class-nativesdk = ""
@@ -41,31 +43,37 @@
RREPLACES_${PN} += "${OLDPKGNAME}"
FILES_${PN} = "${bindir}/dbus-daemon* \
- ${bindir}/dbus-uuidgen \
${bindir}/dbus-cleanup-sockets \
- ${bindir}/dbus-send \
- ${bindir}/dbus-monitor \
${bindir}/dbus-launch \
${bindir}/dbus-run-session \
- ${bindir}/dbus-update-activation-environment \
${libexecdir}/dbus* \
${sysconfdir} \
${localstatedir} \
- ${datadir}/dbus-1/services \
- ${datadir}/dbus-1/system-services \
- ${datadir}/dbus-1/session.d \
- ${datadir}/dbus-1/session.conf \
- ${datadir}/dbus-1/system.d \
- ${datadir}/dbus-1/system.conf \
- ${datadir}/xml/dbus-1 \
${systemd_system_unitdir} \
${systemd_user_unitdir} \
- ${nonarch_libdir}/sysusers.d/dbus.conf \
${nonarch_libdir}/tmpfiles.d/dbus.conf \
"
+FILES_${PN}-common = "${sysconfdir}/dbus-1 \
+ ${datadir}/dbus-1/services \
+ ${datadir}/dbus-1/system-services \
+ ${datadir}/dbus-1/session.d \
+ ${datadir}/dbus-1/session.conf \
+ ${datadir}/dbus-1/system.d \
+ ${datadir}/dbus-1/system.conf \
+ ${systemd_system_unitdir}/dbus.socket \
+ ${systemd_system_unitdir}/sockets.target.wants \
+ ${systemd_user_unitdir}/dbus.socket \
+ ${systemd_user_unitdir}/sockets.target.wants \
+ ${nonarch_libdir}/sysusers.d/dbus.conf \
+"
+FILES_${PN}-tools = "${bindir}/dbus-uuidgen \
+ ${bindir}/dbus-send \
+ ${bindir}/dbus-monitor \
+ ${bindir}/dbus-update-activation-environment \
+"
FILES_${PN}-lib = "${libdir}/lib*.so.*"
RRECOMMENDS_${PN}-lib = "${PN}"
-FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${libdir}/cmake/DBus1 ${bindir}/dbus-test-tool"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${libdir}/cmake/DBus1 ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1"
PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}"
pkg_postinst_dbus() {
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2020.80.bb b/poky/meta/recipes-core/dropbear/dropbear_2020.80.bb
deleted file mode 100644
index 088c71c..0000000
--- a/poky/meta/recipes-core/dropbear/dropbear_2020.80.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require dropbear.inc
-
-SRC_URI[sha256sum] = "d927941b91f2da150b2033f1a88b6a47999bf0afb1493a73e9216cffdb5d7949"
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2020.81.bb b/poky/meta/recipes-core/dropbear/dropbear_2020.81.bb
new file mode 100644
index 0000000..c7edea8
--- /dev/null
+++ b/poky/meta/recipes-core/dropbear/dropbear_2020.81.bb
@@ -0,0 +1,3 @@
+require dropbear.inc
+
+SRC_URI[sha256sum] = "48235d10b37775dbda59341ac0c4b239b82ad6318c31568b985730c788aac53b"
diff --git a/poky/meta/recipes-core/expat/expat_2.2.9.bb b/poky/meta/recipes-core/expat/expat_2.2.10.bb
similarity index 77%
rename from poky/meta/recipes-core/expat/expat_2.2.9.bb
rename to poky/meta/recipes-core/expat/expat_2.2.10.bb
index f477f99..fa263775 100644
--- a/poky/meta/recipes-core/expat/expat_2.2.9.bb
+++ b/poky/meta/recipes-core/expat/expat_2.2.10.bb
@@ -4,7 +4,7 @@
SECTION = "libs"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5b8620d98e49772d95fc1d291c26aa79"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9"
SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \
file://libtool-tag.patch \
@@ -12,8 +12,7 @@
file://0001-Add-output-of-tests-result.patch \
"
-SRC_URI[md5sum] = "875a2c2ff3e8eb9e5a5cd62db2033ab5"
-SRC_URI[sha256sum] = "f1063084dc4302a427dabcca499c8312b3a32a29b7d2506653ecc8f950a9a237"
+SRC_URI[sha256sum] = "b2c160f1b60e92da69de8e12333096aeb0c3bf692d41c60794de278af72135a5"
EXTRA_OECMAKE_class-native += "-DEXPAT_BUILD_DOCS=OFF"
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
index d075cd3..d6765b1 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
@@ -1,4 +1,4 @@
-From d3334e83ae0da9ca184eb9c8daf0854544ece023 Mon Sep 17 00:00:00 2001
+From 333809ded70ad4e3470b7134e3fac1a42ff48e61 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 13 Feb 2019 15:32:05 +0100
Subject: [PATCH] Set host_machine correctly when building with mingw32
@@ -14,7 +14,7 @@
4 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
-index dab65d2..e8bb2ee 100644
+index 3a19c82..b762835 100644
--- a/gio/tests/meson.build
+++ b/gio/tests/meson.build
@@ -12,7 +12,7 @@ test_c_args = [
@@ -26,7 +26,7 @@
common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')]
endif
-@@ -132,7 +132,7 @@ else
+@@ -133,7 +133,7 @@ else
endif
# Test programs buildable on UNIX only
@@ -35,7 +35,7 @@
gio_tests += {
'file' : {},
'gdbus-peer' : {
-@@ -384,7 +384,7 @@ if host_machine.system() != 'windows'
+@@ -385,7 +385,7 @@ if host_machine.system() != 'windows'
endif # unix
# Test programs buildable on Windows only
@@ -44,7 +44,7 @@
gio_tests += {'win32-streams' : {}}
endif
-@@ -454,7 +454,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl'
+@@ -455,7 +455,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl'
}
endif
@@ -54,10 +54,10 @@
'gdbus-example-unix-fd-client' : {
'install' : false,
diff --git a/glib/tests/meson.build b/glib/tests/meson.build
-index 3dedafc..94605e6 100644
+index 6eb23e8..36eb919 100644
--- a/glib/tests/meson.build
+++ b/glib/tests/meson.build
-@@ -134,7 +134,7 @@ if glib_conf.has('HAVE_EVENTFD')
+@@ -137,7 +137,7 @@ if glib_conf.has('HAVE_EVENTFD')
}
endif
@@ -67,7 +67,7 @@
glib_tests += {
'gpoll' : {
diff --git a/meson.build b/meson.build
-index e1b4b79..afb6eaa 100644
+index 47f3a5c..7ea7ad1 100644
--- a/meson.build
+++ b/meson.build
@@ -32,6 +32,9 @@ else
@@ -78,8 +78,8 @@
+ host_system = 'windows'
+endif
- glib_version = meson.project_version()
- glib_api_version = '2.0'
+ if host_system == 'darwin'
+ ios_test_code = '''#include <TargetConditionals.h>
diff --git a/tests/meson.build b/tests/meson.build
index 6741f8f..12fdc90 100644
--- a/tests/meson.build
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index fe87482..2b8e930 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From 2a715765c6ceb2e8b4cc42e060aee75016111d1a Mon Sep 17 00:00:00 2001
+From 85931fbb981b5aae38f1c1370d5d3c091cb862b8 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Fri, 11 Mar 2016 15:35:55 +0000
Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
@@ -19,10 +19,10 @@
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/gio/giomodule.c b/gio/giomodule.c
-index c420260..a023745 100644
+index dc4d6d3..da46906 100644
--- a/gio/giomodule.c
+++ b/gio/giomodule.c
-@@ -47,6 +47,8 @@
+@@ -49,6 +49,8 @@
#include "gmemorymonitordbus.h"
#ifdef G_OS_WIN32
#include "gregistrysettingsbackend.h"
@@ -31,7 +31,7 @@
#endif
#include <glib/gstdio.h>
-@@ -1158,7 +1160,15 @@ get_gio_module_dir (void)
+@@ -1163,7 +1165,15 @@ get_gio_module_dir (void)
NULL);
g_free (install_dir);
#else
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/tzdata-update.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/tzdata-update.patch
deleted file mode 100644
index 0af036f..0000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/tzdata-update.patch
+++ /dev/null
@@ -1,458 +0,0 @@
-Backport a number of patches from upstream to fix reading of the new 'slim'
-encoding for tzdata files.
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-commit 18cbd5e5a4812e9bd0b06a058322d2b44ed2ad92
-Author: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu Jul 16 12:41:49 2020 -0700
-
- Clarify memset in set_tz_name
-
- * glib/gtimezone.c (set_tz_name): Use size, not NAME_SIZE,
- to clear the buffer. Suggested by Philip Withnall in:
- https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1533#note_867859
-
-commit 1ab3f927d6d09a8cf3349a3545f5351446f43d47
-Author: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu Jul 16 12:41:49 2020 -0700
-
- gtimezone: support footers in TZif files
-
- Since tzcode95f (1995), TZif files have had a trailing
- TZ string, used for timestamps after the last transition.
- This string is specified in Internet RFC 8536 section 3.3.
- init_zone_from_iana_info has ignored this string, causing it
- to mishandle timestamps past the year 2038. With zic's new -b
- slim flag, init_zone_from_iana_info would even mishandle current
- timestamps. Fix this by parsing the trailing TZ string and adding
- its transitions.
-
- Closes #2129
-
-commit e8b763e35235a2c6b4bdd48a5099c00f72741059
-Author: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu Jul 16 12:41:49 2020 -0700
-
- gtimezone: add support for RFC 8536 time zone transitions
-
- Time zone transition times can range from -167:59:59 through
- +167:59:59, according to Internet RFC 8536 section 3.3.1;
- this is an extension to POSIX. It is needed for proper
- support of TZif version 3 files.
-
-commit 1c65dd48b8ebd31af8bc9b2263f83c0c411f7519
-Author: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu Jul 16 12:41:49 2020 -0700
-
- gtimezone: allow hh to be 24, as per POSIX
-
- POSIX allows hh to be 24; see
- https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03
-
-commit 368b65cb4cb17e29a4f55654149f554a14f48bc6
-Author: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu Jul 16 12:41:49 2020 -0700
-
- gtimezone: support POSIX 1003.1-2001 quoted TZ abbreviations
-
- TZ strings like '<-03>3' were introduced in POSIX 1003.1-2001 and
- are currently specified in:
- https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03
-
-commit fd528aaab6bb077c6d217e62f2228ec9fe3ed760
-Author: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu Jul 16 12:41:49 2020 -0700
-
- gtimezone: get 64-bit data from version-3 TZif files
-
- Version 3 was introduced in tzdb 2013e (2013).
- See Internet RFC 8536 section 3.1 under "ver(sion)".
-
-diff --git a/glib/gtimezone.c b/glib/gtimezone.c
-index 5a835dea9..f9eee1967 100644
---- a/glib/gtimezone.c
-+++ b/glib/gtimezone.c
-@@ -142,9 +142,7 @@ typedef struct
- gint mday;
- gint wday;
- gint week;
-- gint hour;
-- gint min;
-- gint sec;
-+ gint32 offset; /* hour*3600 + min*60 + sec; can be negative. */
- } TimeZoneDate;
-
- /* POSIX Timezone abbreviations are typically 3 or 4 characters, but
-@@ -205,6 +203,10 @@ static GTimeZone *tz_local = NULL;
- there's no point in getting carried
- away. */
-
-+#ifdef G_OS_UNIX
-+static GTimeZone *parse_footertz (const gchar *, size_t);
-+#endif
-+
- /**
- * g_time_zone_unref:
- * @tz: a #GTimeZone
-@@ -286,13 +288,20 @@ g_time_zone_ref (GTimeZone *tz)
- /* fake zoneinfo creation (for RFC3339/ISO 8601 timezones) {{{1 */
- /*
- * parses strings of the form h or hh[[:]mm[[[:]ss]]] where:
-- * - h[h] is 0 to 23
-+ * - h[h] is 0 to 24
- * - mm is 00 to 59
- * - ss is 00 to 59
-+ * If RFC8536, TIME_ is a transition time sans sign,
-+ * so colons are required before mm and ss, and hh can be up to 167.
-+ * See Internet RFC 8536 section 3.3.1:
-+ * https://tools.ietf.org/html/rfc8536#section-3.3.1
-+ * and POSIX Base Definitions 8.3 TZ rule time:
-+ * https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03
- */
- static gboolean
- parse_time (const gchar *time_,
-- gint32 *offset)
-+ gint32 *offset,
-+ gboolean rfc8536)
- {
- if (*time_ < '0' || '9' < *time_)
- return FALSE;
-@@ -310,7 +319,20 @@ parse_time (const gchar *time_,
- *offset *= 10;
- *offset += 60 * 60 * (*time_++ - '0');
-
-- if (*offset > 23 * 60 * 60)
-+ if (rfc8536)
-+ {
-+ /* Internet RFC 8536 section 3.3.1 and POSIX 8.3 TZ together say
-+ that a transition time must be of the form [+-]hh[:mm[:ss]] where
-+ the hours part can range from -167 to 167. */
-+ if ('0' <= *time_ && *time_ <= '9')
-+ {
-+ *offset *= 10;
-+ *offset += 60 * 60 * (*time_++ - '0');
-+ }
-+ if (*offset > 167 * 60 * 60)
-+ return FALSE;
-+ }
-+ else if (*offset > 24 * 60 * 60)
- return FALSE;
-
- if (*time_ == '\0')
-@@ -319,6 +341,8 @@ parse_time (const gchar *time_,
-
- if (*time_ == ':')
- time_++;
-+ else if (rfc8536)
-+ return FALSE;
-
- if (*time_ < '0' || '5' < *time_)
- return FALSE;
-@@ -335,6 +359,8 @@ parse_time (const gchar *time_,
-
- if (*time_ == ':')
- time_++;
-+ else if (rfc8536)
-+ return FALSE;
-
- if (*time_ < '0' || '5' < *time_)
- return FALSE;
-@@ -351,28 +377,32 @@ parse_time (const gchar *time_,
-
- static gboolean
- parse_constant_offset (const gchar *name,
-- gint32 *offset)
-+ gint32 *offset,
-+ gboolean rfc8536)
- {
-- if (g_strcmp0 (name, "UTC") == 0)
-+ /* Internet RFC 8536 section 3.3.1 and POSIX 8.3 TZ together say
-+ that a transition time must be numeric. */
-+ if (!rfc8536 && g_strcmp0 (name, "UTC") == 0)
- {
- *offset = 0;
- return TRUE;
- }
-
- if (*name >= '0' && '9' >= *name)
-- return parse_time (name, offset);
-+ return parse_time (name, offset, rfc8536);
-
- switch (*name++)
- {
- case 'Z':
- *offset = 0;
-- return !*name;
-+ /* Internet RFC 8536 section 3.3.1 requires a numeric zone. */
-+ return !rfc8536 && !*name;
-
- case '+':
-- return parse_time (name, offset);
-+ return parse_time (name, offset, rfc8536);
-
- case '-':
-- if (parse_time (name, offset))
-+ if (parse_time (name, offset, rfc8536))
- {
- *offset = -*offset;
- return TRUE;
-@@ -391,7 +421,7 @@ zone_for_constant_offset (GTimeZone *gtz, const gchar *name)
- gint32 offset;
- TransitionInfo info;
-
-- if (name == NULL || !parse_constant_offset (name, &offset))
-+ if (name == NULL || !parse_constant_offset (name, &offset, FALSE))
- return;
-
- info.gmt_offset = offset;
-@@ -529,12 +559,17 @@ init_zone_from_iana_info (GTimeZone *gtz,
- guint8 *tz_transitions, *tz_type_index, *tz_ttinfo;
- guint8 *tz_abbrs;
- gsize timesize = sizeof (gint32);
-- const struct tzhead *header = g_bytes_get_data (zoneinfo, &size);
-+ gconstpointer header_data = g_bytes_get_data (zoneinfo, &size);
-+ const gchar *data = header_data;
-+ const struct tzhead *header = header_data;
-+ GTimeZone *footertz = NULL;
-+ guint extra_time_count = 0, extra_type_count = 0;
-+ gint64 last_explicit_transition_time;
-
- g_return_if_fail (size >= sizeof (struct tzhead) &&
- memcmp (header, "TZif", 4) == 0);
-
-- if (header->tzh_version == '2')
-+ if (header->tzh_version >= '2')
- {
- /* Skip ahead to the newer 64-bit data if it's available. */
- header = (const struct tzhead *)
-@@ -550,6 +585,30 @@ init_zone_from_iana_info (GTimeZone *gtz,
- time_count = guint32_from_be(header->tzh_timecnt);
- type_count = guint32_from_be(header->tzh_typecnt);
-
-+ if (header->tzh_version >= '2')
-+ {
-+ const gchar *footer = (((const gchar *) (header + 1))
-+ + guint32_from_be(header->tzh_ttisgmtcnt)
-+ + guint32_from_be(header->tzh_ttisstdcnt)
-+ + 12 * guint32_from_be(header->tzh_leapcnt)
-+ + 9 * time_count
-+ + 6 * type_count
-+ + guint32_from_be(header->tzh_charcnt));
-+ const gchar *footerlast;
-+ size_t footerlen;
-+ g_return_if_fail (footer <= data + size - 2 && footer[0] == '\n');
-+ footerlast = memchr (footer + 1, '\n', data + size - (footer + 1));
-+ g_return_if_fail (footerlast);
-+ footerlen = footerlast + 1 - footer;
-+ if (footerlen != 2)
-+ {
-+ footertz = parse_footertz (footer, footerlen);
-+ g_return_if_fail (footertz);
-+ extra_type_count = footertz->t_info->len;
-+ extra_time_count = footertz->transitions->len;
-+ }
-+ }
-+
- tz_transitions = ((guint8 *) (header) + sizeof (*header));
- tz_type_index = tz_transitions + timesize * time_count;
- tz_ttinfo = tz_type_index + time_count;
-@@ -557,9 +616,9 @@ init_zone_from_iana_info (GTimeZone *gtz,
-
- gtz->name = g_steal_pointer (&identifier);
- gtz->t_info = g_array_sized_new (FALSE, TRUE, sizeof (TransitionInfo),
-- type_count);
-+ type_count + extra_type_count);
- gtz->transitions = g_array_sized_new (FALSE, TRUE, sizeof (Transition),
-- time_count);
-+ time_count + extra_time_count);
-
- for (index = 0; index < type_count; index++)
- {
-@@ -574,15 +633,50 @@ init_zone_from_iana_info (GTimeZone *gtz,
- for (index = 0; index < time_count; index++)
- {
- Transition trans;
-- if (header->tzh_version == '2')
-+ if (header->tzh_version >= '2')
- trans.time = gint64_from_be (((gint64_be*)tz_transitions)[index]);
- else
- trans.time = gint32_from_be (((gint32_be*)tz_transitions)[index]);
-+ last_explicit_transition_time = trans.time;
- trans.info_index = tz_type_index[index];
- g_assert (trans.info_index >= 0);
- g_assert ((guint) trans.info_index < gtz->t_info->len);
- g_array_append_val (gtz->transitions, trans);
- }
-+
-+ if (footertz)
-+ {
-+ /* Append footer time types. Don't bother to coalesce
-+ duplicates with existing time types. */
-+ for (index = 0; index < extra_type_count; index++)
-+ {
-+ TransitionInfo t_info;
-+ TransitionInfo *footer_t_info
-+ = &g_array_index (footertz->t_info, TransitionInfo, index);
-+ t_info.gmt_offset = footer_t_info->gmt_offset;
-+ t_info.is_dst = footer_t_info->is_dst;
-+ t_info.abbrev = g_steal_pointer (&footer_t_info->abbrev);
-+ g_array_append_val (gtz->t_info, t_info);
-+ }
-+
-+ /* Append footer transitions that follow the last explicit
-+ transition. */
-+ for (index = 0; index < extra_time_count; index++)
-+ {
-+ Transition *footer_transition
-+ = &g_array_index (footertz->transitions, Transition, index);
-+ if (time_count <= 0
-+ || last_explicit_transition_time < footer_transition->time)
-+ {
-+ Transition trans;
-+ trans.time = footer_transition->time;
-+ trans.info_index = type_count + footer_transition->info_index;
-+ g_array_append_val (gtz->transitions, trans);
-+ }
-+ }
-+
-+ g_time_zone_unref (footertz);
-+ }
- }
-
- #elif defined (G_OS_WIN32)
-@@ -590,9 +684,8 @@ init_zone_from_iana_info (GTimeZone *gtz,
- static void
- copy_windows_systemtime (SYSTEMTIME *s_time, TimeZoneDate *tzdate)
- {
-- tzdate->sec = s_time->wSecond;
-- tzdate->min = s_time->wMinute;
-- tzdate->hour = s_time->wHour;
-+ tzdate->offset
-+ = s_time->wHour * 3600 + s_time->wMinute * 60 + s_time->wSecond;
- tzdate->mon = s_time->wMonth;
- tzdate->year = s_time->wYear;
- tzdate->wday = s_time->wDayOfWeek ? s_time->wDayOfWeek : 7;
-@@ -979,7 +1072,7 @@ boundary_for_year (TimeZoneDate *boundary,
- g_date_clear (&date, 1);
- g_date_set_dmy (&date, buffer.mday, buffer.mon, buffer.year);
- return ((g_date_get_julian (&date) - unix_epoch_start) * seconds_per_day +
-- buffer.hour * 3600 + buffer.min * 60 + buffer.sec - offset);
-+ buffer.offset - offset);
- }
-
- static void
-@@ -1156,7 +1249,7 @@ init_zone_from_rules (GTimeZone *gtz,
- * - N is 0 to 365
- *
- * time is either h or hh[[:]mm[[[:]ss]]]
-- * - h[h] is 0 to 23
-+ * - h[h] is 0 to 24
- * - mm is 00 to 59
- * - ss is 00 to 59
- */
-@@ -1289,25 +1382,10 @@ parse_tz_boundary (const gchar *identifier,
- /* Time */
-
- if (*pos == '/')
-- {
-- gint32 offset;
--
-- if (!parse_time (++pos, &offset))
-- return FALSE;
--
-- boundary->hour = offset / 3600;
-- boundary->min = (offset / 60) % 60;
-- boundary->sec = offset % 3600;
--
-- return TRUE;
-- }
--
-+ return parse_constant_offset (pos + 1, &boundary->offset, TRUE);
- else
- {
-- boundary->hour = 2;
-- boundary->min = 0;
-- boundary->sec = 0;
--
-+ boundary->offset = 2 * 60 * 60;
- return *pos == '\0';
- }
- }
-@@ -1341,7 +1419,7 @@ parse_offset (gchar **pos, gint32 *target)
- ++(*pos);
-
- buffer = g_strndup (target_pos, *pos - target_pos);
-- ret = parse_constant_offset (buffer, target);
-+ ret = parse_constant_offset (buffer, target, FALSE);
- g_free (buffer);
-
- return ret;
-@@ -1366,21 +1444,32 @@ parse_identifier_boundary (gchar **pos, TimeZoneDate *target)
- static gboolean
- set_tz_name (gchar **pos, gchar *buffer, guint size)
- {
-+ gboolean quoted = **pos == '<';
- gchar *name_pos = *pos;
- guint len;
-
-- /* Name is ASCII alpha (Is this necessarily true?) */
-- while (g_ascii_isalpha (**pos))
-- ++(*pos);
-+ if (quoted)
-+ {
-+ name_pos++;
-+ do
-+ ++(*pos);
-+ while (g_ascii_isalnum (**pos) || **pos == '-' || **pos == '+');
-+ if (**pos != '>')
-+ return FALSE;
-+ }
-+ else
-+ while (g_ascii_isalpha (**pos))
-+ ++(*pos);
-
-- /* Name should be three or more alphabetic characters */
-+ /* Name should be three or more characters */
- if (*pos - name_pos < 3)
- return FALSE;
-
-- memset (buffer, 0, NAME_SIZE);
-+ memset (buffer, 0, size);
- /* name_pos isn't 0-terminated, so we have to limit the length expressly */
- len = *pos - name_pos > size - 1 ? size - 1 : *pos - name_pos;
- strncpy (buffer, name_pos, len);
-+ *pos += quoted;
- return TRUE;
- }
-
-@@ -1483,6 +1572,28 @@ rules_from_identifier (const gchar *identifier,
- return create_ruleset_from_rule (rules, &tzr);
- }
-
-+#ifdef G_OS_UNIX
-+static GTimeZone *
-+parse_footertz (const gchar *footer, size_t footerlen)
-+{
-+ gchar *tzstring = g_strndup (footer + 1, footerlen - 2);
-+ GTimeZone *footertz = NULL;
-+ gchar *ident;
-+ TimeZoneRule *rules;
-+ guint rules_num = rules_from_identifier (tzstring, &ident, &rules);
-+ g_free (ident);
-+ g_free (tzstring);
-+ if (rules_num > 1)
-+ {
-+ footertz = g_slice_new0 (GTimeZone);
-+ init_zone_from_rules (footertz, rules, rules_num, NULL);
-+ footertz->ref_count++;
-+ }
-+ g_free (rules);
-+ return footertz;
-+}
-+#endif
-+
- /* Construction {{{1 */
- /**
- * g_time_zone_new:
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.64.5.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.2.bb
similarity index 93%
rename from poky/meta/recipes-core/glib-2.0/glib-2.0_2.64.5.bb
rename to poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.2.bb
index a30c521..1f83660 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.64.5.bb
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.2.bb
@@ -16,12 +16,11 @@
file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
- file://tzdata-update.patch \
"
SRC_URI_append_class-native = " file://relocate-modules.patch"
-SRC_URI[sha256sum] = "9cbd5bd2715ead1c28d53c46f7b7b6ff6166f5887b772c1a9e3bf2910cfecc11"
+SRC_URI[sha256sum] = "ec390bed4e8dd0f89e918f385e8d4cfd7470b1ef7c1ce93ec5c4fc6e3c6a17c4"
# Find any meson cross files in FILESPATH that are relevant for the current
# build (using siteinfo) and add them to EXTRA_OEMESON.
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index a0055d8..71777bc 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -34,10 +34,6 @@
GTKDOC_MESON_OPTION = "gtk_doc"
-# This avoids the need to depend on target python3, which in case of mingw is not even possible.
-# meson's python configuration pokes into python3 configuration, so this provides the native config to it.
-unset _PYTHON_SYSCONFIGDATA_NAME
-
S = "${WORKDIR}/glib-${PV}"
PACKAGECONFIG ??= "system-pcre libmount \
@@ -170,7 +166,7 @@
${PN}-locale-th \
python3-core \
python3-modules \
- python3-dbusmock \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-dbusmock', '', d)} \
${PN}-codegen \
"
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.64.3.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.66.0.bb
similarity index 89%
rename from poky/meta/recipes-core/glib-networking/glib-networking_2.64.3.bb
rename to poky/meta/recipes-core/glib-networking/glib-networking_2.66.0.bb
index 074389f..230932d 100644
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.64.3.bb
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.66.0.bb
@@ -9,8 +9,7 @@
SECTION = "libs"
DEPENDS = "glib-2.0"
-SRC_URI[archive.md5sum] = "eb382907ec941fe2fb1a9676b75acf7a"
-SRC_URI[archive.sha256sum] = "937a06b124052813bfc0b0b86bff42016ff01067582e1aca65bb6dbe0845a168"
+SRC_URI[archive.sha256sum] = "c5d7be2437fdd196eebfb70c4517b96d3ba7ec13bd496318b8f02dea383e0099"
PACKAGECONFIG ??= "gnutls ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuall/interfaces
similarity index 100%
rename from poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm/interfaces
rename to poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuall/interfaces
diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm64/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm64/interfaces
deleted file mode 100644
index 1696776..0000000
--- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarm64/interfaces
+++ /dev/null
@@ -1,5 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv6/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv6/interfaces
deleted file mode 100644
index 1696776..0000000
--- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv6/interfaces
+++ /dev/null
@@ -1,5 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv7/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv7/interfaces
deleted file mode 100644
index 1696776..0000000
--- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuarmv7/interfaces
+++ /dev/null
@@ -1,5 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips/interfaces
deleted file mode 100644
index f62b9a8..0000000
--- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips/interfaces
+++ /dev/null
@@ -1,8 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
-
-
-
diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips64/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips64/interfaces
deleted file mode 100644
index f62b9a8..0000000
--- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemumips64/interfaces
+++ /dev/null
@@ -1,8 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
-
-
-
diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuppc/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuppc/interfaces
deleted file mode 100644
index f62b9a8..0000000
--- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemuppc/interfaces
+++ /dev/null
@@ -1,8 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
-
-
-
diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemush4/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemush4/interfaces
deleted file mode 100644
index f62b9a8..0000000
--- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemush4/interfaces
+++ /dev/null
@@ -1,8 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
-
-
-
diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86-64/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86-64/interfaces
deleted file mode 100644
index f62b9a8..0000000
--- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86-64/interfaces
+++ /dev/null
@@ -1,8 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
-
-
-
diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86/interfaces
deleted file mode 100644
index f62b9a8..0000000
--- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/qemux86/interfaces
+++ /dev/null
@@ -1,8 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
-
-
-
diff --git a/poky/meta/recipes-core/libxml/libxml2/fix-python39.patch b/poky/meta/recipes-core/libxml/libxml2/fix-python39.patch
new file mode 100644
index 0000000..32590f9
--- /dev/null
+++ b/poky/meta/recipes-core/libxml/libxml2/fix-python39.patch
@@ -0,0 +1,94 @@
+From e4fb36841800038c289997432ca547c9bfef9db1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Fri, 28 Feb 2020 12:48:14 +0100
+Subject: [PATCH] Parenthesize Py<type>_Check() in ifs
+
+In C, if expressions should be parenthesized.
+PyLong_Check, PyUnicode_Check etc. happened to expand to a parenthesized
+expression before, but that's not API to rely on.
+
+Since Python 3.9.0a4 it needs to be parenthesized explicitly.
+
+Fixes https://gitlab.gnome.org/GNOME/libxml2/issues/149
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ python/libxml.c | 4 ++--
+ python/types.c | 12 ++++++------
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/python/libxml.c b/python/libxml.c
+index bc676c4e0..81e709f34 100644
+--- a/python/libxml.c
++++ b/python/libxml.c
+@@ -294,7 +294,7 @@ xmlPythonFileReadRaw (void * context, char * buffer, int len) {
+ lenread = PyBytes_Size(ret);
+ data = PyBytes_AsString(ret);
+ #ifdef PyUnicode_Check
+- } else if PyUnicode_Check (ret) {
++ } else if (PyUnicode_Check (ret)) {
+ #if PY_VERSION_HEX >= 0x03030000
+ Py_ssize_t size;
+ const char *tmp;
+@@ -359,7 +359,7 @@ xmlPythonFileRead (void * context, char * buffer, int len) {
+ lenread = PyBytes_Size(ret);
+ data = PyBytes_AsString(ret);
+ #ifdef PyUnicode_Check
+- } else if PyUnicode_Check (ret) {
++ } else if (PyUnicode_Check (ret)) {
+ #if PY_VERSION_HEX >= 0x03030000
+ Py_ssize_t size;
+ const char *tmp;
+diff --git a/python/types.c b/python/types.c
+index c2bafeb19..ed284ec74 100644
+--- a/python/types.c
++++ b/python/types.c
+@@ -602,16 +602,16 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj)
+ if (obj == NULL) {
+ return (NULL);
+ }
+- if PyFloat_Check (obj) {
++ if (PyFloat_Check (obj)) {
+ ret = xmlXPathNewFloat((double) PyFloat_AS_DOUBLE(obj));
+- } else if PyLong_Check(obj) {
++ } else if (PyLong_Check(obj)) {
+ #ifdef PyLong_AS_LONG
+ ret = xmlXPathNewFloat((double) PyLong_AS_LONG(obj));
+ #else
+ ret = xmlXPathNewFloat((double) PyInt_AS_LONG(obj));
+ #endif
+ #ifdef PyBool_Check
+- } else if PyBool_Check (obj) {
++ } else if (PyBool_Check (obj)) {
+
+ if (obj == Py_True) {
+ ret = xmlXPathNewBoolean(1);
+@@ -620,14 +620,14 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj)
+ ret = xmlXPathNewBoolean(0);
+ }
+ #endif
+- } else if PyBytes_Check (obj) {
++ } else if (PyBytes_Check (obj)) {
+ xmlChar *str;
+
+ str = xmlStrndup((const xmlChar *) PyBytes_AS_STRING(obj),
+ PyBytes_GET_SIZE(obj));
+ ret = xmlXPathWrapString(str);
+ #ifdef PyUnicode_Check
+- } else if PyUnicode_Check (obj) {
++ } else if (PyUnicode_Check (obj)) {
+ #if PY_VERSION_HEX >= 0x03030000
+ xmlChar *str;
+ const char *tmp;
+@@ -650,7 +650,7 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj)
+ ret = xmlXPathWrapString(str);
+ #endif
+ #endif
+- } else if PyList_Check (obj) {
++ } else if (PyList_Check (obj)) {
+ int i;
+ PyObject *node;
+ xmlNodePtr cur;
+--
+GitLab
+
diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb
index 90890ff..07ae686 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb
@@ -23,6 +23,7 @@
file://CVE-2020-7595.patch \
file://CVE-2019-20388.patch \
file://CVE-2020-24977.patch \
+ file://fix-python39.patch \
"
SRC_URI[libtar.md5sum] = "10942a1dc23137a8aa07f0639cbfece5"
diff --git a/poky/meta/recipes-core/meta/cve-update-db-native.bb b/poky/meta/recipes-core/meta/cve-update-db-native.bb
index cf2b251..cf62e1e 100644
--- a/poky/meta/recipes-core/meta/cve-update-db-native.bb
+++ b/poky/meta/recipes-core/meta/cve-update-db-native.bb
@@ -172,7 +172,12 @@
op_end = '<'
v_end = cpe['versionEndExcluding']
- yield [cveId, vendor, product, v_start, op_start, v_end, op_end]
+ if op_start or op_end or v_start or v_end:
+ yield [cveId, vendor, product, v_start, op_start, v_end, op_end]
+ else:
+ # This is no version information, expressed differently.
+ # Save processing by representing as -.
+ yield [cveId, vendor, product, '-', '', '', '']
c.executemany("insert into PRODUCTS values (?, ?, ?, ?, ?, ?, ?)", cpe_generator())
diff --git a/poky/meta/recipes-core/musl/musl/0001-crt-Add-.file-directive.patch b/poky/meta/recipes-core/musl/musl/0001-crt-Add-.file-directive.patch
new file mode 100644
index 0000000..d2bd587
--- /dev/null
+++ b/poky/meta/recipes-core/musl/musl/0001-crt-Add-.file-directive.patch
@@ -0,0 +1,300 @@
+From b0124f3c4f2a353506621d387135ebea6b8c6609 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Oct 2020 22:40:53 -0700
+Subject: [PATCH] crt: Add .file directive
+
+Musl linked binaries come out to be not reproducible because
+absolute build path is seen in debug info of crti.o and crtn.o
+This is due to the fact that these objects are built from assembly
+source files and they are missing .file directive
+if we add .file <filename>.s in them then debug info encodes this
+value instead of absolute path in debug_line section
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ crt/aarch64/crti.s | 1 +
+ crt/aarch64/crtn.s | 1 +
+ crt/arm/crti.s | 1 +
+ crt/arm/crtn.s | 1 +
+ crt/i386/crti.s | 1 +
+ crt/i386/crtn.s | 1 +
+ crt/microblaze/crti.s | 1 +
+ crt/microblaze/crtn.s | 1 +
+ crt/mips/crti.s | 1 +
+ crt/mips/crtn.s | 1 +
+ crt/mips64/crti.s | 1 +
+ crt/mips64/crtn.s | 1 +
+ crt/mipsn32/crti.s | 1 +
+ crt/mipsn32/crtn.s | 1 +
+ crt/or1k/crti.s | 1 +
+ crt/or1k/crtn.s | 1 +
+ crt/powerpc/crti.s | 1 +
+ crt/powerpc/crtn.s | 1 +
+ crt/powerpc64/crti.s | 1 +
+ crt/powerpc64/crtn.s | 1 +
+ crt/s390x/crti.s | 1 +
+ crt/s390x/crtn.s | 1 +
+ crt/sh/crti.s | 1 +
+ crt/sh/crtn.s | 1 +
+ crt/x32/crti.s | 1 +
+ crt/x32/crtn.s | 1 +
+ crt/x86_64/crti.s | 1 +
+ crt/x86_64/crtn.s | 1 +
+ 28 files changed, 28 insertions(+)
+
+diff --git a/crt/aarch64/crti.s b/crt/aarch64/crti.s
+index 775df0ac..0f7c23a9 100644
+--- a/crt/aarch64/crti.s
++++ b/crt/aarch64/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .section .init
+ .global _init
+ .type _init,%function
+diff --git a/crt/aarch64/crtn.s b/crt/aarch64/crtn.s
+index 73cab692..d62fc129 100644
+--- a/crt/aarch64/crtn.s
++++ b/crt/aarch64/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .section .init
+ ldp x29,x30,[sp],#16
+ ret
+diff --git a/crt/arm/crti.s b/crt/arm/crti.s
+index 18dc1e41..8df72979 100644
+--- a/crt/arm/crti.s
++++ b/crt/arm/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .syntax unified
+
+ .section .init
+diff --git a/crt/arm/crtn.s b/crt/arm/crtn.s
+index dc020f92..7451355b 100644
+--- a/crt/arm/crtn.s
++++ b/crt/arm/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .syntax unified
+
+ .section .init
+diff --git a/crt/i386/crti.s b/crt/i386/crti.s
+index d2682a20..2823fc3b 100644
+--- a/crt/i386/crti.s
++++ b/crt/i386/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .section .init
+ .global _init
+ _init:
+diff --git a/crt/i386/crtn.s b/crt/i386/crtn.s
+index f3b61e01..04fb1646 100644
+--- a/crt/i386/crtn.s
++++ b/crt/i386/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .section .init
+ add $12,%esp
+ ret
+diff --git a/crt/microblaze/crti.s b/crt/microblaze/crti.s
+index ed1c2fa4..29ee4733 100644
+--- a/crt/microblaze/crti.s
++++ b/crt/microblaze/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .section .init
+ .global _init
+ .align 2
+diff --git a/crt/microblaze/crtn.s b/crt/microblaze/crtn.s
+index 1e02c984..c2083749 100644
+--- a/crt/microblaze/crtn.s
++++ b/crt/microblaze/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .section .init
+ lwi r15, r1, 0
+ rtsd r15, 8
+diff --git a/crt/mips/crti.s b/crt/mips/crti.s
+index 39dee380..0211764e 100644
+--- a/crt/mips/crti.s
++++ b/crt/mips/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .set noreorder
+
+ .section .init
+diff --git a/crt/mips/crtn.s b/crt/mips/crtn.s
+index 506a04b7..606490cf 100644
+--- a/crt/mips/crtn.s
++++ b/crt/mips/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .set noreorder
+
+ .section .init
+diff --git a/crt/mips64/crti.s b/crt/mips64/crti.s
+index c962dd09..f2c19cdd 100644
+--- a/crt/mips64/crti.s
++++ b/crt/mips64/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .set noreorder
+
+ .section .init
+diff --git a/crt/mips64/crtn.s b/crt/mips64/crtn.s
+index f3930b24..68903ffa 100644
+--- a/crt/mips64/crtn.s
++++ b/crt/mips64/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .set noreorder
+
+ .section .init
+diff --git a/crt/mipsn32/crti.s b/crt/mipsn32/crti.s
+index 14fa28d9..a35387d3 100644
+--- a/crt/mipsn32/crti.s
++++ b/crt/mipsn32/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .set noreorder
+ .section .init
+ .global _init
+diff --git a/crt/mipsn32/crtn.s b/crt/mipsn32/crtn.s
+index dccd7e89..bdb6e561 100644
+--- a/crt/mipsn32/crtn.s
++++ b/crt/mipsn32/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .set noreorder
+ .section .init
+ ld $gp, 16($sp)
+diff --git a/crt/or1k/crti.s b/crt/or1k/crti.s
+index 7e741459..919369ca 100644
+--- a/crt/or1k/crti.s
++++ b/crt/or1k/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .section .init
+ .global _init
+ _init:
+diff --git a/crt/or1k/crtn.s b/crt/or1k/crtn.s
+index 4185a027..d670b327 100644
+--- a/crt/or1k/crtn.s
++++ b/crt/or1k/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .section .init
+ l.lwz r9,0(r1)
+ l.jr r9
+diff --git a/crt/powerpc/crti.s b/crt/powerpc/crti.s
+index 60461ca4..b748ca48 100644
+--- a/crt/powerpc/crti.s
++++ b/crt/powerpc/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .section .init
+ .align 2
+ .global _init
+diff --git a/crt/powerpc/crtn.s b/crt/powerpc/crtn.s
+index 2d14a6f0..d989e36f 100644
+--- a/crt/powerpc/crtn.s
++++ b/crt/powerpc/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .section .init
+ .align 2
+ lwz 0,36(1)
+diff --git a/crt/powerpc64/crti.s b/crt/powerpc64/crti.s
+index 9f712f0e..d3323a67 100644
+--- a/crt/powerpc64/crti.s
++++ b/crt/powerpc64/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .section .init
+ .align 2
+ .global _init
+diff --git a/crt/powerpc64/crtn.s b/crt/powerpc64/crtn.s
+index a7a9f4a0..5e71ae66 100644
+--- a/crt/powerpc64/crtn.s
++++ b/crt/powerpc64/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .section .init
+ .align 2
+ addi 1, 1, 32
+diff --git a/crt/s390x/crti.s b/crt/s390x/crti.s
+index f453205b..3da3c5e1 100644
+--- a/crt/s390x/crti.s
++++ b/crt/s390x/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .section .init
+ .align 2
+ .global _init
+diff --git a/crt/s390x/crtn.s b/crt/s390x/crtn.s
+index 06066dc9..bfd55caf 100644
+--- a/crt/s390x/crtn.s
++++ b/crt/s390x/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .section .init
+ .align 2
+ lmg %r14, %r15, 272(%r15)
+diff --git a/crt/sh/crti.s b/crt/sh/crti.s
+index d99bfd5c..77d61c51 100644
+--- a/crt/sh/crti.s
++++ b/crt/sh/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .section .init
+ .global _init
+ .type _init, @function
+diff --git a/crt/sh/crtn.s b/crt/sh/crtn.s
+index 958ce951..29deb5be 100644
+--- a/crt/sh/crtn.s
++++ b/crt/sh/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .section .init
+ lds.l @r15+, pr
+ mov.l @r15+, r14
+diff --git a/crt/x32/crti.s b/crt/x32/crti.s
+index 4788968b..8668b7c7 100644
+--- a/crt/x32/crti.s
++++ b/crt/x32/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .section .init
+ .global _init
+ _init:
+diff --git a/crt/x32/crtn.s b/crt/x32/crtn.s
+index 29198b77..ef73d295 100644
+--- a/crt/x32/crtn.s
++++ b/crt/x32/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .section .init
+ pop %rax
+ ret
+diff --git a/crt/x86_64/crti.s b/crt/x86_64/crti.s
+index 4788968b..8668b7c7 100644
+--- a/crt/x86_64/crti.s
++++ b/crt/x86_64/crti.s
+@@ -1,3 +1,4 @@
++.file "crti.s"
+ .section .init
+ .global _init
+ _init:
+diff --git a/crt/x86_64/crtn.s b/crt/x86_64/crtn.s
+index 29198b77..ef73d295 100644
+--- a/crt/x86_64/crtn.s
++++ b/crt/x86_64/crtn.s
+@@ -1,3 +1,4 @@
++.file "crtn.s"
+ .section .init
+ pop %rax
+ ret
+--
+2.29.1
+
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index 9c0818c..23c2072 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,7 +4,7 @@
require musl.inc
inherit linuxloader
-SRCREV = "a5aff1972c9e3981566414b09a28e331ccd2be5d"
+SRCREV = "d91a6cf6e369a79587c5665fce9635e5634ca201"
BASEVER = "1.2.1"
@@ -15,6 +15,7 @@
SRC_URI = "git://git.musl-libc.org/musl \
file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
+ file://0001-crt-Add-.file-directive.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/netbase/netbase_6.1.bb b/poky/meta/recipes-core/netbase/netbase_6.1.bb
index bc0049c..33eca45 100644
--- a/poky/meta/recipes-core/netbase/netbase_6.1.bb
+++ b/poky/meta/recipes-core/netbase/netbase_6.1.bb
@@ -6,13 +6,15 @@
LIC_FILES_CHKSUM = "file://debian/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
PE = "1"
-SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.tar.xz"
+SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}~bpo10+1.tar.xz"
+S = "${WORKDIR}/${BPN}-${PV}~bpo10+1"
-SRC_URI[md5sum] = "e5871a3a5c8390557b8033cf19316a55"
-SRC_URI[sha256sum] = "084d743bd84d4d9380bac4c71c51e57406dce44f5a69289bb823c903e9b035d8"
+SRC_URI[md5sum] = "4fa7517285b4045ac0dc8dbf6730dd7a"
+SRC_URI[sha256sum] = "4e9c3082dff8896cb6b6bea9bb2200d82fb0d7c8d8c8fc9b18704fe553316237"
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netbase/"
do_install () {
+
install -d ${D}/${mandir}/man8 ${D}${sysconfdir}
install -m 0644 ${S}/etc/rpc ${D}${sysconfdir}/rpc
install -m 0644 ${S}/etc/protocols ${D}${sysconfdir}/protocols
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch
index 6ecb23b..c32963a 100644
--- a/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch
+++ b/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch
@@ -1,7 +1,7 @@
-From 0a8362cfb9f00870d70687475665b131dd82c947 Mon Sep 17 00:00:00 2001
+From 200ff35c6545b4ab85f5ea7a6096fbaec3d82f6d Mon Sep 17 00:00:00 2001
From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Date: Thu, 9 Jun 2016 02:23:01 -0700
-Subject: [PATCH 1/5] ovmf: update path to native BaseTools
+Subject: [PATCH 1/4] ovmf: update path to native BaseTools
BaseTools is a set of utilities to build EDK-based firmware. These utilities
are used during the build process. Thus, they need to be built natively.
@@ -30,5 +30,5 @@
source edksetup.sh BaseTools
else
--
-2.17.1
+2.28.0
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch b/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch
index f37ed01..c61a08f 100644
--- a/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch
+++ b/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch
@@ -1,7 +1,7 @@
-From a8bceaec1b16fffbf6810df05503d8ae9092b735 Mon Sep 17 00:00:00 2001
+From 667c0cf97dadc4f5994d26ec3984f559a05ec406 Mon Sep 17 00:00:00 2001
From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Date: Fri, 26 Jul 2019 17:34:26 -0400
-Subject: [PATCH 2/5] BaseTools: makefile: adjust to build in under bitbake
+Subject: [PATCH 2/4] BaseTools: makefile: adjust to build in under bitbake
Prepend the build flags with those of bitbake. This is to build
using the bitbake native sysroot include and library directories.
@@ -10,14 +10,14 @@
Upstream-Status: Pending
---
- BaseTools/Source/C/Makefiles/header.makefile | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
+ BaseTools/Source/C/Makefiles/header.makefile | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
-index 4e9b36d98b..eb03ee33fa 100644
+index 1c105ee7d4..d5eea3864e 100644
--- a/BaseTools/Source/C/Makefiles/header.makefile
+++ b/BaseTools/Source/C/Makefiles/header.makefile
-@@ -62,23 +62,23 @@ $(error Bad HOST_ARCH)
+@@ -69,35 +69,36 @@ $(error Bad HOST_ARCH)
endif
INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE)
@@ -33,19 +33,35 @@
+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror \
-Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -g
else
+ ifeq ($(CXX), llvm)
+-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
++BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
+ -fno-delete-null-pointer-checks -Wall -Werror \
+ -Wno-deprecated-declarations -Wno-self-assign \
+ -Wno-unused-result -nostdlib -g
+ else
-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
-fno-delete-null-pointer-checks -Wall -Werror \
-Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict \
-Wno-unused-result -nostdlib -g
endif
+ endif
+ ifeq ($(CXX), llvm)
+-BUILD_LFLAGS =
+-BUILD_CXXFLAGS = -Wno-deprecated-register -Wno-unused-result
++BUILD_LFLAGS = $(LDFLAGS)
++BUILD_CXXFLAGS += -Wno-deprecated-register -Wno-unused-result
+ else
-BUILD_LFLAGS =
-BUILD_CXXFLAGS = -Wno-unused-result
+BUILD_LFLAGS = $(LDFLAGS)
+BUILD_CXXFLAGS += -Wno-unused-result
-
+ endif
++
ifeq ($(HOST_ARCH), IA32)
#
+ # Snow Leopard is a 32-bit and 64-bit environment. uname -m returns i386, but gcc defaults
--
-2.17.1
+2.28.0
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch b/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch
index ab1e7db..df1d159 100644
--- a/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch
+++ b/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-enable-long-path-file.patch
@@ -1,7 +1,7 @@
-From 60a5f953f747e1e9e05a40157b651cba8ea57b91 Mon Sep 17 00:00:00 2001
+From e19481e5a64f8915ac118899b10c40d12c0f9daa Mon Sep 17 00:00:00 2001
From: Dengke Du <dengke.du@windriver.com>
Date: Mon, 11 Sep 2017 02:21:55 -0400
-Subject: [PATCH 3/5] ovmf: enable long path file
+Subject: [PATCH 3/4] ovmf: enable long path file
Upstream-Status: Pending
Signed-off-by: Dengke Du <dengke.du@windriver.com>
@@ -24,5 +24,5 @@
#define MAX_UINT64 ((UINT64)0xFFFFFFFFFFFFFFFFULL)
#define MAX_UINT32 ((UINT32)0xFFFFFFFF)
--
-2.17.1
+2.28.0
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-Update-to-latest.patch b/poky/meta/recipes-core/ovmf/ovmf/0004-ovmf-Update-to-latest.patch
similarity index 78%
rename from poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-Update-to-latest.patch
rename to poky/meta/recipes-core/ovmf/ovmf/0004-ovmf-Update-to-latest.patch
index 1d4273c..128438b 100644
--- a/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-Update-to-latest.patch
+++ b/poky/meta/recipes-core/ovmf/ovmf/0004-ovmf-Update-to-latest.patch
@@ -1,7 +1,7 @@
-From 640a634936ba8eca4778470fb14c6eb9cfd19953 Mon Sep 17 00:00:00 2001
+From ad06fcf1e08736e79221cd6863ff2e3c9254f261 Mon Sep 17 00:00:00 2001
From: Steve Langasek <steve.langasek@ubuntu.com>
Date: Sat, 10 Jun 2017 01:39:36 -0700
-Subject: [PATCH 1/2] ovmf: Update to latest
+Subject: [PATCH 4/4] ovmf: Update to latest
Description: pass -fno-stack-protector to all GCC toolchains
The upstream build rules inexplicably pass -fno-stack-protector only
@@ -15,15 +15,15 @@
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
-index 2b17d3b297..4cd2567c2a 100755
+index 933b3160fd..c2fbbf0c38 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
-@@ -1950,10 +1950,10 @@ DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64
+@@ -1952,10 +1952,10 @@ DEFINE GCC_RISCV64_RC_FLAGS = -I binary -O elf64-littleriscv -B riscv
# GCC Build Flag for included header file list generation
DEFINE GCC_DEPS_FLAGS = -MMD -MF $@.deps
--DEFINE GCC48_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
-+DEFINE GCC48_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -fno-stack-protector -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
+-DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
++DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -fno-stack-protector -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
-DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
-DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
@@ -32,7 +32,7 @@
DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
-@@ -1962,7 +1962,7 @@ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF
+@@ -1964,7 +1964,7 @@ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF
DEFINE GCC48_ASM_FLAGS = DEF(GCC_ASM_FLAGS)
DEFINE GCC48_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
DEFINE GCC48_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
@@ -42,5 +42,5 @@
DEFINE GCC48_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS)
DEFINE GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
--
-2.24.0
+2.28.0
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index 8454763..04c4449 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -16,11 +16,11 @@
file://0001-ovmf-update-path-to-native-BaseTools.patch \
file://0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \
file://0003-ovmf-enable-long-path-file.patch \
- file://0001-ovmf-Update-to-latest.patch \
+ file://0004-ovmf-Update-to-latest.patch \
"
-PV = "edk2-stable202005"
-SRCREV = "ca407c7246bf405da6d9b1b9d93e5e7f17b4b1f9"
+PV = "edk2-stable202008"
+SRCREV = "06dc822d045c2bb42e497487935485302486e151"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>edk2-stable.*)"
inherit deploy
diff --git a/poky/meta/recipes-core/readline/readline.inc b/poky/meta/recipes-core/readline/readline.inc
index 052e2d5..039ffde 100644
--- a/poky/meta/recipes-core/readline/readline.inc
+++ b/poky/meta/recipes-core/readline/readline.inc
@@ -4,7 +4,7 @@
additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those \
lines, and perform csh-like history expansion on previous commands."
SECTION = "libs"
-HOMEPAGE = "https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html"
+HOMEPAGE = "https://tiswww.case.edu/php/chet/readline/rltop.html"
# GPLv2+ (< 6.0), GPLv3+ (>= 6.0)
LICENSE = "GPLv3+"
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_246.2.bb b/poky/meta/recipes-core/systemd/systemd-boot_246.6.bb
similarity index 100%
rename from poky/meta/recipes-core/systemd/systemd-boot_246.2.bb
rename to poky/meta/recipes-core/systemd/systemd-boot_246.6.bb
diff --git a/poky/meta/recipes-core/systemd/systemd-serialgetty.bb b/poky/meta/recipes-core/systemd/systemd-serialgetty.bb
index 0cc0dc8..d142b30 100644
--- a/poky/meta/recipes-core/systemd/systemd-serialgetty.bb
+++ b/poky/meta/recipes-core/systemd/systemd-serialgetty.bb
@@ -6,6 +6,7 @@
PR = "r5"
SERIAL_CONSOLES ?= "115200;ttyS0"
+SERIAL_TERM ?= "linux"
SRC_URI = "file://serial-getty@.service"
@@ -22,6 +23,7 @@
install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/
install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_unitdir}/system/
sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_unitdir}/system/serial-getty@.service
+ sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_unitdir}/system/serial-getty@.service
tmp="${SERIAL_CONSOLES}"
for entry in $tmp ; do
diff --git a/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service b/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service
index 549d566..b16fe11 100644
--- a/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service
+++ b/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service
@@ -29,7 +29,7 @@
Before=rescue.service
[Service]
-Environment="TERM=xterm"
+Environment="TERM=@TERM@"
ExecStart=-/sbin/agetty -8 -L %I @BAUDRATE@ $TERM
Type=idle
Restart=always
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch b/poky/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
new file mode 100644
index 0000000..89ef39b
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
@@ -0,0 +1,227 @@
+From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00:00:00 2001
+From: Joshua Watt <JPEWhacker@gmail.com>
+Date: Fri, 30 Oct 2020 08:15:43 -0500
+Subject: [PATCH] logind: Restore chvt as non-root user without polkit
+
+4acf0cfd2f ("logind: check PolicyKit before allowing VT switch") broke
+the ability to write user sessions that run graphical sessions (e.g.
+weston/X11). This was partially amended in 19bb87fbfa ("login: allow
+non-console sessions to change vt") by changing the default PolicyKit
+policy so that non-root users are again allowed to switch the VT. This
+makes the policy when PolKit is not enabled (as on many embedded
+systems) match the default PolKit policy and allows launching graphical
+sessions as a non-root user.
+
+Closes #17473
+---
+ src/login/logind-dbus.c | 11 ++-------
+ src/login/logind-polkit.c | 26 +++++++++++++++++++++
+ src/login/logind-polkit.h | 10 ++++++++
+ src/login/logind-seat-dbus.c | 41 ++++-----------------------------
+ src/login/logind-session-dbus.c | 11 ++-------
+ src/login/meson.build | 1 +
+ 6 files changed, 46 insertions(+), 54 deletions(-)
+ create mode 100644 src/login/logind-polkit.c
+ create mode 100644 src/login/logind-polkit.h
+
+diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
+index 0f83ed99bc..a3765d88ba 100644
+--- a/src/login/logind-dbus.c
++++ b/src/login/logind-dbus.c
+@@ -30,6 +30,7 @@
+ #include "format-util.h"
+ #include "fs-util.h"
+ #include "logind-dbus.h"
++#include "logind-polkit.h"
+ #include "logind-seat-dbus.h"
+ #include "logind-session-dbus.h"
+ #include "logind-user-dbus.h"
+@@ -1047,15 +1048,7 @@ static int method_activate_session_on_seat(sd_bus_message *message, void *userda
+ return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT,
+ "Session %s not on seat %s", session_name, seat_name);
+
+- r = bus_verify_polkit_async(
+- message,
+- CAP_SYS_ADMIN,
+- "org.freedesktop.login1.chvt",
+- NULL,
+- false,
+- UID_INVALID,
+- &m->polkit_registry,
+- error);
++ r = check_polkit_chvt(message, m, error);
+ if (r < 0)
+ return r;
+ if (r == 0)
+diff --git a/src/login/logind-polkit.c b/src/login/logind-polkit.c
+new file mode 100644
+index 0000000000..9072570cc6
+--- /dev/null
++++ b/src/login/logind-polkit.c
+@@ -0,0 +1,26 @@
++/* SPDX-License-Identifier: LGPL-2.1+ */
++
++#include "bus-polkit.h"
++#include "logind-polkit.h"
++#include "missing_capability.h"
++#include "user-util.h"
++
++int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error) {
++#if ENABLE_POLKIT
++ return bus_verify_polkit_async(
++ message,
++ CAP_SYS_ADMIN,
++ "org.freedesktop.login1.chvt",
++ NULL,
++ false,
++ UID_INVALID,
++ &manager->polkit_registry,
++ error);
++#else
++ /* Allow chvt when polkit is not present. This allows a service to start a graphical session as a
++ * non-root user when polkit is not compiled in, matching the default polkit policy */
++ return 1;
++#endif
++}
++
++
+diff --git a/src/login/logind-polkit.h b/src/login/logind-polkit.h
+new file mode 100644
+index 0000000000..476c077a8a
+--- /dev/null
++++ b/src/login/logind-polkit.h
+@@ -0,0 +1,10 @@
++/* SPDX-License-Identifier: LGPL-2.1+ */
++#pragma once
++
++#include "sd-bus.h"
++
++#include "bus-object.h"
++#include "logind.h"
++
++int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error);
++
+diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c
+index a945132284..f22e9e2734 100644
+--- a/src/login/logind-seat-dbus.c
++++ b/src/login/logind-seat-dbus.c
+@@ -9,6 +9,7 @@
+ #include "bus-polkit.h"
+ #include "bus-util.h"
+ #include "logind-dbus.h"
++#include "logind-polkit.h"
+ #include "logind-seat-dbus.h"
+ #include "logind-seat.h"
+ #include "logind-session-dbus.h"
+@@ -179,15 +180,7 @@ static int method_activate_session(sd_bus_message *message, void *userdata, sd_b
+ if (session->seat != s)
+ return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id);
+
+- r = bus_verify_polkit_async(
+- message,
+- CAP_SYS_ADMIN,
+- "org.freedesktop.login1.chvt",
+- NULL,
+- false,
+- UID_INVALID,
+- &s->manager->polkit_registry,
+- error);
++ r = check_polkit_chvt(message, s->manager, error);
+ if (r < 0)
+ return r;
+ if (r == 0)
+@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message *message, void *userdata, sd_bus_erro
+ if (to <= 0)
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal");
+
+- r = bus_verify_polkit_async(
+- message,
+- CAP_SYS_ADMIN,
+- "org.freedesktop.login1.chvt",
+- NULL,
+- false,
+- UID_INVALID,
+- &s->manager->polkit_registry,
+- error);
++ r = check_polkit_chvt(message, s->manager, error);
+ if (r < 0)
+ return r;
+ if (r == 0)
+@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message *message, void *userdata, sd_bus
+ assert(message);
+ assert(s);
+
+- r = bus_verify_polkit_async(
+- message,
+- CAP_SYS_ADMIN,
+- "org.freedesktop.login1.chvt",
+- NULL,
+- false,
+- UID_INVALID,
+- &s->manager->polkit_registry,
+- error);
++ r = check_polkit_chvt(message, s->manager, error);
+ if (r < 0)
+ return r;
+ if (r == 0)
+@@ -271,15 +248,7 @@ static int method_switch_to_previous(sd_bus_message *message, void *userdata, sd
+ assert(message);
+ assert(s);
+
+- r = bus_verify_polkit_async(
+- message,
+- CAP_SYS_ADMIN,
+- "org.freedesktop.login1.chvt",
+- NULL,
+- false,
+- UID_INVALID,
+- &s->manager->polkit_registry,
+- error);
++ r = check_polkit_chvt(message, s->manager, error);
+ if (r < 0)
+ return r;
+ if (r == 0)
+diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c
+index ccc5ac8df2..57c8a4e900 100644
+--- a/src/login/logind-session-dbus.c
++++ b/src/login/logind-session-dbus.c
+@@ -11,6 +11,7 @@
+ #include "fd-util.h"
+ #include "logind-brightness.h"
+ #include "logind-dbus.h"
++#include "logind-polkit.h"
+ #include "logind-seat-dbus.h"
+ #include "logind-session-dbus.h"
+ #include "logind-session-device.h"
+@@ -192,15 +193,7 @@ int bus_session_method_activate(sd_bus_message *message, void *userdata, sd_bus_
+ assert(message);
+ assert(s);
+
+- r = bus_verify_polkit_async(
+- message,
+- CAP_SYS_ADMIN,
+- "org.freedesktop.login1.chvt",
+- NULL,
+- false,
+- UID_INVALID,
+- &s->manager->polkit_registry,
+- error);
++ r = check_polkit_chvt(message, s->manager, error);
+ if (r < 0)
+ return r;
+ if (r == 0)
+diff --git a/src/login/meson.build b/src/login/meson.build
+index 0a7d3d5440..7e46be2add 100644
+--- a/src/login/meson.build
++++ b/src/login/meson.build
+@@ -26,6 +26,7 @@ liblogind_core_sources = files('''
+ logind-device.h
+ logind-inhibit.c
+ logind-inhibit.h
++ logind-polkit.c
+ logind-seat-dbus.c
+ logind-seat-dbus.h
+ logind-seat.c
+--
+2.28.0
+
diff --git a/poky/meta/recipes-core/systemd/systemd/selinux-hook-handling-to-enumerate-nexthop.patch b/poky/meta/recipes-core/systemd/systemd/selinux-hook-handling-to-enumerate-nexthop.patch
new file mode 100644
index 0000000..b1c92ed
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/selinux-hook-handling-to-enumerate-nexthop.patch
@@ -0,0 +1,46 @@
+From 92b555aaabf710e0a672a7244e8c0e3963075133 Mon Sep 17 00:00:00 2001
+From: Purushottam choudhary <purushottam.choudhary@kpit.com>
+Date: Wed, 28 Oct 2020 22:11:49 +0530
+Subject: [PATCH] network: selinux hook handling to enumerate nexthop
+
+When selinux is enabled, the call of
+manager_rtnl_enumerate_nexthop() fails.
+
+This fix is to facilitate selinux hook handling for enumerating
+nexthop.
+
+In manager_rtnl_enumerate_nexthop() there is a check
+if "Not supported" is returned by the send_netlink() call.
+
+This check expects that -EOPNOTSUPP is returned,
+the selinux hook seems to return -EINVAL instead.
+
+This happens in kernel older than 5.3
+(more specificallytorvalds/linux@65ee00a) as it does not support
+nexthop handling through netlink.
+
+And if SELinux is enforced in the order kernel, callingRTM_GETNEXTHOP
+returns -EINVAL.
+
+Thus adding a call in the manager_rtnl_enumerate_nexthop for the
+extra return -EINVAL.
+
+Upstream-Status: Backport
+https://github.com/systemd/systemd/commit/92b555aaabf710e0a672a7244e8c0e3963075133
+---
+ src/network/networkd-manager.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c
+index a6c1a39..2a9be85 100644
+--- a/src/network/networkd-manager.c
++++ b/src/network/networkd-manager.c
+@@ -2121,7 +2121,7 @@ int manager_rtnl_enumerate_nexthop(Manager *m) {
+
+ r = sd_netlink_call(m->rtnl, req, 0, &reply);
+ if (r < 0) {
+- if (r == -EOPNOTSUPP) {
++ if (r == -EOPNOTSUPP || r == -EINVAL) {
+ log_debug("Nexthop are not supported by the kernel. Ignoring.");
+ return 0;
+ }
diff --git a/poky/meta/recipes-core/systemd/systemd/systemd-pager.sh b/poky/meta/recipes-core/systemd/systemd/systemd-pager.sh
new file mode 100644
index 0000000..86e3e0a
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/systemd-pager.sh
@@ -0,0 +1,7 @@
+# Systemd expect a color capable pager, however the less provided
+# by busybox is not. This make many interaction with systemd pretty
+# annoying. As a workaround we disable the systemd pager if less
+# is not the GNU version.
+if ! less -V > /dev/null 2>&1 ; then
+ export SYSTEMD_PAGER=
+fi
diff --git a/poky/meta/recipes-core/systemd/systemd_246.6.bb b/poky/meta/recipes-core/systemd/systemd_246.6.bb
index 9215adf..d9e7b1a 100644
--- a/poky/meta/recipes-core/systemd/systemd_246.6.bb
+++ b/poky/meta/recipes-core/systemd/systemd_246.6.bb
@@ -18,9 +18,12 @@
file://00-create-volatile.conf \
file://init \
file://99-default.preset \
+ file://systemd-pager.sh \
file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0003-implment-systemd-sysv-install-for-OE.patch \
file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
+ file://selinux-hook-handling-to-enumerate-nexthop.patch \
+ file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \
"
# patches needed by musl
@@ -305,6 +308,9 @@
# install default policy for presets
# https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
+
+ # add a profile fragment to disable systemd pager with busybox less
+ install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh
}
python populate_packages_prepend (){
@@ -538,6 +544,7 @@
${sysconfdir}/dbus-1/ \
${sysconfdir}/modules-load.d/ \
${sysconfdir}/pam.d/ \
+ ${sysconfdir}/profile.d/ \
${sysconfdir}/sysctl.d/ \
${sysconfdir}/systemd/ \
${sysconfdir}/tmpfiles.d/ \
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit/rc b/poky/meta/recipes-core/sysvinit/sysvinit/rc
index fd1fdd2..d0d3149 100755
--- a/poky/meta/recipes-core/sysvinit/sysvinit/rc
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/rc
@@ -63,7 +63,7 @@
stty onlcr 0>&1
# Limit stack size for startup scripts
- [ "$STACK_SIZE" == "" ] || ulimit -S -s $STACK_SIZE
+ [ "$STACK_SIZE" = "" ] || ulimit -S -s $STACK_SIZE
# Now find out what the current and what the previous runlevel are.
diff --git a/poky/meta/recipes-core/udev/eudev/init b/poky/meta/recipes-core/udev/eudev/init
index 0455ade..c60dbbf 100644
--- a/poky/meta/recipes-core/udev/eudev/init
+++ b/poky/meta/recipes-core/udev/eudev/init
@@ -52,7 +52,7 @@
kill_udevd > "/dev/null" 2>&1
# trigger the sorted events
- [ -e /proc/sys/kernel/hotplug ] && echo -e '\000' >/proc/sys/kernel/hotplug
+ [ -e /proc/sys/kernel/hotplug ] && printf '\0\n' >/proc/sys/kernel/hotplug
@UDEVD@ -d
udevadm control --env=STARTUP=1
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.36.bb b/poky/meta/recipes-core/util-linux/util-linux_2.36.bb
index 2ad00ff..474f1e1 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.36.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.36.bb
@@ -1,5 +1,5 @@
SUMMARY = "A suite of basic system administration utilities"
-HOMEPAGE = "http://userweb.kernel.org/~kzak/util-linux/"
+HOMEPAGE = "https://en.wikipedia.org/wiki/Util-linux"
DESCRIPTION = "Util-linux includes a suite of basic system administration utilities \
commonly found on most Linux systems. Some of the more important utilities include \
disk partitioning, kernel message management, filesystem creation, and system login."
@@ -129,7 +129,7 @@
#
PACKAGECONFIG ?= "pcre2"
PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
-# inherit manpages requires this to be present, however util-linux does not have
+# inherit manpages requires this to be present, however util-linux does not have
# configuration options, and installs manpages always
PACKAGECONFIG[manpages] = ""
PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam,"
diff --git a/poky/meta/recipes-core/volatile-binds/volatile-binds.bb b/poky/meta/recipes-core/volatile-binds/volatile-binds.bb
index b273293..3c8b182 100644
--- a/poky/meta/recipes-core/volatile-binds/volatile-binds.bb
+++ b/poky/meta/recipes-core/volatile-binds/volatile-binds.bb
@@ -35,7 +35,7 @@
SYSTEMD_SERVICE_${PN} = "${@volatile_systemd_services(d)}"
-FILES_${PN} += "${systemd_unitdir}/system/*.service"
+FILES_${PN} += "${systemd_unitdir}/system/*.service ${servicedir}"
do_compile () {
while read spec mountpoint; do
@@ -64,6 +64,7 @@
do_install () {
install -d ${D}${base_sbindir}
+ install -d ${D}${servicedir}
install -m 0755 mount-copybind ${D}${base_sbindir}/
install -d ${D}${systemd_unitdir}/system
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch
index 2322bd8..81b328a 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch
@@ -1,4 +1,4 @@
-From 1ad21140787a6b8b0f774f75b50444d2c30a56f6 Mon Sep 17 00:00:00 2001
+From 96d23fc57d1ff9c851d563d6d6a6c4752dc4f1b6 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 21 May 2020 20:28:12 +0000
Subject: [PATCH] Do not configure packages on installation
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
index d3d3ab0..1417153 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
@@ -1,4 +1,4 @@
-From b18d7aa7d71b53b86bac21cd1d8c3accabb28f2b Mon Sep 17 00:00:00 2001
+From bf45c314867e5fb12141803fba06f3e45679d628 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 10 May 2019 16:47:38 +0200
Subject: [PATCH] Do not init tables from dpkg configuration
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
index 8c4cc04..37f9696 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
@@ -1,4 +1,4 @@
-From 742fbb243f99e940c3e6b31296f7f416f550a57a Mon Sep 17 00:00:00 2001
+From 34700bebc52659e7e3eecd252f65bd36e669eee8 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 21 May 2020 20:13:25 +0000
Subject: [PATCH] Revert "always run 'dpkg --configure -a' at the end of our
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-test-libapt-do-not-use-gtest-from-the-host.patch b/poky/meta/recipes-devtools/apt/apt/0001-test-libapt-do-not-use-gtest-from-the-host.patch
new file mode 100644
index 0000000..503b5a5
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-test-libapt-do-not-use-gtest-from-the-host.patch
@@ -0,0 +1,40 @@
+From 28e389a0d1275e7693df84a7d4a58b28364be1a9 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 22 Oct 2020 17:33:38 +0200
+Subject: [PATCH] test/libapt: do not use gtest from the host
+
+This really does not work when cross-compiling.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ test/libapt/CMakeLists.txt | 16 ----------------
+ 1 file changed, 16 deletions(-)
+
+diff --git a/test/libapt/CMakeLists.txt b/test/libapt/CMakeLists.txt
+index 035ff07..280b83c 100644
+--- a/test/libapt/CMakeLists.txt
++++ b/test/libapt/CMakeLists.txt
+@@ -6,22 +6,6 @@ find_path(GTEST_ROOT src/gtest.cc
+ find_package(GTest)
+ set(GTEST_DEPENDENCIES)
+
+-if(NOT GTEST_FOUND AND EXISTS ${GTEST_ROOT})
+- include(ExternalProject)
+- ExternalProject_Add(gtest PREFIX ./gtest
+- SOURCE_DIR ${GTEST_ROOT}
+- INSTALL_COMMAND true)
+-
+- link_directories(${CMAKE_CURRENT_BINARY_DIR}/gtest/src/gtest-build)
+-
+- set(GTEST_LIBRARIES "-lgtest")
+- set(GTEST_DEPENDENCIES "gtest")
+- set(GTEST_FOUND TRUE)
+- find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS ${GTEST_ROOT}/include)
+-
+- message(STATUS "Found GTest at ${GTEST_ROOT}, headers at ${GTEST_INCLUDE_DIRS}")
+-endif()
+-
+ if(GTEST_FOUND)
+ # gtest produces some warnings with the set of warnings we activate,
+ # so disable the offending warnings while compiling tests for now
diff --git a/poky/meta/recipes-devtools/apt/apt_1.8.2.1.bb b/poky/meta/recipes-devtools/apt/apt_1.8.2.1.bb
index bd1f4f3..de0e150 100644
--- a/poky/meta/recipes-devtools/apt/apt_1.8.2.1.bb
+++ b/poky/meta/recipes-devtools/apt/apt_1.8.2.1.bb
@@ -8,6 +8,7 @@
file://0001-Disable-documentation-directory-altogether.patch \
file://0001-Fix-musl-build.patch \
file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
+ file://0001-test-libapt-do-not-use-gtest-from-the-host.patch \
"
SRC_URI_append_class-native = " \
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.35.inc b/poky/meta/recipes-devtools/binutils/binutils-2.35.inc
index 5ae9ec4..aa02063 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.35.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.35.inc
@@ -41,5 +41,7 @@
file://0014-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
file://0015-sync-with-OE-libtool-changes.patch \
file://0016-Check-for-clang-before-checking-gcc-version.patch \
+ file://0017-gas-improve-reproducibility-for-stabs-debugging-data.patch \
+ file://0001-aarch64-Return-an-error-on-conditional-branch-to-an-.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0001-aarch64-Return-an-error-on-conditional-branch-to-an-.patch b/poky/meta/recipes-devtools/binutils/binutils/0001-aarch64-Return-an-error-on-conditional-branch-to-an-.patch
new file mode 100644
index 0000000..f46ddab
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0001-aarch64-Return-an-error-on-conditional-branch-to-an-.patch
@@ -0,0 +1,135 @@
+From c7cd291722779c9d4703ed0010388fe394c644c8 Mon Sep 17 00:00:00 2001
+From: Siddhesh Poyarekar <siddesh.poyarekar@arm.com>
+Date: Tue, 1 Sep 2020 14:25:52 +0530
+Subject: [PATCH] aarch64: Return an error on conditional branch to an undefined symbol
+
+The fix in 7e05773767820b441b23a16628b55c98cb1aef46 introduced a PLT
+for conditional jumps when the target symbol is undefined. This is
+incorrect because conditional branch relocations are not allowed to
+clobber IP0/IP1 and hence, should not result in a dynamic relocation.
+
+Revert that change and in its place, issue an error when the target
+symbol is undefined.
+
+bfd/
+
+ 2020-09-10 Siddhesh Poyarekar <siddesh.poyarekar@arm.com>
+
+ * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Revert
+ changes in 7e05773767820b441b23a16628b55c98cb1aef46. Set
+ error for undefined symbol in BFD_RELOC_AARCH64_BRANCH19 and
+ BFD_RELOC_AARCH64_TSTBR14 relocations.
+
+ld/
+
+ 2020-09-10 Siddhesh Poyarekar <siddesh.poyarekar@arm.com>
+
+ * testsuite/ld-aarch64/emit-relocs-560.d: Expect error instead
+ of valid output.
+---
+Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c7cd291722779c9d4703ed0010388fe394c644c8]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ bfd/ChangeLog | 7 +++++
+ bfd/elfnn-aarch64.c | 37 ++++++++++++-----------
+ ld/ChangeLog | 5 +++
+ ld/testsuite/ld-aarch64/emit-relocs-560.d | 7 +----
+ 4 files changed, 32 insertions(+), 24 deletions(-)
+
+diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
+index 5b4c189b593..a9924e7ec56 100644
+--- a/bfd/elfnn-aarch64.c
++++ b/bfd/elfnn-aarch64.c
+@@ -5447,7 +5447,6 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
+ bfd_vma orig_value = value;
+ bfd_boolean resolved_to_zero;
+ bfd_boolean abs_symbol_p;
+- bfd_boolean via_plt_p;
+
+ globals = elf_aarch64_hash_table (info);
+
+@@ -5469,8 +5468,6 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
+ : bfd_is_und_section (sym_sec));
+ abs_symbol_p = h != NULL && bfd_is_abs_symbol (&h->root);
+
+- via_plt_p = (globals->root.splt != NULL && h != NULL
+- && h->plt.offset != (bfd_vma) - 1);
+
+ /* Since STT_GNU_IFUNC symbol must go through PLT, we handle
+ it here if it is defined in a non-shared object. */
+@@ -5806,23 +5803,12 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
+ value += signed_addend;
+ break;
+
+- case BFD_RELOC_AARCH64_BRANCH19:
+- case BFD_RELOC_AARCH64_TSTBR14:
+- /* A conditional branch to an undefined weak symbol is converted to a
+- branch to itself. */
+- if (weak_undef_p && !via_plt_p)
+- {
+- value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type,
+- place, value,
+- signed_addend,
+- weak_undef_p);
+- break;
+- }
+- /* Fall through. */
+ case BFD_RELOC_AARCH64_CALL26:
+ case BFD_RELOC_AARCH64_JUMP26:
+ {
+ asection *splt = globals->root.splt;
++ bfd_boolean via_plt_p =
++ splt != NULL && h != NULL && h->plt.offset != (bfd_vma) - 1;
+
+ /* A call to an undefined weak symbol is converted to a jump to
+ the next instruction unless a PLT entry will be created.
+@@ -5903,6 +5889,23 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
+ bfd_set_error (bfd_error_bad_value);
+ return bfd_reloc_notsupported;
+ }
++ value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type,
++ place, value,
++ signed_addend,
++ weak_undef_p);
++ break;
++
++ case BFD_RELOC_AARCH64_BRANCH19:
++ case BFD_RELOC_AARCH64_TSTBR14:
++ if (h && h->root.type == bfd_link_hash_undefined)
++ {
++ _bfd_error_handler
++ /* xgettext:c-format */
++ (_("%pB: conditional branch to undefined symbol `%s' "
++ "not allowed"), input_bfd, h->root.root.string);
++ bfd_set_error (bfd_error_bad_value);
++ return bfd_reloc_notsupported;
++ }
+ /* Fall through. */
+
+ case BFD_RELOC_AARCH64_16:
+@@ -7968,8 +7971,6 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
+ break;
+ }
+
+- case BFD_RELOC_AARCH64_BRANCH19:
+- case BFD_RELOC_AARCH64_TSTBR14:
+ case BFD_RELOC_AARCH64_CALL26:
+ case BFD_RELOC_AARCH64_JUMP26:
+ /* If this is a local symbol then we resolve it
+diff --git a/ld/testsuite/ld-aarch64/emit-relocs-560.d b/ld/testsuite/ld-aarch64/emit-relocs-560.d
+index 153532457b4..8751b743bd4 100644
+--- a/ld/testsuite/ld-aarch64/emit-relocs-560.d
++++ b/ld/testsuite/ld-aarch64/emit-relocs-560.d
+@@ -1,8 +1,3 @@
+ #source: emit-relocs-560.s
+ #ld: -shared
+-#readelf: -r
+-
+-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 2 entries:
+- Offset Info Type Sym. Value Sym. Name \+ Addend
+-[0-9a-f]+ 000100000402 R_AARCH64_JUMP_SL 0000000000000000 baz \+ 0
+-[0-9a-f]+ 000200000402 R_AARCH64_JUMP_SL 0000000000000000 bar \+ 0
++#error: .*: conditional branch to undefined symbol `bar' not allowed
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0017-gas-improve-reproducibility-for-stabs-debugging-data.patch b/poky/meta/recipes-devtools/binutils/binutils/0017-gas-improve-reproducibility-for-stabs-debugging-data.patch
new file mode 100644
index 0000000..42e0c1c
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0017-gas-improve-reproducibility-for-stabs-debugging-data.patch
@@ -0,0 +1,35 @@
+From aa6586e80fc6fcd739aa959a71e4cf064cdef072 Mon Sep 17 00:00:00 2001
+From: Denys Zagorui <dzagorui@cisco.com>
+Date: Mon, 9 Nov 2020 15:39:10 +0000
+Subject: [PATCH] gas: improve reproducibility for stabs debugging data format
+
+ * config/obj-elf (obj_elf_init_stab_section): Improve
+ reproducibility for stabs debugging data format
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0541201782c006c09d029d18a45c6e743cfea906]
+---
+ gas/config/obj-elf.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
+index de22b5a1da..2025df8542 100644
+--- a/gas/config/obj-elf.c
++++ b/gas/config/obj-elf.c
+@@ -2374,12 +2374,13 @@ obj_elf_init_stab_section (segT seg)
+ p = frag_more (12);
+ /* Zero it out. */
+ memset (p, 0, 12);
+- file = as_where (NULL);
++ file = remap_debug_filename (as_where (NULL));
+ stabstr_name = concat (segment_name (seg), "str", (char *) NULL);
+ stroff = get_stab_string_offset (file, stabstr_name, TRUE);
+ know (stroff == 1 || (stroff == 0 && file[0] == '\0'));
+ md_number_to_chars (p, stroff, 4);
+ seg_info (seg)->stabu.p = p;
++ xfree ((char *) file);
+ }
+
+ #endif
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/bison/bison_3.7.2.bb b/poky/meta/recipes-devtools/bison/bison_3.7.3.bb
similarity index 93%
rename from poky/meta/recipes-devtools/bison/bison_3.7.2.bb
rename to poky/meta/recipes-devtools/bison/bison_3.7.3.bb
index ace4ea5..74532ca 100644
--- a/poky/meta/recipes-devtools/bison/bison_3.7.2.bb
+++ b/poky/meta/recipes-devtools/bison/bison_3.7.3.bb
@@ -12,7 +12,7 @@
SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \
file://add-with-bisonlocaledir.patch \
"
-SRC_URI[sha256sum] = "7948d193104d979c0fb0294a1854c73c89d72ae41acfc081826142578a78a91b"
+SRC_URI[sha256sum] = "88d9e36856b004c0887a12ba00ea3c47db388519629483dd8c3fce9694d4da6f"
# No point in hardcoding path to m4, just use PATH
EXTRA_OECONF += "M4=m4"
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.7.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.9.bb
similarity index 97%
rename from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.7.bb
rename to poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.9.bb
index e61ea9b..15a958e 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.7.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.9.bb
@@ -14,7 +14,7 @@
DEPENDS_append_class-target = " udev"
RDEPENDS_${PN} = "libgcc"
-SRCREV = "11acf45eea6dd81e891564967051e2bb10bd25f7"
+SRCREV = "2e1fa482300449042ff6612bb51027f3f5765270"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
"
diff --git a/poky/meta/recipes-devtools/chrpath/chrpath_0.16.bb b/poky/meta/recipes-devtools/chrpath/chrpath_0.16.bb
index 8de8850..f12366b 100644
--- a/poky/meta/recipes-devtools/chrpath/chrpath_0.16.bb
+++ b/poky/meta/recipes-devtools/chrpath/chrpath_0.16.bb
@@ -2,8 +2,7 @@
DESCRIPTION = "chrpath allows you to change the rpath (where the \
application looks for libraries) in an application. It does not \
(yet) allow you to add an rpath if there isn't one already."
-HOMEPAGE = "http://alioth.debian.org/projects/chrpath/"
-BUGTRACKER = "http://alioth.debian.org/tracker/?atid=412807&group_id=31052"
+HOMEPAGE = "https://tracker.debian.org/pkg/chrpath"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.18.2.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.18.4.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake-native_3.18.2.bb
rename to poky/meta/recipes-devtools/cmake/cmake-native_3.18.4.bb
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index fa1b818..e840e88 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -22,7 +22,7 @@
file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
"
-SRC_URI[sha256sum] = "5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e"
+SRC_URI[sha256sum] = "597c61358e6a92ecbfad42a9b5321ddd801fc7e7eca08441307c9138382d4f77"
UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.18.2.bb b/poky/meta/recipes-devtools/cmake/cmake_3.18.4.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake_3.18.2.bb
rename to poky/meta/recipes-devtools/cmake/cmake_3.18.4.bb
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.0.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.1.bb
similarity index 95%
rename from poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.0.bb
rename to poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.1.bb
index c6d8963..9427410 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.0.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.1.bb
@@ -8,7 +8,7 @@
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
"
-SRCREV = "bac48ace91c51abe37792415e75452bbabd44d93"
+SRCREV = "634141eaefe0cc87466dfb91b07b64facce4384b"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/diffstat/diffstat_1.63.bb b/poky/meta/recipes-devtools/diffstat/diffstat_1.63.bb
index ee0a7e7..61b2ea5 100644
--- a/poky/meta/recipes-devtools/diffstat/diffstat_1.63.bb
+++ b/poky/meta/recipes-devtools/diffstat/diffstat_1.63.bb
@@ -27,3 +27,5 @@
do_install_ptest() {
cp -r ${S}/testing ${D}${PTEST_PATH}
}
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch b/poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch
index ce9d423..d082459 100644
--- a/poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch
+++ b/poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch
@@ -1,20 +1,21 @@
-From 00a3ace35d66e7ae60046e254a4d00f0f9c1abe2 Mon Sep 17 00:00:00 2001
+From 2c0437f47eaaf565aaccf0c0d150d5fc0fc734f5 Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Thu, 22 Nov 2018 12:05:04 +0000
Subject: [PATCH] Do not install to /usr/local
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
-index 77c9310..fc378fd 100644
+index 7aa729d..e079b18 100644
--- a/Makefile
+++ b/Makefile
-@@ -30,7 +30,7 @@ CFLAGS += -O2
- LDFLAGS =
+@@ -31,7 +31,7 @@ CFLAGS += -D_FILE_OFFSET_BITS=64
+ LDFLAGS ?=
DESTDIR =
-prefix = /usr/local
diff --git a/poky/meta/recipes-devtools/dmidecode/dmidecode_3.2.bb b/poky/meta/recipes-devtools/dmidecode/dmidecode_3.3.bb
similarity index 82%
rename from poky/meta/recipes-devtools/dmidecode/dmidecode_3.2.bb
rename to poky/meta/recipes-devtools/dmidecode/dmidecode_3.3.bb
index 63f4061..3fc2b20 100644
--- a/poky/meta/recipes-devtools/dmidecode/dmidecode_3.2.bb
+++ b/poky/meta/recipes-devtools/dmidecode/dmidecode_3.3.bb
@@ -19,6 +19,5 @@
oe_runmake DESTDIR="${D}" install
}
-SRC_URI[md5sum] = "9cc2e27e74ade740a25b1aaf0412461b"
-SRC_URI[sha256sum] = "077006fa2da0d06d6383728112f2edef9684e9c8da56752e97cd45a11f838edd"
+SRC_URI[sha256sum] = "82c737a780614c38a783e8055340d295e332fb12c7f418b5d21a0797d3fb1455"
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.2.23.bb b/poky/meta/recipes-devtools/dnf/dnf_4.4.0.bb
similarity index 98%
rename from poky/meta/recipes-devtools/dnf/dnf_4.2.23.bb
rename to poky/meta/recipes-devtools/dnf/dnf_4.4.0.bb
index 8cfd4d0..dff6fe6 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.2.23.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.4.0.bb
@@ -17,7 +17,7 @@
file://0001-dnf-write-the-log-lock-to-root.patch \
"
-SRCREV = "126d861812f827285960592359615ed7cb195aac"
+SRCREV = "b9b7623892f551da201bffd03187d703242b00e9"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb b/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb
index 97ce449..4bd4aef 100644
--- a/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb
+++ b/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb
@@ -16,7 +16,7 @@
UPSTREAM_CHECK_URI = "https://github.com/dosfstools/dosfstools/releases"
-inherit autotools pkgconfig
+inherit autotools pkgconfig update-alternatives
EXTRA_OECONF = "--without-udev --enable-compat-symlinks"
@@ -26,3 +26,7 @@
# Add codepage437 to avoid error from `dosfsck -l`
RRECOMMENDS_${PN}_append_libc-glibc = " glibc-gconv-ibm437"
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "mkfs.vfat"
+ALTERNATIVE_LINK_NAME[mkfs.vfat] = "${sbindir}/mkfs.vfat"
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.6.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.6.bb
index 1505476..e6a4bd1 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.6.bb
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.6.bb
@@ -125,6 +125,8 @@
}
do_install_ptest() {
+ # This file's permissions depends on the host umask so be deterministic
+ chmod 0644 ${B}/tests/test_data.tmp
cp -R --no-dereference --preserve=mode,links -v ${B}/tests ${D}${PTEST_PATH}/test
cp -R --no-dereference --preserve=mode,links -v ${S}/tests/* ${D}${PTEST_PATH}/test
sed -e 's!../e2fsck/e2fsck!e2fsck!g' \
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.180.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.181.bb
similarity index 90%
rename from poky/meta/recipes-devtools/elfutils/elfutils_0.180.bb
rename to poky/meta/recipes-devtools/elfutils/elfutils_0.181.bb
index 61e46a4..6c49a5f 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.180.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.181.bb
@@ -28,7 +28,7 @@
file://0004-Fix-error-on-musl.patch \
file://0015-config-eu.am-do-not-use-Werror.patch \
"
-SRC_URI[sha256sum] = "b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d"
+SRC_URI[sha256sum] = "29a6ad7421ec2acfee489bb4a699908281ead2cb63a20a027ce8804a165f0eb3"
inherit autotools gettext ptest pkgconfig
@@ -40,6 +40,7 @@
PACKAGECONFIG ??= ""
PACKAGECONFIG[bzip2] = "--with-bzlib,--without-bzlib,${DEPENDS_BZIP2}"
PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz"
+PACKAGECONFIG[libdebuginfod] = "--enable-libdebuginfod,--disable-libdebuginfod,curl"
RDEPENDS_${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils"
@@ -59,6 +60,8 @@
install -d -m 755 ${D}${PTEST_PATH}/src
install -d -m 755 ${D}${PTEST_PATH}/libelf
install -d -m 755 ${D}${PTEST_PATH}/libdw
+ install -d -m 755 ${D}${PTEST_PATH}/libdwfl
+ install -d -m 755 ${D}${PTEST_PATH}/libdwelf
install -d -m 755 ${D}${PTEST_PATH}/libasm
for test_file in ${TEST_FILES}; do
if [ -f ${B}/src/${test_file} ]; then
@@ -68,6 +71,11 @@
cp ${D}${libdir}/libelf-${PV}.so ${D}${PTEST_PATH}/libelf/libelf.so
cp ${D}${libdir}/libdw-${PV}.so ${D}${PTEST_PATH}/libdw/libdw.so
cp ${D}${libdir}/libasm-${PV}.so ${D}${PTEST_PATH}/libasm/libasm.so
+ cp ${S}/libelf/*.h ${D}${PTEST_PATH}/libelf/
+ cp ${S}/libdw/*.h ${D}${PTEST_PATH}/libdw/
+ cp ${S}/libdwfl/*.h ${D}${PTEST_PATH}/libdwfl/
+ cp ${S}/libdwelf/*.h ${D}${PTEST_PATH}/libdwelf/
+ cp ${S}/libasm/*.h ${D}${PTEST_PATH}/libasm/
cp -r ${S}/tests/ ${D}${PTEST_PATH}
cp -r ${B}/tests/* ${D}${PTEST_PATH}/tests
cp -r ${B}/config.h ${D}${PTEST_PATH}
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch b/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch
index 2450b0d..67d4703 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch
@@ -1,4 +1,4 @@
-From 1ec7b2208803e0fbdcbe6c07b849e7dc4d9fa8a2 Mon Sep 17 00:00:00 2001
+From 1a62bb8e8f2cb0f180c749946a48114e8f391b55 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 23 Aug 2019 10:17:25 +0800
Subject: [PATCH] musl-obstack-fts
@@ -20,7 +20,7 @@
3 files changed, 58 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
-index e9649c2..03643c8 100644
+index ab9c751..b057d86 100644
--- a/configure.ac
+++ b/configure.ac
@@ -538,6 +538,60 @@ else
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch b/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
index 481b912..d7b382f 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
@@ -1,4 +1,4 @@
-From 1ca86294ee5454592c9ad855e13080509d8a92d3 Mon Sep 17 00:00:00 2001
+From fa265ff686cb60e19aa607bda3752b6b2ee87a14 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 23 Jun 2020 07:49:35 +0000
Subject: [PATCH] tests/Makefile.am: compile test_nlist with standard CFLAGS
@@ -8,20 +8,21 @@
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
tests/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 8048b69..d2b28a4 100644
+index 05fc9b4..11de0fc 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
-@@ -86,7 +86,7 @@ backtrace-child-biarch$(EXEEXT): backtrace-child.c
+@@ -92,7 +92,7 @@ endif
test-nlist$(EXEEXT): test-nlist.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) \
-- $(test_nlist_CFLAGS) $(test_nlist_LDADD) -o $@ $<
-+ $(CFLAGS) $(test_nlist_LDADD) -o $@ $<
+- $(test_nlist_CFLAGS) $(GCOV_FLAGS) -o $@ $< $(test_nlist_LDADD)
++ $(CFLAGS) $(GCOV_FLAGS) -o $@ $< $(test_nlist_LDADD)
TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \
update1 update2 update3 update4 \
diff --git a/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch b/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch
index d5ec0ec..894e46c 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch
@@ -1,4 +1,4 @@
-From 9a57efb0f826a70ae360aa55504ee2de656b92b6 Mon Sep 17 00:00:00 2001
+From 2e1f8ca0b67c1d1991c14d509938c347e09bae94 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 23 Aug 2019 10:18:47 +0800
Subject: [PATCH] musl-libs
diff --git a/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
index 4f28d9d..2a21cd3 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
@@ -1,4 +1,4 @@
-From 6923400b777d4ba6f040c4006413bf997326460f Mon Sep 17 00:00:00 2001
+From 9b237f19f82d5ab1e0702637fece1866b1ef6681 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 23 Aug 2019 10:19:48 +0800
Subject: [PATCH] musl-utils
@@ -58,7 +58,7 @@
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
diff --git a/src/readelf.c b/src/readelf.c
-index 5994615..f3cc071 100644
+index 685d0b1..a842b10 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -4829,10 +4829,11 @@ listptr_base (struct listptr *p)
@@ -124,7 +124,7 @@
static bool
diff --git a/src/strip.c b/src/strip.c
-index 4054c2a..d2d2176 100644
+index 48792a7..198a2e4 100644
--- a/src/strip.c
+++ b/src/strip.c
@@ -46,6 +46,13 @@
diff --git a/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch b/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch
index 481e4b3..c79c737 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch
@@ -1,4 +1,4 @@
-From 48b769ab692c8f02c1ae467229fe3404f662098a Mon Sep 17 00:00:00 2001
+From d3dc5f98f653342af97ebfbdf3479ee1f0d0cf38 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed, 1 May 2019 22:15:03 +0100
Subject: [PATCH] Fix error on musl:
diff --git a/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch
index c3ae357..48fd4d4 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch
@@ -1,4 +1,4 @@
-From dce2187dd8f592316357b200ebbe8dbed9ee65cb Mon Sep 17 00:00:00 2001
+From 9b7554a3e21ccb455b3661a6b4e767636c2c5cf3 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 22 Jun 2020 21:35:16 +0000
Subject: [PATCH] config/eu.am: do not use -Werror
@@ -10,6 +10,7 @@
Upstream-Status: Inappropriate [oe core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
config/eu.am | 2 --
1 file changed, 2 deletions(-)
diff --git a/poky/meta/recipes-devtools/file/file_5.39.bb b/poky/meta/recipes-devtools/file/file_5.39.bb
index 0dcc905..abaa814 100644
--- a/poky/meta/recipes-devtools/file/file_5.39.bb
+++ b/poky/meta/recipes-devtools/file/file_5.39.bb
@@ -11,14 +11,15 @@
DEPENDS = "file-replacement-native"
DEPENDS_class-native = "bzip2-replacement-native"
-SRC_URI = "git://github.com/file/file.git"
+SRC_URI = "git://github.com/file/file.git \
+ file://0001-src-compress.c-correct-header-define-for-xz-lzma.patch"
SRCREV = "87731415de945660b00f02207d8e9d986ef9b82e"
S = "${WORKDIR}/git"
inherit autotools update-alternatives
-PACKAGECONFIG ??= "zlib"
+PACKAGECONFIG ??= "bz2 lzma zlib"
PACKAGECONFIG[bz2] = "--enable-bzlib, --disable-bzlib, bzip2"
PACKAGECONFIG[lzma] = "--enable-xzlib, --disable-xzlib, xz"
PACKAGECONFIG[zlib] = "--enable-zlib, --disable-zlib, zlib"
diff --git a/poky/meta/recipes-devtools/file/files/0001-src-compress.c-correct-header-define-for-xz-lzma.patch b/poky/meta/recipes-devtools/file/files/0001-src-compress.c-correct-header-define-for-xz-lzma.patch
new file mode 100644
index 0000000..f8ba2f6
--- /dev/null
+++ b/poky/meta/recipes-devtools/file/files/0001-src-compress.c-correct-header-define-for-xz-lzma.patch
@@ -0,0 +1,27 @@
+From ffb6ebdb42590cb9f7d3f5177b7b820a9edc4c81 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sun, 18 Oct 2020 23:40:42 +0200
+Subject: [PATCH] src/compress.c: correct header define for xz/lzma
+
+Upstream-Status: Submitted [https://github.com/file/file/pull/98]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/compress.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/compress.c b/src/compress.c
+index 67f21583..9670b72c 100644
+--- a/src/compress.c
++++ b/src/compress.c
+@@ -71,7 +71,7 @@ typedef void (*sig_t)(int);
+ #include <bzlib.h>
+ #endif
+
+-#if defined(HAVE_XZLIB_H) && defined(XZLIBSUPPORT)
++#if defined(HAVE_LZMA_H) && defined(XZLIBSUPPORT)
+ #define BUILTIN_XZLIB
+ #include <lzma.h>
+ #endif
+--
+2.28.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-10.2.inc b/poky/meta/recipes-devtools/gcc/gcc-10.2.inc
index 7625af5..e88f2ad 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-10.2.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.2.inc
@@ -81,14 +81,13 @@
FORTRAN = ""
JAVA = ""
-LTO = "--enable-lto"
SSP ?= "--disable-libssp"
SSP_mingw32 = "--enable-libssp"
EXTRA_OECONF_BASE = "\
- ${LTO} \
${SSP} \
--enable-libitm \
+ --enable-lto \
--disable-bootstrap \
--with-system-zlib \
${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch
index 1a65ece..dc3e6da 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch
@@ -1,4 +1,4 @@
-From bb1f359e34649516e61305e9748534cce7e0ee70 Mon Sep 17 00:00:00 2001
+From 702daf2e9cb97337e0e594fcd435b1b61a917d14 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 7 Dec 2015 23:39:54 +0000
Subject: [PATCH] handle sysroot support for nativesdk-gcc
@@ -321,7 +321,7 @@
str = update_path (ostr, p->component);
free (ostr);
diff --git a/gcc/prefix.c b/gcc/prefix.c
-index 1a403e535bd..3257ed3cd3e 100644
+index 1a403e535bd..c26d07bde12 100644
--- a/gcc/prefix.c
+++ b/gcc/prefix.c
@@ -72,7 +72,9 @@ License along with GCC; see the file COPYING3. If not see
@@ -329,9 +329,9 @@
#include "common/common-target.h"
-static const char *std_prefix = PREFIX;
-+static const char PREFIXVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX;
++char PREFIXVAR1[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX;
+
-+static const char *std_prefix = PREFIXVAR;
++static const char *std_prefix = PREFIXVAR1;
static const char *get_key_value (char *);
static char *translate_name (char *);
@@ -340,7 +340,10 @@
if (prefix == 0)
- prefix = PREFIX;
-+ prefix = PREFIXVAR;
++ prefix = PREFIXVAR1;
/* We used to strip trailing DIR_SEPARATORs here, but that can
sometimes yield a result with no separator when one was coded
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb-9.2.inc b/poky/meta/recipes-devtools/gdb/gdb-10.1.inc
similarity index 88%
rename from poky/meta/recipes-devtools/gdb/gdb-9.2.inc
rename to poky/meta/recipes-devtools/gdb/gdb-10.1.inc
index 017b61e..4b8de2b 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-9.2.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-10.1.inc
@@ -17,5 +17,4 @@
file://0010-Fix-invalid-sigprocmask-call.patch \
file://0011-gdbserver-ctrl-c-handling.patch \
"
-SRC_URI[md5sum] = "db95524e554870209ab7d9f8fd8dc557"
-SRC_URI[sha256sum] = "360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555"
+SRC_URI[sha256sum] = "f82f1eceeec14a3afa2de8d9b0d3c91d5a3820e23e0a01bbb70ef9f0276b62c0"
diff --git a/poky/meta/recipes-devtools/gdb/gdb-common.inc b/poky/meta/recipes-devtools/gdb/gdb-common.inc
index 08f615a..bfb8013 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-common.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-common.inc
@@ -15,13 +15,11 @@
B = "${WORKDIR}/build-${TARGET_SYS}"
-EXTRA_OEMAKE = "'SUBDIRS=intl mmalloc libiberty opcodes bfd sim gdb etc utils'"
-
EXPAT = "--with-expat --with-libexpat-prefix=${STAGING_DIR_HOST}"
EXTRA_OECONF = "--disable-gdbtk --disable-x --disable-werror \
--with-curses --disable-multilib --disable-sim \
- --without-lzma --without-guile \
+ --without-guile \
${GDBPROPREFIX} ${EXPAT} \
${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)} \
--disable-rpath \
@@ -37,9 +35,12 @@
PACKAGECONFIG[babeltrace] = "--with-babeltrace,--without-babeltrace,babeltrace"
# ncurses is already a hard DEPENDS, but would be added here if it weren't
PACKAGECONFIG[tui] = "--enable-tui,--disable-tui"
+PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz"
GDBPROPREFIX = "--program-prefix=''"
+DISABLE_STATIC = ""
+
do_configure () {
# override this function to avoid the autoconf/automake/aclocal/autoheader
# calls for now
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_9.2.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb-cross-canadian_9.2.bb
rename to poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.1.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_9.2.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_10.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb-cross_9.2.bb
rename to poky/meta/recipes-devtools/gdb/gdb-cross_10.1.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch
index 82287ea..84d1783 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch
@@ -1,7 +1,7 @@
-From 036f8e1d387f65e52cb021dbb1bd28e8b75cf017 Mon Sep 17 00:00:00 2001
+From e5126c7167e26f865990dc5f86344602603aa8c6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 02:27:55 +0000
-Subject: [PATCH] make man install relative to DESTDIR
+Subject: [PATCH 01/11] make man install relative to DESTDIR
Upstream-Status: Pending
@@ -11,7 +11,7 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sim/common/Makefile.in b/sim/common/Makefile.in
-index c6de14122c..c4b1214946 100644
+index f713fcaa35b..7c553709d3f 100644
--- a/sim/common/Makefile.in
+++ b/sim/common/Makefile.in
@@ -35,7 +35,7 @@ tooldir = $(libdir)/$(target_alias)
@@ -23,3 +23,6 @@
infodir = @infodir@
includedir = @includedir@
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch b/poky/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
index 6067caf..f830993 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
@@ -1,7 +1,7 @@
-From 6bff2862f9597f324a9385eb2f828e838e51a8a1 Mon Sep 17 00:00:00 2001
+From 0680242c9a3a0149a23e63034ecb4404de2293dd Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 23 Mar 2016 06:30:09 +0000
-Subject: [PATCH] mips-linux-nat: Define _ABIO32 if not defined
+Subject: [PATCH 02/11] mips-linux-nat: Define _ABIO32 if not defined
This helps building gdb on mips64 on musl, since
musl does not provide sgidefs.h this define is
@@ -16,7 +16,7 @@
1 file changed, 4 insertions(+)
diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
-index 104c972f24..7f575b3363 100644
+index 38ff461a35b..4337795bac8 100644
--- a/gdb/mips-linux-nat.c
+++ b/gdb/mips-linux-nat.c
@@ -41,6 +41,10 @@
@@ -30,3 +30,6 @@
class mips_linux_nat_target final : public linux_nat_trad_target
{
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/poky/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
index c4bab7b..cbe1779 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
@@ -1,36 +1,19 @@
-From d5817bcf2f7313699bfa85b41220d862db327664 Mon Sep 17 00:00:00 2001
+From afbb66c244b1ae0aaaa90d88d3cd484f741c614f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Apr 2016 18:32:14 -0700
-Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
+Subject: [PATCH 03/11] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC
+ systems
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- gdb/gdbserver/linux-ppc-low.c | 6 ++++++
- gdb/nat/ppc-linux.h | 6 ++++++
+ gdb/nat/ppc-linux.h | 6 ++++++
+ gdbserver/linux-ppc-low.cc | 6 ++++++
2 files changed, 12 insertions(+)
-diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
-index 5d8d67bec2..ffcf65ab58 100644
---- a/gdb/gdbserver/linux-ppc-low.c
-+++ b/gdb/gdbserver/linux-ppc-low.c
-@@ -23,7 +23,13 @@
- #include "elf/common.h"
- #include <sys/uio.h>
- #include <elf.h>
-+#if !defined(__GLIBC__)
-+# define pt_regs uapi_pt_regs
-+#endif
- #include <asm/ptrace.h>
-+#if !defined(__GLIBC__)
-+# undef pt_regs
-+#endif
-
- #include "arch/ppc-linux-common.h"
- #include "arch/ppc-linux-tdesc.h"
diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h
-index d937a65b69..1fd54b4a0e 100644
+index d937a65b69c..1fd54b4a0e0 100644
--- a/gdb/nat/ppc-linux.h
+++ b/gdb/nat/ppc-linux.h
@@ -18,7 +18,13 @@
@@ -47,3 +30,24 @@
#include <asm/cputable.h>
/* This sometimes isn't defined. */
+diff --git a/gdbserver/linux-ppc-low.cc b/gdbserver/linux-ppc-low.cc
+index 337d555aee7..5d518f37268 100644
+--- a/gdbserver/linux-ppc-low.cc
++++ b/gdbserver/linux-ppc-low.cc
+@@ -23,7 +23,13 @@
+ #include "elf/common.h"
+ #include <sys/uio.h>
+ #include <elf.h>
++#if !defined(__GLIBC__)
++# define pt_regs uapi_pt_regs
++#endif
+ #include <asm/ptrace.h>
++#if !defined(__GLIBC__)
++# undef pt_regs
++#endif
+
+ #include "arch/ppc-linux-common.h"
+ #include "arch/ppc-linux-tdesc.h"
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch b/poky/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch
index fd165d4..561cfff 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch
@@ -1,7 +1,7 @@
-From 505f10a0ea1a8bba0584859d9a348bb779593ec2 Mon Sep 17 00:00:00 2001
+From 26e406962cf7298837b350b979afff0ac34ecb0b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 02:31:12 +0000
-Subject: [PATCH] Add support for Renesas SH (sh4) architecture.
+Subject: [PATCH 04/11] Add support for Renesas SH (sh4) architecture.
gdb (7.4-1~cvs20111117.2) experimental; urgency=low
.
@@ -16,7 +16,7 @@
gdb/Makefile.in | 2 +
gdb/configure.host | 1 +
gdb/sh-linux-tdep.c | 519 +++++++++++++++++++++++++++
- gdb/sh-tdep.c | 53 ++-
+ gdb/sh-tdep.c | 52 +--
gdb/sh-tdep.h | 49 +++
gdb/testsuite/gdb.asm/asm-source.exp | 5 +
gdb/testsuite/gdb.asm/sh.inc | 3 +-
@@ -24,13 +24,13 @@
gdb/testsuite/gdb.base/annota3.c | 4 +
gdb/testsuite/gdb.base/sigall.c | 3 +
gdb/testsuite/gdb.base/signals.c | 4 +
- 11 files changed, 617 insertions(+), 29 deletions(-)
+ 11 files changed, 617 insertions(+), 28 deletions(-)
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index c3e074b21f..42dd7af59c 100644
+index 4808357e651..a009004ab05 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
-@@ -2317,6 +2317,8 @@ ALLDEPFILES = \
+@@ -2273,6 +2273,8 @@ ALLDEPFILES = \
sh-nbsd-nat.c \
sh-nbsd-tdep.c \
sh-tdep.c \
@@ -40,7 +40,7 @@
solib-aix.c \
solib-svr4.c \
diff --git a/gdb/configure.host b/gdb/configure.host
-index ce52823729..5b5173a71a 100644
+index ce528237291..5b5173a71aa 100644
--- a/gdb/configure.host
+++ b/gdb/configure.host
@@ -148,6 +148,7 @@ riscv*-*-linux*) gdb_host=linux ;;
@@ -52,7 +52,7 @@
gdb_host=nbsd ;;
sh*-*-openbsd*) gdb_host=nbsd ;;
diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c
-index 13c10eeeda..1d0d583a64 100644
+index 5d2f38f5801..06a45b74827 100644
--- a/gdb/sh-linux-tdep.c
+++ b/gdb/sh-linux-tdep.c
@@ -18,14 +18,37 @@
@@ -600,7 +600,7 @@
/* GNU/Linux uses SVR4-style shared libraries. */
diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
-index e3aee0ac28..5958cf3688 100644
+index 7aadf9165ca..e173e215a2d 100644
--- a/gdb/sh-tdep.c
+++ b/gdb/sh-tdep.c
@@ -21,6 +21,9 @@
@@ -637,16 +637,15 @@
static int
sh_is_renesas_calling_convention (struct type *func_type)
{
-@@ -1050,7 +1036,7 @@ sh_treat_as_flt_p (struct type *type)
+@@ -1050,6 +1036,7 @@ sh_treat_as_flt_p (struct type *type)
return 0;
/* Otherwise if the type of that member is float, the whole type is
treated as float. */
-- if (TYPE_CODE (TYPE_FIELD_TYPE (type, 0)) == TYPE_CODE_FLT)
-+ if (TYPE_CODE (check_typedef (TYPE_FIELD_TYPE (type, 0))) == TYPE_CODE_FLT)
++ type = check_typedef (type);
+ if (type->field (0).type ()->code () == TYPE_CODE_FLT)
return 1;
/* Otherwise it's not treated as float. */
- return 0;
-@@ -1100,7 +1086,7 @@ sh_push_dummy_call_fpu (struct gdbarch *gdbarch,
+@@ -1100,7 +1087,7 @@ sh_push_dummy_call_fpu (struct gdbarch *gdbarch,
in four registers available. Loop thru args from first to last. */
for (argnum = 0; argnum < nargs; argnum++)
{
@@ -655,7 +654,7 @@
len = TYPE_LENGTH (type);
val = sh_justify_value_in_reg (gdbarch, args[argnum], len);
-@@ -1835,7 +1821,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
+@@ -1835,7 +1822,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
reg->how = DWARF2_FRAME_REG_UNDEFINED;
}
@@ -664,7 +663,7 @@
sh_alloc_frame_cache (void)
{
struct sh_frame_cache *cache;
-@@ -1862,7 +1848,7 @@ sh_alloc_frame_cache (void)
+@@ -1862,7 +1849,7 @@ sh_alloc_frame_cache (void)
return cache;
}
@@ -673,7 +672,7 @@
sh_frame_cache (struct frame_info *this_frame, void **this_cache)
{
struct gdbarch *gdbarch = get_frame_arch (this_frame);
-@@ -1929,9 +1915,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache)
+@@ -1929,9 +1916,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache)
return cache;
}
@@ -686,7 +685,7 @@
{
struct gdbarch *gdbarch = get_frame_arch (this_frame);
struct sh_frame_cache *cache = sh_frame_cache (this_frame, this_cache);
-@@ -1945,7 +1931,7 @@ sh_frame_prev_register (struct frame_info *this_frame,
+@@ -1945,7 +1932,7 @@ sh_frame_prev_register (struct frame_info *this_frame,
the current frame. Frob regnum so that we pull the value from
the correct place. */
if (regnum == gdbarch_pc_regnum (gdbarch))
@@ -695,7 +694,7 @@
if (regnum < SH_NUM_REGS && cache->saved_regs[regnum] != -1)
return frame_unwind_got_memory (this_frame, regnum,
-@@ -2234,8 +2220,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch,
+@@ -2234,8 +2221,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch,
static struct gdbarch *
sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
{
@@ -705,7 +704,7 @@
/* If there is already a candidate, use it. */
arches = gdbarch_list_lookup_by_info (arches, &info);
-@@ -2247,6 +2233,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+@@ -2247,6 +2234,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep = XCNEW (struct gdbarch_tdep);
gdbarch = gdbarch_alloc (&info, tdep);
@@ -724,7 +723,7 @@
set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT);
set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT);
set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
-@@ -2398,10 +2396,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+@@ -2398,10 +2397,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
break;
}
@@ -738,7 +737,7 @@
frame_unwind_append_unwinder (gdbarch, &sh_frame_unwind);
diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h
-index 76e2e76e39..2710f63010 100644
+index 76e2e76e39b..2710f63010c 100644
--- a/gdb/sh-tdep.h
+++ b/gdb/sh-tdep.h
@@ -21,6 +21,12 @@
@@ -821,7 +820,7 @@
where each general-purpose register is stored inside the associated
core file section. */
diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp
-index 4914498f98..6e25cbed18 100644
+index 4914498f98c..6e25cbed185 100644
--- a/gdb/testsuite/gdb.asm/asm-source.exp
+++ b/gdb/testsuite/gdb.asm/asm-source.exp
@@ -116,6 +116,11 @@ switch -glob -- [istarget] {
@@ -837,7 +836,7 @@
set asm-arch sh
set debug-flags "-gdwarf-2"
diff --git a/gdb/testsuite/gdb.asm/sh.inc b/gdb/testsuite/gdb.asm/sh.inc
-index a4a5fc545e..89efed7795 100644
+index a4a5fc545e4..89efed7795c 100644
--- a/gdb/testsuite/gdb.asm/sh.inc
+++ b/gdb/testsuite/gdb.asm/sh.inc
@@ -40,9 +40,8 @@
@@ -852,7 +851,7 @@
.align 1
.Lafterconst\@:
diff --git a/gdb/testsuite/gdb.base/annota1.c b/gdb/testsuite/gdb.base/annota1.c
-index 424e1b8327..0de2e7b633 100644
+index 424e1b83278..0de2e7b633a 100644
--- a/gdb/testsuite/gdb.base/annota1.c
+++ b/gdb/testsuite/gdb.base/annota1.c
@@ -1,6 +1,9 @@
@@ -866,7 +865,7 @@
void
handle_USR1 (int sig)
diff --git a/gdb/testsuite/gdb.base/annota3.c b/gdb/testsuite/gdb.base/annota3.c
-index 424e1b8327..952aaf218a 100644
+index 424e1b83278..952aaf218ab 100644
--- a/gdb/testsuite/gdb.base/annota3.c
+++ b/gdb/testsuite/gdb.base/annota3.c
@@ -1,6 +1,10 @@
@@ -881,7 +880,7 @@
void
handle_USR1 (int sig)
diff --git a/gdb/testsuite/gdb.base/sigall.c b/gdb/testsuite/gdb.base/sigall.c
-index 81f3b08d6b..1574b2d6cb 100644
+index 81f3b08d6bc..1574b2d6cb8 100644
--- a/gdb/testsuite/gdb.base/sigall.c
+++ b/gdb/testsuite/gdb.base/sigall.c
@@ -1,6 +1,9 @@
@@ -895,7 +894,7 @@
/* Signal handlers, we set breakpoints in them to make sure that the
signals really get delivered. */
diff --git a/gdb/testsuite/gdb.base/signals.c b/gdb/testsuite/gdb.base/signals.c
-index 756606880f..1205a9bc9c 100644
+index 756606880fa..1205a9bc9c5 100644
--- a/gdb/testsuite/gdb.base/signals.c
+++ b/gdb/testsuite/gdb.base/signals.c
@@ -3,6 +3,10 @@
@@ -909,3 +908,6 @@
static int count = 0;
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch b/poky/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch
index d0360da..71eab1c 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch
@@ -1,7 +1,7 @@
-From d132f21d89157e980574da7d0c949f6dd17df8c3 Mon Sep 17 00:00:00 2001
+From ec566877c50bdae0013a38dd457004e1db725d86 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Apr 2016 15:25:03 -0700
-Subject: [PATCH] Dont disable libreadline.a when using --disable-static
+Subject: [PATCH 05/11] Dont disable libreadline.a when using --disable-static
If gdb is configured with --disable-static then this is dutifully passed to
readline which then disables libreadline.a, which causes a problem when gdb
@@ -19,7 +19,7 @@
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/Makefile.def b/Makefile.def
-index 311feb9de3..24c0685d48 100644
+index 76d062bb671..e0a1e2b14b1 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -105,7 +105,8 @@ host_modules= { module= libiconv;
@@ -33,10 +33,10 @@
host_modules= { module= sim; };
host_modules= { module= texinfo; no_install= true; };
diff --git a/Makefile.in b/Makefile.in
-index 1aabf6ede4..d957efde81 100644
+index 9dfd39fae13..eaf1dd0f229 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -25510,7 +25510,7 @@ configure-readline:
+@@ -25548,7 +25548,7 @@ configure-readline:
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
@@ -45,3 +45,6 @@
|| exit 1
@endif readline
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch b/poky/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch
index d222d01..a2932be 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch
@@ -1,7 +1,7 @@
-From 329e5bf29e934ba99622372a9660865864bb0298 Mon Sep 17 00:00:00 2001
+From 4b02e54b87d435e1715ce871bcce720561a7afb1 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <amccurdy@gmail.com>
Date: Sat, 30 Apr 2016 15:29:06 -0700
-Subject: [PATCH] use <asm/sgidefs.h>
+Subject: [PATCH 06/11] use <asm/sgidefs.h>
Build fix for MIPS with musl libc
@@ -19,7 +19,7 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
-index 7f575b3363..dc93a64a93 100644
+index 4337795bac8..7c8e54cabe0 100644
--- a/gdb/mips-linux-nat.c
+++ b/gdb/mips-linux-nat.c
@@ -31,7 +31,7 @@
@@ -31,3 +31,6 @@
#include "nat/gdb_ptrace.h"
#include <asm/ptrace.h>
#include "inf-ptrace.h"
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch b/poky/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch
index 0989661..8cbc50b 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch
@@ -1,7 +1,7 @@
-From 782bb2ab9b104dad4bbaed1d9ac769ce7e5b9f4d Mon Sep 17 00:00:00 2001
+From 53f694ffa1ee9893b834758413c23947957f0fee Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Apr 2016 15:31:40 -0700
-Subject: [PATCH] Use exorted definitions of SIGRTMIN
+Subject: [PATCH 07/11] Use exorted definitions of SIGRTMIN
Define W_STOPCODE if not defined already
@@ -20,10 +20,10 @@
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
-index 4484fa5c87..3bb0ee7a49 100644
+index b81014024c7..e0513d47122 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
-@@ -4588,6 +4588,6 @@ lin_thread_get_thread_signals (sigset_t *set)
+@@ -4428,6 +4428,6 @@ lin_thread_get_thread_signals (sigset_t *set)
/* NPTL reserves the first two RT signals, but does not provide any
way for the debugger to query the signal numbers - fortunately
they don't change. */
@@ -33,7 +33,7 @@
+ sigaddset (set, SIGRTMIN + 1);
}
diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h
-index 44dcbb7758..975d7276f6 100644
+index 44dcbb7758d..975d7276f66 100644
--- a/gdb/nat/linux-nat.h
+++ b/gdb/nat/linux-nat.h
@@ -91,4 +91,8 @@ extern void linux_stop_lwp (struct lwp_info *lwp);
@@ -45,3 +45,6 @@
+#endif
+
#endif /* NAT_LINUX_NAT_H */
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch b/poky/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch
index 18168c6..4622752 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch
@@ -1,7 +1,7 @@
-From 40c9c174590ce6fdc873b453285249fe957f376d Mon Sep 17 00:00:00 2001
+From 07175ae348c9d07581e1db94762d5a2d577a75ad Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Apr 2016 15:35:39 -0700
-Subject: [PATCH] Change order of CFLAGS
+Subject: [PATCH 08/11] Change order of CFLAGS
Lets us override Werror if need be
@@ -9,14 +9,14 @@
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- gdb/gdbserver/Makefile.in | 2 +-
+ gdbserver/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
-index 16a9f2fd38..b9c8cd9c41 100644
---- a/gdb/gdbserver/Makefile.in
-+++ b/gdb/gdbserver/Makefile.in
-@@ -146,7 +146,7 @@ PTHREAD_LIBS = @PTHREAD_LIBS@
+diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in
+index 2b1a77f2de7..cb5ddb12fd5 100644
+--- a/gdbserver/Makefile.in
++++ b/gdbserver/Makefile.in
+@@ -161,7 +161,7 @@ WIN32APILIBS = @WIN32APILIBS@
INTERNAL_CFLAGS_BASE = ${CXXFLAGS} ${GLOBAL_CFLAGS} \
${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS} $(PTHREAD_CFLAGS)
INTERNAL_WARN_CFLAGS = ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS)
@@ -25,3 +25,6 @@
# LDFLAGS is specifically reserved for setting from the command line
# when running make.
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch b/poky/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch
index 8f15c49..698fdb0 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch
@@ -1,7 +1,7 @@
-From 5b69a98f6bb7363a1f79f29bac2b25b7df6d2fdd Mon Sep 17 00:00:00 2001
+From 73a3babe48c7948f71683d0862eddc1609fdaa3d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 10 May 2016 08:47:05 -0700
-Subject: [PATCH] resolve restrict keyword conflict
+Subject: [PATCH 09/11] resolve restrict keyword conflict
GCC detects that we call 'restrict' as param name in function
signatures and complains since both params are called 'restrict'
@@ -15,7 +15,7 @@
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/gnulib/import/sys_time.in.h b/gnulib/import/sys_time.in.h
-index d535a6a48b..7c34d5a1aa 100644
+index d30b26719b2..fd76af5e6d9 100644
--- a/gnulib/import/sys_time.in.h
+++ b/gnulib/import/sys_time.in.h
@@ -93,20 +93,20 @@ struct timeval
@@ -43,3 +43,6 @@
# endif
_GL_CXXALIASWARN (gettimeofday);
# if defined __cplusplus && defined GNULIB_NAMESPACE
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch b/poky/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch
index 5209c00..7cf3eae 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch
@@ -1,7 +1,7 @@
-From bc1f01ff5e524f7777083024bce348a9b0017a7a Mon Sep 17 00:00:00 2001
+From c5c5372c6a319cac8b3f9f86304fcebcbb5ea06f Mon Sep 17 00:00:00 2001
From: Yousong Zhou <yszhou4tech@gmail.com>
Date: Fri, 24 Mar 2017 10:36:03 +0800
-Subject: [PATCH] Fix invalid sigprocmask call
+Subject: [PATCH 10/11] Fix invalid sigprocmask call
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -28,13 +28,13 @@
Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- gdb/gdbsupport/signals-state-save-restore.c | 2 +-
+ gdbsupport/signals-state-save-restore.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/gdb/gdbsupport/signals-state-save-restore.c b/gdb/gdbsupport/signals-state-save-restore.c
-index c292d498da..af9dcaeb08 100644
---- a/gdb/gdbsupport/signals-state-save-restore.c
-+++ b/gdb/gdbsupport/signals-state-save-restore.c
+diff --git a/gdbsupport/signals-state-save-restore.cc b/gdbsupport/signals-state-save-restore.cc
+index c292d498daf..af9dcaeb08e 100644
+--- a/gdbsupport/signals-state-save-restore.cc
++++ b/gdbsupport/signals-state-save-restore.cc
@@ -38,7 +38,7 @@ save_original_signals_state (bool quiet)
int i;
int res;
@@ -44,3 +44,6 @@
if (res == -1)
perror_with_name (("sigprocmask"));
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch b/poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch
index eedd94c..0a596b5 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch
@@ -1,7 +1,7 @@
-From 3d6700d38153a0ec8e0800de703a5089a8cd3d2d Mon Sep 17 00:00:00 2001
+From 63df98fa78c8a6e12b40ebdc5c155838d2bf8b5f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 29 Nov 2018 18:00:23 -0800
-Subject: [PATCH] gdbserver ctrl-c handling
+Subject: [PATCH 11/11] gdbserver ctrl-c handling
This problem was created by the upstream commit 78708b7c8c
After applying the commit, it will send SIGINT to the process
@@ -19,21 +19,22 @@
Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- gdb/gdbserver/linux-low.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
+ gdbserver/linux-low.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
-index 4255795ea6..762f8bafb6 100644
---- a/gdb/gdbserver/linux-low.c
-+++ b/gdb/gdbserver/linux-low.c
-@@ -5904,9 +5904,7 @@ linux_look_up_symbols (void)
- static void
- linux_request_interrupt (void)
+diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc
+index e45493339d2..aabc099b456 100644
+--- a/gdbserver/linux-low.cc
++++ b/gdbserver/linux-low.cc
+@@ -5714,7 +5714,7 @@ linux_process_target::request_interrupt ()
{
-- /* Send a SIGINT to the process group. This acts just like the user
-- typed a ^C on the controlling terminal. */
-- kill (-signal_pid, SIGINT);
-+ kill (signal_pid, SIGINT);
+ /* Send a SIGINT to the process group. This acts just like the user
+ typed a ^C on the controlling terminal. */
+- ::kill (-signal_pid, SIGINT);
++ ::kill (signal_pid, SIGINT);
}
- /* Copy LEN bytes from inferior's auxiliary vector starting at OFFSET
+ bool
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb_9.2.bb b/poky/meta/recipes-devtools/gdb/gdb_10.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb_9.2.bb
rename to poky/meta/recipes-devtools/gdb/gdb_10.1.bb
diff --git a/poky/meta/recipes-devtools/git/git_2.28.0.bb b/poky/meta/recipes-devtools/git/git_2.28.0.bb
deleted file mode 100644
index e90787d..0000000
--- a/poky/meta/recipes-devtools/git/git_2.28.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require git.inc
-
-EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
- ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
- "
-EXTRA_OEMAKE += "NO_GETTEXT=1"
-
-SRC_URI[tarball.sha256sum] = "f914c60a874d466c1e18467c864a910dd4ea22281ba6d4d58077cb0c3f115170"
-SRC_URI[manpages.sha256sum] = "3cfca28a88d5b8112ea42322b797a500a14d0acddea391aed0462aff1ab11bf7"
diff --git a/poky/meta/recipes-devtools/git/git_2.29.2.bb b/poky/meta/recipes-devtools/git/git_2.29.2.bb
new file mode 100644
index 0000000..6433a2e
--- /dev/null
+++ b/poky/meta/recipes-devtools/git/git_2.29.2.bb
@@ -0,0 +1,9 @@
+require git.inc
+
+EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
+ ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
+ "
+EXTRA_OEMAKE += "NO_GETTEXT=1"
+
+SRC_URI[tarball.sha256sum] = "869a121e1d75e4c28213df03d204156a17f02fce2dc77be9795b327830f54195"
+SRC_URI[manpages.sha256sum] = "68b258e6d590cb78e02c0df741bbaeab94cbbac6d25de9da4fb3882ee098307b"
diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index ae03a99..980ed63 100644
--- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -8,8 +8,8 @@
INHIBIT_DEFAULT_DEPS = "1"
-SRCREV = "0b5188819ba6091770064adf26360b204113317e"
-PV = "20200831+git${SRCPV}"
+SRCREV = "664b772118739dac69ef8c39abea7e02973ff316"
+PV = "20201018+git${SRCPV}"
SRC_URI = "git://git.savannah.gnu.org/config.git \
file://gnu-configize.in"
diff --git a/poky/meta/recipes-devtools/go/go-1.15.inc b/poky/meta/recipes-devtools/go/go-1.15.inc
index 97d748b..ccfb0c5 100644
--- a/poky/meta/recipes-devtools/go/go-1.15.inc
+++ b/poky/meta/recipes-devtools/go/go-1.15.inc
@@ -1,8 +1,7 @@
require go-common.inc
GO_BASEVERSION = "1.15"
-GO_MINOR = ".2"
-PV .= "${GO_MINOR}"
+PV = "1.15.5"
FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
@@ -16,5 +15,6 @@
file://0006-cmd-dist-separate-host-and-target-builds.patch \
file://0007-cmd-go-make-GOROOT-precious-by-default.patch \
file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
+ file://0009-cmd-go-permit-CGO_LDFLAGS-to-appear-in-go-ldflag.patch \
"
-SRC_URI[main.sha256sum] = "28bf9d0bcde251011caae230a4a05d917b172ea203f2a62f2c2f9533589d4b4d"
+SRC_URI[main.sha256sum] = "c1076b90cf94b73ebed62a81d802cd84d43d02dea8c07abdc922c57a071c84f1"
diff --git a/poky/meta/recipes-devtools/go/go-1.15/0009-cmd-go-permit-CGO_LDFLAGS-to-appear-in-go-ldflag.patch b/poky/meta/recipes-devtools/go/go-1.15/0009-cmd-go-permit-CGO_LDFLAGS-to-appear-in-go-ldflag.patch
new file mode 100644
index 0000000..b57041f
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.15/0009-cmd-go-permit-CGO_LDFLAGS-to-appear-in-go-ldflag.patch
@@ -0,0 +1,100 @@
+From 4759221d46b1666de96b8047cec3160bfe4d3d5d Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Fri, 13 Nov 2020 11:05:37 -0800
+Subject: [PATCH] cmd/go: permit CGO_LDFLAGS to appear in //go:ldflag
+
+Fixes #42565
+
+Upstream-Status: Backport [https://github.com/golang/go/commit/782cf560db4c919790fdb476d1bbe18e5ddf5ffd]
+Change-Id: If7cf39905d124dbd54dfac6a53ee38270498efed
+Reviewed-on: https://go-review.googlesource.com/c/go/+/269818
+Trust: Ian Lance Taylor <iant@golang.org>
+Run-TryBot: Ian Lance Taylor <iant@golang.org>
+TryBot-Result: Go Bot <gobot@golang.org>
+Reviewed-by: Jay Conrod <jayconrod@google.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/cmd/go/internal/work/exec.go | 15 +++++++++
+ src/cmd/go/testdata/script/ldflag.txt | 44 +++++++++++++++++++++++++++
+ 2 files changed, 59 insertions(+)
+ create mode 100644 src/cmd/go/testdata/script/ldflag.txt
+
+diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
+index 575a2df..9209e3d 100644
+--- a/src/cmd/go/internal/work/exec.go
++++ b/src/cmd/go/internal/work/exec.go
+@@ -2821,6 +2821,21 @@ func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgo
+ idx = bytes.Index(src, []byte(cgoLdflag))
+ }
+ }
++
++ // We expect to find the contents of cgoLDFLAGS in flags.
++ if len(cgoLDFLAGS) > 0 {
++ outer:
++ for i := range flags {
++ for j, f := range cgoLDFLAGS {
++ if f != flags[i+j] {
++ continue outer
++ }
++ }
++ flags = append(flags[:i], flags[i+len(cgoLDFLAGS):]...)
++ break
++ }
++ }
++
+ if err := checkLinkerFlags("LDFLAGS", "go:cgo_ldflag", flags); err != nil {
+ return nil, nil, err
+ }
+diff --git a/src/cmd/go/testdata/script/ldflag.txt b/src/cmd/go/testdata/script/ldflag.txt
+new file mode 100644
+index 0000000..6ceb33b
+--- /dev/null
++++ b/src/cmd/go/testdata/script/ldflag.txt
+@@ -0,0 +1,44 @@
++# Issue #42565
++
++[!cgo] skip
++
++# We can't build package bad, which uses #cgo LDFLAGS.
++cd bad
++! go build
++stderr no-such-warning
++
++# We can build package ok with the same flags in CGO_LDFLAGS.
++env CGO_LDFLAGS=-Wno-such-warning -Wno-unknown-warning-option
++cd ../ok
++go build
++
++# Build a main program that actually uses LDFLAGS.
++cd ..
++go build -ldflags=-v
++
++# Because we passed -v the Go linker should print the external linker
++# command which should include the flag we passed in CGO_LDFLAGS.
++stderr no-such-warning
++
++-- go.mod --
++module ldflag
++
++-- bad/bad.go --
++package bad
++
++// #cgo LDFLAGS: -Wno-such-warning -Wno-unknown-warning
++import "C"
++
++func F() {}
++-- ok/ok.go --
++package ok
++
++import "C"
++
++func F() {}
++-- main.go --
++package main
++
++import _ "ldflag/ok"
++
++func main() {}
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.15.2.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.15.5.bb
similarity index 83%
rename from poky/meta/recipes-devtools/go/go-binary-native_1.15.2.bb
rename to poky/meta/recipes-devtools/go/go-binary-native_1.15.5.bb
index ccd2d5e..1fb11b0 100644
--- a/poky/meta/recipes-devtools/go/go-binary-native_1.15.2.bb
+++ b/poky/meta/recipes-devtools/go/go-binary-native_1.15.5.bb
@@ -8,8 +8,8 @@
PROVIDES = "go-native"
SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "b49fda1ca29a1946d6bb2a5a6982cf07ccd2aba849289508ee0f9918f6bb4552"
-SRC_URI[go_linux_arm64.sha256sum] = "c8ec460cc82d61604b048f9439c06bd591722efce5cd48f49e19b5f6226bd36d"
+SRC_URI[go_linux_amd64.sha256sum] = "9a58494e8da722c3aef248c9227b0e9c528c7318309827780f16220998180a0d"
+SRC_URI[go_linux_arm64.sha256sum] = "a72a0b036beb4193a0214bca3fca4c5d68a38a4ccf098c909f7ce8bf08567c48"
UPSTREAM_CHECK_URI = "https://golang.org/dl/"
UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.15.bb b/poky/meta/recipes-devtools/go/go-runtime_1.15.bb
index 4eeee65..d6ddb31 100644
--- a/poky/meta/recipes-devtools/go/go-runtime_1.15.bb
+++ b/poky/meta/recipes-devtools/go/go-runtime_1.15.bb
@@ -1,3 +1,4 @@
export CGO_ENABLED_riscv64 = ""
require go-${PV}.inc
require go-runtime.inc
+
diff --git a/poky/meta/recipes-devtools/go/go_1.15.bb b/poky/meta/recipes-devtools/go/go_1.15.bb
index 4bf9dd5..d4812c0 100644
--- a/poky/meta/recipes-devtools/go/go_1.15.bb
+++ b/poky/meta/recipes-devtools/go/go_1.15.bb
@@ -6,6 +6,8 @@
export GOBUILDMODE=""
export CGO_ENABLED_riscv64 = ""
export GO_LDSO = "${@get_linuxloader(d)}"
+export CC_FOR_TARGET = "gcc"
+export CXX_FOR_TARGET = "g++"
# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv and its
# variants.
@@ -13,3 +15,4 @@
if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv' in d.getVar('TARGET_ARCH',True):
d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel")
}
+
diff --git a/poky/meta/recipes-devtools/help2man/help2man_1.47.15.bb b/poky/meta/recipes-devtools/help2man/help2man_1.47.16.bb
similarity index 86%
rename from poky/meta/recipes-devtools/help2man/help2man_1.47.15.bb
rename to poky/meta/recipes-devtools/help2man/help2man_1.47.16.bb
index 6ab9f6c..27a15eb 100644
--- a/poky/meta/recipes-devtools/help2man/help2man_1.47.15.bb
+++ b/poky/meta/recipes-devtools/help2man/help2man_1.47.16.bb
@@ -4,7 +4,7 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "c25a35b30eceb315361484b0ff1f81c924e8ee5c8881576f1ee762f001dbcd1c"
+SRC_URI[sha256sum] = "3ef8580c5b86e32ca092ce8de43df204f5e6f714b0cd32bc6237e6cd0f34a8f4"
inherit autotools
diff --git a/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.1.bb b/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.2.bb
similarity index 90%
rename from poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.1.bb
rename to poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.2.bb
index c576117..7a53151 100644
--- a/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.1.bb
+++ b/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.2.bb
@@ -7,8 +7,7 @@
SRC_URI = "${KERNELORG_MIRROR}/software/utils/i2c-tools/${BP}.tar.gz \
"
-SRC_URI[md5sum] = "3536237a6b51fb10caacdc3b8a496237"
-SRC_URI[sha256sum] = "ef8f77afc70e7dbfd1171bfeae87a8a7f10074829370ce8d9ccd585a014e0073"
+SRC_URI[sha256sum] = "7de18ed890e111fa54ab7ea896804d5faa4d1f0462a258aad9fbb7a8cc6b60cc"
inherit update-alternatives
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.55.0.bb
similarity index 95%
rename from poky/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb
rename to poky/meta/recipes-devtools/libdnf/libdnf_0.55.0.bb
index 37991e6..07b3df4 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.55.0.bb
@@ -1,5 +1,5 @@
SUMMARY = "Library providing simplified C and Python API to libsolv"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \
@@ -11,7 +11,7 @@
file://enable_test_data_dir_set.patch \
"
-SRCREV = "46a28d0cf09277fffc11392e5e362a2eda0d53a8"
+SRCREV = "3f8981c9c5066e5243b695c904031b90f8d57d4a"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
index 138ff9d..4705890 100644
--- a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
+++ b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
@@ -1,4 +1,4 @@
-From fa6ebd96c7f330edcd74abf61584592eabb9e726 Mon Sep 17 00:00:00 2001
+From c61a3df892ba88d9f3f84c1844481457a04b051f Mon Sep 17 00:00:00 2001
From: Ed Bartosh <ed.bartosh@linux.intel.com>
Date: Tue, 13 Jun 2017 14:55:52 +0300
Subject: [PATCH] Disabled reading host configs.
@@ -12,10 +12,10 @@
1 file changed, 8 deletions(-)
diff --git a/config.c b/config.c
-index 265d494..15e64dd 100644
+index 46af755..5ed9114 100644
--- a/config.c
+++ b/config.c
-@@ -740,14 +740,6 @@ void read_config(void)
+@@ -737,14 +737,6 @@ void read_config(void)
memcpy(devices, const_devices,
nr_const_devices*sizeof(struct device));
diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.25.bb
similarity index 90%
rename from poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb
rename to poky/meta/recipes-devtools/mtools/mtools_4.0.25.bb
index f11cdad..bca33a2 100644
--- a/poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb
+++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.25.bb
@@ -24,8 +24,7 @@
glibc-gconv-ibm866 \
glibc-gconv-ibm869 \
"
-SRC_URI[md5sum] = "aeaf34406e9d28922b7c09a35ca5955e"
-SRC_URI[sha256sum] = "24f4a2da9219f98498eb1b340cd96db7ef9b684c067d1bdeb6e85efdd13b2fb9"
+SRC_URI[sha256sum] = "fd161eec3bb7a93d13936db67725ad3e17f2d5f4e6fa8f7667fbc7ac728e2c15"
SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
file://mtools-makeinfo.patch \
diff --git a/poky/meta/recipes-devtools/ninja/ninja_1.10.1.bb b/poky/meta/recipes-devtools/ninja/ninja_1.10.1.bb
index eefac41..ecb0566 100644
--- a/poky/meta/recipes-devtools/ninja/ninja_1.10.1.bb
+++ b/poky/meta/recipes-devtools/ninja/ninja_1.10.1.bb
@@ -1,5 +1,5 @@
SUMMARY = "Ninja is a small build system with a focus on speed."
-HOMEPAGE = "http://martine.github.com/ninja/"
+HOMEPAGE = "https://ninja-build.org/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e"
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-correctly-match-priority.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-correctly-match-priority.patch
new file mode 100644
index 0000000..556d4ce
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-correctly-match-priority.patch
@@ -0,0 +1,28 @@
+From 26206005dacd61380663bb4fd9b18178bb33665b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sat, 24 Oct 2020 21:59:27 +0200
+Subject: [PATCH] update-alternatives: correctly match priority
+
+It should always be at the end of string, otherwise something
+like "/usr/bin/python3.9-config 123" will erroneously match
+against priority 9.
+
+Upstream-Status: Submitted
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ update-alternatives | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/update-alternatives b/update-alternatives
+index 1389b3f..e0b31bf 100644
+--- a/update-alternatives
++++ b/update-alternatives
+@@ -94,7 +94,7 @@ add_alt() {
+ local path="$2"
+ local priority="$3"
+ remove_alt $name $path
+- if grep -qw "$priority" $ad/$name; then
++ if grep -qw "$priority"$ $ad/$name; then
+ echo "Warn: update-alternatives: $name has multiple providers with the same priority, please check $ad/$name for details"
+ fi
+ echo "$path $priority" >> $ad/$name
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb
index f9df58a..ce299d6 100644
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb
@@ -7,8 +7,9 @@
file://opkg.py;beginline=2;endline=18;md5=ffa11ff3c15eb31c6a7ceaa00cc9f986"
PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}"
-SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \
-"
+SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \
+ file://0001-update-alternatives-correctly-match-priority.patch \
+ "
UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/"
SRC_URI[md5sum] = "7bbadb3c381f3ea935b21d3bb8cc4671"
diff --git a/poky/meta/recipes-devtools/orc/orc_0.4.31.bb b/poky/meta/recipes-devtools/orc/orc_0.4.32.bb
similarity index 85%
rename from poky/meta/recipes-devtools/orc/orc_0.4.31.bb
rename to poky/meta/recipes-devtools/orc/orc_0.4.32.bb
index cd4dc31..a55b43b 100644
--- a/poky/meta/recipes-devtools/orc/orc_0.4.31.bb
+++ b/poky/meta/recipes-devtools/orc/orc_0.4.32.bb
@@ -4,8 +4,7 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=1400bd9d09e8af56b9ec982b3d85797e"
SRC_URI = "http://gstreamer.freedesktop.org/src/orc/orc-${PV}.tar.xz"
-SRC_URI[md5sum] = "b6b95a47eff713e91873e2c2b1a5b3ad"
-SRC_URI[sha256sum] = "a0ab5f10a6a9ae7c3a6b4218246564c3bf00d657cbdf587e6d34ec3ef0616075"
+SRC_URI[sha256sum] = "a66e3d8f2b7e65178d786a01ef61f2a0a0b4d0b8370de7ce134ba73da4af18f0"
inherit meson pkgconfig gtk-doc
diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-core-Define-RISCV-32-support.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-core-Define-RISCV-32-support.patch
new file mode 100644
index 0000000..b60ca1d
--- /dev/null
+++ b/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-core-Define-RISCV-32-support.patch
@@ -0,0 +1,56 @@
+From dbcf296f84e5cef6a3ff0f1c469a4508f1e0fb15 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 15 Nov 2020 15:32:39 -0800
+Subject: [PATCH] numpy/core: Define RISCV-32 support
+
+Helps compile on riscv32
+
+Upstream-Status: Submitted [https://github.com/numpy/numpy/pull/17780]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ numpy/core/include/numpy/npy_cpu.h | 9 +++++++--
+ numpy/core/include/numpy/npy_endian.h | 1 +
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h
+index 4dbf9d84e..bc41a7eda 100644
+--- a/numpy/core/include/numpy/npy_cpu.h
++++ b/numpy/core/include/numpy/npy_cpu.h
+@@ -18,6 +18,7 @@
+ * NPY_CPU_ARCEL
+ * NPY_CPU_ARCEB
+ * NPY_CPU_RISCV64
++ * NPY_CPU_RISCV32
+ * NPY_CPU_WASM
+ */
+ #ifndef _NPY_CPUARCH_H_
+@@ -100,8 +101,12 @@
+ #define NPY_CPU_ARCEL
+ #elif defined(__arc__) && defined(__BIG_ENDIAN__)
+ #define NPY_CPU_ARCEB
+-#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
+- #define NPY_CPU_RISCV64
++#elif defined(__riscv)
++ #if __riscv_xlen == 64
++ #define NPY_CPU_RISCV64
++ #elif __riscv_xlen == 32
++ #define NPY_CPU_RISCV32
++ #endif
+ #elif defined(__EMSCRIPTEN__)
+ /* __EMSCRIPTEN__ is defined by emscripten: an LLVM-to-Web compiler */
+ #define NPY_CPU_WASM
+diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h
+index aa367a002..d59484573 100644
+--- a/numpy/core/include/numpy/npy_endian.h
++++ b/numpy/core/include/numpy/npy_endian.h
+@@ -49,6 +49,7 @@
+ || defined(NPY_CPU_PPC64LE) \
+ || defined(NPY_CPU_ARCEL) \
+ || defined(NPY_CPU_RISCV64) \
++ || defined(NPY_CPU_RISCV32) \
+ || defined(NPY_CPU_WASM)
+ #define NPY_BYTE_ORDER NPY_LITTLE_ENDIAN
+ #elif defined(NPY_CPU_PPC) \
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/python-numpy/files/run-ptest b/poky/meta/recipes-devtools/python-numpy/files/run-ptest
new file mode 100644
index 0000000..9a1c72a
--- /dev/null
+++ b/poky/meta/recipes-devtools/python-numpy/files/run-ptest
@@ -0,0 +1,5 @@
+#!/usr/bin/env python3
+
+import numpy
+numpy.test(label='full', verbose=2)
+
diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.1.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.1.bb
deleted file mode 100644
index d388e88..0000000
--- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.1.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit setuptools3
-require python-numpy.inc
-
diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.4.bb
similarity index 74%
rename from poky/meta/recipes-devtools/python-numpy/python-numpy.inc
rename to poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.4.bb
index 0113f40..2bfc913 100644
--- a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
+++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.19.4.bb
@@ -1,20 +1,24 @@
SUMMARY = "A sophisticated Numeric Processing Package for Python"
SECTION = "devel/python"
LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=643d4e90100b7abe468c4db88127b895"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e527e2a94c4584cd192d03ffb1f4a744"
SRCNAME = "numpy"
SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \
file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \
- "
-SRC_URI[sha256sum] = "1396e6c3d20cbfc119195303b0272e749610b7042cc498be4134f013e9a3215c"
+ file://0001-numpy-core-Define-RISCV-32-support.patch \
+ file://run-ptest \
+"
+SRC_URI[sha256sum] = "fe836a685d6838dbb3f603caef01183ea98e88febf4ce956a2ea484a75378413"
UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
DEPENDS += "python3-cython-native"
+inherit ptest setuptools3
+
S = "${WORKDIR}/numpy-${PV}"
CLEANBROKEN = "1"
@@ -27,7 +31,6 @@
${PYTHON_PN}-pprint \
${PYTHON_PN}-pickle \
${PYTHON_PN}-shell \
- ${PYTHON_PN}-nose \
${PYTHON_PN}-doctest \
${PYTHON_PN}-datetime \
${PYTHON_PN}-distutils \
@@ -43,6 +46,12 @@
${PYTHON_PN}-threading \
${PYTHON_PN}-multiprocessing \
"
+RDEPENDS_${PN}-ptest += "${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-hypothesis \
+ ${PYTHON_PN}-sortedcontainers \
+ ${PYTHON_PN}-resource \
+ ldd \
+"
RDEPENDS_${PN}_class-native = ""
diff --git a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index ee0a9db..99c50e9 100644
--- a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From 6a5086619ee1c4bcebc7df622face11de6679255 Mon Sep 17 00:00:00 2001
+From d2633b49275b20e7acf724567fe0189aab25771e Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 17 Jul 2018 10:13:38 +0800
Subject: [PATCH] conditionally do not fetch code by easy_install
@@ -15,11 +15,11 @@
1 file changed, 5 insertions(+)
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
-index bcbd4f5..6455afd 100644
+index 9ec83b7..7e97a07 100644
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
-@@ -653,6 +653,11 @@ class easy_install(Command):
- os.path.exists(tmpdir) and rmtree(rmtree_safe(tmpdir))
+@@ -636,6 +636,11 @@ class easy_install(Command):
+ os.path.exists(tmpdir) and rmtree(tmpdir)
def easy_install(self, spec, deps=False):
+ if os.environ.get('NO_FETCH_BUILD', None):
diff --git a/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest b/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest
new file mode 100644
index 0000000..b63c4de
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb b/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb
new file mode 100644
index 0000000..7edd410
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Powerful Python library for atomic file writes"
+HOMEPAGE = "https://github.com/untitaker/python-atomicwrites"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=91cc36cfafeefb7863673bcfcb1d4da4"
+
+SRC_URI[md5sum] = "b5cc15c8f9f180a48665f9aacf91d817"
+SRC_URI[sha256sum] = "ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-unixadmin \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+RDEPENDS_${PN} = "${PYTHON_PN}-misc"
diff --git a/poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb b/poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb
new file mode 100644
index 0000000..55cfda7
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Classes Without Boilerplate"
+HOMEPAGE = "http://www.attrs.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff"
+
+SRC_URI[sha256sum] = "832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"
+SRC_URI[md5sum] = "4fe38f89297b2b446d83190fce189f29"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-ctypes \
+"
+RDEPENDS_${PN}_class-nativesdk += " \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-ctypes \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.7.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.11.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-git_3.1.7.bb
rename to poky/meta/recipes-devtools/python/python3-git_3.1.11.bb
index 6d1fc4b..7c63657 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.1.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.11.bb
@@ -12,7 +12,7 @@
inherit pypi setuptools3
-SRC_URI[sha256sum] = "2db287d71a284e22e5c2846042d0602465c7434d910406990d5b74df4afb0858"
+SRC_URI[sha256sum] = "befa4d101f91bad1b632df4308ec64555db684c360bd7d2130b4807d49ce86b8"
DEPENDS += " ${PYTHON_PN}-gitdb"
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_5.41.4.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_5.41.4.bb
new file mode 100644
index 0000000..416acc8
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_5.41.4.bb
@@ -0,0 +1,14 @@
+SUMMARY = "A library for property-based testing"
+HOMEPAGE = "https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4ee62c16ebd0f4f99d906f36b7de8c3c"
+
+PYPI_PACKAGE = "hypothesis"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "7ef22dd2ae4a906ef1e237dcd6806aa7f97e30c37f924a0e6d595f4639350b53"
+
+RDEPENDS_${PN} += "python3-core"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_3.1.0.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_3.1.0.bb
new file mode 100644
index 0000000..d89621b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_3.1.0.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Read metadata from Python packages"
+HOMEPAGE = "https://pypi.org/project/importlib-metadata/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e"
+
+inherit pypi setuptools3
+
+SRC_URI = "https://files.pythonhosted.org/packages/7d/d4/dbc58eed92be61bae65a7d80a7604d35bf6ded3e3c53c14f2d45b4a28831/importlib_metadata-3.1.0.tar.gz"
+SRC_URI[sha256sum] = "d9b8a46a0885337627a6430db287176970fff18ad421becec1d64cfc763c2099"
+
+S = "${WORKDIR}/importlib_metadata-${PV}"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+RDEPENDS_${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2"
+RDEPENDS_${PN}_append_class-target = " python3-misc"
+RDEPENDS_${PN}_append_class-nativesdk = " python3-misc"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb b/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb
new file mode 100644
index 0000000..af4291b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A small and simple INI-file parser module"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
+
+SRC_URI[md5sum] = "0b7f3be87481211c183eae095bcea6f1"
+SRC_URI[sha256sum] = "bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"
+
+inherit pypi setuptools3
diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest b/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest
new file mode 100644
index 0000000..3385d68
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_8.6.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_8.6.0.bb
new file mode 100644
index 0000000..ee5ce7b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-more-itertools_8.6.0.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "More routines for operating on iterables, beyond itertools"
+HOMEPAGE = "https://github.com/erikrose/more-itertools"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5"
+
+SRC_URI[sha256sum] = "b3a9005928e5bed54076e6e549c792b306fddfe72b2d1d22dd63d42d5d3899cf"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-packaging_20.4.bb b/poky/meta/recipes-devtools/python/python3-packaging_20.4.bb
new file mode 100644
index 0000000..c75707e
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-packaging_20.4.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Core utilities for Python packages"
+HOMEPAGE = "https://github.com/pypa/packaging"
+LICENSE = "Apache-2.0 & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91"
+
+SRC_URI[md5sum] = "3208229da731c5d8e29d4d8941e75005"
+SRC_URI[sha256sum] = "4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+RDEPENDS_${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-pyparsing"
diff --git a/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.5.bb b/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.5.bb
new file mode 100644
index 0000000..a022701
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pathlib2_2.3.5.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Object-oriented filesystem paths"
+HOMEPAGE = "https://github.com/mcmtroffaes/pathlib2"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=042856c23a3e903b33bf361ea1cbe29a"
+
+SRC_URI[md5sum] = "f2bd0a363eb0f8fa0556f35c1d9e66fb"
+SRC_URI[sha256sum] = "6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-ctypes"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest b/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest
new file mode 100644
index 0000000..b63c4de
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/poky/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb b/poky/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb
new file mode 100644
index 0000000..d3e0365
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Plugin and hook calling mechanisms for python"
+HOMEPAGE = "https://github.com/pytest-dev/pluggy"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2"
+
+SRC_URI[md5sum] = "7f610e28b8b34487336b585a3dfb803d"
+SRC_URI[sha256sum] = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+RDEPENDS_${PN} += "${PYTHON_PN}-importlib-metadata \
+ ${PYTHON_PN}-more-itertools \
+"
+
+inherit pypi ptest setuptools3
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/testing
+ cp -rf ${S}/testing/* ${D}${PTEST_PATH}/testing/
+}
diff --git a/poky/meta/recipes-devtools/python/python3-py_1.9.0.bb b/poky/meta/recipes-devtools/python/python3-py_1.9.0.bb
new file mode 100644
index 0000000..794ec2a
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-py_1.9.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Library with cross-python path, ini-parsing, io, code, log facilities"
+HOMEPAGE = "http://py.readthedocs.io/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
+
+SRC_URI[md5sum] = "b80db4e61eef724f49feb4d20b649e62"
+SRC_URI[sha256sum] = "9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-netclient"
diff --git a/poky/meta/recipes-devtools/python/python3-pycairo_1.19.1.bb b/poky/meta/recipes-devtools/python/python3-pycairo_1.20.0.bb
similarity index 80%
rename from poky/meta/recipes-devtools/python/python3-pycairo_1.19.1.bb
rename to poky/meta/recipes-devtools/python/python3-pycairo_1.20.0.bb
index 34c8543..8987b7a 100644
--- a/poky/meta/recipes-devtools/python/python3-pycairo_1.19.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pycairo_1.20.0.bb
@@ -13,12 +13,12 @@
SRC_URI = "https://github.com/pygobject/pycairo/releases/download/v${PV}/pycairo-${PV}.tar.gz"
UPSTREAM_CHECK_URI = "https://github.com/pygobject/pycairo/releases/"
-SRC_URI[md5sum] = "59bc5c5d1debc3af0f6791af9d612551"
-SRC_URI[sha256sum] = "2c143183280feb67f5beb4e543fd49990c28e7df427301ede04fc550d3562e84"
+SRC_URI[md5sum] = "a1f9b661a0000c2f42281db933284451"
+SRC_URI[sha256sum] = "5695a10cb7f9ae0d01f665b56602a845b0a8cb17e2123bfece10c2e58552468c"
S = "${WORKDIR}/pycairo-${PV}"
-inherit meson pkgconfig
+inherit meson pkgconfig python3targetconfig
CFLAGS += "-fPIC"
diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.8.bb b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.8.bb
deleted file mode 100644
index 46e1220..0000000
--- a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.8.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require python-pycryptodome.inc
-inherit setuptools3
-
-SRC_URI[sha256sum] = "0e24171cf01021bc5dc17d6a9d4f33a048f09d62cc3f62541e95ef104588bda4"
-
diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.9.bb b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.9.bb
new file mode 100644
index 0000000..1e84ce4
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.9.bb
@@ -0,0 +1,5 @@
+require python-pycryptodome.inc
+inherit setuptools3
+
+SRC_URI[sha256sum] = "910e202a557e1131b1c1b3f17a63914d57aac55cf9fb9b51644962841c3995c4"
+
diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.8.bb b/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.9.bb
similarity index 69%
rename from poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.8.bb
rename to poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.9.bb
index 035c7fa..abff71e 100644
--- a/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.8.bb
+++ b/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.9.bb
@@ -1,7 +1,7 @@
require python-pycryptodome.inc
inherit setuptools3
-SRC_URI[sha256sum] = "48cc2cfc251f04a6142badeb666d1ff49ca6fdfc303fd72579f62b768aaa52b9"
+SRC_URI[sha256sum] = "7b5b7c5896f8172ea0beb283f7f9428e0ab88ec248ce0a5b8c98d73e26267d51"
FILES_${PN}-tests = " \
${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/ \
diff --git a/poky/meta/recipes-devtools/python/python3-pyelftools_0.26.bb b/poky/meta/recipes-devtools/python/python3-pyelftools_0.27.bb
similarity index 71%
rename from poky/meta/recipes-devtools/python/python3-pyelftools_0.26.bb
rename to poky/meta/recipes-devtools/python/python3-pyelftools_0.27.bb
index 575dfc4..0cfd995 100644
--- a/poky/meta/recipes-devtools/python/python3-pyelftools_0.26.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyelftools_0.27.bb
@@ -4,8 +4,7 @@
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5ce2a2b07fca326bc7c146d10105ccfc"
-SRC_URI[md5sum] = "0ba0de4b47127249c4d632ae299cb0e8"
-SRC_URI[sha256sum] = "86ac6cee19f6c945e8dedf78c6ee74f1112bd14da5a658d8c9d4103aed5756a2"
+SRC_URI[sha256sum] = "cde854e662774c5457d688ca41615f6594187ba7067af101232df889a6b7a66b"
PYPI_PACKAGE = "pyelftools"
diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.6.1.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.7.2.bb
similarity index 62%
rename from poky/meta/recipes-devtools/python/python3-pygments_2.6.1.bb
rename to poky/meta/recipes-devtools/python/python3-pygments_2.7.2.bb
index bffef59..00e5dc6 100644
--- a/poky/meta/recipes-devtools/python/python3-pygments_2.6.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygments_2.7.2.bb
@@ -2,11 +2,10 @@
DESCRIPTION = "Pygments is a syntax highlighting package written in Python."
HOMEPAGE = "http://pygments.org/"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e1d7b7bffbfeaa14083fd2bd3236aea8"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1f5d0c4cf38dfc8122c00d6f1a97a0cc"
inherit setuptools3
-SRC_URI[md5sum] = "a48c5219de92f12c41acba814730b31a"
-SRC_URI[sha256sum] = "647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44"
+SRC_URI[sha256sum] = "381985fcc551eb9d37c52088a32914e00517e57f4a21609f48141ba08e193fa0"
DEPENDS += "\
${PYTHON_PN} \
diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.36.1.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb
similarity index 78%
rename from poky/meta/recipes-devtools/python/python3-pygobject_3.36.1.bb
rename to poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb
index 0a34d43..b442705 100644
--- a/poky/meta/recipes-devtools/python/python3-pygobject_3.36.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb
@@ -14,8 +14,7 @@
http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
file://0001-Do-not-build-tests.patch \
"
-SRC_URI[md5sum] = "ebfebc4533856572281add29f08412bf"
-SRC_URI[sha256sum] = "d1bf42802d1cec113b5adaa0e7bf7f3745b44521dc2163588d276d5cd61d718f"
+SRC_URI[sha256sum] = "0372d1bb9122fc19f500a249b1f38c2bb67485000f5887497b4b205b3e7084d5"
UNKNOWN_CONFIGURE_WHITELIST = "introspection"
@@ -27,7 +26,7 @@
# python3-pycairo is checked on configuration -> DEPENDS
# we don't link against python3-pycairo -> RDEPENDS
-PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python3-pycairo, python3-pycairo"
+PACKAGECONFIG[cairo] = "-Dpycairo=enabled,-Dpycairo=disabled, cairo python3-pycairo, python3-pycairo"
BBCLASSEXTEND = "native"
PACKAGECONFIG_class-native = ""
diff --git a/poky/meta/recipes-devtools/python/python3-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch b/poky/meta/recipes-devtools/python/python3-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
new file mode 100644
index 0000000..8c5c172
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
@@ -0,0 +1,39 @@
+From ff784f4803ab33f5e3389e40d038d52d1e211843 Mon Sep 17 00:00:00 2001
+From: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
+Date: Wed, 28 Aug 2019 16:12:27 +0900
+Subject: [PATCH] [PATCH] setup.py: remove the setup_requires for
+ setuptools-scm
+
+The setup_requires argument forces the download of the egg file for setuptools-scm
+during the do_compile phase. This download is incompatible with the typical fetch
+and mirror structure. The only usage of scm is the generation of the _version.py
+file and in the release tarball it is already correctly created
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Derek Straka <derek@asterius.io>
+
+Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
+
+Rebase for pytest 6.1.0.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ setup.cfg | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/setup.cfg b/setup.cfg
+index 60f6564..c4d1471 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -55,7 +55,6 @@ package_dir =
+ =src
+ setup_requires =
+ setuptools>=40.0
+- setuptools-scm
+ zip_safe = no
+
+ [options.entry_points]
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/python/python3-pytest_6.1.2.bb b/poky/meta/recipes-devtools/python/python3-pytest_6.1.2.bb
new file mode 100644
index 0000000..6fc3b6f
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pytest_6.1.2.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Simple powerful testing with python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=81eb9f71d006c6b268cf4388e3c98f7b"
+
+SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch "
+
+SRC_URI[sha256sum] = "c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e"
+
+inherit update-alternatives pypi setuptools3
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-atomicwrites \
+ ${PYTHON_PN}-attrs \
+ ${PYTHON_PN}-debugger \
+ ${PYTHON_PN}-doctest \
+ ${PYTHON_PN}-importlib-metadata \
+ ${PYTHON_PN}-iniconfig \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-more-itertools \
+ ${PYTHON_PN}-packaging \
+ ${PYTHON_PN}-pathlib2 \
+ ${PYTHON_PN}-pluggy \
+ ${PYTHON_PN}-py \
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-toml \
+ ${PYTHON_PN}-wcwidth \
+"
+
+ALTERNATIVE_${PN} += "py.test pytest"
+
+NATIVE_LINK_NAME[pytest] = "${bindir}/pytest"
+ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest"
+
+ALTERNATIVE_LINK_NAME[py.test] = "${bindir}/py.test"
+ALTERNATIVE_TARGET[py.test] = "${bindir}/py.test"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-scm_4.1.2.bb b/poky/meta/recipes-devtools/python/python3-setuptools-scm_4.1.2.bb
new file mode 100644
index 0000000..4ebbac6
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-setuptools-scm_4.1.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "the blessed package to manage your versions by scm tags"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+
+SRC_URI[md5sum] = "e6c9fad17c90516d640868eb833d5150"
+SRC_URI[sha256sum] = "a8994582e716ec690f33fec70cca0f85bd23ec974e3f783233e4879090a7faa8"
+
+PYPI_PACKAGE = "setuptools_scm"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-debugger \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-py \
+ ${PYTHON_PN}-setuptools \
+"
+RDEPENDS_${PN}_class-native = "\
+ ${PYTHON_PN}-setuptools-native \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_49.6.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_50.3.2.bb
similarity index 95%
rename from poky/meta/recipes-devtools/python/python3-setuptools_49.6.0.bb
rename to poky/meta/recipes-devtools/python/python3-setuptools_50.3.2.bb
index 360128b..4480d56 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_49.6.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_50.3.2.bb
@@ -12,7 +12,7 @@
SRC_URI += "file://0001-change-shebang-to-python3.patch"
-SRC_URI[sha256sum] = "46bd862894ed22c2edff033c758c2dc026324788d758e96788e8f7c11f4e9707"
+SRC_URI[sha256sum] = "ed0519d27a243843b05d82a5e9d01b0b083d9934eaa3d02779a23da18077bd3c"
DEPENDS += "${PYTHON_PN}"
diff --git a/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb b/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb
new file mode 100644
index 0000000..6060c03
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Sorted Containers is an Apache2 licensed sorted collections library, written in pure-Python, and fast as C-extensions."
+HOMEPAGE = "http://www.grantjenks.com/docs/sortedcontainers/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7c7c6a1a12ec816da16c1839137d53ae"
+
+inherit pypi setuptools3
+SRC_URI[sha256sum] = "59cc937650cf60d677c16775597c89a960658a09cf7c1a668f86e1e4464b10a1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-toml_0.10.2.bb b/poky/meta/recipes-devtools/python/python3-toml_0.10.2.bb
new file mode 100644
index 0000000..b46eba6
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-toml_0.10.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Python Library for Tom's Obvious, Minimal Language"
+HOMEPAGE = "https://github.com/uiri/toml"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=16c77b2b1050d2f03cb9c2ed0edaf4f0"
+
+SRC_URI[sha256sum] = "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-misc \
+"
diff --git a/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest b/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest
new file mode 100644
index 0000000..b63c4de
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb
new file mode 100644
index 0000000..bb4aae2
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Library for building powerful interactive command lines in Python"
+DESCRIPTION = "Measures the displayed width of unicode strings in a terminal"
+HOMEPAGE = "https://github.com/jquast/wcwidth"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b15979c39a2543892fca8cd86b4b52cb"
+
+SRC_URI[md5sum] = "a07a75f99d316e14838ac760c831ea37"
+SRC_URI[sha256sum] = "c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-zipp_3.4.0.bb b/poky/meta/recipes-devtools/python/python3-zipp_3.4.0.bb
new file mode 100644
index 0000000..97523e8
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-zipp_3.4.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Backport of pathlib-compatible object wrapper for zip files"
+HOMEPAGE = "https://github.com/jaraco/zipp"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6"
+
+SRC_URI[md5sum] = "ae81f228995578b840d76d1b7d87fede"
+SRC_URI[sha256sum] = "ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+inherit pypi setuptools3
+
+DEPENDS += "${PYTHON_PN}-toml-native"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-compression \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-more-itertools"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch b/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch
deleted file mode 100644
index 112c979..0000000
--- a/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-From a078b6ff1492e848ad1055764fb9a414abaf3e12 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 5 Feb 2019 15:52:02 +0100
-Subject: [PATCH] Do not hardcode "lib" as location for modules, site-packages
- and lib-dynload
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- Include/pythonrun.h | 2 ++
- Lib/site.py | 4 ++--
- Makefile.pre.in | 5 +++--
- Modules/getpath.c | 22 ++++++++++++++--------
- Python/getplatform.c | 10 ++++++++++
- Python/sysmodule.c | 2 ++
- 6 files changed, 33 insertions(+), 12 deletions(-)
-
-diff --git a/Include/pythonrun.h b/Include/pythonrun.h
-index 46091e0..61b2e15 100644
---- a/Include/pythonrun.h
-+++ b/Include/pythonrun.h
-@@ -7,6 +7,8 @@
- extern "C" {
- #endif
-
-+PyAPI_FUNC(const char *) Py_GetLib(void);
-+
- #ifndef Py_LIMITED_API
- PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *);
- PyAPI_FUNC(int) PyRun_AnyFileExFlags(
-diff --git a/Lib/site.py b/Lib/site.py
-index a065ab0..1d720ef 100644
---- a/Lib/site.py
-+++ b/Lib/site.py
-@@ -335,12 +335,12 @@ def getsitepackages(prefixes=None):
- seen.add(prefix)
-
- if os.sep == '/':
-- sitepackages.append(os.path.join(prefix, "lib",
-+ sitepackages.append(os.path.join(prefix, sys.lib,
- "python%d.%d" % sys.version_info[:2],
- "site-packages"))
- else:
- sitepackages.append(prefix)
-- sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
-+ sitepackages.append(os.path.join(prefix, sys.lib, "site-packages"))
- return sitepackages
-
- def addsitepackages(known_paths, prefixes=None):
-diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 65665df..be49140 100644
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -143,7 +143,7 @@ LIBDIR= @libdir@
- MANDIR= @mandir@
- INCLUDEDIR= @includedir@
- CONFINCLUDEDIR= $(exec_prefix)/include
--SCRIPTDIR= $(prefix)/lib
-+SCRIPTDIR= @libdir@
- ABIFLAGS= @ABIFLAGS@
-
- # Detailed destination directories
-@@ -753,6 +753,7 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
- -DEXEC_PREFIX='"$(exec_prefix)"' \
- -DVERSION='"$(VERSION)"' \
- -DVPATH='"$(VPATH)"' \
-+ -DLIB='"$(LIB)"' \
- -o $@ $(srcdir)/Modules/getpath.c
-
- Programs/python.o: $(srcdir)/Programs/python.c
-@@ -868,7 +869,7 @@ regen-symbol: $(srcdir)/Include/graminit.h
- Python/compile.o Python/symtable.o Python/ast_unparse.o Python/ast.o Python/future.o Parser/parsetok.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h
-
- Python/getplatform.o: $(srcdir)/Python/getplatform.c
-- $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
-+ $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c
-
- Python/importdl.o: $(srcdir)/Python/importdl.c
- $(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
-diff --git a/Modules/getpath.c b/Modules/getpath.c
-index b727f66..c003e46 100644
---- a/Modules/getpath.c
-+++ b/Modules/getpath.c
-@@ -128,6 +128,7 @@ typedef struct {
- wchar_t *exec_prefix; /* EXEC_PREFIX macro */
-
- wchar_t *lib_python; /* "lib/pythonX.Y" */
-+ wchar_t *multilib_python; /* "lib[suffix]/pythonX.Y" */
-
- int prefix_found; /* found platform independent libraries? */
- int exec_prefix_found; /* found the platform dependent libraries? */
-@@ -386,7 +387,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
- if (delim) {
- *delim = L'\0';
- }
-- status = joinpath(prefix, calculate->lib_python, prefix_len);
-+ status = joinpath(prefix, calculate->multilib_python, prefix_len);
- if (_PyStatus_EXCEPTION(status)) {
- return status;
- }
-@@ -444,7 +445,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
- do {
- /* Path: <argv0_path or substring> / <lib_python> / LANDMARK */
- size_t n = wcslen(prefix);
-- status = joinpath(prefix, calculate->lib_python, prefix_len);
-+ status = joinpath(prefix, calculate->multilib_python, prefix_len);
- if (_PyStatus_EXCEPTION(status)) {
- return status;
- }
-@@ -467,7 +468,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
- if (safe_wcscpy(prefix, calculate->prefix, prefix_len) < 0) {
- return PATHLEN_ERR();
- }
-- status = joinpath(prefix, calculate->lib_python, prefix_len);
-+ status = joinpath(prefix, calculate->multilib_python, prefix_len);
- if (_PyStatus_EXCEPTION(status)) {
- return status;
- }
-@@ -510,7 +511,7 @@ calculate_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
- if (safe_wcscpy(prefix, calculate->prefix, prefix_len) < 0) {
- return PATHLEN_ERR();
- }
-- status = joinpath(prefix, calculate->lib_python, prefix_len);
-+ status = joinpath(prefix, calculate->multilib_python, prefix_len);
- if (_PyStatus_EXCEPTION(status)) {
- return status;
- }
-@@ -635,7 +636,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
- return PATHLEN_ERR();
- }
- }
-- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len);
-+ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len);
- if (_PyStatus_EXCEPTION(status)) {
- return status;
- }
-@@ -667,7 +668,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
- do {
- /* Path: <argv0_path or substring> / <lib_python> / "lib-dynload" */
- size_t n = wcslen(exec_prefix);
-- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len);
-+ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len);
- if (_PyStatus_EXCEPTION(status)) {
- return status;
- }
-@@ -689,7 +690,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
- if (safe_wcscpy(exec_prefix, calculate->exec_prefix, exec_prefix_len) < 0) {
- return PATHLEN_ERR();
- }
-- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len);
-+ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len);
- if (_PyStatus_EXCEPTION(status)) {
- return status;
- }
-@@ -928,7 +929,7 @@ calculate_argv0_path(PyCalculatePath *calculate, const wchar_t *program_full_pat
- return PATHLEN_ERR();
- }
- reduce(argv0_path);
-- status = joinpath(argv0_path, calculate->lib_python, argv0_path_len);
-+ status = joinpath(argv0_path, calculate->multilib_python, argv0_path_len);
- if (_PyStatus_EXCEPTION(status)) {
- PyMem_RawFree(wbuf);
- return status;
-@@ -1201,6 +1202,10 @@ calculate_init(PyCalculatePath *calculate, const PyConfig *config)
- if (!calculate->lib_python) {
- return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
- }
-+ calculate->multilib_python = Py_DecodeLocale(LIB "/python" VERSION, &len);
-+ if (!calculate->multilib_python) {
-+ return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
-+ }
-
- calculate->warnings = config->pathconfig_warnings;
- calculate->pythonpath_env = config->pythonpath_env;
-@@ -1216,6 +1221,7 @@ calculate_free(PyCalculatePath *calculate)
- PyMem_RawFree(calculate->prefix);
- PyMem_RawFree(calculate->exec_prefix);
- PyMem_RawFree(calculate->lib_python);
-+ PyMem_RawFree(calculate->multilib_python);
- PyMem_RawFree(calculate->path_env);
- }
-
-diff --git a/Python/getplatform.c b/Python/getplatform.c
-index 81a0f7a..d55396b 100644
---- a/Python/getplatform.c
-+++ b/Python/getplatform.c
-@@ -10,3 +10,13 @@ Py_GetPlatform(void)
- {
- return PLATFORM;
- }
-+
-+#ifndef LIB
-+#define LIB "lib"
-+#endif
-+
-+const char *
-+Py_GetLib(void)
-+{
-+ return LIB;
-+}
-diff --git a/Python/sysmodule.c b/Python/sysmodule.c
-index 5b0fb81..0dce754 100644
---- a/Python/sysmodule.c
-+++ b/Python/sysmodule.c
-@@ -2668,6 +2668,8 @@ _PySys_InitCore(_PyRuntimeState *runtime, PyInterpreterState *interp,
- PyUnicode_FromString(Py_GetCopyright()));
- SET_SYS_FROM_STRING("platform",
- PyUnicode_FromString(Py_GetPlatform()));
-+ SET_SYS_FROM_STRING("lib",
-+ PyUnicode_FromString(Py_GetLib()));
- SET_SYS_FROM_STRING("maxsize",
- PyLong_FromSsize_t(PY_SSIZE_T_MAX));
- SET_SYS_FROM_STRING("float_info",
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch b/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
index 3e471b9..a94fa0a 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
@@ -1,4 +1,4 @@
-From b880e78bf4a1852e260188e6df3ec6034403d2fc Mon Sep 17 00:00:00 2001
+From 9da913bf5f39c6fe737219af7419170574d6fbfb Mon Sep 17 00:00:00 2001
From: Jeremy Puhlman <jpuhlman@mvista.com>
Date: Wed, 4 Mar 2020 00:06:42 +0000
Subject: [PATCH] Don't search system for headers/libraries
@@ -11,7 +11,7 @@
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/setup.py b/setup.py
-index 7208cd0..c0bd0ad 100644
+index a0bf9ea..da099bf 100644
--- a/setup.py
+++ b/setup.py
@@ -674,8 +674,8 @@ class PyBuildExt(build_ext):
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch
deleted file mode 100644
index b975836..0000000
--- a/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a21f4f8fa5e5c0601898740b4ac08ec84f41e190 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 18 Apr 2019 17:11:06 +0200
-Subject: [PATCH] Lib/sysconfig.py: fix another place where 'lib' is hardcoded
- as the library path
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- Lib/sysconfig.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
-index d15cec8..87fa5e6 100644
---- a/Lib/sysconfig.py
-+++ b/Lib/sysconfig.py
-@@ -20,10 +20,10 @@ __all__ = [
-
- _INSTALL_SCHEMES = {
- 'posix_prefix': {
-- 'stdlib': '{installed_base}/lib/python{py_version_short}',
-- 'platstdlib': '{platbase}/lib/python{py_version_short}',
-- 'purelib': '{base}/lib/python{py_version_short}/site-packages',
-- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
-+ 'stdlib': '{LIBDEST}',
-+ 'platstdlib': '{LIBDEST}',
-+ 'purelib': '{LIBDEST}/site-packages',
-+ 'platlib': '{LIBDEST}/site-packages',
- 'include':
- '{installed_base}/include/python{py_version_short}{abiflags}',
- 'platinclude':
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch
new file mode 100644
index 0000000..1490cdb
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch
@@ -0,0 +1,35 @@
+From deeedd1b8799294ab276ab7dbbfdb59c1dacc9a2 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 22 Oct 2020 13:10:34 +0200
+Subject: [PATCH] Lib/sysconfig.py: use libdir values from configuration file
+
+This allows correctly substituting them for target installs using
+native python.
+
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Lib/sysconfig.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
+index bf04ac5..ed0462b 100644
+--- a/Lib/sysconfig.py
++++ b/Lib/sysconfig.py
+@@ -20,10 +20,10 @@ __all__ = [
+
+ _INSTALL_SCHEMES = {
+ 'posix_prefix': {
+- 'stdlib': '{installed_base}/{platlibdir}/python{py_version_short}',
+- 'platstdlib': '{platbase}/{platlibdir}/python{py_version_short}',
+- 'purelib': '{base}/lib/python{py_version_short}/site-packages',
+- 'platlib': '{platbase}/{platlibdir}/python{py_version_short}/site-packages',
++ 'stdlib': '{LIBDEST}',
++ 'platstdlib': '{LIBDEST}',
++ 'purelib': '{LIBDEST}/site-packages',
++ 'platlib': '{LIBDEST}/site-packages',
+ 'include':
+ '{installed_base}/include/python{py_version_short}{abiflags}',
+ 'platinclude':
+--
+2.24.0
+
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch b/poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch
index 957839b..793385d 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch
@@ -1,19 +1,20 @@
-From 6c8ea7c1dacd42f3ba00440231ec0e6b1a38300d Mon Sep 17 00:00:00 2001
+From 9f63e83b1cec872917647b11155edaffe399d103 Mon Sep 17 00:00:00 2001
From: Inada Naoki <songofacandy@gmail.com>
Date: Sat, 14 Jul 2018 00:46:11 +0900
Subject: [PATCH] Use FLAG_REF always for interned strings
Upstream-Status: Submitted [https://github.com/python/cpython/pull/8226]
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+
---
Python/marshal.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/Python/marshal.c b/Python/marshal.c
-index 6d06266c6a..51db2e3b2e 100644
+index c4538bd..2437160 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
-@@ -275,9 +275,14 @@ w_ref(PyObject *v, char *flag, WFILE *p)
+@@ -298,9 +298,14 @@ w_ref(PyObject *v, char *flag, WFILE *p)
if (p->version < 3 || p->hashtable == NULL)
return 0; /* not writing object references */
@@ -28,8 +29,5 @@
return 0;
+ }
- entry = _Py_HASHTABLE_GET_ENTRY(p->hashtable, v);
+ entry = _Py_hashtable_get_entry(p->hashtable, v);
if (entry != NULL) {
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch b/poky/meta/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch
deleted file mode 100644
index 123ce3a..0000000
--- a/poky/meta/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From acce3d441e7eadadd2d3ce38654155dc43f1f607 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 7 Feb 2020 09:36:25 +0800
-Subject: [PATCH] configure.ac: fix LIBPL
-
-Use LIBDIR rather than prefix/lib, so that it would work when lib64.
-
-Upstream-Status: Inappropriate [oe-core specific]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-Signed-off-by: Li Zhou <li.zhou@windriver.c>
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ce04258..915f475 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4532,9 +4532,9 @@ fi
- dnl define LIBPL after ABIFLAGS and LDVERSION is defined.
- AC_SUBST(PY_ENABLE_SHARED)
- if test x$PLATFORM_TRIPLET = x; then
-- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}"
-+ LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}"
- else
-- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
-+ LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
- fi
- AC_SUBST(LIBPL)
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
index 2b68c0a..b982691 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
@@ -1,4 +1,4 @@
-From bc59d49efff41051034d7fbf5d0c8505e4c3134b Mon Sep 17 00:00:00 2001
+From e65bfe22c858872b08366aff49119d4145a77f40 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 31 Jan 2019 16:46:30 +0100
Subject: [PATCH] distutils/sysconfig: append
diff --git a/poky/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch b/poky/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch
deleted file mode 100644
index fe031b9..0000000
--- a/poky/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From bb711b53f10d32a90a27ccf4b0dc51e4a701d862 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 7 Feb 2020 09:42:09 +0800
-Subject: [PATCH] python3: Do not hardcode "lib" for distutils
-
-Get the sys.lib from python3 itself and do not use
-hardcoded value of 'lib' for distutils.
-
-Upstream-Status: Inappropriate [oe-core specific]
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- Lib/distutils/command/install.py | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
-index c625c95..8e32f54 100644
---- a/Lib/distutils/command/install.py
-+++ b/Lib/distutils/command/install.py
-@@ -19,6 +19,8 @@ from site import USER_BASE
- from site import USER_SITE
- HAS_USER_SITE = True
-
-+libname = sys.lib
-+
- WINDOWS_SCHEME = {
- 'purelib': '$base/Lib/site-packages',
- 'platlib': '$base/Lib/site-packages',
-@@ -29,8 +31,8 @@ WINDOWS_SCHEME = {
-
- INSTALL_SCHEMES = {
- 'unix_prefix': {
-- 'purelib': '$base/lib/python$py_version_short/site-packages',
-- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
-+ 'purelib': '$base/' + libname + '/python$py_version_short/site-packages',
-+ 'platlib': '$platbase/' + libname + '/python$py_version_short/site-packages',
- 'headers': '$base/include/python$py_version_short$abiflags/$dist_name',
- 'scripts': '$base/bin',
- 'data' : '$base',
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
index fb10ca9..bfddc1a 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
@@ -1,4 +1,4 @@
-From 994783da5c21cab81b6589ed2d4275e665a946f9 Mon Sep 17 00:00:00 2001
+From 5f9eea2c4f8716830f6c8855a3e10872119fae32 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Mon, 22 Oct 2018 15:19:51 +0800
Subject: [PATCH] python3: use cc_basename to replace CC for checking compiler
@@ -27,7 +27,7 @@
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/configure.ac b/configure.ac
-index a189d42..0f85486 100644
+index d60f052..e491e24 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,6 +54,7 @@ AC_CONFIG_HEADER(pyconfig.h)
@@ -38,7 +38,7 @@
# pybuilddir.txt will be created by --generate-posix-vars in the Makefile
rm -f pybuilddir.txt
-@@ -671,7 +672,7 @@ AC_MSG_RESULT($with_cxx_main)
+@@ -689,7 +690,7 @@ AC_MSG_RESULT($with_cxx_main)
preset_cxx="$CXX"
if test -z "$CXX"
then
@@ -47,7 +47,7 @@
gcc) AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;;
cc) AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;;
clang|*/clang) AC_PATH_TOOL(CXX, [clang++], [clang++], [notfound]) ;;
-@@ -957,7 +958,7 @@ rmdir CaseSensitiveTestDir
+@@ -975,7 +976,7 @@ rmdir CaseSensitiveTestDir
case $ac_sys_system in
hp*|HP*)
@@ -56,7 +56,7 @@
cc|*/cc) CC="$CC -Ae";;
esac;;
esac
-@@ -1335,7 +1336,7 @@ else
+@@ -1366,7 +1367,7 @@ else
fi],
[AC_MSG_RESULT(no)])
if test "$Py_LTO" = 'true' ; then
@@ -65,7 +65,7 @@
*clang*)
AC_SUBST(LLVM_AR)
AC_PATH_TOOL(LLVM_AR, llvm-ar, '', ${llvm_path})
-@@ -1425,7 +1426,7 @@ then
+@@ -1456,7 +1457,7 @@ then
fi
fi
LLVM_PROF_ERR=no
@@ -74,7 +74,7 @@
*clang*)
# Any changes made here should be reflected in the GCC+Darwin case below
PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
-@@ -1486,7 +1487,7 @@ esac
+@@ -1517,7 +1518,7 @@ esac
# compiler and platform. BASECFLAGS tweaks need to be made even if the
# user set OPT.
@@ -83,7 +83,7 @@
*clang*)
cc_is_clang=1
;;
-@@ -1622,7 +1623,7 @@ yes)
+@@ -1653,7 +1654,7 @@ yes)
# ICC doesn't recognize the option, but only emits a warning
## XXX does it emit an unused result warning and can it be disabled?
@@ -92,16 +92,16 @@
*icc*)
ac_cv_disable_unused_result_warning=no
;;
-@@ -1943,7 +1944,7 @@ yes)
+@@ -1993,7 +1994,7 @@ yes)
+ ;;
esac
- # ICC needs -fp-model strict or floats behave badly
-case "$CC" in
+case "$cc_basename" in
*icc*)
+ # ICC needs -fp-model strict or floats behave badly
CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict"
- ;;
-@@ -2711,7 +2712,7 @@ then
+@@ -2765,7 +2766,7 @@ then
then
LINKFORSHARED="-Wl,--export-dynamic"
fi;;
@@ -110,7 +110,7 @@
*gcc*)
if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null
then
-@@ -5362,7 +5363,7 @@ if test "$have_gcc_asm_for_x87" = yes; then
+@@ -5507,7 +5508,7 @@ if test "$have_gcc_asm_for_x87" = yes; then
# Some versions of gcc miscompile inline asm:
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491
# http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html
diff --git a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
index 4bd98f6..5c62036 100644
--- a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
+++ b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
@@ -25,7 +25,7 @@
+ # There is no need to report missing module dependencies,
+ # if the modules have been disabled in the first place.
-+ self.missing = list(set(self.missing) - set(sysconf_dis))
++ self.missing = list(set(self.missing) - set(mods_disabled))
+
if self.missing:
print()
diff --git a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
index 820fb98..5a39cf8 100644
--- a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
+++ b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
@@ -1,27 +1,26 @@
-From 064187668fcbefdd39a8cde372bf651124c3e578 Mon Sep 17 00:00:00 2001
+From c52fa7948ef109db1132fdc1aee0b68f8d767b4e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 14 May 2013 15:00:26 -0700
-Subject: [PATCH] python3: Add target and native recipes
+Subject: [PATCH 1/2] python3: Add target and native recipes
Upstream-Status: Inappropriate [embedded specific]
02/2015 Rebased for Python 3.4.2
-# The proper prefix is inside our staging area.
-# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
-# Signed-off-by: Phil Blundell <philb@gnu.org>
-# Signed-off-by: Khem Raj <raj.khem@gmail.com>
-# Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-
+The proper prefix is inside our staging area.
+Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
+Signed-off-by: Phil Blundell <philb@gnu.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
---
Lib/distutils/sysconfig.py | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 2df348c..4f8db84 100644
+index 4774e12..ccf7d58 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
-@@ -96,7 +96,9 @@ def get_python_inc(plat_specific=0, prefix=None):
+@@ -95,7 +95,9 @@ def get_python_inc(plat_specific=0, prefix=None):
If 'prefix' is supplied, use it instead of sys.base_prefix or
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
"""
@@ -32,7 +31,7 @@
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
if os.name == "posix":
if python_build:
-@@ -139,7 +141,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
+@@ -138,7 +140,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
If 'prefix' is supplied, use it instead of sys.base_prefix or
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
"""
@@ -47,12 +46,15 @@
if standard_lib:
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
else:
-@@ -147,7 +155,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
-
- if os.name == "posix":
- libpython = os.path.join(prefix,
-- "lib", "python" + get_python_version())
-+ lib_basename, "python" + get_python_version())
+@@ -152,7 +160,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
+ else:
+ # Pure Python
+ libdir = "lib"
+- libpython = os.path.join(prefix, libdir,
++ libpython = os.path.join(prefix, lib_basename,
+ "python" + get_python_version())
if standard_lib:
return libpython
- else:
+--
+2.24.0
+
diff --git a/poky/meta/recipes-devtools/python/python3/CVE-2020-27619.patch b/poky/meta/recipes-devtools/python/python3/CVE-2020-27619.patch
new file mode 100644
index 0000000..b2053e7
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/CVE-2020-27619.patch
@@ -0,0 +1,69 @@
+From b664a1df4ee71d3760ab937653b10997081b1794 Mon Sep 17 00:00:00 2001
+From: "Miss Skeleton (bot)" <31488909+miss-islington@users.noreply.github.com>
+Date: Tue, 6 Oct 2020 05:37:36 -0700
+Subject: [PATCH] bpo-41944: No longer call eval() on content received via HTTP
+ in the CJK codec tests (GH-22566)
+
+(cherry picked from commit 2ef5caa58febc8968e670e39e3d37cf8eef3cab8)
+
+Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
+
+Upstream-Status: Backport [https://github.com/python/cpython/commit/b664a1df4ee71d3760ab937653b10997081b1794]
+CVE: CVE-2020-27619
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+
+---
+ Lib/test/multibytecodec_support.py | 22 +++++++------------
+ .../2020-10-05-17-43-46.bpo-41944.rf1dYb.rst | 1 +
+ 2 files changed, 9 insertions(+), 14 deletions(-)
+ create mode 100644 Misc/NEWS.d/next/Tests/2020-10-05-17-43-46.bpo-41944.rf1dYb.rst
+
+diff --git a/Lib/test/multibytecodec_support.py b/Lib/test/multibytecodec_support.py
+index cca8af67d6d1d..f76c0153f5ecf 100644
+--- a/Lib/test/multibytecodec_support.py
++++ b/Lib/test/multibytecodec_support.py
+@@ -305,29 +305,23 @@ def test_mapping_file(self):
+ self._test_mapping_file_plain()
+
+ def _test_mapping_file_plain(self):
+- unichrs = lambda s: ''.join(map(chr, map(eval, s.split('+'))))
++ def unichrs(s):
++ return ''.join(chr(int(x, 16)) for x in s.split('+'))
++
+ urt_wa = {}
+
+ with self.open_mapping_file() as f:
+ for line in f:
+ if not line:
+ break
+- data = line.split('#')[0].strip().split()
++ data = line.split('#')[0].split()
+ if len(data) != 2:
+ continue
+
+- csetval = eval(data[0])
+- if csetval <= 0x7F:
+- csetch = bytes([csetval & 0xff])
+- elif csetval >= 0x1000000:
+- csetch = bytes([(csetval >> 24), ((csetval >> 16) & 0xff),
+- ((csetval >> 8) & 0xff), (csetval & 0xff)])
+- elif csetval >= 0x10000:
+- csetch = bytes([(csetval >> 16), ((csetval >> 8) & 0xff),
+- (csetval & 0xff)])
+- elif csetval >= 0x100:
+- csetch = bytes([(csetval >> 8), (csetval & 0xff)])
+- else:
++ if data[0][:2] != '0x':
++ self.fail(f"Invalid line: {line!r}")
++ csetch = bytes.fromhex(data[0][2:])
++ if len(csetch) == 1 and 0x80 <= csetch[0]:
+ continue
+
+ unich = unichrs(data[1])
+diff --git a/Misc/NEWS.d/next/Tests/2020-10-05-17-43-46.bpo-41944.rf1dYb.rst b/Misc/NEWS.d/next/Tests/2020-10-05-17-43-46.bpo-41944.rf1dYb.rst
+new file mode 100644
+index 0000000000000..4f9782f1c85af
+--- /dev/null
++++ b/Misc/NEWS.d/next/Tests/2020-10-05-17-43-46.bpo-41944.rf1dYb.rst
+@@ -0,0 +1 @@
++Tests for CJK codecs no longer call ``eval()`` on content received via HTTP.
diff --git a/poky/meta/recipes-devtools/python/python3/python-config.patch b/poky/meta/recipes-devtools/python/python3/python-config.patch
index c8a8f3d..d0ddbbc 100644
--- a/poky/meta/recipes-devtools/python/python3/python-config.patch
+++ b/poky/meta/recipes-devtools/python/python3/python-config.patch
@@ -1,4 +1,4 @@
-From 07df0ae0d70cba6d1847fe1c24a71063930bec60 Mon Sep 17 00:00:00 2001
+From 57d073c12e7bede29919117b0141df14015eb27f Mon Sep 17 00:00:00 2001
From: Tyler Hall <tylerwhall@gmail.com>
Date: Sun, 4 May 2014 20:06:43 -0400
Subject: [PATCH] python-config: Revert to using distutils.sysconfig
@@ -21,7 +21,7 @@
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/Misc/python-config.in b/Misc/python-config.in
-index 727c4a8..c702829 100644
+index ebd99da..13e57ae 100644
--- a/Misc/python-config.in
+++ b/Misc/python-config.in
@@ -6,7 +6,7 @@
@@ -37,11 +37,11 @@
for opt in opt_flags:
if opt == '--prefix':
-- print(sysconfig.get_config_var('prefix'))
+- print(getvar('prefix'))
+ print(sysconfig.PREFIX)
elif opt == '--exec-prefix':
-- print(sysconfig.get_config_var('exec_prefix'))
+- print(getvar('exec_prefix'))
+ print(sysconfig.EXEC_PREFIX)
elif opt in ('--includes', '--cflags'):
diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
index 69aecb7..615dc3a 100644
--- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -122,8 +122,7 @@
"logging",
"netclient",
"numbers",
- "stringold",
- "typing"
+ "stringold"
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/asyncio",
@@ -173,10 +172,12 @@
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/compileall.py",
+ "${libdir}/python${PYTHON_MAJMIN}/filecmp.py",
"${libdir}/python${PYTHON_MAJMIN}/py_compile.py"
],
"cached": [
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/compileall.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/filecmp.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/py_compile.*.pyc"
]
},
@@ -313,6 +314,7 @@
"${libdir}/python${PYTHON_MAJMIN}/tokenize.py",
"${libdir}/python${PYTHON_MAJMIN}/traceback.py",
"${libdir}/python${PYTHON_MAJMIN}/types.py",
+ "${libdir}/python${PYTHON_MAJMIN}/typing.py",
"${libdir}/python${PYTHON_MAJMIN}/urllib",
"${libdir}/python${PYTHON_MAJMIN}/urllib/parse.py",
"${libdir}/python${PYTHON_MAJMIN}/warnings.py",
@@ -388,6 +390,7 @@
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/tokenize.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/traceback.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/types.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/typing.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/warnings.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/weakref.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__",
@@ -557,18 +560,12 @@
"doctest": {
"summary": "Python framework for running examples in docstrings",
"rdepends": [
- "asyncio",
"core",
"debugger",
"difflib",
- "io",
- "logging",
- "netclient",
- "numbers",
"pprint",
"shell",
"stringold",
- "typing",
"unittest"
],
"files": [
@@ -822,7 +819,6 @@
"terminal",
"threading",
"tkinter",
- "typing",
"unittest",
"unixadmin",
"venv",
@@ -999,12 +995,14 @@
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/cProfile.py",
+ "${libdir}/python${PYTHON_MAJMIN}/dataclasses.py",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lsprof.*.so",
"${libdir}/python${PYTHON_MAJMIN}/profile.py",
"${libdir}/python${PYTHON_MAJMIN}/pstats.py"
],
"cached": [
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/cProfile.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dataclasses.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/profile.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc"
]
@@ -1130,13 +1128,11 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/_dummy_thread.py",
"${libdir}/python${PYTHON_MAJMIN}/_threading_local.py",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_queue.*.so",
"${libdir}/python${PYTHON_MAJMIN}/queue.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_dummy_thread.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/_threading_local.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/queue.*.pyc"
]
@@ -1147,23 +1143,11 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so",
"${libdir}/python${PYTHON_MAJMIN}/tkinter"
],
"cached": []
},
- "typing": {
- "summary": "Python typing support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python${PYTHON_MAJMIN}/typing.py"
- ],
- "cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/typing.*.pyc"
- ]
- },
"unittest": {
"summary": "Python unit testing framework",
"rdepends": [
@@ -1175,8 +1159,7 @@
"netclient",
"numbers",
"pprint",
- "stringold",
- "typing"
+ "stringold"
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/unittest",
diff --git a/poky/meta/recipes-devtools/python/python3_3.8.5.bb b/poky/meta/recipes-devtools/python/python3_3.9.0.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3_3.8.5.bb
rename to poky/meta/recipes-devtools/python/python3_3.9.0.bb
index 2a3c52a..19a8950 100644
--- a/poky/meta/recipes-devtools/python/python3_3.8.5.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.9.0.bb
@@ -3,7 +3,7 @@
LICENSE = "PSFv2"
SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=203a6dbc802ee896020a47161e759642"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=33223c9ef60c31e3f0e866cb09b65e83"
SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
file://run-ptest \
@@ -11,27 +11,25 @@
file://get_module_deps3.py \
file://python3-manifest.json \
file://check_build_completeness.py \
+ file://reformat_sysconfig.py \
file://cgi_py.patch \
file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \
${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \
file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \
file://python-config.patch \
file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
- file://0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch \
file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
- file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
file://crosspythonpath.patch \
- file://reformat_sysconfig.py \
file://0001-Use-FLAG_REF-always-for-interned-strings.patch \
file://0001-test_locale.py-correct-the-test-output-format.patch \
file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \
file://0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \
- file://0001-configure.ac-fix-LIBPL.patch \
- file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \
file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
+ file://0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch \
+ file://CVE-2020-27619.patch \
"
SRC_URI_append_class-native = " \
@@ -40,8 +38,7 @@
file://0001-Don-t-search-system-for-headers-libraries.patch \
"
-SRC_URI[md5sum] = "35b5a3d0254c1c59be9736373d429db7"
-SRC_URI[sha256sum] = "e3003ed57db17e617acb382b0cade29a248c6026b1bd8aad1f976e9af66a83b0"
+SRC_URI[sha256sum] = "9c73e63c99855709b9be0b3cc9e5b072cb60f37311e8c4e50f15576a0bf82854"
# exclude pre-releases for both python 2.x and 3.x
UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -49,10 +46,15 @@
CVE_PRODUCT = "python"
+# Upstream consider this expected behaviour
+CVE_CHECK_WHITELIST += "CVE-2007-4559"
# This is not exploitable when glibc has CVE-2016-10739 fixed.
CVE_CHECK_WHITELIST += "CVE-2019-18348"
-PYTHON_MAJMIN = "3.8"
+# This is windows only issue.
+CVE_CHECK_WHITELIST += "CVE-2020-15523"
+
+PYTHON_MAJMIN = "3.9"
S = "${WORKDIR}/Python-${PV}"
@@ -71,13 +73,16 @@
DEPENDS_append_class-target = " python3-native"
DEPENDS_append_class-nativesdk = " python3-native"
-EXTRA_OECONF = " --without-ensurepip --enable-shared"
+EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib}"
EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}"
export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/"
EXTRANATIVEPATH += "python3-native"
+# LTO will be enabled via packageconfig depending upong distro features
+LTO_class-target = ""
+
CACHED_CONFIGUREVARS = " \
ac_cv_file__dev_ptmx=yes \
ac_cv_file__dev_ptc=no \
@@ -92,7 +97,7 @@
return ''
-PACKAGECONFIG_class-target ??= "readline ${@possibly_include_pgo(d)} gdbm"
+PACKAGECONFIG_class-target ??= "readline ${@possibly_include_pgo(d)} gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}"
PACKAGECONFIG_class-native ??= "readline gdbm"
PACKAGECONFIG_class-nativesdk ??= "readline gdbm"
PACKAGECONFIG[readline] = ",,readline"
@@ -100,6 +105,7 @@
PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native"
PACKAGECONFIG[tk] = ",,tk"
PACKAGECONFIG[gdbm] = ",,gdbm"
+PACKAGECONFIG[lto] = "--with-lto,,"
do_configure_prepend () {
mkdir -p ${B}/Modules
@@ -162,6 +168,14 @@
-e "/^ 'INCLDIRSTOMAKE'/{N; s,/usr/include,${STAGING_INCDIR},g}" \
-e "/^ 'INCLUDEPY'/s,/usr/include,${STAGING_INCDIR},g" \
${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
+
+ # Unfortunately the following pyc files are non-deterministc due to 'frozenset'
+ # being written without strict ordering, even with PYTHONHASHSEED = 0
+ # Upstream is discussing ways to solve the issue properly, until then let's
+ # just not install the problematic files.
+ # More info: http://benno.id.au/blog/2013/01/15/python-determinism
+ rm ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_range.cpython*
+ rm ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_xml_etree.cpython*
}
do_install_append_class-nativesdk () {
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index 84f600c..11be545 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -32,6 +32,7 @@
file://find_datadir.patch \
file://usb-fix-setup_len-init.patch \
file://0001-target-mips-Increase-number-of-TLB-entries-on-the-34.patch \
+ file://CVE-2020-24352.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-24352.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-24352.patch
new file mode 100644
index 0000000..861ff6c
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-24352.patch
@@ -0,0 +1,52 @@
+From ca1f9cbfdce4d63b10d57de80fef89a89d92a540 Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Wed, 21 Oct 2020 16:08:18 +0530
+Subject: [PATCH 1/1] ati: check x y display parameter values
+
+The source and destination x,y display parameters in ati_2d_blt()
+may run off the vga limits if either of s->regs.[src|dst]_[xy] is
+zero. Check the parameter values to avoid potential crash.
+
+Reported-by: Gaoning Pan <pgn@zju.edu.cn>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Message-id: 20201021103818.1704030-1-ppandit@redhat.com
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+
+Upstream-Status: Backport [ https://git.qemu.org/?p=qemu.git;a=commitdiff;h=ca1f9cbfdce4d63b10d57de80fef89a89d92a540;hp=2ddafce7f797082ad216657c830afd4546f16e37 ]
+CVE: CVE-2020-24352
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+---
+ hw/display/ati_2d.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/hw/display/ati_2d.c b/hw/display/ati_2d.c
+index 23a8ae0..4dc10ea 100644
+--- a/hw/display/ati_2d.c
++++ b/hw/display/ati_2d.c
+@@ -75,8 +75,9 @@ void ati_2d_blt(ATIVGAState *s)
+ dst_stride *= bpp;
+ }
+ uint8_t *end = s->vga.vram_ptr + s->vga.vram_size;
+- if (dst_bits >= end || dst_bits + dst_x + (dst_y + s->regs.dst_height) *
+- dst_stride >= end) {
++ if (dst_x > 0x3fff || dst_y > 0x3fff || dst_bits >= end
++ || dst_bits + dst_x
++ + (dst_y + s->regs.dst_height) * dst_stride >= end) {
+ qemu_log_mask(LOG_UNIMP, "blt outside vram not implemented\n");
+ return;
+ }
+@@ -107,8 +108,9 @@ void ati_2d_blt(ATIVGAState *s)
+ src_bits += s->regs.crtc_offset & 0x07ffffff;
+ src_stride *= bpp;
+ }
+- if (src_bits >= end || src_bits + src_x +
+- (src_y + s->regs.dst_height) * src_stride >= end) {
++ if (src_x > 0x3fff || src_y > 0x3fff || src_bits >= end
++ || src_bits + src_x
++ + (src_y + s->regs.dst_height) * src_stride >= end) {
+ qemu_log_mask(LOG_UNIMP, "blt outside vram not implemented\n");
+ return;
+ }
+--
+1.8.3.1
+
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch b/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch
index ac6dcaf..331ea84 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch
@@ -1,20 +1,21 @@
-From e3eff024826550aec4a6a5baef7210a29faf299d Mon Sep 17 00:00:00 2001
+From 5492ac3c716020a27a25253bbffe810db43202bf Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 9 Mar 2017 18:54:02 +0200
Subject: [PATCH] Add a color setting for mips64_n32 binaries
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
- build/rpmfc.c | 1 +
+ build/rpmfc.c | 4 ++++
rpmrc.in | 2 ++
- 2 files changed, 3 insertions(+)
+ 2 files changed, 6 insertions(+)
diff --git a/build/rpmfc.c b/build/rpmfc.c
-index d38a10916..c8e2f876a 100644
+index 10c380ee9..b7655aa93 100644
--- a/build/rpmfc.c
+++ b/build/rpmfc.c
-@@ -622,6 +622,7 @@ exit:
+@@ -639,6 +639,7 @@ exit:
static const struct rpmfcTokens_s rpmfcTokens[] = {
{ "directory", RPMFC_INCLUDE },
@@ -22,11 +23,21 @@
{ "ELF 32-bit", RPMFC_ELF32|RPMFC_INCLUDE },
{ "ELF 64-bit", RPMFC_ELF64|RPMFC_INCLUDE },
+@@ -1149,6 +1150,9 @@ static uint32_t getElfColor(const char *fn)
+ color = RPMFC_ELF32;
+ break;
+ }
++ if (ehdr.e_machine == EM_MIPS || ehdr.e_machine == EM_MIPS_RS3_LE)
++ if (ehdr.e_flags & EF_MIPS_ABI2)
++ color = RPMFC_ELFMIPSN32;
+ elf_end(elf);
+ }
+ close(fd);
diff --git a/rpmrc.in b/rpmrc.in
-index abc08fc31..f5bc820d8 100644
+index 5bd9ba3e5..f15bb8dad 100644
--- a/rpmrc.in
+++ b/rpmrc.in
-@@ -133,6 +133,8 @@ archcolor: mipsr6el 1
+@@ -137,6 +137,8 @@ archcolor: mipsr6el 1
archcolor: mips64r6 2
archcolor: mips64r6el 2
@@ -35,6 +46,3 @@
archcolor: m68k 1
archcolor: m68kmint 1
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch b/poky/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch
deleted file mode 100644
index 0a19c12..0000000
--- a/poky/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From e8bf0eba7143abb6e69db82ee747a0c6790dd00a Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 3 Jun 2020 10:25:24 +0800
-Subject: [PATCH] Bump up the limit of signature header to 64MB
-
-Since commits [Place file signatures into the signature header where they
-belong][1] applied, run `rpm -Kv **.rpm' failed if signature header
-is larger than 64KB. Here are steps:
-
-1) A unsigned rpm package, the size is 227560 bytes
-$ ls -al xz-src-5.2.5-r0.corei7_64.rpm
--rw-------. 1 mockbuild 1000 227560 Jun 3 09:59
-
-2) Sign the rpm package
-$ rpmsign --addsign ... xz-src-5.2.5-r0.corei7_64.rpm
-
-3) The size of signed rpm is 312208 bytes
-$ ls -al xz-src-5.2.5-r0.corei7_64.rpm
--rw-------. 1 mockbuild 1000 312208 Jun 3 09:48
-
-4) Run `rpm -Kv' failed with signature hdr data out of range
-$ rpm -Kv xz-src-5.2.5-r0.corei7_64.rpm
-xz-src-5.2.5-r0.corei7_64.rpm:
-error: xz-src-5.2.5-r0.corei7_64.rpm: signature hdr data: BAD, no. of
-bytes(88864) out of range
-
-From 1) and 3), the size of signed rpm package increased
-312208 - 227560 = 84648, so the check of dl_max (64KB,65536)
-is not enough.
-
-As [1] said:
-
- This also means the signature header can be MUCH bigger than ever
- before,so bump up the limit (to 64MB, arbitrary something for now)
-
-So [1] missed to multiply by 1024.
-
-[1] https://github.com/rpm-software-management/rpm/commit/f558e886050c4e98f6cdde391df679a411b3f62c
-
-Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/486579912381ede82172dc6d0ff3941a6d0536b5]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- lib/header.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/header.c b/lib/header.c
-index 9ec7ed0..cbf6890 100644
---- a/lib/header.c
-+++ b/lib/header.c
-@@ -1906,7 +1906,7 @@ rpmRC hdrblobRead(FD_t fd, int magic, int exact_size, rpmTagVal regionTag, hdrbl
-
- if (regionTag == RPMTAG_HEADERSIGNATURES) {
- il_max = 32;
-- dl_max = 64 * 1024;
-+ dl_max = 64 * 1024 * 1024;
- }
-
- memset(block, 0, sizeof(block));
---
-2.25.4
-
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
index 52440d6..30975fa 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
@@ -1,4 +1,4 @@
-From 2f3d1619b6510bc131c4375827caf912559f0fa2 Mon Sep 17 00:00:00 2001
+From 4fd37bc9d8d0777aa038777dd81a76b64f536efd Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 27 Feb 2017 09:43:30 +0200
Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for
@@ -14,10 +14,10 @@
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
-index d3aeab86e..1a1f3f91f 100644
+index 186e4aeec..5df252085 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1086,7 +1086,7 @@ else
+@@ -944,7 +944,7 @@ else
usrprefix=$prefix
fi
@@ -27,10 +27,10 @@
AC_SUBST(OBJDUMP)
diff --git a/macros.in b/macros.in
-index fe9803aad..d128675bf 100644
+index 35c8cf9df..9d8b2825c 100644
--- a/macros.in
+++ b/macros.in
-@@ -985,7 +985,7 @@ package or when debugging this package.\
+@@ -996,7 +996,7 @@ package or when debugging this package.\
%_sharedstatedir %{_prefix}/com
%_localstatedir %{_prefix}/var
%_lib lib
@@ -40,7 +40,7 @@
%_infodir %{_datadir}/info
%_mandir %{_datadir}/man
diff --git a/rpm.am b/rpm.am
-index 40b4ec55f..3139ce8f6 100644
+index b46c6b7da..02d5c7a0a 100644
--- a/rpm.am
+++ b/rpm.am
@@ -1,10 +1,10 @@
@@ -55,4 +55,4 @@
+rpmconfigdir = $(libdir)/rpm
# Libtool version (current-revision-age) for all our libraries
- rpm_version_info = 9:1:0
+ rpm_version_info = 10:0:1
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch b/poky/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch
index 0b1d629..b960da6 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch
@@ -11,29 +11,6 @@
rpmio/digest_nss.c | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
-diff --git a/configure.ac b/configure.ac
-index c04a2e8d1..c9d9ac16d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -255,6 +255,7 @@ AC_SEARCH_LIBS(dlopen, [dl])
- # Check for libelf library. Prefer external, otherwise none.
- WITH_LIBELF_LIB=
- AC_CHECK_HEADER([libelf.h])
-+AC_CHECK_HEADERS([error.h], [WITH_ERROR_H=yes])
- AC_CHECK_HEADERS([gelf.h], [
- AC_CHECK_LIB(elf, gelf_getvernaux, [
- AC_DEFINE(HAVE_LIBELF, 1, [Define to 1 if you have the 'elf' library (-lelf).])
-@@ -263,7 +264,7 @@ AC_CHECK_HEADERS([gelf.h], [
- ])
- ])
- AC_SUBST(WITH_LIBELF_LIB)
--AM_CONDITIONAL(LIBELF,[test "$WITH_LIBELF" = yes])
-+AM_CONDITIONAL(LIBELF,[test "$WITH_LIBELF" = yes && test "$WITH_ERROR_H" = yes])
-
- AC_CHECK_HEADERS([dwarf.h], [
- WITH_LIBDWARF=yes
-diff --git a/rpmio/digest_nss.c b/rpmio/digest_nss.c
-index 992d9acf6..e11920e3e 100644
--- a/rpmio/digest_nss.c
+++ b/rpmio/digest_nss.c
@@ -1,5 +1,6 @@
@@ -43,6 +20,3 @@
#include <pthread.h>
#include <nss.h>
#include <sechash.h>
---
-2.14.2
-
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-rpmdb.c-add-a-missing-include.patch b/poky/meta/recipes-devtools/rpm/files/0001-rpmdb.c-add-a-missing-include.patch
new file mode 100644
index 0000000..c7ae158
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0001-rpmdb.c-add-a-missing-include.patch
@@ -0,0 +1,25 @@
+From 9de15c7e1f4ca23a10edb9a3b657f06b2b13e841 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 20 Oct 2020 22:16:39 +0200
+Subject: [PATCH] rpmdb.c: add a missing include
+
+This addressed build failures on non-glibc systems.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ lib/rpmdb.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/rpmdb.c b/lib/rpmdb.c
+index 4c101569f..73187630b 100644
+--- a/lib/rpmdb.c
++++ b/lib/rpmdb.c
+@@ -8,6 +8,7 @@
+ #include <utime.h>
+ #include <errno.h>
+ #include <dirent.h>
++#include <fcntl.h>
+
+ #ifndef DYING /* XXX already in "system.h" */
+ #include <fnmatch.h>
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch b/poky/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
deleted file mode 100644
index d8d3387..0000000
--- a/poky/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 93c3c7f043f62e96941274e957c4ad9432032af1 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 18 Nov 2019 16:22:56 +0100
-Subject: [PATCH] rpmfc.c: do not run file classification in parallel
-
-This is causing freezes with libmagic when the file in question is compressed:
-https://github.com/rpm-software-management/rpm/issues/756
-
-Upstream-Status: Inappropriate [upstream wants a proper fix]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- build/rpmfc.c | 8 --------
- 1 file changed, 8 deletions(-)
-
-diff --git a/build/rpmfc.c b/build/rpmfc.c
-index 3db7a9352..17afdd57a 100644
---- a/build/rpmfc.c
-+++ b/build/rpmfc.c
-@@ -680,7 +680,6 @@ static void rpmfcAttributes(rpmfc fc, int ix, const char *ftype, const char *ful
- /* Add attributes on libmagic type & path pattern matches */
- if (matches(&(*attr)->incl, ftype, path, is_executable)) {
- argvAddTokens(&fc->fattrs[ix], (*attr)->name);
-- #pragma omp critical(fahash)
- fattrHashAddEntry(fc->fahash, attr-fc->atypes, ix);
- }
- }
-@@ -1105,7 +1104,6 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
- /* Build (sorted) file class dictionary. */
- fc->cdict = rpmstrPoolCreate();
-
-- #pragma omp parallel
- {
- /* libmagic is not thread-safe, each thread needs to a private handle */
- magic_t ms = magic_open(msflags);
-@@ -1113,15 +1111,12 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
- if (ms == NULL) {
- rpmlog(RPMLOG_ERR, _("magic_open(0x%x) failed: %s\n"),
- msflags, strerror(errno));
-- #pragma omp cancel parallel
- }
-
- if (magic_load(ms, NULL) == -1) {
- rpmlog(RPMLOG_ERR, _("magic_load failed: %s\n"), magic_error(ms));
-- #pragma omp cancel parallel
- }
-
-- #pragma omp for ordered reduction(+:nerrors)
- for (int ix = 0; ix < fc->nfiles; ix++) {
- rpmsid ftypeId;
- const char * ftype;
-@@ -1185,14 +1180,11 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
- fc->fcolor[ix] = fcolor;
-
- /* Add to file class dictionary and index array */
-- #pragma omp ordered
- if (fcolor != RPMFC_WHITE && (fcolor & RPMFC_INCLUDE)) {
- ftypeId = rpmstrPoolId(fc->cdict, ftype, 1);
-- #pragma omp atomic
- fc->fknown++;
- } else {
- ftypeId = rpmstrPoolId(fc->cdict, "", 1);
-- #pragma omp atomic
- fc->fwhite++;
- }
- /* Pool id's start from 1, for headers we want it from 0 */
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch b/poky/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch
deleted file mode 100644
index 8842e3e..0000000
--- a/poky/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6878a83f9bac015c64d83cee42530a20a264cc5a Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 7 Jan 2020 12:02:06 +0100
-Subject: [PATCH] rpmplugins.c: call dlerror() prior to dlsym()
-
-This is the recommended way in the manpage; if there is
-a lingering error from an unrelated dl*() call that was
-never obtained via dlerror(), it needs to be cleared
-prior to calling dlsym().
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/998]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- lib/rpmplugins.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/lib/rpmplugins.c b/lib/rpmplugins.c
-index 65e684e84..b950f85cf 100644
---- a/lib/rpmplugins.c
-+++ b/lib/rpmplugins.c
-@@ -68,6 +68,8 @@ static rpmPlugin rpmPluginNew(const char *name, const char *path,
-
- /* make sure the plugin has the supported hooks flag */
- hooks_name = rstrscat(NULL, name, "_hooks", NULL);
-+ /* clear out any old errors that weren't fetched */
-+ dlerror();
- hooks = dlsym(handle, hooks_name);
- if ((error = dlerror()) != NULL) {
- rpmlog(RPMLOG_ERR, _("Failed to resolve symbol %s: %s\n"),
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch b/poky/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch
new file mode 100644
index 0000000..e78514b
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch
@@ -0,0 +1,118 @@
+From b3952bd5e28f2a4d86c7377de239db8fa7237e14 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 31 Oct 2020 22:14:05 -0700
+Subject: [PATCH] tools: Add error.h for non-glibc case
+
+error is glibc specific API, so this patch will mostly not accepted
+upstream given that elfutils has been closely tied to glibc
+
+Upstream-Status: Inappropriate [workaround for musl]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/debugedit.c | 6 +++++-
+ tools/elfdeps.c | 6 +++++-
+ tools/error.h | 27 +++++++++++++++++++++++++++
+ tools/sepdebugcrcfix.c | 6 +++++-
+ 4 files changed, 42 insertions(+), 3 deletions(-)
+ create mode 100644 tools/error.h
+
+diff --git a/tools/debugedit.c b/tools/debugedit.c
+index 9f8dcd0fb..852f46073 100644
+--- a/tools/debugedit.c
++++ b/tools/debugedit.c
+@@ -26,7 +26,6 @@
+ #include <byteswap.h>
+ #include <endian.h>
+ #include <errno.h>
+-#include <error.h>
+ #include <limits.h>
+ #include <string.h>
+ #include <stdlib.h>
+@@ -40,6 +39,11 @@
+
+ #include <gelf.h>
+ #include <dwarf.h>
++#ifdef __GLIBC__
++#include <error.h>
++#else
++#include "error.h"
++#endif
+
+
+ /* Unfortunately strtab manipulation functions were only officially added
+diff --git a/tools/elfdeps.c b/tools/elfdeps.c
+index 6d9094874..f69e60997 100644
+--- a/tools/elfdeps.c
++++ b/tools/elfdeps.c
+@@ -5,10 +5,14 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <fcntl.h>
+-#include <error.h>
+ #include <errno.h>
+ #include <popt.h>
+ #include <gelf.h>
++#ifdef __GLIBC__
++#include <error.h>
++#else
++#include "error.h"
++#endif
+
+ #include <rpm/rpmstring.h>
+ #include <rpm/argv.h>
+diff --git a/tools/error.h b/tools/error.h
+new file mode 100644
+index 000000000..ef06827a0
+--- /dev/null
++++ b/tools/error.h
+@@ -0,0 +1,27 @@
++#ifndef _ERROR_H_
++#define _ERROR_H_
++
++#include <stdarg.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++
++static unsigned int error_message_count = 0;
++
++static inline void error(int status, int errnum, const char* format, ...)
++{
++ va_list ap;
++ fprintf(stderr, "%s: ", program_invocation_name);
++ va_start(ap, format);
++ vfprintf(stderr, format, ap);
++ va_end(ap);
++ if (errnum)
++ fprintf(stderr, ": %s", strerror(errnum));
++ fprintf(stderr, "\n");
++ error_message_count++;
++ if (status)
++ exit(status);
++}
++
++#endif /* _ERROR_H_ */
+diff --git a/tools/sepdebugcrcfix.c b/tools/sepdebugcrcfix.c
+index fba460014..2be9c1fd8 100644
+--- a/tools/sepdebugcrcfix.c
++++ b/tools/sepdebugcrcfix.c
+@@ -29,9 +29,13 @@
+ #include <endian.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <error.h>
+ #include <libelf.h>
+ #include <gelf.h>
++#ifdef __GLIBC__
++#include <error.h>
++#else
++#include "error.h"
++#endif
+
+ #ifndef _
+ #define _(x) x
+--
+2.29.2
+
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb b/poky/meta/recipes-devtools/rpm/rpm_4.16.0.bb
similarity index 93%
rename from poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb
rename to poky/meta/recipes-devtools/rpm/rpm_4.16.0.bb
index a1c5205..4125f3f 100644
--- a/poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb
+++ b/poky/meta/recipes-devtools/rpm/rpm_4.16.0.bb
@@ -22,9 +22,9 @@
# libraries are also LGPL - how to express this?
LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c4eec0c20c6034b9407a09945b48a43f"
-SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.15.x \
+SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.16.x \
file://environment.d-rpm.sh \
file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
file://0001-Do-not-read-config-files-from-HOME.patch \
@@ -38,27 +38,28 @@
file://0001-perl-disable-auto-reqs.patch \
file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \
file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \
- file://0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch \
- file://0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch \
file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \
- file://0001-Bump-up-the-limit-of-signature-header-to-64MB.patch \
+ file://0001-rpmdb.c-add-a-missing-include.patch \
+ file://0001-tools-Add-error.h-for-non-glibc-case.patch \
"
PE = "1"
-SRCREV = "ab2179452c5be276a6b96c591afded485c7e58c3"
+SRCREV = "cd7f9303ef1070f027493cad7d00bc66935af2a0"
S = "${WORKDIR}/git"
-DEPENDS = "openssl db file popt xz bzip2 elfutils python3"
+DEPENDS = "libgcrypt db file popt xz bzip2 elfutils python3"
DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native"
inherit autotools gettext pkgconfig python3native
export PYTHON_ABI
+AUTOTOOLS_AUXDIR = "${S}/build-aux"
+
# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe
EXTRA_AUTORECONF_append = " --exclude=gnu-configize"
-EXTRA_OECONF_append = " --without-lua --enable-python --with-crypto=openssl"
+EXTRA_OECONF_append = " --without-lua --enable-python --with-crypto=libgcrypt"
EXTRA_OECONF_append_libc-musl = " --disable-nls --disable-openmp"
# --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs
@@ -97,6 +98,10 @@
${libdir}/rpm/rpmdeps \
"
+do_configure_prepend() {
+ mkdir -p ${S}/build-aux
+}
+
do_install_append_class-native() {
for tool in ${WRAPPER_TOOLS}; do
test -x ${D}$tool && create_wrapper ${D}$tool \
diff --git a/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb b/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb
index 375efa0..b7205e5 100644
--- a/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb
+++ b/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb
@@ -55,4 +55,4 @@
install -m 0644 ${WORKDIR}/rsyncd.conf ${D}${sysconfdir}
}
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/ruby/ruby_2.7.1.bb b/poky/meta/recipes-devtools/ruby/ruby_2.7.2.bb
similarity index 95%
rename from poky/meta/recipes-devtools/ruby/ruby_2.7.1.bb
rename to poky/meta/recipes-devtools/ruby/ruby_2.7.2.bb
index 3dd9fb0..055ea93 100644
--- a/poky/meta/recipes-devtools/ruby/ruby_2.7.1.bb
+++ b/poky/meta/recipes-devtools/ruby/ruby_2.7.2.bb
@@ -8,8 +8,8 @@
file://0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch \
"
-SRC_URI[md5sum] = "debb9c325bf65021214451660f46e909"
-SRC_URI[sha256sum] = "d418483bdd0000576c1370571121a6eb24582116db0b7bb2005e90e250eae418"
+SRC_URI[md5sum] = "2d4a28dcfa38352a627a597f6057c465"
+SRC_URI[sha256sum] = "6e5706d0d4ee4e1e2f883db9d768586b4d06567debea353c796ec45e8321c3d4"
PACKAGECONFIG ??= ""
PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
diff --git a/poky/meta/recipes-devtools/strace/strace_5.8.bb b/poky/meta/recipes-devtools/strace/strace_5.9.bb
similarity index 95%
rename from poky/meta/recipes-devtools/strace/strace_5.8.bb
rename to poky/meta/recipes-devtools/strace/strace_5.9.bb
index 0415588..bee2616 100644
--- a/poky/meta/recipes-devtools/strace/strace_5.8.bb
+++ b/poky/meta/recipes-devtools/strace/strace_5.9.bb
@@ -16,7 +16,7 @@
file://0001-strace-fix-reproducibilty-issues.patch \
file://0001-xlat-Mark-IPPROTO_MAX-last-in-IPPROTO_-constants.patch \
"
-SRC_URI[sha256sum] = "df4a669f7fff9cc302784085bd4b72fab216a426a3f72c892b28a537b71e7aa9"
+SRC_URI[sha256sum] = "39473eb8465546c3e940fb663cb381eba5613160c7302794699d194a4d5d66d9"
inherit autotools ptest
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch
index 3ab7875..47a8dac 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch
@@ -10,7 +10,7 @@
* The ext2/3/4 support doesn't require root privileges since it doesn't need
mount (but write permission is required).
-Upstream-Status: Submitted
+Upstream-Status: Submitted [https://www.syslinux.org/archives/2015-January/023039.html]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Tested-by: Du Dolpher <dolpher.du@intel.com>
diff --git a/poky/meta/recipes-devtools/vala/vala_0.48.9.bb b/poky/meta/recipes-devtools/vala/vala_0.48.9.bb
deleted file mode 100644
index 09bfcd6..0000000
--- a/poky/meta/recipes-devtools/vala/vala_0.48.9.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI += " file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch"
-
-SRC_URI[sha256sum] = "9cea16d3bb3daddbfe0556b99fbfa08146230db7651e1e674cd08b4df5cefea9"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.50.1.bb b/poky/meta/recipes-devtools/vala/vala_0.50.1.bb
new file mode 100644
index 0000000..cca7eef
--- /dev/null
+++ b/poky/meta/recipes-devtools/vala/vala_0.50.1.bb
@@ -0,0 +1,5 @@
+require ${BPN}.inc
+
+SRC_URI += " file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch"
+
+SRC_URI[sha256sum] = "958d9f06c9c3d7d1b2145512a9bc2a7c6aefbbf0416a04c7a0ecf463f7138f6c"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch
new file mode 100644
index 0000000..f66df3d
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch
@@ -0,0 +1,54 @@
+From cdec010444df5a4328e90d07a2024fdeefcc74b5 Mon Sep 17 00:00:00 2001
+From: Paul Floyd <paulf@free.fr>
+Date: Wed, 18 Nov 2020 12:49:20 -0400
+Subject: [PATCH] helgrind: Intercept libc functions
+
+PTH_FUNC definition needs to be modified in order to
+intercept posix thread functions in both libc and
+libpthread. In order to handle this in helgrind, weak alias
+the pthread functions in glibc.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Paul Floyd <paulf@free.fr>
+Signed-off-by: Stacy Gaikovaia <stacy.gaikovaia@windriver.com>
+---
+ helgrind/hg_intercepts.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/helgrind/hg_intercepts.c b/helgrind/hg_intercepts.c
+index a10c3a4a3..316140ca6 100644
+--- a/helgrind/hg_intercepts.c
++++ b/helgrind/hg_intercepts.c
+@@ -77,6 +77,11 @@
+ /*--- ---*/
+ /*----------------------------------------------------------------*/
+
++#define hg_expand(tok) #tok
++#define hg_str(tok) hg_expand(tok)
++# define hg_weak_alias(name, aliasname) \
++ extern __typeof (name) aliasname __attribute__ ((weak, alias(hg_str(name))))
++
+ #if defined(VGO_solaris)
+ /* On Solaris, libpthread is just a filter library on top of libc.
+ * Threading and synchronization functions in runtime linker are not
+@@ -91,9 +96,16 @@
+ #define CREQ_PTHREAD_T Word
+ #define SEM_ERROR ret
+ #else
++#ifdef MUSL_LIBC
++#define PTH_FUNC(ret_ty, f, args...) \
++ ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args); \
++ ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args)
++#else
+ #define PTH_FUNC(ret_ty, f, args...) \
+ ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args); \
++ hg_weak_alias(I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f), I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBC_SONAME,f)); \
+ ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args)
++#endif
+ #define CREQ_PTHREAD_T pthread_t
+ #define SEM_ERROR errno
+ #endif /* VGO_solaris */
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb
index bcba55f..5db181a 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb
@@ -42,6 +42,7 @@
file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \
file://0001-drd-Port-to-Fedora-33.patch \
file://0001-drd-musl-fix.patch \
+ file://0001-helgrind-Intercept-libc-functions.patch \
"
SRC_URI[md5sum] = "d1b153f1ab17cf1f311705e7a83ef589"
SRC_URI[sha256sum] = "c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca"
diff --git a/poky/meta/recipes-extended/acpica/acpica_20200717.bb b/poky/meta/recipes-extended/acpica/acpica_20200925.bb
similarity index 94%
rename from poky/meta/recipes-extended/acpica/acpica_20200717.bb
rename to poky/meta/recipes-extended/acpica/acpica_20200925.bb
index d1d06c0..a6d8d67 100644
--- a/poky/meta/recipes-extended/acpica/acpica_20200717.bb
+++ b/poky/meta/recipes-extended/acpica/acpica_20200925.bb
@@ -17,7 +17,7 @@
DEPENDS = "m4-native flex-native bison-native"
SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix-${PV}.tar.gz"
-SRC_URI[sha256sum] = "cb99903ef240732f395af40c23b9b19c7899033f48840743544eebb6da72a828"
+SRC_URI[sha256sum] = "d44388e21e3d2e47c6d39e9c897935d3f775f04fec76271dcba072c74f834589"
UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.2.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.4.bb
similarity index 94%
rename from poky/meta/recipes-extended/asciidoc/asciidoc_9.0.2.bb
rename to poky/meta/recipes-extended/asciidoc/asciidoc_9.0.4.bb
index 711bfbf..51d12cb 100644
--- a/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.2.bb
+++ b/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.4.bb
@@ -10,7 +10,7 @@
SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https \
file://auto-catalogs.patch"
-SRCREV = "9a407dc9a497364c91421fd961954eddb565baf1"
+SRCREV = "8de61a75572b5b8f90c1f87634aa3767472be7a7"
DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc
index 87870e4..df8d4d2 100644
--- a/poky/meta/recipes-extended/cups/cups.inc
+++ b/poky/meta/recipes-extended/cups/cups.inc
@@ -20,6 +20,9 @@
UPSTREAM_CHECK_URI = "https://github.com/apple/cups/releases"
UPSTREAM_CHECK_REGEX = "cups-(?P<pver>\d+\.\d+(\.\d+)?)-source.tar"
+# This is an Ubuntu only issue.
+CVE_CHECK_WHITELIST += "CVE-2018-6553"
+
LEAD_SONAME = "libcupsdriver.so"
CLEANBROKEN = "1"
diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
index 75a3841..673b350 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
+++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
@@ -1,4 +1,4 @@
-From afecc8791f904dc1893858d68a642b491356c74b Mon Sep 17 00:00:00 2001
+From 538bd5ec36d88f17803cb848cbbfe62ad51fc2f4 Mon Sep 17 00:00:00 2001
From: Tudor Florea <tudor.florea@enea.com>
Date: Wed, 28 May 2014 18:59:54 +0200
Subject: [PATCH] ethtool: use serial-tests config needed by ptest.
@@ -15,11 +15,11 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 19223f7..8a58d15 100644
+index 0162155..6866e72 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
- AC_INIT(ethtool, 5.8, netdev@vger.kernel.org)
+ AC_INIT(ethtool, 5.9, netdev@vger.kernel.org)
AC_PREREQ(2.52)
AC_CONFIG_SRCDIR([ethtool.c])
-AM_INIT_AUTOMAKE([gnu subdir-objects])
diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.8.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.9.bb
similarity index 93%
rename from poky/meta/recipes-extended/ethtool/ethtool_5.8.bb
rename to poky/meta/recipes-extended/ethtool/ethtool_5.9.bb
index 0403f0e..2d2f9b7 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool_5.8.bb
+++ b/poky/meta/recipes-extended/ethtool/ethtool_5.9.bb
@@ -11,7 +11,7 @@
file://avoid_parallel_tests.patch \
"
-SRC_URI[sha256sum] = "91e8bbda48a7fd5d374efacca542364ceb3a6c1f286f024b64ec40ccc799e125"
+SRC_URI[sha256sum] = "f934a830554c46d7d60b1a9147f4cab15589b7e09344c4b79b1948b740f0a725"
UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/"
diff --git a/poky/meta/recipes-extended/gawk/gawk/0001-Use-cross-AR-during-compile.patch b/poky/meta/recipes-extended/gawk/gawk/0001-Use-cross-AR-during-compile.patch
new file mode 100644
index 0000000..ca0d668
--- /dev/null
+++ b/poky/meta/recipes-extended/gawk/gawk/0001-Use-cross-AR-during-compile.patch
@@ -0,0 +1,35 @@
+From 207b94e37c84007b294e57878c913271aad544ef Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 11 Nov 2020 23:13:23 -0800
+Subject: [PATCH] Use cross AR during compile
+
+If AR is specifcied then it should be used instead of defaulting to 'ar'
+from host
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 31364ab..4804f7b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -92,6 +92,13 @@ GAWK_CANONICAL_HOST
+ AC_USE_SYSTEM_EXTENSIONS
+
+ dnl checks for programs
++m4_ifndef([AC_PROG_AR],[dnl
++ AN_MAKEVAR([AR], [AC_PROG_AR])
++ AN_PROGRAM([ar], [AC_PROG_AR])
++ AC_DEFUN([AC_PROG_AR],
++ [AC_CHECK_TOOL(AR, ar, :)])
++])
++AC_PROG_AR
+ AC_PROG_EGREP
+ AC_PROG_YACC
+ AC_PROG_LN_S
+--
+2.29.2
+
diff --git a/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb b/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb
index 0d005cd..8c6411c 100644
--- a/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb
+++ b/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb
@@ -17,6 +17,7 @@
SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
file://run-ptest \
+ file://0001-Use-cross-AR-during-compile.patch \
"
SRC_URI[md5sum] = "f719bc9966df28e67fc6ebc405e7ea03"
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2020-15900.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2020-15900.patch
deleted file mode 100644
index d7c5f03..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2020-15900.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 5d499272b95a6b890a1397e11d20937de000d31b Mon Sep 17 00:00:00 2001
-From: Ray Johnston <ray.johnston@artifex.com>
-Date: Wed, 22 Jul 2020 09:57:54 -0700
-Subject: [PATCH] Bug 702582, CVE 2020-15900 Memory Corruption in Ghostscript
- 9.52
-
-Fix the 'rsearch' calculation for the 'post' size to give the correct
-size. Previous calculation would result in a size that was too large,
-and could underflow to max uint32_t. Also fix 'rsearch' to return the
-correct 'pre' string with empty string match.
-
-A future change may 'undefine' this undocumented, non-standard operator
-during initialization as we do with the many other non-standard internal
-PostScript operators and procedures.
-
-Upstream-Status: Backport [https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5d499272b95a6b890a1397e11d20937de000d31b]
-CVE: CVE-2020-15900
-Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
----
- psi/zstring.c | 17 +++++++++++------
- 1 file changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/psi/zstring.c b/psi/zstring.c
-index 33662dafa..58e1af2b3 100644
---- a/psi/zstring.c
-+++ b/psi/zstring.c
-@@ -142,13 +142,18 @@ search_impl(i_ctx_t *i_ctx_p, bool forward)
- return 0;
- found:
- op->tas.type_attrs = op1->tas.type_attrs;
-- op->value.bytes = ptr;
-- r_set_size(op, size);
-+ op->value.bytes = ptr; /* match */
-+ op->tas.rsize = size; /* match */
- push(2);
-- op[-1] = *op1;
-- r_set_size(op - 1, ptr - op[-1].value.bytes);
-- op1->value.bytes = ptr + size;
-- r_set_size(op1, count + (!forward ? (size - 1) : 0));
-+ op[-1] = *op1; /* pre */
-+ op[-3].value.bytes = ptr + size; /* post */
-+ if (forward) {
-+ op[-1].tas.rsize = ptr - op[-1].value.bytes; /* pre */
-+ op[-3].tas.rsize = count; /* post */
-+ } else {
-+ op[-1].tas.rsize = count; /* pre */
-+ op[-3].tas.rsize -= count + size; /* post */
-+ }
- make_true(op);
- return 0;
- }
---
-2.17.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch
index ffa269e..5b57da2 100644
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch
@@ -1,7 +1,7 @@
-From 84bb692d6b047c09266de154f404af9817fa04aa Mon Sep 17 00:00:00 2001
+From 04a86a613e0f9bfbbad99874f72217f75e8c53a3 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Thu, 29 Mar 2018 15:59:05 +0800
-Subject: [PATCH 01/10] contrib.mak: fix for parallel build
+Subject: [PATCH] contrib.mak: fix for parallel build
Upstream-Status: Pending
@@ -9,23 +9,16 @@
Rebase to 9.23
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
- contrib/contrib.mak | 2 ++
- 1 file changed, 2 insertions(+)
+ contrib/contrib.mak | 1 +
+ 1 file changed, 1 insertion(+)
diff --git a/contrib/contrib.mak b/contrib/contrib.mak
-index f5a2fa4..4999752 100644
+index 2edee7a..c9100e8 100644
--- a/contrib/contrib.mak
+++ b/contrib/contrib.mak
-@@ -1067,6 +1067,7 @@ $(DEVOBJ)dviprlib.$(OBJ) : $(JAPSRC)dviprlib.c $(JAPSRC)dviprlib.h \
- $(DEVCC) $(O_)$@ $(C_) $(JAPSRC)dviprlib.c
-
- extra-dmprt-install: install-libdata
-+ mkdir -p $(DESTDIR)$(gsdatadir)$(D)lib
- $(INSTALL_DATA) $(JAPSRC)dmp_init.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
- $(INSTALL_DATA) $(JAPSRC)dmp_site.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
- $(INSTALL_DATA) $(JAPSRC)escp_24.src $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
-@@ -1235,6 +1236,7 @@ $(DEVOBJ)gdevalps.$(OBJ) : $(JAPSRC)gdevalps.c $(PDEVH) \
+@@ -1241,6 +1241,7 @@ $(DEVOBJ)gdevalps.$(OBJ) : $(JAPSRC)gdevalps.c $(PDEVH) \
### ----------------- Additional .upp files ---------------- ###
extra-upp-install: install-libdata
@@ -33,6 +26,3 @@
for f in $(CONTRIBSRC)uniprint$(D)*.upp; do \
$(INSTALL_DATA) $$f $(DESTDIR)$(gsdatadir)$(D)lib || exit 1; \
done
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_9.52.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb
similarity index 95%
rename from poky/meta/recipes-extended/ghostscript/ghostscript_9.52.bb
rename to poky/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb
index 65135f5..cbf60c8 100644
--- a/poky/meta/recipes-extended/ghostscript/ghostscript_9.52.bb
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb
@@ -34,7 +34,6 @@
SRC_URI = "${SRC_URI_BASE} \
file://ghostscript-9.21-prevent_recompiling.patch \
file://cups-no-gcrypt.patch \
- file://CVE-2020-15900.patch \
"
SRC_URI_class-native = "${SRC_URI_BASE} \
@@ -42,8 +41,7 @@
file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \
"
-SRC_URI[md5sum] = "0f6964ab9b83a63b7e373f136243f901"
-SRC_URI[sha256sum] = "c2501d8e8e0814c4a5aa7e443e230e73d7af7f70287546f7b697e5ef49e32176"
+SRC_URI[sha256sum] = "6eaf422f26a81854a230b80fd18aaef7e8d94d661485bd2e97e695b9dce7bf7f"
# Put something like
#
@@ -84,6 +82,10 @@
inherit autotools-brokensep
+do_configure_prepend_class-target () {
+ rm -rf ${S}/jpeg/
+}
+
do_configure_append () {
# copy tools from the native ghostscript build
if [ "${PN}" != "ghostscript-native" ]; then
diff --git a/poky/meta/recipes-extended/grep/grep_3.4.bb b/poky/meta/recipes-extended/grep/grep_3.5.bb
similarity index 89%
rename from poky/meta/recipes-extended/grep/grep_3.4.bb
rename to poky/meta/recipes-extended/grep/grep_3.5.bb
index e176dd7..22ef70b 100644
--- a/poky/meta/recipes-extended/grep/grep_3.4.bb
+++ b/poky/meta/recipes-extended/grep/grep_3.5.bb
@@ -7,8 +7,7 @@
SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz"
-SRC_URI[md5sum] = "111b117d22d6a7d049d6ae7505e9c4d2"
-SRC_URI[sha256sum] = "58e6751c41a7c25bfc6e9363a41786cff3ba5709cf11d5ad903cf7cce31cc3fb"
+SRC_URI[sha256sum] = "b82ac77707c2ab945520c8404c9fa9f890f7791a62cf2103cf6238acad87a44a"
inherit autotools gettext texinfo pkgconfig
diff --git a/poky/meta/recipes-extended/hdparm/hdparm_9.58.bb b/poky/meta/recipes-extended/hdparm/hdparm_9.60.bb
similarity index 90%
rename from poky/meta/recipes-extended/hdparm/hdparm_9.58.bb
rename to poky/meta/recipes-extended/hdparm/hdparm_9.60.bb
index e47deda..41f70b4 100644
--- a/poky/meta/recipes-extended/hdparm/hdparm_9.58.bb
+++ b/poky/meta/recipes-extended/hdparm/hdparm_9.60.bb
@@ -25,8 +25,8 @@
file://wiper.sh-fix-stat-path.patch \
"
-SRC_URI[md5sum] = "4652c49cf096a64683c05f54b4fa4679"
-SRC_URI[sha256sum] = "9ae78e883f3ce071d32ee0f1b9a2845a634fc4dd94a434e653fdbef551c5e10f"
+SRC_URI[md5sum] = "25a791d47236c58801f8b27074f3ef93"
+SRC_URI[sha256sum] = "8397739c73e44d5ab96c4aef28fa9c0147276d53a1b5657ce04c4565cf6635cc"
EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"'
diff --git a/poky/meta/recipes-extended/iptables/iptables/0001-build-resolve-iptables-apply-not-getting-installed.patch b/poky/meta/recipes-extended/iptables/iptables/0001-build-resolve-iptables-apply-not-getting-installed.patch
deleted file mode 100644
index 51ed66e..0000000
--- a/poky/meta/recipes-extended/iptables/iptables/0001-build-resolve-iptables-apply-not-getting-installed.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From d4ed0c741fc789bb09d977d74d30875fdd50d08b Mon Sep 17 00:00:00 2001
-From: Jan Engelhardt <jengelh@inai.de>
-Date: Wed, 3 Jun 2020 15:38:48 +0200
-Subject: [PATCH] build: resolve iptables-apply not getting installed
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-ip6tables-apply gets installed but iptables-apply does not.
-That is wrong.
-
-» make install DESTDIR=$PWD/r
-» find r -name "*app*"
-r/usr/local/sbin/ip6tables-apply
-r/usr/local/share/man/man8/iptables-apply.8
-r/usr/local/share/man/man8/ip6tables-apply.8
-
-Fixes: v1.8.5~87
-Signed-off-by: Jan Engelhardt <jengelh@inai.de>
-Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-
-Upstream-Status: Backport
-[https://git.netfilter.org/iptables/commit/?id=d4ed0c741fc789bb09d977d74d30875fdd50d08b]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- iptables/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/iptables/Makefile.am b/iptables/Makefile.am
-index dc66b3cc..2024dbf5 100644
---- a/iptables/Makefile.am
-+++ b/iptables/Makefile.am
-@@ -56,7 +56,7 @@ man_MANS = iptables.8 iptables-restore.8 iptables-save.8 \
- ip6tables-save.8 iptables-extensions.8 \
- iptables-apply.8 ip6tables-apply.8
-
--sbin_SCRIPT = iptables-apply
-+sbin_SCRIPTS = iptables-apply
-
- if ENABLE_NFTABLES
- man_MANS += xtables-nft.8 xtables-translate.8 xtables-legacy.8 \
---
-2.17.1
-
diff --git a/poky/meta/recipes-extended/iptables/iptables_1.8.5.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.6.bb
similarity index 95%
rename from poky/meta/recipes-extended/iptables/iptables_1.8.5.bb
rename to poky/meta/recipes-extended/iptables/iptables_1.8.6.bb
index 5976128..9c15b0b 100644
--- a/poky/meta/recipes-extended/iptables/iptables_1.8.5.bb
+++ b/poky/meta/recipes-extended/iptables/iptables_1.8.6.bb
@@ -11,13 +11,12 @@
SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \
- file://0001-build-resolve-iptables-apply-not-getting-installed.patch \
file://iptables.service \
file://iptables.rules \
file://ip6tables.service \
file://ip6tables.rules \
-"
-SRC_URI[sha256sum] = "d457d74512e63aa3f50336e0597d4023c0e3c6845594d38532efb6ebcb294309"
+ "
+SRC_URI[sha256sum] = "a0f4fe0c3eb8faa5bd9c8376d132f340b9558e750c91deb2d5028aa3d0047767"
SYSTEMD_SERVICE_${PN} = "\
iptables.service \
diff --git a/poky/meta/recipes-extended/less/less_562.bb b/poky/meta/recipes-extended/less/less_563.bb
similarity index 89%
rename from poky/meta/recipes-extended/less/less_562.bb
rename to poky/meta/recipes-extended/less/less_563.bb
index c900574..123522b 100644
--- a/poky/meta/recipes-extended/less/less_562.bb
+++ b/poky/meta/recipes-extended/less/less_563.bb
@@ -28,8 +28,7 @@
SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \
"
-SRC_URI[md5sum] = "0371a9678cb42f37b9bf9b86e8aa7903"
-SRC_URI[sha256sum] = "eab470c7c928132441541aa49b1352c0fc699c30f762dfaeb3bf88e6f0fd701b"
+SRC_URI[sha256sum] = "ce5b6d2b9fc4442d7a07c93ab128d2dff2ce09a1d4f2d055b95cf28dd0dc9a9a"
UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html"
diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.14.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.16.bb
similarity index 93%
rename from poky/meta/recipes-extended/libsolv/libsolv_0.7.14.bb
rename to poky/meta/recipes-extended/libsolv/libsolv_0.7.16.bb
index 5179d45..f790272 100644
--- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.14.bb
+++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.16.bb
@@ -10,7 +10,7 @@
SRC_URI = "git://github.com/openSUSE/libsolv.git \
"
-SRCREV = "b264537ea43ce39d93d8d97fcca16e97825beaa0"
+SRCREV = "7046fb004987c7f1b3722628d9a4ca1c67577188"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb
index a06cbcf..3e8f7a1 100644
--- a/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb
+++ b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb
@@ -1,6 +1,6 @@
SUMMARY = "lsb_release support for OpenEmbedded"
SECTION = "console/utils"
-HOMEPAGE = "http://prdownloads.sourceforge.net/lsb"
+HOMEPAGE = "https://sourceforge.net/projects/lsb/files"
LICENSE = "GPLv2+"
# lsb_release needs getopt
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch b/poky/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
index 6b66503..e51950f 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
@@ -1,4 +1,4 @@
-From 13ef88cdccfe3f58c53d57806866b91e310eb272 Mon Sep 17 00:00:00 2001
+From 93772c511d954d755cc9128c58ed8968a5af541b Mon Sep 17 00:00:00 2001
From: "Mingde (Matthew) Zeng" <matthewzmd@gmail.com>
Date: Wed, 29 Jul 2020 08:47:09 -0400
Subject: [PATCH] Remove OOM tests from runtest/mm
@@ -13,13 +13,13 @@
1 file changed, 6 deletions(-)
diff --git a/runtest/mm b/runtest/mm
-index a09f39c1e..76fa82754 100644
+index 481d39691..cf207d10e 100644
--- a/runtest/mm
+++ b/runtest/mm
-@@ -73,12 +73,6 @@ ksm06 ksm06
- ksm06_1 ksm06 -n 10
- ksm06_2 ksm06 -n 10000
-
+@@ -74,12 +74,6 @@ ksm06_2 ksm06 -n 10000
+
+ cpuset01 cpuset01
+
-oom01 oom01
-oom02 oom02
-oom03 oom03
@@ -27,8 +27,5 @@
-oom05 oom05
-
swapping01 swapping01 -i 5
-
+
thp01 thp01 -I 120
---
-2.27.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch b/poky/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch
deleted file mode 100644
index 27b890e..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0001-ptrace01-Fix-missing-format-string.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From adb9587466a493fdd9d4410f1b8b130ebca06daa Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 19 May 2020 22:21:23 -0700
-Subject: [PATCH] ptrace01: Fix missing format string
-
-Fixes
-| ptrace01.c:89:2: error: format string is not a string literal
-(potentially insecure) [-Werror,-Wformat-security]
-| tst_res(TINFO, tc->message);
-| ^ ~~~~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport [58424835952641f4fd60c0ae3ab6c64decca3f8a]
----
- testcases/kernel/syscalls/ptrace/ptrace01.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/ptrace/ptrace01.c b/testcases/kernel/syscalls/ptrace/ptrace01.c
-index 87a99e4150..9071bbabaf 100644
---- a/testcases/kernel/syscalls/ptrace/ptrace01.c
-+++ b/testcases/kernel/syscalls/ptrace/ptrace01.c
-@@ -86,7 +86,7 @@ static void run(unsigned int i)
-
- got_signal = 0;
-
-- tst_res(TINFO, tc->message);
-+ tst_res(TINFO, "%s", tc->message);
-
- if (tc->handler == 1) {
- parent_act.sa_handler = parent_handler;
---
-2.26.2
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch b/poky/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch
deleted file mode 100644
index 17d5af8..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From e0a63deb1857eb90288e90d6368df70cdd0c0ec9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 28 May 2020 13:04:33 -0700
-Subject: [PATCH] sigwaitinfo: Do not run invalid/undefined test cases
-
-These testcases run for eternity on musl
-
-test_bad_address* cases are passing invalid pointers to a function; that's always UB
-empty_set and timeout rely on the implementation-defined "may fail" for EINTR in sigtimedwait [1]
-
-normally "may fail" is an "unspecified" but here the impl
-is supposed to document it so it's "impl-defined"
-
-[1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigtimedwait.html
-
-Upstream-Status: Submitted [https://patchwork.ozlabs.org/project/ltp/patch/20200528204556.2444156-1-raj.khem@gmail.com/]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Cc: Rich Felker <dalias@aerifal.cx>
----
- .../kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 12 ++----------
- 1 file changed, 2 insertions(+), 10 deletions(-)
-
---- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
-+++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
-@@ -422,15 +422,10 @@ struct test_desc {
- } tests[] = {
- #ifdef TEST_RT_SIGTIMEDWAIT
- {
-- test_empty_set, my_rt_sigtimedwait, SIGUSR1}, {
- test_unmasked_matching, my_rt_sigtimedwait, SIGUSR1}, {
- test_masked_matching, my_rt_sigtimedwait, SIGUSR1}, {
- test_unmasked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1}, {
-- test_masked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1}, {
-- test_bad_address, my_rt_sigtimedwait, SIGUSR1}, {
-- test_bad_address2, my_rt_sigtimedwait, SIGUSR1}, {
-- test_bad_address3, my_rt_sigtimedwait, SIGUSR1}, {
-- test_timeout, my_rt_sigtimedwait, 0},
-+ test_masked_matching_noinfo, my_rt_sigtimedwait, SIGUSR1},
- /* Special cases */
- /* 1: sigwaitinfo does respond to ignored signal */
- {
-@@ -452,25 +447,17 @@ struct test_desc {
- #endif
- #if defined TEST_SIGWAITINFO
- {
-- test_empty_set, my_sigwaitinfo, SIGUSR1}, {
- test_unmasked_matching, my_sigwaitinfo, SIGUSR1}, {
- test_masked_matching, my_sigwaitinfo, SIGUSR1}, {
- test_unmasked_matching_noinfo, my_sigwaitinfo, SIGUSR1}, {
-- test_masked_matching_noinfo, my_sigwaitinfo, SIGUSR1}, {
-- test_bad_address, my_sigwaitinfo, SIGUSR1}, {
-- test_bad_address2, my_sigwaitinfo, SIGUSR1},
-+ test_masked_matching_noinfo, my_sigwaitinfo, SIGUSR1},
- #endif
- #if defined TEST_SIGTIMEDWAIT
- {
-- test_empty_set, my_sigtimedwait, SIGUSR1}, {
- test_unmasked_matching, my_sigtimedwait, SIGUSR1}, {
- test_masked_matching, my_sigtimedwait, SIGUSR1}, {
- test_unmasked_matching_noinfo, my_sigtimedwait, SIGUSR1}, {
-- test_masked_matching_noinfo, my_sigtimedwait, SIGUSR1}, {
-- test_bad_address, my_sigtimedwait, SIGUSR1}, {
-- test_bad_address2, my_sigtimedwait, SIGUSR1}, {
-- test_bad_address3, my_sigtimedwait, SIGUSR1}, {
-- test_timeout, my_sigtimedwait, 0},
-+ test_masked_matching_noinfo, my_sigtimedwait, SIGUSR1},
- #endif
- };
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch
deleted file mode 100644
index 09b6f54..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 99687ab002f9f750f6f18fa1d70a91f0aa4f8ba2 Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Thu, 18 Jun 2020 17:18:27 +0800
-Subject: [PATCH] syscalls/copy_file_range02: Expect EFBIG in subcase max
- length on 32-bit architectures
-
-For syscall
-ssize_t copy_file_range(int fd_in, loff_t *off_in,
- int fd_out, loff_t *off_out,
- size_t len, unsigned int flags);
-off_out is loff_t* that is long long, 64 bits on 32-bit architectures,
-while len is size_t that unsigned int, 32 bits on 32-bit architectures.
-
-In subcase "max length", simplified as below,
-
-dst = tst_max_lfs_filesize();
-TEST(sys_copy_file_range(fd_src, 0, *tc->copy_to_fd, &dst, tc->len, tc->flags));
-
-where dst is 4K*4G and len is 4G, so (4K+1)*4G is always smaller than 4G*4G,
-it can never match the following kernel condition on 32-bit architectures.
-
-if (pos_in + count < pos_in || pos_out + count < pos_out)
- return -EOVERFLOW;
-
-And thus we would get error like
-copy_file_range02.c:139: FAIL: copy_file_range failed unexpectedly; expected EOVERFLOW, but got: EFBIG (27)
-
-Also correct a typo.
-
-Upstream-Status: Backport [http://lists.linux.it/pipermail/ltp/2020-June/017716.html]
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
-Acked-by: Li Wang <liwang@redhat.com>
----
- .../kernel/syscalls/copy_file_range/copy_file_range02.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c b/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c
-index fa679c4d3..bc27fbe57 100644
---- a/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c
-+++ b/testcases/kernel/syscalls/copy_file_range/copy_file_range02.c
-@@ -78,7 +78,11 @@ static struct tcase {
- {&fd_chrdev, 0, EINVAL, CONTSIZE, "char device", 0},
- {&fd_fifo, 0, EINVAL, CONTSIZE, "fifo", 0},
- {&fd_pipe[0], 0, EINVAL, CONTSIZE, "pipe", 0},
-- {&fd_copy, 0, EOVERFLOW, ULLONG_MAX, "max length lenght", 1},
-+#ifdef TST_ABI64
-+ {&fd_copy, 0, EOVERFLOW, ULLONG_MAX, "max length", 1},
-+#else
-+ {&fd_copy, 0, EFBIG, ULLONG_MAX, "max length", 1},
-+#endif
- {&fd_copy, 0, EFBIG, MIN_OFF, "max file size", 1},
- };
-
---
-2.17.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch b/poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch
deleted file mode 100644
index a187f61..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From d0fc9ca5d3366f9b8907e463222403cd2327be10 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 06:51:20 +0000
-Subject: [PATCH] guard mallocopt() with __GLIBC__
-
-mallocopt is not available on non glibc implementations
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
-Upstream-Status: Accepted [967612c454aea66770b64f69287671037fe895b3]
----
- utils/benchmark/ebizzy-0.3/ebizzy.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/utils/benchmark/ebizzy-0.3/ebizzy.c b/utils/benchmark/ebizzy-0.3/ebizzy.c
-index 5bb8eff..934d951 100644
---- a/utils/benchmark/ebizzy-0.3/ebizzy.c
-+++ b/utils/benchmark/ebizzy-0.3/ebizzy.c
-@@ -215,10 +215,10 @@ static void read_options(int argc, char *argv[])
- "\"never mmap\" option specified\n");
- usage();
- }
--
-+#ifdef __GLIBC__
- if (never_mmap)
- mallopt(M_MMAP_MAX, 0);
--
-+#endif
- if (chunk_size < record_size) {
- fprintf(stderr, "Chunk size %u smaller than record size %u\n",
- chunk_size, record_size);
---
-2.7.4
-
diff --git a/poky/meta/recipes-extended/ltp/ltp_20200515.bb b/poky/meta/recipes-extended/ltp/ltp_20200930.bb
similarity index 93%
rename from poky/meta/recipes-extended/ltp/ltp_20200515.bb
rename to poky/meta/recipes-extended/ltp/ltp_20200930.bb
index 0c7044d..7acf15b 100644
--- a/poky/meta/recipes-extended/ltp/ltp_20200515.bb
+++ b/poky/meta/recipes-extended/ltp/ltp_20200930.bb
@@ -27,16 +27,12 @@
CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-SRCREV = "0d79a93e6ca44d9bc95973faea6bcd7b0c6d1f43"
+SRCREV = "da2f34028f046a208aa2fed5e287df2538e69f91"
SRC_URI = "git://github.com/linux-test-project/ltp.git \
file://0001-build-Add-option-to-select-libc-implementation.patch \
- file://0004-guard-mallocopt-with-__GLIBC__.patch \
file://0007-Fix-test_proc_kill-hanging.patch \
file://0001-Add-more-musl-exclusions.patch \
- file://0001-ptrace01-Fix-missing-format-string.patch \
- file://0001-sigwaitinfo-Do-not-run-invalid-undefined-test-cases.patch \
- file://0001-syscalls-copy_file_range02-Expect-EFBIG-in-subcase-m.patch \
file://0001-Remove-OOM-tests-from-runtest-mm.patch \
"
diff --git a/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb b/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb
index 0303486..c584b75 100644
--- a/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb
+++ b/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb
@@ -1,5 +1,5 @@
SUMMARY = "Text-based modem control and terminal emulation program"
-HOMEPAGE = "http://alioth.debian.org/projects/minicom/"
+HOMEPAGE = "https://salsa.debian.org/minicom-team/minicom"
DESCRIPTION = "Minicom is a text-based modem control and terminal emulation program for Unix-like operating systems"
SECTION = "console/network"
DEPENDS = "ncurses virtual/libiconv"
diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.12.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.13.bb
similarity index 91%
rename from poky/meta/recipes-extended/msmtp/msmtp_1.8.12.bb
rename to poky/meta/recipes-extended/msmtp/msmtp_1.8.13.bb
index 54798f9..994f1c5 100644
--- a/poky/meta/recipes-extended/msmtp/msmtp_1.8.12.bb
+++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.13.bb
@@ -11,7 +11,7 @@
UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
-SRC_URI[sha256sum] = "a86fef9477339923afefe974988a38e32d0feb90dfeeb88f7f55aac356a96354"
+SRC_URI[sha256sum] = "ada945ab8d519102bb632f197273b3326ded25b38c003b0cf3861d1d6d4a9bb9"
inherit gettext autotools update-alternatives pkgconfig
diff --git a/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb b/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
index d24035b..ed21d81 100644
--- a/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
+++ b/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
@@ -3,7 +3,7 @@
file compressor that uses pthreads and achieves near-linear speedup on SMP \
machines. The output of this version is fully compatible with bzip2 v1.0.2 or \
newer (ie: anything compressed with pbzip2 can be decompressed with bzip2)."
-HOMEPAGE = "http://compression.ca/pbzip2/"
+HOMEPAGE = "https://launchpad.net/pbzip2/"
SECTION = "console/utils"
LICENSE = "bzip2-1.0.6"
LIC_FILES_CHKSUM = "file://COPYING;md5=398b8832c6f840cfebd20ab2be6a3743"
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.21.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.23.bb
similarity index 89%
rename from poky/meta/recipes-extended/stress-ng/stress-ng_0.11.21.bb
rename to poky/meta/recipes-extended/stress-ng/stress-ng_0.11.23.bb
index 71671dd..f09bb24 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.21.bb
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.23.bb
@@ -9,7 +9,7 @@
file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \
file://no_daddr_t.patch \
"
-SRC_URI[sha256sum] = "ee44b71aba20e9c7d10ec4768efa2245d12579fa17e08b9314c17f06f785ae39"
+SRC_URI[sha256sum] = "c0a76147a02f4c31af1fb4b9b7e0b90ac8bbd8590ccb54264d5cbe046c769cd2"
DEPENDS = "coreutils-native"
diff --git a/poky/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch b/poky/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch
new file mode 100644
index 0000000..f7ccfdd
--- /dev/null
+++ b/poky/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch
@@ -0,0 +1,52 @@
+sudo.conf.in: fix conflict with multilib
+
+When pass ${libdir} to --libexecdir of sudo, it fails to install sudo
+and lib32-sudo at same time:
+
+| Error: Transaction test error:
+| file /etc/sudo.conf conflicts between attempted installs of
+ sudo-1.9.3p1-r0.core2_64 and lib32-sudo-1.9.3p1-r0.core2_32
+
+Update the comments in sudo.conf.in to avoid the conflict.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Upstream-Status: Inappropriate [OE configuration specific]
+---
+ examples/sudo.conf.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/examples/sudo.conf.in b/examples/sudo.conf.in
+index 19e33ff..af78235 100644
+--- a/examples/sudo.conf.in
++++ b/examples/sudo.conf.in
+@@ -4,7 +4,7 @@
+ # Sudo plugins:
+ # Plugin plugin_name plugin_path plugin_options ...
+ #
+-# The plugin_path is relative to @plugindir@ unless
++# The plugin_path is relative to $plugindir such as /usr/lib/sudo unless
+ # fully qualified.
+ # The plugin_name corresponds to a global symbol in the plugin
+ # that contains the plugin interface structure.
+@@ -50,7 +50,7 @@ Plugin sudoers_audit sudoers.so
+ # The compiled-in value is usually sufficient and should only be changed
+ # if you rename or move the sudo_noexec.so file.
+ #
+-#Path noexec @plugindir@/sudo_noexec.so
++#Path noexec $plugindir/sudo_noexec.so
+
+ #
+ # Sudo plugin directory:
+@@ -59,7 +59,7 @@ Plugin sudoers_audit sudoers.so
+ # The default directory to use when searching for plugins that are
+ # specified without a fully qualified path name.
+ #
+-#Path plugin_dir @plugindir@
++#Path plugin_dir $plugindir
+
+ #
+ # Sudo developer mode:
+--
+2.17.1
+
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.3.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.3p1.bb
similarity index 83%
rename from poky/meta/recipes-extended/sudo/sudo_1.9.3.bb
rename to poky/meta/recipes-extended/sudo/sudo_1.9.3p1.bb
index 270625e..ba61a7f 100644
--- a/poky/meta/recipes-extended/sudo/sudo_1.9.3.bb
+++ b/poky/meta/recipes-extended/sudo/sudo_1.9.3p1.bb
@@ -2,11 +2,12 @@
SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \
"
PAM_SRC_URI = "file://sudo.pam"
-SRC_URI[sha256sum] = "1d9889cc3b3b15ed8c2c7c3de3aa392a3a726838d020815067c080525c3f5837"
+SRC_URI[sha256sum] = "dcb9de53e45e1c39042074b847f5e0d8ae1890725dd6a9d9101a81569e6eb49e"
DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
@@ -24,6 +25,7 @@
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
--with-rundir=/run/sudo \
--with-vardir=/var/lib/sudo \
+ --libexecdir=${libdir} \
"
do_install_append () {
@@ -43,5 +45,5 @@
}
FILES_${PN} += "${nonarch_libdir}/tmpfiles.d"
-FILES_${PN}-dev += "${libexecdir}/${BPN}/lib*${SOLIBSDEV} ${libexecdir}/${BPN}/*.la \
- ${libexecdir}/lib*${SOLIBSDEV} ${libexecdir}/*.la"
+FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \
+ ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la"
diff --git a/poky/meta/recipes-extended/timezone/timezone.inc b/poky/meta/recipes-extended/timezone/timezone.inc
index 8eb17c5..5368464 100644
--- a/poky/meta/recipes-extended/timezone/timezone.inc
+++ b/poky/meta/recipes-extended/timezone/timezone.inc
@@ -6,7 +6,7 @@
LICENSE = "PD & BSD & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
-PV = "2020b"
+PV = "2020d"
SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \
http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \
@@ -14,5 +14,5 @@
UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
-SRC_URI[tzcode.sha256sum] = "47eff8944de4a64f7629b851e4a32338ab12c9b73edd62063795167ff1fe43da"
-SRC_URI[tzdata.sha256sum] = "9b053f951d245ce89d850b96ee4711d82d833559b1fc96ba19f90bc4d745e809"
+SRC_URI[tzcode.sha256sum] = "6cf050ba28e8053029d3f32d71341d11a794c6b5dd51a77fc769d6dae364fad5"
+SRC_URI[tzdata.sha256sum] = "8d813957de363387696f05af8a8889afa282ab5016a764c701a20758d39cbaf3"
diff --git a/poky/meta/recipes-extended/which/which_2.21.bb b/poky/meta/recipes-extended/which/which_2.21.bb
index fac0fd3..fc91850 100644
--- a/poky/meta/recipes-extended/which/which_2.21.bb
+++ b/poky/meta/recipes-extended/which/which_2.21.bb
@@ -4,7 +4,7 @@
program names would have been entered on the shell prompt. \
It does this by using the exact same algorithm as bash."
SECTION = "libs"
-HOMEPAGE = "http://carlo17.home.xs4all.nl/which/"
+HOMEPAGE = "https://carlowood.github.io/which/"
LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.36.4.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.38.1.bb
similarity index 83%
rename from poky/meta/recipes-gnome/epiphany/epiphany_3.36.4.bb
rename to poky/meta/recipes-gnome/epiphany/epiphany_3.38.1.bb
index 4c3b183..f9daa8b 100644
--- a/poky/meta/recipes-gnome/epiphany/epiphany_3.36.4.bb
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.38.1.bb
@@ -5,7 +5,7 @@
DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \
gsettings-desktop-schemas libxml2-native \
- glib-2.0 glib-2.0-native json-glib libdazzle libhandy"
+ glib-2.0 glib-2.0-native json-glib libdazzle libhandy libportal"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings features_check upstream-version-is-even gettext mime-xdg
@@ -14,7 +14,7 @@
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
file://0002-help-meson.build-disable-the-use-of-yelp.patch \
"
-SRC_URI[archive.sha256sum] = "588a75b1588f5a509c33cf0be6a38a0f4fc1748eeb499a51d991ddef485242bf"
+SRC_URI[archive.sha256sum] = "59b7576acb11fbb52eaca6dbf6fce28664de5c915ca2580c47f0b08ba83d2843"
FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo"
RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas"
diff --git a/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch b/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch
index d4f3cc1..118b5d1 100644
--- a/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch
+++ b/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch
@@ -1,4 +1,4 @@
-From 0048ae2d225d25cc58f378718ca6f9ddb1a228f9 Mon Sep 17 00:00:00 2001
+From 3725c254f1d1d8204fa299e71c1e2bfd0ff6a634 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 31 Jan 2018 15:50:38 +0200
Subject: [PATCH] help/meson.build: disable the use of yelp
@@ -13,11 +13,11 @@
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/help/meson.build b/help/meson.build
-index fddcf4c..f7d76c6 100644
+index 484860c..d9b2e80 100644
--- a/help/meson.build
+++ b/help/meson.build
@@ -32,7 +32,7 @@ help_media = [
- 'media/web-browser.png'
+ 'media/epiphany-private-3-36.png'
]
-gnome.yelp(meson.project_name(),
diff --git a/poky/meta/recipes-gnome/gcr/gcr/0001-meson-Make-sure-gcr-oids.h-is-built.patch b/poky/meta/recipes-gnome/gcr/gcr/0001-meson-Make-sure-gcr-oids.h-is-built.patch
deleted file mode 100644
index 4bf5bfb..0000000
--- a/poky/meta/recipes-gnome/gcr/gcr/0001-meson-Make-sure-gcr-oids.h-is-built.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 9fca6ae0aa7355c27d0922c561b9fbe18dde5b3d Mon Sep 17 00:00:00 2001
-From: Niels De Graef <nielsdegraef@gmail.com>
-Date: Fri, 19 Jun 2020 22:37:31 +0200
-Subject: [PATCH 1/1] meson: Make sure gcr-oids.h is built
-
-Fixes https://gitlab.gnome.org/GNOME/gcr/-/issues/48
----
- gcr/meson.build | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
---- end of original header ---
-
-Upstream-Status: Backport [https://github.com/GNOME/gcr.git]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
----
-diff --git a/gcr/meson.build b/gcr/meson.build
-index 199452f..06c3a63 100644
---- a/gcr/meson.build
-+++ b/gcr/meson.build
-@@ -178,7 +178,10 @@ endif
- gcr_base_dep = declare_dependency(
- link_with: gcr_base_lib,
- include_directories: include_directories('..'),
-- sources: gcr_enums_gen[1], # Make sure gcr-enum-types-base.h can be included
-+ sources: [
-+ gcr_enums_gen[1],
-+ gcr_oids[1],
-+ ],
- )
-
- if get_option('introspection')
---
-2.7.4
-
diff --git a/poky/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-set-internal-vapi-dependencies.patch b/poky/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-set-internal-vapi-dependencies.patch
deleted file mode 100644
index b484a1b..0000000
--- a/poky/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-set-internal-vapi-dependencies.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From ebb77dad4563b882b449cbc5e882f36ac8c2de71 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 11 May 2020 22:19:16 +0000
-Subject: [PATCH] meson.build: correctly set internal vapi dependencies
-
-If they are set as strings, meson will supply the right
-arguments to vapigen, but will not set the ninja dependencies
-to ensure they get built first, and so races will occur:
-https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/1881/steps/8/logs/step1b
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/55]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- gcr/meson.build | 2 +-
- ui/meson.build | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/gcr/meson.build b/gcr/meson.build
-index 254a933..199452f 100644
---- a/gcr/meson.build
-+++ b/gcr/meson.build
-@@ -203,7 +203,7 @@ if get_option('introspection')
-
- gcr_vapi = gnome.generate_vapi('gcr-@0@'.format(gcr_major_version),
- sources: gcr_gir[0],
-- packages: [ 'glib-2.0', 'gio-2.0', 'gck-@0@'.format(gck_major_version) ],
-+ packages: [ 'glib-2.0', 'gio-2.0', gck_vapi ],
- metadata_dirs: meson.current_source_dir(),
- vapi_dirs: [
- build_root / 'gck',
-diff --git a/ui/meson.build b/ui/meson.build
-index 5ca3753..477412d 100644
---- a/ui/meson.build
-+++ b/ui/meson.build
-@@ -174,8 +174,8 @@ if get_option('introspection')
- packages: [
- 'glib-2.0',
- 'gio-2.0',
-- 'gck-@0@'.format(gck_major_version),
-- 'gcr-@0@'.format(gcr_major_version),
-+ gck_vapi,
-+ gcr_vapi,
- 'gtk+-3.0'
- ],
- metadata_dirs: meson.current_source_dir(),
diff --git a/poky/meta/recipes-gnome/gcr/gcr_3.36.0.bb b/poky/meta/recipes-gnome/gcr/gcr_3.38.0.bb
similarity index 77%
rename from poky/meta/recipes-gnome/gcr/gcr_3.36.0.bb
rename to poky/meta/recipes-gnome/gcr/gcr_3.38.0.bb
index ff455a6..49e8f18 100644
--- a/poky/meta/recipes-gnome/gcr/gcr_3.36.0.bb
+++ b/poky/meta/recipes-gnome/gcr/gcr_3.38.0.bb
@@ -17,11 +17,7 @@
# depends on gtk+3, but also x11 through gtk+-x11
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI += " file://0001-meson.build-correctly-set-internal-vapi-dependencies.patch"
-SRC_URI += " file://0001-meson-Make-sure-gcr-oids.h-is-built.patch"
-
-SRC_URI[archive.md5sum] = "adc65563b6b458507b9a578a8b68fb61"
-SRC_URI[archive.sha256sum] = "aaf9bed017a2263c6145c89a1a84178f9f40f238426463e4ae486694ef5f6601"
+SRC_URI[archive.sha256sum] = "a64cc7b65757fc2cd16de1708d132a16d05cd1f62c6eba436d56fe45d4ba27e1"
FILES_${PN} += " \
${datadir}/dbus-1 \
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
index 5da3fbf..c8c70c4 100644
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
+++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
@@ -1,4 +1,4 @@
-From 0a867caa8803a78f7cf3a204c4c358bc63daaf28 Mon Sep 17 00:00:00 2001
+From 8b3b153b6b95662316528ef083365b46cf5f7841 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 30 May 2017 14:55:49 +0300
Subject: [PATCH] Don't use AC_CANONICAL_HOST
@@ -14,12 +14,12 @@
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index e749112..58790e8 100644
+index 449865d..888649e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,6 @@ AC_PREREQ(2.53)
- AC_INIT([adwaita-icon-theme], [3.36.1],
+ AC_INIT([adwaita-icon-theme], [3.38.0],
[http://bugzilla.gnome.org/enter_bug.cgi?product=adwaita-icon-theme])
-AC_CANONICAL_HOST
AC_CONFIG_MACRO_DIR([m4])
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.36.1.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb
similarity index 92%
rename from poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.36.1.bb
rename to poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb
index 2d78bea..ff55797 100644
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.36.1.bb
+++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb
@@ -16,8 +16,7 @@
file://0001-Run-installation-commands-as-shell-jobs.patch \
"
-SRC_URI[md5sum] = "c61ca9d6b3ce70a9ab66dcff945923ff"
-SRC_URI[sha256sum] = "e498518627044dfd7db7d79a5b3d437848caf1991ef4ef036a2d3a2ac2c1f14d"
+SRC_URI[sha256sum] = "6683a1aaf2430ccd9ea638dd4bfe1002bc92b412050c3dba20e480f979faaf97"
DEPENDS += "librsvg-native"
diff --git a/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index ff36555..ade9364 100644
--- a/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -3,7 +3,7 @@
It is intended for user preferences; not configuration of something like \
Apache, or arbitrary data storage."
SECTION = "x11/gnome"
-HOMEPAGE = "https://projects.gnome.org/gconf/"
+HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf"
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
index 9d6f5de..185ebc1 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
@@ -1,4 +1,4 @@
-From 8dfb44450ca9fffc15977e95eadcb7054ab60a9a Mon Sep 17 00:00:00 2001
+From 41c3ee549787333a073a3ce6303efef625c74dce Mon Sep 17 00:00:00 2001
From: Sascha Silbe <x-yo17@se-silbe.de>
Date: Fri, 8 Jun 2018 13:55:10 +0200
Subject: [PATCH] Relocate the repository directory for native builds
@@ -21,7 +21,7 @@
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/girepository/girepository.c b/girepository/girepository.c
-index b7948d6..39a2586 100644
+index 7d03485..20f4813 100644
--- a/girepository/girepository.c
+++ b/girepository/girepository.c
@@ -21,6 +21,8 @@
@@ -62,10 +62,10 @@
typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir);
diff --git a/girepository/meson.build b/girepository/meson.build
-index 204659f..3e61d31 100644
+index c8ef6aa..b85ff7f 100644
--- a/girepository/meson.build
+++ b/girepository/meson.build
-@@ -44,7 +44,7 @@ girepo_internals_lib = static_library('girepository-internals',
+@@ -45,7 +45,7 @@ girepo_internals_lib = static_library('girepository-internals',
],
c_args: gi_hidden_visibility_cflags + custom_c_args,
include_directories : configinc,
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-gir-add-a-dependency-for-g-ir-compiler-for-building-.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-gir-add-a-dependency-for-g-ir-compiler-for-building-.patch
deleted file mode 100644
index fc37a5b..0000000
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-gir-add-a-dependency-for-g-ir-compiler-for-building-.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 56ba5656258b82dbc069ab3a61e597c931a16a83 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 17 Jun 2020 11:43:16 +0200
-Subject: [PATCH] gir: add a dependency for g-ir-compiler for building .girs
-
-meson inserts the dependency if the compiler is used directly, but
-fails to do so if the compiler is run through a wrapper. This leads
-to build race errors between building the compiler and using it.
-
-Fix provided by Quentin Schulz <quentin.schulz@streamunlimited.com>
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/228]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- gir/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gir/meson.build b/gir/meson.build
-index b37fdb81..557e5517 100644
---- a/gir/meson.build
-+++ b/gir/meson.build
-@@ -448,7 +448,7 @@ foreach gir : gir_files
- typelibs += custom_target('generate-typelib-@0@'.format(gir).underscorify(),
- input: gir,
- output: '@BASENAME@.typelib',
-- depends: [gobject_gir, ],
-+ depends: [gobject_gir, gircompiler, ],
- command: gircompiler_command,
- install: true,
- install_dir: typelibdir,
---
-2.27.0
-
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch
new file mode 100644
index 0000000..8fba012
--- /dev/null
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch
@@ -0,0 +1,25 @@
+From ef5446af0ddad6a341b47957097ac40c6cb5e6d3 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 20 Oct 2020 22:40:14 +0200
+Subject: [PATCH] meson.build: exclude girepo_dep if introspection data is
+ disabled
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/248]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 14af2b1..a3c27c3 100644
+--- a/meson.build
++++ b/meson.build
+@@ -283,7 +283,7 @@ pkg.generate(
+ # FIXME: meson.override_dependency() and declare_dependency()'s variable arguments
+ # are new in Meson 0.54.0, older versions of Meson won't be able to use g-i as
+ # subproject anyway
+-if meson.version().version_compare('>=0.54.0')
++if meson.version().version_compare('>=0.54.0') and get_option('build_introspection_data') == true
+ girepo_dep = declare_dependency(
+ sources: typelibs,
+ dependencies: girepo_dep,
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.64.1.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb
similarity index 97%
rename from poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.64.1.bb
rename to poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb
index 4d80f00..ee0ab28 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.64.1.bb
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb
@@ -15,11 +15,10 @@
SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \
file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \
- file://0001-gir-add-a-dependency-for-g-ir-compiler-for-building-.patch \
+ file://0001-meson.build-exclude-girepo_dep-if-introspection-data.patch \
"
-SRC_URI[md5sum] = "3419dfd086efcf83768e0579ab6abd2b"
-SRC_URI[sha256sum] = "80beae6728c134521926affff9b2e97125749b38d38744dc901f4010ee3e7fa7"
+SRC_URI[sha256sum] = "dd44a55ee5f426ea22b6b89624708f9e8d53f5cc94e5485c15c87cb30e06161d"
SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
@@ -48,7 +47,7 @@
# Configure target build to use native tools of itself and to use a qemu wrapper
# and optionally to generate introspection data
EXTRA_OEMESON_class-target = " \
- -Dgi_cross_use_host_gi=true \
+ -Dgi_cross_use_prebuilt_gi=true \
-Dgi_cross_binary_wrapper=${B}/g-ir-scanner-qemuwrapper \
-Dgi_cross_ldd_wrapper=${B}/g-ir-scanner-lddwrapper \
-Dgi_cross_pkgconfig_sysroot_path=${PKG_CONFIG_SYSROOT_DIR} \
diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch
deleted file mode 100644
index c481b18..0000000
--- a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 42e58c4c3e95a4a78ee8294f9b3901726bbbabe4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Sat, 11 May 2019 00:21:11 +0200
-Subject: [PATCH] Do not skip gir installation for cross compiling
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-We are cool and can handle cross gobject-introspection.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- headers/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/headers/meson.build b/headers/meson.build
-index 3ce8b61..1132695 100644
---- a/headers/meson.build
-+++ b/headers/meson.build
-@@ -19,7 +19,7 @@ enums_xml = custom_target(
- install: true,
- install_dir: schemasdir)
-
--if not meson.is_cross_build() and get_option('introspection')
-+if get_option('introspection')
- noinst_lib = shared_library('noinst',
- headers,
- install: false)
---
-2.20.1
-
diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.36.1.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb
similarity index 70%
rename from poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.36.1.bb
rename to poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb
index f54b242..3468119 100644
--- a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.36.1.bb
+++ b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb
@@ -13,6 +13,4 @@
inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even
-SRC_URI[archive.md5sum] = "708ddd8dec388ebda5539667604197c3"
-SRC_URI[archive.sha256sum] = "004bdbe43cf8290f2de7d8537e14d8957610ca479a4fa368e34dbd03f03ec9d9"
-SRC_URI += "file://0001-Do-not-skip-gir-installation-for-cross-compiling.patch"
+SRC_URI[archive.sha256sum] = "5704c8266004b296036671f223c705dc046aa694a1b1abb87c67e7d2747a8c67"
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.22.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.23.bb
similarity index 89%
rename from poky/meta/recipes-gnome/gtk+/gtk+3_3.24.22.bb
rename to poky/meta/recipes-gnome/gtk+/gtk+3_3.24.23.bb
index 6af2bd9..338b703 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.22.bb
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.23.bb
@@ -8,7 +8,7 @@
file://0003-Add-disable-opengl-configure-option.patch \
file://link_fribidi.patch \
"
-SRC_URI[sha256sum] = "bf18a4a5dff28a7b02aaef1b949c2d09c96c18387eddab152bb4cd55a5b67dda"
+SRC_URI[sha256sum] = "5d864d248357a2251545b3387b35942de5f66e4c66013f0962eb5cb6f8dae2b1"
S = "${WORKDIR}/gtk+-${PV}"
diff --git a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
index 5ca4e3e..1d260aa 100644
--- a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
+++ b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
@@ -1,4 +1,4 @@
-From 657310f3842c84d28f6b77e8ad4d9b93472ca5da Mon Sep 17 00:00:00 2001
+From ebb0f7313a0931f646e86badce2627eff2fa37a8 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Mon, 5 Sep 2016 22:25:44 +0100
Subject: [PATCH] Use native pkg-config when looking for gtk-doc.
diff --git a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.32.bb b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.1.bb
similarity index 92%
rename from poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.32.bb
rename to poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.1.bb
index 1eaf370..5f9fe0a 100644
--- a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.32.bb
+++ b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.1.bb
@@ -1,7 +1,7 @@
SUMMARY = "Documentation generator for glib-based software"
DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \
from glib-based software and produce a set of html documentation files from them"
-HOMEPAGE = "http://www.gtk.org/gtk-doc/"
+HOMEPAGE = "https://www.gtk.org/docs/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
@@ -18,8 +18,7 @@
PACKAGECONFIG[working-scripts] = ",,libxslt-native xmlto-native python3-six python3-pygments"
PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
-SRC_URI[archive.md5sum] = "07764836262e154e94922e5f2aa476ae"
-SRC_URI[archive.sha256sum] = "de0ef034fb17cb21ab0c635ec730d19746bce52984a6706e7bbec6fb5e0b907c"
+SRC_URI[archive.sha256sum] = "a5cfed2a0b73a09b796fff80ad6d8f040ab2b2655bdc941ac207ffe6d9c10f10"
SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \
file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \
file://conditionaltests.patch \
@@ -59,4 +58,3 @@
-e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make
}
-
diff --git a/poky/meta/recipes-gnome/json-glib/json-glib/0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch b/poky/meta/recipes-gnome/json-glib/json-glib/0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch
new file mode 100644
index 0000000..0eb7244
--- /dev/null
+++ b/poky/meta/recipes-gnome/json-glib/json-glib/0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch
@@ -0,0 +1,30 @@
+From 0f06c4cb4a57083c08312144b03c8346cf620be6 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 30 Oct 2020 22:15:29 +0000
+Subject: [PATCH] json-glib/json-enum-types.c.in: fix build reproducibility
+
+Changes the comment and include to reference the file basename
+instead of the full path. This ensures that the generated file is
+reproducible when it is included in source packages meant for debugging.
+
+Upstream-Status: Backport [6f3842abd5dff68b6ee5f2ef48a4ebf1cbebf434]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ json-glib/json-enum-types.c.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/json-glib/json-enum-types.c.in b/json-glib/json-enum-types.c.in
+index da07c46..7b39290 100644
+--- a/json-glib/json-enum-types.c.in
++++ b/json-glib/json-enum-types.c.in
+@@ -9,8 +9,8 @@
+
+ /*** BEGIN file-production ***/
+
+-/* enumerations from "@filename@" */
+-#include "@filename@"
++/* enumerations from "@basename@" */
++#include "@basename@"
+
+ /*** END file-production ***/
+
diff --git a/poky/meta/recipes-gnome/json-glib/json-glib/0001-scanner-use-macro-instead-of-cast-to-convert-pointer.patch b/poky/meta/recipes-gnome/json-glib/json-glib/0001-scanner-use-macro-instead-of-cast-to-convert-pointer.patch
deleted file mode 100644
index 2a834b6..0000000
--- a/poky/meta/recipes-gnome/json-glib/json-glib/0001-scanner-use-macro-instead-of-cast-to-convert-pointer.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From d60fcd5bd5c2675e4342775b910a2ea48ec0eccb Mon Sep 17 00:00:00 2001
-From: Dimitry Andric <dim@FreeBSD.org>
-Date: Wed, 19 Aug 2020 03:35:16 +0000
-Subject: [PATCH] scanner: use macro instead of cast to convert pointer to integer
-
-Clang 11 build failed due to a new warning (part of -Werror=pointer-to-int-cast):
-../json-glib/json-scanner.c:928:13: error: cast to smaller integer type 'GTokenType' from 'gpointer' (aka 'void *') [-Werror,-Wvoid-pointer-to-enum-cast]
- *token_p = (GTokenType) value_p->v_symbol;
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/json-glib/-/commit/8c5fabe962b7337066dac7a697d23fce257a5d64]
-Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- json-glib/json-scanner.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/json-glib/json-scanner.c b/json-glib/json-scanner.c
-index 0c9919f..59dd29c 100644
---- a/json-glib/json-scanner.c
-+++ b/json-glib/json-scanner.c
-@@ -925,7 +925,7 @@ json_scanner_get_token_i (JsonScanner *scanner,
-
- case G_TOKEN_SYMBOL:
- if (scanner->config->symbol_2_token)
-- *token_p = (GTokenType) value_p->v_symbol;
-+ *token_p = GPOINTER_TO_INT (value_p->v_symbol);
- break;
-
- case G_TOKEN_BINARY:
---
-2.28.0
-
diff --git a/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb b/poky/meta/recipes-gnome/json-glib/json-glib_1.6.0.bb
similarity index 66%
rename from poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb
rename to poky/meta/recipes-gnome/json-glib/json-glib_1.6.0.bb
index add9ff4..59b0609 100644
--- a/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb
+++ b/poky/meta/recipes-gnome/json-glib/json-glib_1.6.0.bb
@@ -13,20 +13,19 @@
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase lib_package gobject-introspection gtk-doc gettext ptest-gnome manpages upstream-version-is-even
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = "gtk_doc"
+GTKDOC_MESON_ENABLE_FLAG = 'enabled'
+GTKDOC_MESON_DISABLE_FLAG = 'disabled'
SRC_URI += "file://run-ptest \
- file://0001-scanner-use-macro-instead-of-cast-to-convert-pointer.patch \
-"
-SRC_URI[archive.md5sum] = "4d4bb9837f6d31e32d0ce658ae135f68"
-SRC_URI[archive.sha256sum] = "720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9fabec4374f4bc47"
+ file://0001-json-glib-json-enum-types.c.in-fix-build-reproducibi.patch"
+SRC_URI[archive.sha256sum] = "0d7c67602c4161ea7070fab6c5823afd9bd7f7bc955f652a50d3753b08494e73"
+PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native"
-
-do_install_append() {
- if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
- rm -rf ${D}${datadir}/installed-tests ${D}${libexecdir}
- fi
-}
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.36.0.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.38.0.bb
similarity index 81%
rename from poky/meta/recipes-gnome/libdazzle/libdazzle_3.36.0.bb
rename to poky/meta/recipes-gnome/libdazzle/libdazzle_3.38.0.bb
index 25ccee2..a2a1aed 100644
--- a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.36.0.bb
+++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.38.0.bb
@@ -12,8 +12,7 @@
DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
-SRC_URI[archive.md5sum] = "154be45a6aac020e7d59f477bd7cafcf"
-SRC_URI[archive.sha256sum] = "82b31bbf550fc62970c78bf7f9d55e5fae5b8ea13b24fe2d13c8c6039409d958"
+SRC_URI[archive.sha256sum] = "e18af28217943bcec106585298a91ec3da48aa3ad62fd0992f23f0c70cd1678f"
GIR_MESON_OPTION = 'with_introspection'
diff --git a/poky/meta/recipes-gnome/libgudev/libgudev_233.bb b/poky/meta/recipes-gnome/libgudev/libgudev_234.bb
similarity index 82%
rename from poky/meta/recipes-gnome/libgudev/libgudev_233.bb
rename to poky/meta/recipes-gnome/libgudev/libgudev_234.bb
index 8bc379f..9cea36d 100644
--- a/poky/meta/recipes-gnome/libgudev/libgudev_233.bb
+++ b/poky/meta/recipes-gnome/libgudev/libgudev_234.bb
@@ -5,8 +5,7 @@
introspection support."
HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues"
-SRC_URI[archive.sha256sum] = "587c4970eb23f4e2deee2cb1fb7838c94a78c578f41ce12cac0a3f4a80dabb03"
-SRC_URI[archive.md5sum] = "d59a317a40aaa02a2226056c0bb4d3e1"
+SRC_URI[archive.sha256sum] = "1baeacacf0db42fa073ad5183d1decce9317857416a2b0f82ce3370d711a2e37"
DEPENDS = "glib-2.0 udev"
diff --git a/poky/meta/recipes-gnome/libhandy/libhandy_git.bb b/poky/meta/recipes-gnome/libhandy/libhandy_1.0.1.bb
similarity index 89%
rename from poky/meta/recipes-gnome/libhandy/libhandy_git.bb
rename to poky/meta/recipes-gnome/libhandy/libhandy_1.0.1.bb
index 9f74014..146ef62 100644
--- a/poky/meta/recipes-gnome/libhandy/libhandy_git.bb
+++ b/poky/meta/recipes-gnome/libhandy/libhandy_1.0.1.bb
@@ -3,9 +3,8 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "git://gitlab.gnome.org/GNOME/${BPN}.git;protocol=https"
-SRCREV = "7a193d7692c9c76a1a94f17c4d30b585f77d177c"
+SRCREV = "5cee0927b8b39dea1b2a62ec6d19169f73ba06c6"
S = "${WORKDIR}/git"
-PV = "0.0.13"
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
diff --git a/poky/meta/recipes-gnome/libportal/libportal_0.3.bb b/poky/meta/recipes-gnome/libportal/libportal_0.3.bb
new file mode 100644
index 0000000..022628b
--- /dev/null
+++ b/poky/meta/recipes-gnome/libportal/libportal_0.3.bb
@@ -0,0 +1,13 @@
+SUMMARY = "libportal provides GIO-style async APIs for most Flatpak portals."
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https"
+SRCREV = "a609e06d0c4adc5c510cf9ac7b060db3d368e78f"
+S = "${WORKDIR}/git"
+
+GTKDOC_MESON_OPTION = 'gtk_doc'
+
+inherit meson gtk-doc
+
+DEPENDS += "glib-2.0 glib-2.0-native"
diff --git a/poky/meta/recipes-gnome/libsecret/files/0001-meson-add-option-introspection.patch b/poky/meta/recipes-gnome/libsecret/files/0001-meson-add-option-introspection.patch
deleted file mode 100644
index 51ee66f..0000000
--- a/poky/meta/recipes-gnome/libsecret/files/0001-meson-add-option-introspection.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-meson: add option introspection
-
-Add an option 'introspection' for meson which could control whether
-build GIR files or not.
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsecret/-/merge_requests/53]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- libsecret/meson.build | 86 ++++++++++++++++++++++---------------------
- meson.build | 1 +
- meson_options.txt | 1 +
- 3 files changed, 46 insertions(+), 42 deletions(-)
-
-diff --git a/libsecret/meson.build b/libsecret/meson.build
-index 759b5ef..2ee8850 100644
---- a/libsecret/meson.build
-+++ b/libsecret/meson.build
-@@ -104,50 +104,52 @@ libsecret_dep = declare_dependency(
- )
-
- # GObject Introspection
--libsecret_gir_sources = [
-- 'secret-attributes.c',
-- 'secret-attributes.h',
-- 'secret-backend.c',
-- 'secret-backend.h',
-- 'secret-collection.c',
-- 'secret-collection.h',
-- 'secret-item.c',
-- 'secret-item.h',
-- 'secret-methods.c',
-- 'secret-password.c',
-- 'secret-password.h',
-- 'secret-paths.c',
-- 'secret-paths.h',
-- 'secret-prompt.c',
-- 'secret-prompt.h',
-- 'secret-retrievable.c',
-- 'secret-retrievable.h',
-- 'secret-schema.c',
-- 'secret-schema.h',
-- 'secret-schemas.c',
-- 'secret-schemas.h',
-- 'secret-service.c',
-- 'secret-service.h',
-- 'secret-types.h',
-- 'secret-value.c',
-- 'secret-value.h',
--]
--libsecret_gir_sources += version_h
--libsecret_gir_sources += _enums_generated
--
--libsecret_gir = gnome.generate_gir(libsecret,
-- sources: libsecret_gir_sources,
-- namespace: 'Secret',
-- nsversion: api_version_major,
-- export_packages: 'libsecret-@0@'.format(api_version_major),
-- includes: [ 'GObject-2.0', 'Gio-2.0' ],
-- header: 'libsecret/secret.h',
-- extra_args: [ '-D SECRET_COMPILATION'],
-- install: true,
--)
-+if with_gir
-+ libsecret_gir_sources = [
-+ 'secret-attributes.c',
-+ 'secret-attributes.h',
-+ 'secret-backend.c',
-+ 'secret-backend.h',
-+ 'secret-collection.c',
-+ 'secret-collection.h',
-+ 'secret-item.c',
-+ 'secret-item.h',
-+ 'secret-methods.c',
-+ 'secret-password.c',
-+ 'secret-password.h',
-+ 'secret-paths.c',
-+ 'secret-paths.h',
-+ 'secret-prompt.c',
-+ 'secret-prompt.h',
-+ 'secret-retrievable.c',
-+ 'secret-retrievable.h',
-+ 'secret-schema.c',
-+ 'secret-schema.h',
-+ 'secret-schemas.c',
-+ 'secret-schemas.h',
-+ 'secret-service.c',
-+ 'secret-service.h',
-+ 'secret-types.h',
-+ 'secret-value.c',
-+ 'secret-value.h',
-+ ]
-+ libsecret_gir_sources += version_h
-+ libsecret_gir_sources += _enums_generated
-+
-+ libsecret_gir = gnome.generate_gir(libsecret,
-+ sources: libsecret_gir_sources,
-+ namespace: 'Secret',
-+ nsversion: api_version_major,
-+ export_packages: 'libsecret-@0@'.format(api_version_major),
-+ includes: [ 'GObject-2.0', 'Gio-2.0' ],
-+ header: 'libsecret/secret.h',
-+ extra_args: [ '-D SECRET_COMPILATION'],
-+ install: true,
-+ )
-+endif
-
- # Vapi
--if with_vapi
-+if with_vapi and with_gir
- libsecret_vapi = gnome.generate_vapi('libsecret-@0@'.format(api_version_major),
- sources: libsecret_gir[0],
- metadata_dirs: meson.source_root() / 'libsecret',
-diff --git a/meson.build b/meson.build
-index a26d046..d22e008 100644
---- a/meson.build
-+++ b/meson.build
-@@ -22,6 +22,7 @@ with_gcrypt = get_option('gcrypt')
- enable_debug = get_option('debugging')
- with_vapi = get_option('vapi')
- with_gtkdoc = get_option('gtk_doc')
-+with_gir = get_option('introspection')
-
- # Some variables
- config_h_dir = include_directories('.')
-diff --git a/meson_options.txt b/meson_options.txt
-index c1fda5d..445aeb0 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -3,3 +3,4 @@ option('gcrypt', type: 'boolean', value: true, description: 'With gcrypt and tra
- option('debugging', type: 'boolean', value: false, description: 'Turn debugging on/off')
- option('vapi', type: 'boolean', value: true, description: 'Create VAPI file.')
- option('gtk_doc', type: 'boolean', value: true, description: 'Build reference documentation using gtk-doc')
-+option('introspection', type: 'boolean', value: true, description: 'Create GIR file.')
---
-2.17.1
-
diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.20.3.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb
similarity index 81%
rename from poky/meta/recipes-gnome/libsecret/libsecret_0.20.3.bb
rename to poky/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb
index 533015a..96f6460 100644
--- a/poky/meta/recipes-gnome/libsecret/libsecret_0.20.3.bb
+++ b/poky/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb
@@ -13,10 +13,7 @@
DEPENDS += "glib-2.0 libgcrypt gettext-native"
-SRC_URI += "file://0001-meson-add-option-introspection.patch"
-
-SRC_URI[archive.md5sum] = "47c3fdfeb111a87b509ad271e4a6f496"
-SRC_URI[archive.sha256sum] = "4fcb3c56f8ac4ab9c75b66901fb0104ec7f22aa9a012315a14c0d6dffa5290e4"
+SRC_URI[archive.sha256sum] = "325a4c54db320c406711bf2b55e5cb5b6c29823426aa82596a907595abb39d28"
GTKDOC_MESON_OPTION = 'gtk_doc'
diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc
index fc3eade..7d9db1f 100644
--- a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc
+++ b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc
@@ -6,6 +6,8 @@
# depends on clutter-1.0 which depends on cogl-1.0
REQUIRED_DISTRO_FEATURES ?= "opengl"
+export GST_PLUGIN_SCANNER_1_0="${S}/gst-plugin-scanner-dummy"
+
SRC_URI += "file://0001-Install-example-binary-needed-for-core-image-clutter.patch"
DEPENDS = "gstreamer1.0-plugins-base gstreamer1.0-plugins-bad clutter-1.0 libgudev"
diff --git a/poky/meta/recipes-graphics/drm/files/0001-xf86drm.c-fix-build-failure.patch b/poky/meta/recipes-graphics/drm/files/0001-xf86drm.c-fix-build-failure.patch
deleted file mode 100644
index 60c996c..0000000
--- a/poky/meta/recipes-graphics/drm/files/0001-xf86drm.c-fix-build-failure.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From c7d89412884de2dbfa543720d185027377e62f21 Mon Sep 17 00:00:00 2001
-From: Heiko Thiery <heiko.thiery@gmail.com>
-Date: Fri, 5 Jun 2020 23:46:52 +0200
-Subject: [PATCH] xf86drm.c: fix build failure
-
-./xf86drm.c: In function 'drmNodeIsDRM':
-../xf86drm.c:2825:7: error: "__FreeBSD__" is not defined [-Werror=undef]
- #elif __FreeBSD__
- ^
-../xf86drm.c: In function 'drmGetMinorNameForFD':
-../xf86drm.c:2938:7: error: "__FreeBSD__" is not defined [-Werror=undef]
- #elif __FreeBSD__
- ^
-../xf86drm.c: In function 'drmParsePciBusInfo':
-../xf86drm.c:3258:7: error: "__FreeBSD__" is not defined [-Werror=undef]
- #elif __FreeBSD__
- ^
-../xf86drm.c: In function 'drmParsePciDeviceInfo':
-../xf86drm.c:3427:7: error: "__FreeBSD__" is not defined [-Werror=undef]
- #elif __FreeBSD__
- ^
-../xf86drm.c: In function 'drmGetDeviceNameFromFd2':
-../xf86drm.c:4305:7: error: "__FreeBSD__" is not defined [-Werror=undef]
- #elif __FreeBSD__
- ^
-
-Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
-
-Upstream-Status: Backport
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- xf86drm.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/xf86drm.c b/xf86drm.c
-index 07a18c4..50a6f09 100644
---- a/xf86drm.c
-+++ b/xf86drm.c
-@@ -2822,7 +2822,7 @@ static bool drmNodeIsDRM(int maj, int min)
- snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device/drm",
- maj, min);
- return stat(path, &sbuf) == 0;
--#elif __FreeBSD__
-+#elif defined(__FreeBSD__)
- char name[SPECNAMELEN];
-
- if (!devname_r(makedev(maj, min), S_IFCHR, name, sizeof(name)))
-@@ -2935,7 +2935,7 @@ static char *drmGetMinorNameForFD(int fd, int type)
-
- closedir(sysdir);
- return NULL;
--#elif __FreeBSD__
-+#elif defined(__FreeBSD__)
- struct stat sbuf;
- char dname[SPECNAMELEN];
- const char *mname;
-@@ -3255,7 +3255,7 @@ static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info)
- info->func = pinfo.func;
-
- return 0;
--#elif __FreeBSD__
-+#elif defined(__FreeBSD__)
- return get_sysctl_pci_bus_info(maj, min, info);
- #else
- #warning "Missing implementation of drmParsePciBusInfo"
-@@ -3424,7 +3424,7 @@ static int drmParsePciDeviceInfo(int maj, int min,
- device->subdevice_id = pinfo.subdevice_id;
-
- return 0;
--#elif __FreeBSD__
-+#elif defined(__FreeBSD__)
- drmPciBusInfo info;
- struct pci_conf_io pc;
- struct pci_match_conf patterns[1];
-@@ -4302,7 +4302,7 @@ drm_public char *drmGetDeviceNameFromFd2(int fd)
- free(value);
-
- return strdup(path);
--#elif __FreeBSD__
-+#elif defined(__FreeBSD__)
- return drmGetDeviceNameFromFd(fd);
- #else
- struct stat sbuf;
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.102.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.103.bb
similarity index 92%
rename from poky/meta/recipes-graphics/drm/libdrm_2.4.102.bb
rename to poky/meta/recipes-graphics/drm/libdrm_2.4.103.bb
index ad512d1..1028d61 100644
--- a/poky/meta/recipes-graphics/drm/libdrm_2.4.102.bb
+++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.103.bb
@@ -10,10 +10,9 @@
PROVIDES = "drm"
DEPENDS = "libpthread-stubs"
-SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \
- file://0001-xf86drm.c-fix-build-failure.patch "
+SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz"
-SRC_URI[sha256sum] = "8bcbf9336c28e393d76c1f16d7e79e394a7fce8a2e929d52d3ad7ad8525ba05b"
+SRC_URI[sha256sum] = "3fe0affdba6460166a7323290c18cf68e9b59edcb520722826cb244e9cb50222"
inherit meson pkgconfig manpages
diff --git a/poky/meta/recipes-graphics/freetype/freetype_2.10.2.bb b/poky/meta/recipes-graphics/freetype/freetype_2.10.4.bb
similarity index 92%
rename from poky/meta/recipes-graphics/freetype/freetype_2.10.2.bb
rename to poky/meta/recipes-graphics/freetype/freetype_2.10.4.bb
index 1034ddc..8462cd3 100644
--- a/poky/meta/recipes-graphics/freetype/freetype_2.10.2.bb
+++ b/poky/meta/recipes-graphics/freetype/freetype_2.10.4.bb
@@ -15,8 +15,7 @@
SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BP}.tar.xz \
file://use-right-libtool.patch \
"
-SRC_URI[md5sum] = "7c0d5a39f232d7eb9f9d7da76bf08074"
-SRC_URI[sha256sum] = "1543d61025d2e6312e0a1c563652555f17378a204a61e99928c9fcef030a2d8b"
+SRC_URI[sha256sum] = "86a854d8905b19698bbc8f23b860bc104246ce4854dcea8e3b0fb21284f75784"
UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-graphics/glslang/glslang_8.13.3743.bb b/poky/meta/recipes-graphics/glslang/glslang_8.13.3743.bb
new file mode 100644
index 0000000..2c4f4be
--- /dev/null
+++ b/poky/meta/recipes-graphics/glslang/glslang_8.13.3743.bb
@@ -0,0 +1,20 @@
+SUMMARY = "OpenGL / OpenGL ES Reference Compiler"
+DESCRIPTION = "Glslang is the official reference compiler front end for the \
+OpenGL ES and OpenGL shading languages. It implements a strict interpretation \
+of the specifications for these languages. It is open and free for anyone to use, \
+either from a command line or programmatically."
+SECTION = "graphics"
+HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=918e668376010a04448a312fb37ae69b"
+
+SRCREV = "e05cc20ec20a154d94256c744a3837c23719c0f9"
+SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https"
+UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
+S = "${WORKDIR}/git"
+
+PV = "8.13.3743+git${SRCPV}"
+
+inherit cmake python3native
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/images/core-image-weston.bb b/poky/meta/recipes-graphics/images/core-image-weston.bb
index fa7e9ef..8d88e3b 100644
--- a/poky/meta/recipes-graphics/images/core-image-weston.bb
+++ b/poky/meta/recipes-graphics/images/core-image-weston.bb
@@ -8,7 +8,7 @@
REQUIRED_DISTRO_FEATURES = "wayland"
-CORE_IMAGE_BASE_INSTALL += "weston weston-init weston-examples gtk+3-demo clutter-1.0-examples"
+CORE_IMAGE_BASE_INSTALL += "weston weston-init weston-examples wayland-utils gtk+3-demo clutter-1.0-examples"
CORE_IMAGE_BASE_INSTALL += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'weston-xwayland matchbox-terminal', '', d)}"
QB_MEM = "-m 512"
diff --git a/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch b/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch
index 82fffe1..152db44 100644
--- a/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch
+++ b/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch
@@ -19,7 +19,7 @@
index 2bc3458..ea3041e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -189,10 +189,6 @@ endif()
+@@ -191,10 +191,6 @@ endif()
report_option(ENABLE_SHARED "Shared libraries")
report_option(ENABLE_STATIC "Static libraries")
@@ -27,6 +27,6 @@
- set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR})
-endif()
-
- if(WITH_12BIT)
- set(WITH_ARITH_DEC 0)
- set(WITH_ARITH_ENC 0)
+ if(WITH_JPEG8 OR WITH_JPEG7)
+ set(WITH_ARITH_ENC 1)
+ set(WITH_ARITH_DEC 1)
diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.5.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb
similarity index 88%
rename from poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.5.bb
rename to poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb
index 9729fb5..b6efc6b 100644
--- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.5.bb
+++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb
@@ -4,8 +4,8 @@
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8184bcc7c4ac7b9edc6a7bc00f231d0b \
- file://jpeglib.h;endline=16;md5=7ea97dc83b0f59052ee837e61ef0e08f \
- file://djpeg.c;endline=11;md5=c59e19811c006cb38f82d6477134d314 \
+ file://jpeglib.h;endline=16;md5=52b5eaade8d5b6a452a7693dfe52c084 \
+ file://djpeg.c;endline=11;md5=302e980133b5c0c7f4dcb4ca0df41090 \
"
DEPENDS_append_x86-64_class-target = " nasm-native"
DEPENDS_append_x86_class-target = " nasm-native"
@@ -14,8 +14,8 @@
file://0001-libjpeg-turbo-fix-package_qa-error.patch \
"
-SRC_URI[md5sum] = "3a7dc293918775fc933f81e2bce36464"
-SRC_URI[sha256sum] = "16f8f6f2715b3a38ab562a84357c793dd56ae9899ce130563c72cd93d8357b5d"
+SRC_URI[md5sum] = "4cada3f0bdc93d826fa31bf9e4469ef6"
+SRC_URI[sha256sum] = "d74b92ac33b0e3657123ddcf6728788c90dc84dcb6a52013d758af3c4af481bb"
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
index c72fbc6..478d5c4 100644
--- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -6,7 +6,7 @@
LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb"
-SRCREV = "4660a7dca6512b6e658759d00cff7d4ad2a2059d"
+SRCREV = "e6386d1b99366ea7559438c0d3abd2ae2d6d61ac"
SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https"
UPSTREAM_CHECK_COMMITS = "1"
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-renderfillrect-fix.patch b/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-renderfillrect-fix.patch
new file mode 100644
index 0000000..83d4f4b
--- /dev/null
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-renderfillrect-fix.patch
@@ -0,0 +1,33 @@
+# HG changeset patch
+# User Sam Lantinga <slouken@libsdl.org>
+# Date 1590793369 25200
+# Node ID a90089f75990e8b07a1dcf931c5f8a580ae343bf
+# Parent a9b4bd264f3cbedc4f3287b3ec6b32311370ba85
+Fixed bug 5146 - SDL_RenderFillRect doesn't work in DirectFB
+
+Lacky
+
+It looks like refactoring of SDL2 internal API has broken SDL_RenderFillRect for DirectFB. In new version function SDL_RenderFillRect returns 0, but rectangle is not visible.
+
+Replacing "count" with "len" in the argument list for SDL_memcpy in DirectFB_QueueFillRects fixes problem.
+
+--
+
+The patch was imported from the libsdl Mercurial repository
+(https://hg.libsdl.org/SDL) as of changeset id a90089f75990.
+
+Upstream-Status: Backport
+
+Signed-off-by: Mark Jonas <toertel@gmail.com>
+
+diff -r a9b4bd264f3c -r a90089f75990 src/video/directfb/SDL_DirectFB_render.c
+--- a/src/video/directfb/SDL_DirectFB_render.c Thu May 21 00:06:09 2020 -0400
++++ b/src/video/directfb/SDL_DirectFB_render.c Fri May 29 16:02:49 2020 -0700
+@@ -626,7 +626,7 @@
+ }
+
+ cmd->data.draw.count = count;
+- SDL_memcpy(verts, rects, count);
++ SDL_memcpy(verts, rects, len);
+ return 0;
+ }
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-spurious-curly-brace-missing-e.patch b/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-spurious-curly-brace-missing-e.patch
new file mode 100644
index 0000000..aa351a8
--- /dev/null
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2/directfb-spurious-curly-brace-missing-e.patch
@@ -0,0 +1,49 @@
+# HG changeset patch
+# User Fabrice Fontaine <fontaine.fabrice@gmail.com>
+# Date 1585069551 25200
+# Node ID 769f800952179633ec6c3e6bc1bc1d40e401750a
+# Parent 63387e8920f58f608288f247824ec5f4c286691f
+src/video/directfb/SDL_DirectFB_render.c: fix build
+Build with directfb is broken due to a spurious '}' and a missing 'E'
+since version 2.0.12 and https://hg.libsdl.org/SDL/rev/2d5b5a5ccbfb:
+
+/home/buildroot/autobuild/run/instance-2/output-1/build/sdl2-2.0.12/src/video/directfb/SDL_DirectFB_render.c: In function 'SetBlendMode':
+/home/buildroot/autobuild/run/instance-2/output-1/build/sdl2-2.0.12/src/video/directfb/SDL_DirectFB_render.c:202:9: error: case label not within a switch statement
+ 202 | case SDL_BLENDMODE_MUL:
+ | ^~~~
+
+/home/buildroot/autobuild/run/instance-2/output-1/build/sdl2-2.0.12/src/video/directfb/SDL_DirectFB_render.c:205:67: error: 'DSBF_DSTCOLOR' undeclared (first use in this function); did you mean 'DSBF_DESTCOLOR'?
+ 205 | SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_DSTCOLOR));
+ | ^~~~~~~~~~~~~
+
+Fixes:
+ - http://autobuild.buildroot.org/results/83ccefee68c2800c0544e6f40fa8bc8ee6b67b77
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+--
+
+The patch was imported from the libsdl Mercurial repository
+(https://hg.libsdl.org/SDL) as of changeset id 769f80095217.
+
+Upstream-Status: Backport
+
+Signed-off-by: Mark Jonas <toertel@gmail.com>
+
+
+diff -r 63387e8920f5 -r 769f80095217 src/video/directfb/SDL_DirectFB_render.c
+--- a/src/video/directfb/SDL_DirectFB_render.c Mon Mar 23 14:10:25 2020 -0700
++++ b/src/video/directfb/SDL_DirectFB_render.c Tue Mar 24 10:05:51 2020 -0700
+@@ -198,11 +198,10 @@
+ SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_SRCCOLOR));
+
+ break;
+- }
+ case SDL_BLENDMODE_MUL:
+ data->blitFlags = DSBLIT_BLEND_ALPHACHANNEL;
+ data->drawFlags = DSDRAW_BLEND;
+- SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_DSTCOLOR));
++ SDL_DFB_CHECK(destsurf->SetSrcBlendFunction(destsurf, DSBF_DESTCOLOR));
+ SDL_DFB_CHECK(destsurf->SetDstBlendFunction(destsurf, DSBF_INVSRCALPHA));
+
+ break;
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.12.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.12.bb
index 83dce86..5fa9982 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.12.bb
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.12.bb
@@ -18,6 +18,8 @@
SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
file://more-gen-depends.patch \
+ file://directfb-spurious-curly-brace-missing-e.patch \
+ file://directfb-renderfillrect-fix.patch \
"
S = "${WORKDIR}/SDL2-${PV}"
@@ -34,6 +36,7 @@
EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \
--disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
--disable-video-dummy \
+ --disable-video-rpi \
--enable-pthreads \
--enable-sdl-dlopen \
--disable-rpath \
@@ -55,7 +58,7 @@
"
PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib,"
PACKAGECONFIG[arm-neon] = "--enable-arm-neon,--disable-arm-neon"
-PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb"
+PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb,directfb"
PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2"
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
PACKAGECONFIG[kmsdrm] = "--enable-video-kmsdrm,--disable-video-kmsdrm,libdrm virtual/libgbm"
diff --git a/poky/meta/recipes-graphics/libva/libva-initial_2.8.0.bb b/poky/meta/recipes-graphics/libva/libva-initial_2.8.0.bb
deleted file mode 100644
index f90bb51..0000000
--- a/poky/meta/recipes-graphics/libva/libva-initial_2.8.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require libva.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
-SRC_URI[sha256sum] = "adbb1244d278908f89ccfcf254a442de6d71934565a492cb6f03caf2ed4d1ec3"
-
-do_install_append () {
- rm -f ${D}${libdir}/*.so*
-}
diff --git a/poky/meta/recipes-graphics/libva/libva-initial_2.9.0.bb b/poky/meta/recipes-graphics/libva/libva-initial_2.9.0.bb
new file mode 100644
index 0000000..5c6abea
--- /dev/null
+++ b/poky/meta/recipes-graphics/libva/libva-initial_2.9.0.bb
@@ -0,0 +1,5 @@
+require libva.inc
+
+do_install_append () {
+ rm -f ${D}${libdir}/*.so*
+}
diff --git a/poky/meta/recipes-graphics/libva/libva-utils_2.8.0.bb b/poky/meta/recipes-graphics/libva/libva-utils_2.9.1.bb
similarity index 90%
rename from poky/meta/recipes-graphics/libva/libva-utils_2.8.0.bb
rename to poky/meta/recipes-graphics/libva/libva-utils_2.9.1.bb
index 78e3805..feb9ce1 100644
--- a/poky/meta/recipes-graphics/libva/libva-utils_2.8.0.bb
+++ b/poky/meta/recipes-graphics/libva/libva-utils_2.9.1.bb
@@ -14,8 +14,8 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
-SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.8-branch"
-SRCREV = "af101a46d24c3f71a12b9f1ddb0c63626b19b3d8"
+SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.9-branch"
+SRCREV = "50c7f19d65e2535940e31c6711352b36d6d64fd7"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$"
diff --git a/poky/meta/recipes-graphics/libva/libva.inc b/poky/meta/recipes-graphics/libva/libva.inc
index e7bec80..7b6f116 100644
--- a/poky/meta/recipes-graphics/libva/libva.inc
+++ b/poky/meta/recipes-graphics/libva/libva.inc
@@ -17,6 +17,8 @@
LICENSE = "MIT"
SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
+SRC_URI[sha256sum] = "e344c1392dde92696c9ffd9cb3c7277d0a3b912236eb4e0fdedf7f375434584b"
S = "${WORKDIR}/libva-${PV}"
diff --git a/poky/meta/recipes-graphics/libva/libva_2.8.0.bb b/poky/meta/recipes-graphics/libva/libva_2.9.0.bb
similarity index 80%
rename from poky/meta/recipes-graphics/libva/libva_2.8.0.bb
rename to poky/meta/recipes-graphics/libva/libva_2.9.0.bb
index 621ceea..4d3fa50 100644
--- a/poky/meta/recipes-graphics/libva/libva_2.8.0.bb
+++ b/poky/meta/recipes-graphics/libva/libva_2.9.0.bb
@@ -1,8 +1,5 @@
require libva.inc
-LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
-SRC_URI[sha256sum] = "adbb1244d278908f89ccfcf254a442de6d71934565a492cb6f03caf2ed4d1ec3"
-
PACKAGECONFIG ??= " \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} \
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch b/poky/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch
new file mode 100644
index 0000000..a61e7b2
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/files/0001-anv-fix-a-build-race-between-generating-a-header-and.patch
@@ -0,0 +1,31 @@
+From f148d4f1b5b13288b254ead07f1d008d997e2342 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 2 Nov 2020 23:23:53 +0100
+Subject: [PATCH] anv: fix a build race between generating a header and using
+ it
+
+anv_batch_chain.c includes genX_bits.h but doesn't ensure it gets
+generated first. This causes build failures, as observed here:
+https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/1501/steps/8/logs/step2d
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7412]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/intel/vulkan/meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build
+index 36e1689314e..b713d8eade3 100644
+--- a/src/intel/vulkan/meson.build
++++ b/src/intel/vulkan/meson.build
+@@ -131,6 +131,7 @@ libanv_files = files(
+ anv_deps = [
+ dep_libdrm,
+ dep_valgrind,
++ idep_genxml,
+ idep_nir_headers,
+ idep_vulkan_util_headers,
+ ]
+--
+2.29.0
+
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch
new file mode 100644
index 0000000..9ee7288
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/files/0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch
@@ -0,0 +1,36 @@
+From cf17d6251653f4a98e7c4f904ea2f0bc0ecedd5c Mon Sep 17 00:00:00 2001
+From: Duncan Hopkins <duncan@duncanhopkins.me.uk>
+Date: Thu, 15 Oct 2020 12:14:57 +0100
+Subject: [PATCH] meson: Add xcb-fixes to loader when using x11 and dri3. Fixes
+ undefined symbol for xcb_xfixes_create_region in loader_dri3_helper.c
+
+loader_dr3_helper.c uses xcb_xfixes_create_region() that requires dep_xcb_xfixes to link. This is dependent on with_platform_x11 and with_dri3.
+But the source meson file does not set this up dependent on with_dri3.
+The build was initialsed using platforms=x11 and gallium-drivers=zink,swrast.
+
+Reviewed-by: Eric Anholt <eric@anholt.net>
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7164>
+
+Upstream-Status: Backport [cf17d6251653f4a98e7c4f904ea2f0bc0ecedd5c]
+
+---
+ meson.build | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index cfe02fa6373..3cb3c904927 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1782,7 +1782,8 @@ if with_platform_x11
+ dep_xxf86vm = dependency('xxf86vm')
+ endif
+ endif
+- if (with_egl or (
++ if (with_egl or
++ with_dri3 or (
+ with_gallium_vdpau or with_gallium_xvmc or with_gallium_xa or
+ with_gallium_omx != 'disabled'))
+ dep_xcb_xfixes = dependency('xcb-xfixes')
+--
+2.17.1
+
diff --git a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
index ee171ad..74f7fe5 100644
--- a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
@@ -1,4 +1,4 @@
-From 65857eaee12a21a631750ffcd9e64e0afbbc3af0 Mon Sep 17 00:00:00 2001
+From ce57ce220d9c377beabf4914f33c43118f672ffe Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair@alistair23.me>
Date: Thu, 14 Nov 2019 13:08:31 -0800
Subject: [PATCH] meson.build: make TLS ELF optional
@@ -15,23 +15,23 @@
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
-index c51dde9..c16f78f 100644
+index c5136ea..185270d 100644
--- a/meson.build
+++ b/meson.build
-@@ -392,7 +392,7 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless or with_plat
- endif
+@@ -424,7 +424,7 @@ endif
# Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS.
--if not ['windows', 'freebsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29)
-+if not ['windows', 'freebsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) and get_option('elf-tls')
+ use_elf_tls = false
+-if not ['windows', 'freebsd', 'openbsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29)
++if not ['windows', 'freebsd', 'openbsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) and get_option('elf-tls')
pre_args += '-DUSE_ELF_TLS'
+ use_elf_tls = true
endif
-
diff --git a/meson_options.txt b/meson_options.txt
-index ab43150..d7b1555 100644
+index 2d39d13..72006eb 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -355,6 +355,12 @@ option(
+@@ -368,6 +368,12 @@ option(
value : true,
description : 'Enable direct rendering in GLX and EGL for DRI',
)
diff --git a/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch b/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch
deleted file mode 100644
index a0536c8..0000000
--- a/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 7eaa21a79ce6d6e92f6bf98c28b68e3fcb4d7874 Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Wed, 12 Jun 2019 14:18:31 -0300
-Subject: [PATCH] Allow enable DRI without DRI drivers
-
-Upstream-Status: Pending
-
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-
----
- meson.build | 2 +-
- meson_options.txt | 6 ++++++
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index a954118..62864c6 100644
---- a/meson.build
-+++ b/meson.build
-@@ -154,7 +154,7 @@ with_dri_r200 = dri_drivers.contains('r200')
- with_dri_nouveau = dri_drivers.contains('nouveau')
- with_dri_swrast = dri_drivers.contains('swrast')
-
--with_dri = dri_drivers.length() != 0 and dri_drivers != ['']
-+with_dri = get_option('dri') or (dri_drivers.length() != 0 and dri_drivers != [''])
-
- gallium_drivers = get_option('gallium-drivers')
- if gallium_drivers.contains('auto')
-diff --git a/meson_options.txt b/meson_options.txt
-index 637ff14..700c34c 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -35,6 +35,12 @@ option(
- choices : ['auto', 'true', 'false'],
- description : 'enable support for dri3'
- )
-+option(
-+ 'dri',
-+ type : 'boolean',
-+ value : false,
-+ description : 'enable support for dri'
-+)
- option(
- 'dri-drivers',
- type : 'array',
diff --git a/poky/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch b/poky/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch
index 8d614e5..8337423 100644
--- a/poky/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch
@@ -1,4 +1,4 @@
-From 41cd8836d785c79381764e7de59319f87959a5cf Mon Sep 17 00:00:00 2001
+From 43d9e40db7357f27e91002b2bb7688b6775ebb43 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair@alistair23.me>
Date: Thu, 14 Nov 2019 09:06:02 -0800
Subject: [PATCH] Revert "mesa: Enable asm unconditionally, now that
@@ -15,18 +15,18 @@
2 files changed, 67 insertions(+), 33 deletions(-)
diff --git a/meson.build b/meson.build
-index 62864c6..b53be8d 100644
+index e7dc599..e2fc934 100644
--- a/meson.build
+++ b/meson.build
-@@ -49,6 +49,7 @@ with_vulkan_icd_dir = get_option('vulkan-icd-dir')
+@@ -52,6 +52,7 @@ pre_args = [
+ with_vulkan_icd_dir = get_option('vulkan-icd-dir')
with_tests = get_option('build-tests')
- with_valgrind = get_option('valgrind')
- with_libunwind = get_option('libunwind')
+ with_aco_tests = get_option('build-aco-tests')
+with_asm = get_option('asm')
with_glx_read_only_text = get_option('glx-read-only-text')
with_glx_direct = get_option('glx-direct')
with_osmesa = get_option('osmesa')
-@@ -1093,41 +1094,68 @@ dep_ws2_32 = cc.find_library('ws2_32', required : with_platform_windows)
+@@ -1154,41 +1155,68 @@ dep_ws2_32 = cc.find_library('ws2_32', required : with_platform_windows)
# TODO: shared/static? Is this even worth doing?
@@ -129,10 +129,10 @@
endif
diff --git a/meson_options.txt b/meson_options.txt
-index 700c34c..62e8472 100644
+index 147cccb..562b059 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -241,6 +241,12 @@ option(
+@@ -254,6 +254,12 @@ option(
value : false,
description : 'Enable GLVND support.'
)
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_20.1.8.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_20.2.1.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa-gl_20.1.8.bb
rename to poky/meta/recipes-graphics/mesa/mesa-gl_20.2.1.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 9fc62e9..a6652b0 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -10,21 +10,22 @@
BUGTRACKER = "https://bugs.freedesktop.org"
SECTION = "x11"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://docs/license.html;md5=c1843d93c460bbf778d6037ce324f9f7"
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9aa1bc48c9826ad9fdb16661f6930496"
PE = "2"
SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
file://0002-meson.build-make-TLS-ELF-optional.patch \
- file://0003-Allow-enable-DRI-without-DRI-drivers.patch \
file://0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch \
file://0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch \
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
+ file://0001-anv-fix-a-build-race-between-generating-a-header-and.patch \
+ file://0001-meson-Add-xcb-fixes-to-loader-when-using-x11-and-dri.patch \
"
-SRC_URI[sha256sum] = "df21351494f7caaec5a3ccc16f14f15512e98d2ecde178bba1d134edc899b961"
+SRC_URI[sha256sum] = "d1a46d9a3f291bc0e0374600bdcb59844fa3eafaa50398e472a36fc65fd0244a"
UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
@@ -48,11 +49,6 @@
inherit meson pkgconfig python3native gettext features_check
-# Unset these to stop python trying to report the target Python setup
-_PYTHON_SYSCONFIGDATA_NAME[unexport] = "1"
-STAGING_INCDIR[unexport] = "1"
-STAGING_LIBDIR[unexport] = "1"
-
BBCLASSEXTEND = "native nativesdk"
ANY_OF_DISTRO_FEATURES_class-target = "opengl vulkan"
@@ -88,6 +84,9 @@
-Dplatforms='${@",".join("${PLATFORMS}".split())}' \
"
+def strip_comma(s):
+ return s.strip(',')
+
PACKAGECONFIG_class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium virgl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \
@@ -114,16 +113,16 @@
DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915"
DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915"
# "dri" requires "opengl"
-PACKAGECONFIG[dri] = "-Ddri=true -Ddri-drivers=${DRIDRIVERS}, -Ddri=false -Ddri-drivers='', xorgproto libdrm"
+PACKAGECONFIG[dri] = "-Ddri-drivers=${@strip_comma('${DRIDRIVERS}')}, -Ddri-drivers='', xorgproto libdrm"
PACKAGECONFIG[dri3] = "-Ddri3=true, -Ddri3=false, xorgproto libxshmfence"
# Vulkan drivers need dri3 enabled
-# radeon could be enabled as well but requires gallium-llvm with llvm >= 3.9
+# amd could be enabled as well but requires gallium-llvm with llvm >= 3.9
VULKAN_DRIVERS = ""
VULKAN_DRIVERS_append_x86_class-target = ",intel"
VULKAN_DRIVERS_append_x86-64_class-target = ",intel"
VULKAN_DRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
-PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${VULKAN_DRIVERS}, -Dvulkan-drivers='',"
+PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',"
PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
@@ -150,9 +149,8 @@
GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
# radeonsi requires LLVM
-GALLIUMDRIVERS_LLVM33 = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}"
-GALLIUMDRIVERS_LLVM33_ENABLED = "${@oe.utils.version_less_or_equal('MESA_LLVM_RELEASE', '3.2', False, len('${GALLIUMDRIVERS_LLVM33}') > 0, d)}"
-GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${@',${GALLIUMDRIVERS_LLVM33}' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}"
+GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}"
+GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${GALLIUMDRIVERS_RADEONSI}"
PACKAGECONFIG[r600] = ""
PACKAGECONFIG[virgl] = ""
@@ -161,9 +159,9 @@
GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
-PACKAGECONFIG[gallium] = "-Dgallium-drivers=${GALLIUMDRIVERS}, -Dgallium-drivers=''"
+PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers=''"
PACKAGECONFIG[gallium-llvm] = "-Dllvm=true -Dshared-llvm=true, -Dllvm=false, llvm${MESA_LLVM_RELEASE} llvm-native \
- ${@'elfutils' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}"
+ elfutils"
PACKAGECONFIG[xa] = "-Dgallium-xa=true, -Dgallium-xa=false"
PACKAGECONFIG[va] = "-Dgallium-va=true,-Dgallium-va=false,libva-initial"
diff --git a/poky/meta/recipes-graphics/mesa/mesa_20.1.8.bb b/poky/meta/recipes-graphics/mesa/mesa_20.2.1.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa_20.1.8.bb
rename to poky/meta/recipes-graphics/mesa/mesa_20.2.1.bb
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch
new file mode 100644
index 0000000..caa48e0
--- /dev/null
+++ b/poky/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch
@@ -0,0 +1,27 @@
+From d623e9797b7ee9b3739a8a4afe1a01f7e03754aa Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sun, 1 Nov 2020 20:08:49 +0000
+Subject: [PATCH] Add a missing include for htobe32 definition
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c b/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c
+index 5f45e0c23..c755ee29a 100644
+--- a/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c
++++ b/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c
+@@ -34,6 +34,8 @@
+
+ #include "piglit-util-gl.h"
+
++#include <endian.h>
++
+ #define IMAGE_WIDTH 60
+ #define IMAGE_HEIGHT 60
+
+--
+2.17.1
+
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index d35117a..a9d1d39 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -7,10 +7,11 @@
SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https \
file://0001-cmake-install-bash-completions-in-the-right-place.patch \
file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
+ file://0001-Add-a-missing-include-for-htobe32-definition.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "2a6a8f954dcd3f748055f28e019d2eca64635332"
+SRCREV = "59e695c16fdcdd4ea4f16365f0e397a93cef7b80"
# (when PV goes above 1.0 remove the trailing r)
PV = "1.0+gitr${SRCPV}"
diff --git a/poky/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch b/poky/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
new file mode 100644
index 0000000..7102e25
--- /dev/null
+++ b/poky/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
@@ -0,0 +1,49 @@
+From 0b9468d4face34879214f500b15e810cdd1a81a1 Mon Sep 17 00:00:00 2001
+From: Niklas Haas <git@haasn.xyz>
+Date: Tue, 29 May 2018 07:34:00 +0200
+Subject: [PATCH] Fix the link order of libglslang and libHLSL
+
+libglslang depends on libHLSL, so the latter needs to be specified last.
+This fixes an issue when trying to build shaderc against system-wide
+versions of libglslang/libHLSL, rather than the in-tree versions from
+third_party.
+
+Additionally, libshaderc_util also depends on SPIRV-Tools
+
+Upstream-Status: Backport [21c8be385b3fab5edcb934a6d99f69fd389c4e67]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+
+---
+ glslc/CMakeLists.txt | 2 +-
+ libshaderc_util/CMakeLists.txt | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt
+index 31664d1..35b3f19 100644
+--- a/glslc/CMakeLists.txt
++++ b/glslc/CMakeLists.txt
+@@ -43,7 +43,7 @@ if (SHADERC_ENABLE_WGSL_OUTPUT)
+ endif(SHADERC_ENABLE_WGSL_OUTPUT)
+
+ target_link_libraries(glslc PRIVATE
+- glslang OSDependent OGLCompiler HLSL glslang SPIRV # Glslang libraries
++ glslang OSDependent OGLCompiler glslang SPIRV HLSL # Glslang libraries
+ $<$<BOOL:${SHADERC_ENABLE_WGSL_OUTPUT}>:libtint> # Tint libraries, optional
+ shaderc_util shaderc # internal Shaderc libraries
+ ${CMAKE_THREAD_LIBS_INIT})
+diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt
+index 48f9991..984cc06 100644
+--- a/libshaderc_util/CMakeLists.txt
++++ b/libshaderc_util/CMakeLists.txt
+@@ -46,8 +46,8 @@ add_definitions(-DENABLE_HLSL)
+
+ find_package(Threads)
+ target_link_libraries(shaderc_util PRIVATE
+- glslang OSDependent OGLCompiler HLSL glslang SPIRV
+- SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT})
++ glslang OSDependent OGLCompiler glslang HLSL SPIRV
++ SPIRV-Tools-opt SPIRV-Tools ${CMAKE_THREAD_LIBS_INIT})
+
+ shaderc_add_tests(
+ TEST_PREFIX shaderc_util
diff --git a/poky/meta/recipes-graphics/shaderc/files/0003-cmake-de-vendor-libs-and-disable-git-versioning.patch b/poky/meta/recipes-graphics/shaderc/files/0003-cmake-de-vendor-libs-and-disable-git-versioning.patch
new file mode 100644
index 0000000..0d58925
--- /dev/null
+++ b/poky/meta/recipes-graphics/shaderc/files/0003-cmake-de-vendor-libs-and-disable-git-versioning.patch
@@ -0,0 +1,53 @@
+From e092619a9ef7910ad56acfb8728c66f0125d176a Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sat, 17 Oct 2020 12:51:50 +0100
+Subject: [PATCH 3/3] cmake: de-vendor libs and disable git versioning
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ CMakeLists.txt | 2 --
+ glslc/CMakeLists.txt | 1 -
+ glslc/src/build-version.inc | 0
+ 3 files changed, 3 deletions(-)
+ create mode 100644 glslc/src/build-version.inc
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a4e779b..cfa7bd8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -70,7 +70,6 @@ endif(MSVC)
+
+ # Configure subdirectories.
+ # We depend on these for later projects, so they should come first.
+-add_subdirectory(third_party)
+
+ if(SHADERC_ENABLE_SPVC)
+ add_subdirectory(libshaderc_spvc)
+@@ -79,7 +78,6 @@ endif()
+ add_subdirectory(libshaderc_util)
+ add_subdirectory(libshaderc)
+ add_subdirectory(glslc)
+-add_subdirectory(examples)
+
+ add_custom_target(build-version
+ ${PYTHON_EXECUTABLE}
+diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt
+index 0f5d888..08686e0 100644
+--- a/glslc/CMakeLists.txt
++++ b/glslc/CMakeLists.txt
+@@ -26,7 +26,6 @@ shaderc_default_compile_options(glslc_exe)
+ target_include_directories(glslc_exe PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/.. ${spirv-tools_SOURCE_DIR}/include)
+ set_target_properties(glslc_exe PROPERTIES OUTPUT_NAME glslc)
+ target_link_libraries(glslc_exe PRIVATE glslc shaderc_util shaderc)
+-add_dependencies(glslc_exe build-version)
+
+ shaderc_add_tests(
+ TEST_PREFIX glslc
+diff --git a/glslc/src/build-version.inc b/glslc/src/build-version.inc
+new file mode 100644
+index 0000000..e69de29
+--
+2.28.0
+
diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2020.3.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2020.3.bb
new file mode 100644
index 0000000..f5edf53
--- /dev/null
+++ b/poky/meta/recipes-graphics/shaderc/shaderc_2020.3.bb
@@ -0,0 +1,33 @@
+SUMMARY = "A collection of tools, libraries and tests for shader compilation"
+DESCRIPTION = "The Shaderc library provides an API for compiling GLSL/HLSL \
+source code to SPIRV modules. It has been shipping in the Android NDK since version r12b."
+SECTION = "graphics"
+HOMEPAGE = "https://github.com/google/shaderc"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRCREV = "1fce59794079f90ceb091190adbbb5499acd4e95"
+SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
+ file://0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch \
+ file://0003-cmake-de-vendor-libs-and-disable-git-versioning.patch \
+ "
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+DEPENDS = "spirv-tools glslang"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DSHADERC_SKIP_TESTS=ON"
+
+do_configure_prepend() {
+ # TODO: probably there is better solution for this.
+ # I dont know any method for get the version of a receipe in DEPENDS
+ # so do this ugly hack
+ cat <<- EOF > ${S}/glslc/src/build-version.inc
+"${PV}\\n"
+"$(pkg-config --modversion SPIRV-Tools)\\n"
+"$(glslangValidator --version | head -1 | cut -d' ' -f3)\\n"
+EOF
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch b/poky/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
new file mode 100644
index 0000000..5d37da8
--- /dev/null
+++ b/poky/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
@@ -0,0 +1,35 @@
+From caf59c46ea5dc49e4dbf756c642b03e52c1b5468 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Dec 2019 07:02:24 -0800
+Subject: [PATCH] Respect CMAKE_INSTALL_LIBDIR in installed CMake files
+
+Upstream-Status: Submitted [https://github.com/google/effcee/pull/36]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 1 +
+ effcee/CMakeLists.txt | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+--- a/external/effcee/CMakeLists.txt
++++ b/external/effcee/CMakeLists.txt
+@@ -27,6 +27,7 @@ endif()
+
+ include(cmake/setup_build.cmake)
+ include(cmake/utils.cmake)
++include(GNUInstallDirs)
+
+ add_subdirectory(third_party)
+ add_subdirectory(effcee)
+--- a/external/effcee/effcee/CMakeLists.txt
++++ b/external/effcee/effcee/CMakeLists.txt
+@@ -14,8 +14,8 @@ install(
+ DESTINATION
+ include/effcee)
+ install(TARGETS effcee
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib)
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ if(EFFCEE_BUILD_TESTING)
+ add_executable(effcee-test
diff --git a/poky/meta/recipes-graphics/spir/spirv-tools_2020.5.bb b/poky/meta/recipes-graphics/spir/spirv-tools_2020.5.bb
new file mode 100644
index 0000000..5e42987
--- /dev/null
+++ b/poky/meta/recipes-graphics/spir/spirv-tools_2020.5.bb
@@ -0,0 +1,38 @@
+SUMMARY = "The SPIR-V Tools project provides an API and commands for \
+processing SPIR-V modules"
+DESCRIPTION = "The project includes an assembler, binary module parser, \
+disassembler, validator, and optimizer for SPIR-V."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SECTION = "graphics"
+
+S = "${WORKDIR}/git"
+DEST_DIR = "${S}/external"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;name=spirv-tools \
+ git://github.com/KhronosGroup/SPIRV-Headers.git;name=spirv-headers;destsuffix=${DEST_DIR}/spirv-headers \
+ git://github.com/google/effcee.git;name=effcee;destsuffix=${DEST_DIR}/effcee \
+ git://github.com/google/re2.git;name=re2;destsuffix=${DEST_DIR}/re2 \
+ git://github.com/google/googletest.git;name=googletest;destsuffix=${DEST_DIR}/googletest \
+ file://0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch;destsuffix=${DEST_DIR}/effcee \
+"
+SRCREV_spirv-tools = "b27e039c68dd9eb959bb9249fcb2c9a54841474b"
+SRCREV_spirv-headers = "3fdabd0da2932c276b25b9b4a988ba134eba1aa6"
+SRCREV_effcee = "cd25ec17e9382f99a895b9ef53ff3c277464d07d"
+SRCREV_re2 = "5bd613749fd530b576b890283bfb6bc6ea6246cb"
+SRCREV_googletest = "f2fb48c3b3d79a75a88a99fba6576b25d42ec528"
+
+inherit cmake python3native
+
+EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF"
+
+do_install_append() {
+ install -d ${D}/${includedir}/spirv
+ install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}${includedir}/spirv
+ install -d ${D}/${includedir}/spirv/unified1
+ install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/unified1/* ${D}${includedir}/spirv/unified1
+}
+
+FILES_SOLIBSDEV = ""
+FILES_${PN} += "${libdir}/*.so"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch b/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch
deleted file mode 100644
index 153e662..0000000
--- a/poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 663d51cd31fd98411e25f37aaf52b591d9639bf5 Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Mon, 30 Jul 2018 17:23:29 +0300
-Subject: [PATCH] Don't build demos with questionably licensed data
-
-Some of the models don't have open source compatible licenses:
-don't build demos using those. Also don't build demos that need
-resources that are not included.
-
-ssao:
-scenerendering:
- Sibenik model, no license found
-
-deferred:
-deferredmultisampling:
-deferredshadows:
- armor model, CC-BY-3.0
-
-vulkanscene:
-imgui:
-shadowmapping:
- vulkanscene model, no license found
-
-indirectdraw:
- plant model, no license found
-
-hdr:
-pbribl:
-pbrtexture:
- Require external Vulkan Asset Pack
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- examples/CMakeLists.txt | 14 --------------
- 1 file changed, 14 deletions(-)
-
-diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
-index a53c834..71a12e7 100644
---- a/examples/CMakeLists.txt
-+++ b/examples/CMakeLists.txt
-@@ -55,9 +55,6 @@ set(EXAMPLES
- conditionalrender
- conservativeraster
- debugmarker
-- deferred
-- deferredmultisampling
-- deferredshadows
- descriptorsets
- displacement
- distancefieldfonts
-@@ -65,9 +62,6 @@ set(EXAMPLES
- gears
- geometryshader
- gltfscene
-- hdr
-- imgui
-- indirectdraw
- inlineuniformblocks
- inputattachments
- instancing
-@@ -83,23 +77,16 @@ set(EXAMPLES
- parallaxmapping
- particlefire
- pbrbasic
-- pbribl
-- pbrtexture
- pipelines
- pipelinestatistics
- pushconstants
- pushdescriptors
- radialblur
- renderheadless
-- scenerendering
- screenshot
-- shadowmapping
-- shadowmappingomni
-- shadowmappingcascade
- skeletalanimation
- specializationconstants
- sphericalenvmapping
-- ssao
- stencilbuffer
- subpasses
- terraintessellation
-@@ -113,7 +100,6 @@ set(EXAMPLES
- texturesparseresidency
- triangle
- viewportarray
-- vulkanscene
- )
-
- buildExamples()
---
-2.17.1
-
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb
deleted file mode 100644
index 4175a56..0000000
--- a/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-DESCRIPTION = "Collection of Vulkan examples"
-LICENSE = "MIT"
-DEPENDS = "zlib"
-
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dcf473723faabf17baa9b5f2207599d0 \
- file://examples/triangle/triangle.cpp;endline=12;md5=bccd1bf9cadd9e10086cf7872157e4fa"
-
-SRCREV_glm = "1ad55c5016339b83b7eec98c31007e0aee57d2bf"
-SRCREV_ktx = "726d14d02c95bb21ec9e43807751b491d295dd3c"
-
-SRC_URI = "git://github.com/SaschaWillems/Vulkan.git \
- git://github.com/g-truc/glm;destsuffix=git/external/glm;name=glm \
- git://github.com/KhronosGroup/KTX-Software;destsuffix=git/external/ktx;name=ktx;lfs=0 \
- file://0001-Don-t-build-demos-with-questionably-licensed-data.patch \
- "
-UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "4818f85916bf88c1ca8c2ed1a46e0e758651489e"
-UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
-S = "${WORKDIR}/git"
-
-REQUIRED_DISTRO_FEATURES = 'vulkan'
-
-inherit cmake features_check
-DEPENDS = "vulkan-loader assimp wayland-protocols wayland-native"
-
-do_install_append () {
- # Remove assets that have uncertain licenses
- rm ${D}${datadir}/vulkan-demos/models/armor/* \
- ${D}${datadir}/vulkan-demos/models/sibenik/* \
- ${D}${datadir}/vulkan-demos/models/vulkanscene* \
- ${D}${datadir}/vulkan-demos/models/plants.dae \
- ${D}${datadir}/vulkan-demos/textures/texturearray_plants*
-
- mv ${D}${bindir}/screenshot ${D}${bindir}/vulkan-screenshot
-}
-
-EXTRA_OECMAKE = "-DRESOURCE_INSTALL_DIR=${datadir}/vulkan-demos"
-
-ANY_OF_DISTRO_FEATURES = "x11 wayland"
-
-# Can only pick one of [wayland,xcb]
-PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'xcb', d)}"
-PACKAGECONFIG[wayland] = "-DUSE_WAYLAND_WSI=ON, -DUSE_WAYLAND_WSI=OFF, wayland"
-PACKAGECONFIG[xcb] = ",,libxcb"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.135.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.154.0.bb
similarity index 77%
rename from poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.135.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.154.0.bb
index d21c3d6..0e4d260 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.135.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.154.0.bb
@@ -5,10 +5,9 @@
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-# was sdk-1.2.135 branch but it was removed upstream, commit is in master branch though
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=master"
-SRCREV = "fb7f9c9bcd1d1544ea203a1f3d4253d0e90c5a90"
+SRCREV = "7f9879b1b1fab53f719a9ed5e6e29533b10972b2"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.135.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.154.1.bb
similarity index 94%
rename from poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.135.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.154.1.bb
index 8bab58f..23bf59f 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.135.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.154.1.bb
@@ -9,8 +9,8 @@
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.2.135"
-SRCREV = "86429d9e7f3542e88fb98ffa7d8a82c10c9828ac"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.2.154"
+SRCREV = "2aa801755eab3fab610d9676c4dd94054e30c854"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch
new file mode 100644
index 0000000..90fe277
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch
@@ -0,0 +1,29 @@
+From 5fb216d35b6846074196e80421f3162df3b9c8cd Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sun, 1 Nov 2020 23:19:22 +0000
+Subject: [PATCH] CMakeLists.txt: do not hardcode 'lib' as installation target
+
+Upstream-Status: Inappropriate [already fixed in newer versions]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e00f8c77..f9896eed 100644
+--- a/third_party/spirv-cross/CMakeLists.txt
++++ b/third_party/spirv-cross/CMakeLists.txt
+@@ -67,8 +67,8 @@ macro(spirv_cross_add_library name config_name)
+ install(TARGETS ${name}
+ EXPORT ${config_name}Config
+ RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION include/spirv_cross)
+ install(FILES ${hdrs} DESTINATION include/spirv_cross)
+ install(EXPORT ${config_name}Config DESTINATION share/${config_name}/cmake)
+--
+2.17.1
+
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-support-link-against-libatomic-if-no-built-in-atomic.patch b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-support-link-against-libatomic-if-no-built-in-atomic.patch
new file mode 100644
index 0000000..6c0fb60
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-support-link-against-libatomic-if-no-built-in-atomic.patch
@@ -0,0 +1,117 @@
+From e20a5d13935a41a856e8f71c49f2cc9d81b1d92c Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 13 Nov 2020 17:07:00 +0800
+Subject: [PATCH] support link against libatomic if no built-in atomic exist
+
+fix error:
+| framework/lib/ppc/libframework.a(device.cpp.o): in function `std::__atomic_base<unsigned long long>::load(std::memory_order) const':
+| /usr/include/c++/10.2.0/bits/atomic_base.h:426: undefined reference to `__atomic_load_8'
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/212]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ CMakeLists.txt | 1 +
+ bldsys/cmake/check_atomic.cmake | 62 +++++++++++++++++++++++++++++++++
+ framework/CMakeLists.txt | 4 +++
+ 3 files changed, 67 insertions(+)
+ create mode 100644 bldsys/cmake/check_atomic.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e72e829..466f51d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -42,6 +42,7 @@ endmacro(vulkan_samples_pch)
+ include(utils)
+ include(global_options)
+ include(sample_helper)
++include(check_atomic)
+
+ # Add third party libraries
+ add_subdirectory(third_party)
+diff --git a/bldsys/cmake/check_atomic.cmake b/bldsys/cmake/check_atomic.cmake
+new file mode 100644
+index 0000000..6b47a7a
+--- /dev/null
++++ b/bldsys/cmake/check_atomic.cmake
+@@ -0,0 +1,62 @@
++# check weither need to link atomic library explicitly
++INCLUDE(CheckCXXSourceCompiles)
++INCLUDE(CheckLibraryExists)
++
++if(NOT DEFINED VULKAN_COMPILER_IS_GCC_COMPATIBLE)
++ if(CMAKE_COMPILER_IS_GNUCXX)
++ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE ON)
++ elseif( MSVC )
++ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE OFF)
++ elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
++ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE ON)
++ elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel" )
++ set(VULKAN_COMPILER_IS_GCC_COMPATIBLE ON)
++ endif()
++endif()
++
++# Sometimes linking against libatomic is required for atomic ops, if
++# the platform doesn't support lock-free atomics.
++
++function(check_working_cxx_atomics varname)
++ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
++ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11")
++ CHECK_CXX_SOURCE_COMPILES("
++#include <atomic>
++std::atomic<int> x;
++std::atomic<short> y;
++std::atomic<char> z;
++int main() {
++ ++z;
++ ++y;
++ return ++x;
++}
++" ${varname})
++ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
++endfunction(check_working_cxx_atomics)
++
++function(check_working_cxx_atomics64 varname)
++ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
++ set(CMAKE_REQUIRED_FLAGS "-std=c++11 ${CMAKE_REQUIRED_FLAGS}")
++ CHECK_CXX_SOURCE_COMPILES("
++#include <atomic>
++#include <cstdint>
++std::atomic<uint64_t> x (0);
++int main() {
++ uint64_t i = x.load(std::memory_order_relaxed);
++ (void)i;
++ return 0;
++}
++" ${varname})
++ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
++endfunction(check_working_cxx_atomics64)
++
++set(NEED_LINK_ATOMIC OFF CACHE BOOL "weither need to link against atomic library")
++if(VULKAN_COMPILER_IS_GCC_COMPATIBLE)
++ # check if non-64-bit atomics work without the library.
++ check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB)
++ # check 64-bit atomics work without the library.
++ check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITHOUT_LIB)
++ if (NOT HAVE_CXX_ATOMICS_WITHOUT_LIB OR NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB)
++ set(NEED_LINK_ATOMIC ON CACHE BOOL "weither need to link to atomic library" FORCE)
++ endif()
++endif()
+diff --git a/framework/CMakeLists.txt b/framework/CMakeLists.txt
+index bf26786..322526e 100644
+--- a/framework/CMakeLists.txt
++++ b/framework/CMakeLists.txt
+@@ -412,6 +412,10 @@ target_link_libraries(${PROJECT_NAME}
+ ctpl
+ docopt)
+
++if(${NEED_LINK_ATOMIC})
++ target_link_libraries(${PROJECT_NAME} atomic)
++endif()
++
+ # Link platform specific libraries
+ if(ANDROID)
+ target_link_libraries(${PROJECT_NAME} log android native_app_glue)
+--
+2.17.1
+
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
new file mode 100644
index 0000000..980557a
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "The Vulkan Samples is collection of resources to help develop optimized Vulkan applications."
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a"
+
+SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git \
+ file://0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch \
+ file://0001-support-link-against-libatomic-if-no-built-in-atomic.patch \
+ "
+
+UPSTREAM_CHECK_COMMITS = "1"
+SRCREV = "f52361d3cd6ac8c30fc3365a464b4e220c32cfd6"
+
+UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
+S = "${WORKDIR}/git"
+
+REQUIRED_DISTRO_FEATURES = 'vulkan'
+
+inherit cmake features_check
+
+FILES_${PN} += "${datadir}"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.135.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.154.0.bb
similarity index 94%
rename from poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.135.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.154.0.bb
index 085c0e2..0fc3494 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.135.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.154.0.bb
@@ -5,8 +5,8 @@
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.135"
-SRCREV = "6d8197fd6c91d352a601587ffdde28f4cd7bc399"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.154"
+SRCREV = "10d757bb1072416ddfbe4c24b43d4cd2f808a5c7"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.16.1.bb b/poky/meta/recipes-graphics/wayland/libinput_1.16.3.bb
similarity index 95%
rename from poky/meta/recipes-graphics/wayland/libinput_1.16.1.bb
rename to poky/meta/recipes-graphics/wayland/libinput_1.16.3.bb
index 1497609..8929de6 100644
--- a/poky/meta/recipes-graphics/wayland/libinput_1.16.1.bb
+++ b/poky/meta/recipes-graphics/wayland/libinput_1.16.3.bb
@@ -16,7 +16,7 @@
file://run-ptest \
file://determinism.patch \
"
-SRC_URI[sha256sum] = "7ba7d1aeedd15168bb21d17e9e628aa1c27957963a423a3fea3938a501758539"
+SRC_URI[sha256sum] = "dc5e1ae51ec1cc635ca96f61118b0f07dfea783cab0747a60f3555068bb077e4"
UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
diff --git a/poky/meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb b/poky/meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb
new file mode 100644
index 0000000..4c51f7e
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/wayland-utils_1.0.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Wayland utilities"
+DESCRIPTION = "Wayland-utils contains (for now) \
+wayland-info, a utility for displaying information about the Wayland \
+protocols supported by a Wayland compositor. \
+wayland-info is basically a standalone version of weston-info as found \
+in weston repository. "
+HOMEPAGE = "http://wayland.freedesktop.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=548a66038a77415e1df51118625e832f \
+ "
+
+SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+ "
+SRC_URI[sha256sum] = "64fecc4c58e87ae9b302901abe10c2e8af69c7503c221a96ecd0700e0aa268c0"
+
+UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+
+inherit meson pkgconfig
+
+DEPENDS += "wayland wayland-native wayland-protocols"
diff --git a/poky/meta/recipes-graphics/wayland/weston-init.bb b/poky/meta/recipes-graphics/wayland/weston-init.bb
index b7a99be..65d7b81 100644
--- a/poky/meta/recipes-graphics/wayland/weston-init.bb
+++ b/poky/meta/recipes-graphics/wayland/weston-init.bb
@@ -7,9 +7,8 @@
SRC_URI = "file://init \
file://weston.env \
file://weston.ini \
- file://weston@.service \
- file://weston@.socket \
- file://71-weston-drm.rules \
+ file://weston.service \
+ file://weston.socket \
file://weston-autologin \
file://weston-start"
@@ -24,24 +23,27 @@
DEFAULTBACKEND_qemuarm64 = "drm"
DEFAULTBACKEND_qemux86 = "drm"
DEFAULTBACKEND_qemux86-64 = "drm"
+# gallium swrast was found to crash weston on startup in x32 qemu
+DEFAULTBACKEND_qemux86-64_x86-x32 = "fbdev"
+DEFAULTBACKEND_x86-x32 = "fbdev"
do_install() {
- install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
+ if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
+ install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
+ fi
install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston
# Install Weston systemd service and accompanying udev rule
- install -D -p -m0644 ${WORKDIR}/weston@.service ${D}${systemd_system_unitdir}/weston@.service
- install -D -p -m0644 ${WORKDIR}/weston@.socket ${D}${systemd_system_unitdir}/weston@.socket
+ install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
+ install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin
fi
sed -i -e s:/etc:${sysconfdir}:g \
-e s:/usr/bin:${bindir}:g \
-e s:/var:${localstatedir}:g \
- ${D}${systemd_unitdir}/system/weston@.service
- install -D -p -m0644 ${WORKDIR}/71-weston-drm.rules \
- ${D}${sysconfdir}/udev/rules.d/71-weston-drm.rules
+ ${D}${systemd_unitdir}/system/weston.service
# Install weston-start script
install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
@@ -51,24 +53,39 @@
fi
if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then
- echo "idle-time=0" >> ${D}${sysconfdir}/xdg/weston/weston.ini
+ sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini
fi
+
+ install -dm 755 -o weston -g weston ${D}/home/weston
}
-inherit update-rc.d features_check systemd
+INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}"
+
+inherit update-rc.d features_check systemd useradd
+
+USERADD_PACKAGES = "${PN}"
# rdepends on weston which depends on virtual/egl
-REQUIRED_DISTRO_FEATURES = "opengl"
+# requires pam enabled if started via systemd
+REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
RDEPENDS_${PN} = "weston kbd"
INITSCRIPT_NAME = "weston"
INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
-FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${systemd_system_unitdir}/weston@.service ${systemd_system_unitdir}/weston@.socket ${sysconfdir}/default/weston ${sysconfdir}/pam.d/"
+FILES_${PN} += "\
+ ${sysconfdir}/xdg/weston/weston.ini \
+ ${systemd_system_unitdir}/weston.service \
+ ${systemd_system_unitdir}/weston.socket \
+ ${sysconfdir}/default/weston \
+ ${sysconfdir}/pam.d/ \
+ /home/weston \
+ "
CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston"
-SYSTEMD_SERVICE_${PN} = "weston@%i.service"
-SYSTEMD_AUTO_ENABLE = "disable"
+SYSTEMD_SERVICE_${PN} = "weston.service weston.socket"
+USERADD_PARAM_${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input weston"
+GROUPADD_PARAM_${PN} = "-r wayland"
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules b/poky/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules
deleted file mode 100644
index 1a1b8bb..0000000
--- a/poky/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules
+++ /dev/null
@@ -1,2 +0,0 @@
-ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fb0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="weston@root.service"
-ACTION=="add", SUBSYSTEM=="drm", KERNEL=="card0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="weston@root.service"
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston-start b/poky/meta/recipes-graphics/wayland/weston-init/weston-start
index ccc7093..0b93dc9 100755
--- a/poky/meta/recipes-graphics/wayland/weston-init/weston-start
+++ b/poky/meta/recipes-graphics/wayland/weston-init/weston-start
@@ -33,6 +33,10 @@
echo "ERROR: If you have WESTON_USER variable set, you also need WESTON_TTY."
exit 1
fi
+ if [ -z "$WESTON_GROUP" ]; then
+ # no explicit WESTON_GROUP given, therefore use WESTON_USER
+ export WESTON_GROUP="${WESTON_USER}"
+ fi
weston_args_user="-u $WESTON_USER -t $WESTON_TTY"
fi
@@ -75,7 +79,7 @@
fi
if [ -n "$WESTON_USER" ]
then
- chown $WESTON_USER:$WESTON_USER $XDG_RUNTIME_DIR
+ chown $WESTON_USER:$WESTON_GROUP $XDG_RUNTIME_DIR
fi
fi
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston@.service b/poky/meta/recipes-graphics/wayland/weston-init/weston.service
similarity index 83%
rename from poky/meta/recipes-graphics/wayland/weston-init/weston@.service
rename to poky/meta/recipes-graphics/wayland/weston-init/weston.service
index ce8f4fb..e09625b 100644
--- a/poky/meta/recipes-graphics/wayland/weston-init/weston@.service
+++ b/poky/meta/recipes-graphics/wayland/weston-init/weston.service
@@ -9,6 +9,7 @@
Documentation=http://wayland.freedesktop.org/
# Make sure we are started after logins are permitted.
+Requires=systemd-user-sessions.service
After=systemd-user-sessions.service
# If Plymouth is used, we want to start when it is on its way out.
@@ -18,6 +19,9 @@
Wants=dbus.socket
After=dbus.socket
+# Ensure the socket is present
+Requires=weston.socket
+
# Since we are part of the graphical session, make sure we are started before
# it is complete.
Before=graphical.target
@@ -37,10 +41,11 @@
WatchdogSec=20
# The user to run Weston as.
-User=%I
+User=weston
+Group=weston
-# Make sure working directory is users home directory
-WorkingDirectory=/home/%i
+# Make sure the working directory is the users home directory
+WorkingDirectory=/home/weston
# Set up a full user session for the user, required by Weston.
PAMName=weston-autologin
@@ -61,5 +66,6 @@
UtmpMode=user
[Install]
+# Note: If you only want weston to start on-demand, remove this line with a
+# service drop file
WantedBy=graphical.target
-DefaultInstance=tty7
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston.socket b/poky/meta/recipes-graphics/wayland/weston-init/weston.socket
new file mode 100644
index 0000000..c1bdc83
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/weston-init/weston.socket
@@ -0,0 +1,14 @@
+[Unit]
+Description=Weston socket
+RequiresMountsFor=/run
+
+[Socket]
+ListenStream=/run/wayland-0
+SocketMode=0775
+SocketUser=weston
+SocketGroup=wayland
+RemoveOnStop=yes
+
+[Install]
+WantedBy=sockets.target
+
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston@.socket b/poky/meta/recipes-graphics/wayland/weston-init/weston@.socket
deleted file mode 100644
index f1790d7..0000000
--- a/poky/meta/recipes-graphics/wayland/weston-init/weston@.socket
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Weston Wayland socket
-After=user-runtime-dir@1000.service
-
-[Socket]
-ListenStream=/run/user/1000/wayland-%I
-
-[Install]
-WantedBy=sockets.target
-
diff --git a/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb
index 75f9fb0..8cb105c 100644
--- a/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb
+++ b/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb
@@ -21,11 +21,14 @@
inherit meson pkgconfig useradd features_check
# depends on virtual/egl
-REQUIRED_DISTRO_FEATURES = "opengl"
+# weston-init requires pam enabled if started via systemd
+REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0"
DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
+LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '', d)}"
+
WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false"
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa/0001-Refuse-to-run-on-UEFI-machines.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa/0001-Refuse-to-run-on-UEFI-machines.patch
deleted file mode 100644
index 9e01770..0000000
--- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa/0001-Refuse-to-run-on-UEFI-machines.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 2645e0aa9c17c2c966a0533e52ad00510311483e Mon Sep 17 00:00:00 2001
-From: Adam Jackson <ajax@redhat.com>
-Date: Wed, 29 Aug 2018 11:04:23 -0400
-Subject: [PATCH] Refuse to run on UEFI machines
-
-No possible good can come of this.
-
-v2: Check for .../efi-framebuffer.0 ("is there an EFI framebuffer")
-instead of /sys/firmware/efi ("is this an EFI machine"). Suggested by
-Peter Jones.
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/driver/xf86-video-vesa]
-
-Reviewed-by: Peter Jones <pjones@redhat.com>
-Signed-off-by: Adam Jackson <ajax@redhat.com>
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- src/vesa.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/src/vesa.c b/src/vesa.c
-index 9b65b9b..af750e2 100644
---- a/src/vesa.c
-+++ b/src/vesa.c
-@@ -43,7 +43,7 @@
- #endif
-
- #include <string.h>
--
-+#include <unistd.h>
- #include "vesa.h"
-
- /* All drivers initialising the SW cursor need this */
-@@ -450,7 +450,14 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
- intptr_t match_data)
- {
- ScrnInfoPtr pScrn;
--
-+
-+#ifdef __linux__
-+ if (access("/sys/devices/platform/efi-framebuffer.0", F_OK) == 0) {
-+ ErrorF("vesa: Refusing to run on UEFI\n");
-+ return FALSE;
-+ }
-+#endif
-+
- pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL,
- NULL, NULL, NULL, NULL, NULL);
- if (pScrn != NULL) {
---
-2.20.1
-
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb
similarity index 71%
rename from poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb
rename to poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb
index f6aa544..d313c8c 100644
--- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb
+++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.5.0.bb
@@ -15,9 +15,5 @@
RRECOMMENDS_${PN} += "xserver-xorg-module-libint10"
-SRC_URI[md5sum] = "8134201beaf6f77150c7809c3cc802e6"
-SRC_URI[sha256sum] = "bf443c94d7bf6cd4e248f8a3147f4647be04dc4c80250d9405006263bbdee38c"
+SRC_URI[sha256sum] = "1f1624f3c73906801ad1bc98335a2cb5676a7a4d18e5374d9a1d18464e54c659"
-SRC_URI += " \
- file://0001-Refuse-to-run-on-UEFI-machines.patch \
- "
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb
index f27c5da..e9f6051 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.14.bb
@@ -30,6 +30,10 @@
export PYTHON = "python3"
+do_install_append () {
+ chown root.root ${D}${datadir}/doc/${BPN}/tutorial -R
+}
+
python populate_packages_prepend () {
do_split_packages(d, '${libdir}', r'^libxcb-(.*)\.so\..*$', 'libxcb-%s', 'XCB library module for %s', allow_links=True)
}
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.10.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb
similarity index 84%
rename from poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.10.0.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb
index 16d9c36..99f55f4 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.10.0.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb
@@ -9,14 +9,13 @@
SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "2d9ad3a46b317138b5e72a91cf105451"
-SRC_URI[sha256sum] = "57c3630cdc38fb4734cd57fa349e92244f5ae3862813e533cedbd86721a0b6f2"
+SRC_URI[sha256sum] = "a2202f851e072b84e64a395212cbd976ee18a8ee602008b0bad02a13247dbc52"
UPSTREAM_CHECK_URI = "http://xkbcommon.org/"
inherit meson pkgconfig
-EXTRA_OEMESON = "-Denable-docs=false"
+EXTRA_OEMESON = "-Denable-docs=false -Denable-xkbregistry=false"
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}"
PACKAGECONFIG[x11] = "-Denable-x11=true,-Denable-x11=false,libxcb xkeyboard-config,"
diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.30.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.31.bb
similarity index 87%
rename from poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.30.bb
rename to poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.31.bb
index a4d67cd..ad15054 100644
--- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.30.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.31.bb
@@ -13,7 +13,7 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2"
-SRC_URI[sha256sum] = "095a524f7b633ed257617202d06c9c71fe020c8897b106cf0dcdd0c6e8b797d4"
+SRC_URI[sha256sum] = "da44181f2c8828789c720decf7d13acb3c3950e2a040af5132f50f04bb6aada3"
SECTION = "x11/libs"
DEPENDS = "util-macros libxslt-native"
@@ -22,7 +22,7 @@
FILES_${PN} += "${datadir}/X11/xkb"
-inherit autotools pkgconfig gettext
+inherit autotools pkgconfig gettext python3native
do_install_append () {
install -d ${D}${datadir}/X11/xkb/compiled
diff --git a/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.bb b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb
similarity index 84%
rename from poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.bb
rename to poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb
index 6de3009..52e474a 100644
--- a/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.bb
+++ b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.14.1.bb
@@ -11,8 +11,8 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7 \
file://src/dri2.xml;beginline=2;endline=28;md5=f8763b13ff432e8597e0d610cf598e65"
-SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.xz"
-SRC_URI[sha256sum] = "186a3ceb26f9b4a015f5a44dcc814c93033a5fc39684f36f1ecc79834416a605"
+SRC_URI = "https://xorg.freedesktop.org/archive/individual/proto/${BP}.tar.xz"
+SRC_URI[sha256sum] = "f04add9a972ac334ea11d9d7eb4fc7f8883835da3e4859c9afa971efdf57fcc3"
inherit autotools pkgconfig python3native
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch
new file mode 100644
index 0000000..c2301e7
--- /dev/null
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch
@@ -0,0 +1,67 @@
+From d48ec5e1a5fb7907520dee71b1d94045486a0c29 Mon Sep 17 00:00:00 2001
+From: Alexander Kamensky <alexander.kamensky42@gmail.com>
+Date: Thu, 12 Nov 2020 12:56:46 -0800
+Subject: [PATCH] arm64: kexec: disabled check if kaslr-seed dtb property was
+ wiped
+
+Kexec when loading arm64 kernel checks if chosen/kaslr-seed dtb property is
+wiped. It's a good assertion to verify proper behavior of kernel. However,
+if bootloader creates and fills kaslr-seed property and kernel is not
+configured with CONFIG_RANDOMIZE_BASE then logic of reading and wiping
+kaslr-seed does not run. As a result kaslr-seed property is not zero and when
+kexec tries to load secondary kernel it fails with the following message:
+
+setup_2nd_dtb: kaslr-seed is not wiped to 0.
+kexec: setup_2nd_dtb failed.
+kexec: load failed.
+
+This was observed on Yocto Project on qemuarm64 machine with 5.8 kernel,
+qemu 5.1.0. Qemu created kaslr-seed property but kernel was not configured
+with CONFIG_RANDOMIZE_BASE.
+
+Although check has some value, there is a use-case where it breaks kexec,
+this patch removes it.
+
+Note in described use-case the fact that kaslr-seed is not wiped and user
+readable through /sys/firmware/fdt or
+/sys/firmware/devicetree/base/chosen/kaslr-seed is not a security problem
+as kaslr is disabled anyway.
+
+Signed-off-by: Alexander Kamensky <alexander.kamensky42@gmail.com>
+Upstream-Status: Submitted [http://lists.infradead.org/pipermail/kexec/2020-November/021740.html]
+---
+ kexec/arch/arm64/kexec-arm64.c | 14 +-------------
+ 1 file changed, 1 insertion(+), 13 deletions(-)
+
+Index: kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.c
+===================================================================
+--- kexec-tools-2.0.20.orig/kexec/arch/arm64/kexec-arm64.c
++++ kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.c
+@@ -428,7 +428,7 @@ static int setup_2nd_dtb(struct dtb *dtb
+ int len, range_len;
+ int nodeoffset;
+ int new_size;
+- int result, kaslr_seed;
++ int result;
+
+ result = fdt_check_header(dtb->buf);
+
+@@ -499,18 +499,6 @@ static int setup_2nd_dtb(struct dtb *dtb
+ return result;
+ }
+ } else {
+- kaslr_seed = fdt64_to_cpu(*prop);
+-
+- /* kaslr_seed must be wiped clean by primary
+- * kernel during boot
+- */
+- if (kaslr_seed != 0) {
+- dbgprintf("%s: kaslr-seed is not wiped to 0.\n",
+- __func__);
+- result = -EINVAL;
+- goto on_error;
+- }
+-
+ /*
+ * Invoke the getrandom system call with
+ * GRND_NONBLOCK, to make sure we
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb
index 1e81ecc..69d2e9b 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb
@@ -21,6 +21,7 @@
file://0006-kexec-arm-undefine-__NR_kexec_file_load-for-arm.patch \
file://0007-kexec-un-break-the-build-on-32-bit-x86.patch \
file://0001-kexec-Fix-build-with-fno-common.patch \
+ file://0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch \
"
SRC_URI[md5sum] = "46724b67f32501c5d3e778161347cad9"
diff --git a/poky/meta/recipes-kernel/kmod/kmod.inc b/poky/meta/recipes-kernel/kmod/kmod.inc
index 646dff9..dabda2d 100644
--- a/poky/meta/recipes-kernel/kmod/kmod.inc
+++ b/poky/meta/recipes-kernel/kmod/kmod.inc
@@ -4,7 +4,7 @@
SUMMARY = "Tools for managing Linux kernel modules"
DESCRIPTION = "kmod is a set of tools to handle common tasks with Linux kernel modules like \
insert, remove, list, check properties, resolve dependencies and aliases."
-HOMEPAGE = "http://packages.profusion.mobi/kmod/"
+HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kmod/"
LICENSE = "GPL-2.0+ & LGPL-2.1+"
LICENSE_libkmod = "LGPL-2.1+"
SECTION = "base"
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200817.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20201022.bb
similarity index 99%
rename from poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200817.bb
rename to poky/meta/recipes-kernel/linux-firmware/linux-firmware_20201022.bb
index 0abd28c..93b9d53 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200817.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20201022.bb
@@ -126,7 +126,7 @@
file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
- file://WHENCE;md5=4d229f79f8770b5b2c4aac655b9fabef \
+ file://WHENCE;md5=daf28db5d6353de0a886f08106cffa22 \
"
# These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -198,7 +198,7 @@
SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "76d05d5f1eff268d3b80675245fa596f557bd55ee2e16ddd54d18ffeae943887"
+SRC_URI[sha256sum] = "bf586e0beb4c65f22bf0a79811f259aa0a5a7cc9f70eebecb260525b6914cef7"
inherit allarch
@@ -501,6 +501,7 @@
RDEPENDS_${PN}-nvidia-gpu += "${PN}-nvidia-license"
RDEPENDS_${PN}-nvidia-tegra += "${PN}-nvidia-license"
+RDEPENDS_${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license"
# For rtl
LICENSE_${PN}-rtl8188 = "Firmware-rtlwifi_firmware"
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index aa8e162..8a900ed 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -86,6 +86,12 @@
# be dealt with.
# cp -a scripts $kerneldir/build
+ # although module.lds can be regenerated on target via 'make modules_prepare'
+ # there are several places where 'makes scripts prepare' is done, and that won't
+ # regenerate the file. So we copy it onto the target as a migration to using
+ # modules_prepare
+ cp -a --parents scripts/module.lds $kerneldir/build/ 2>/dev/null || :
+
if [ -d arch/${ARCH}/scripts ]; then
cp -a arch/${ARCH}/scripts $kerneldir/build/arch/${ARCH}
fi
@@ -113,6 +119,10 @@
# but without this file, we get a forced syncconfig run in v5.8+, which prompts and
# breaks workflows.
cp -a --parents include/generated/autoconf.h $kerneldir/build 2>/dev/null || :
+
+ if [ -e $kerneldir/include/generated/.vdso-offsets.h.cmd ]; then
+ rm $kerneldir/include/generated/.vdso-offsets.h.cmd
+ fi
)
# now grab the chunks from the source tree that we need
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index fbc62f2..6272af6 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -30,7 +30,7 @@
SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
-LINUX_VERSION ?= "5.9-rc+"
+LINUX_VERSION ?= "5.10-rc+"
LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
index 13f7246..104ada2 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
@@ -11,13 +11,13 @@
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "3a5f7e9a874f0a6e9ad599b4fc6c491db231dd6f"
-SRCREV_meta ?= "7f765dcb29003bafc9c0ac770147940be6c420b2"
+SRCREV_machine ?= "97576fb7447efba82eb025bde3ae9ceb29939d5e"
+SRCREV_meta ?= "d626f9108d590d41e82b97cbffc380aa699e86e1"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
-LINUX_VERSION ?= "5.4.69"
+LINUX_VERSION ?= "5.4.78"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb
index 3d6d750..033dfc7 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb
@@ -11,13 +11,13 @@
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_meta ?= "34775c20bc4f4ac32ac7eded79f9dc8ca77e4277"
+SRCREV_machine ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_meta ?= "7883b60d324029d26020c0b3f826b35c52fd9674"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.8;destsuffix=${KMETA}"
-LINUX_VERSION ?= "5.8.13"
+LINUX_VERSION ?= "5.8.18"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
index 00e1b65..d8784c4 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
@@ -6,7 +6,7 @@
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "5.4.69"
+LINUX_VERSION ?= "5.4.78"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine_qemuarm ?= "58f39df46d9daf12a095ffe225032ec325612960"
-SRCREV_machine ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_meta ?= "7f765dcb29003bafc9c0ac770147940be6c420b2"
+SRCREV_machine_qemuarm ?= "6cf3b1d30bc7ac9bd86190129b3cbbdd04b8b236"
+SRCREV_machine ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_meta ?= "d626f9108d590d41e82b97cbffc380aa699e86e1"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb
index 764264f..50cee07 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb
@@ -6,7 +6,7 @@
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "5.8.13"
+LINUX_VERSION ?= "5.8.18"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine_qemuarm ?= "627cc1717f47c4d9bc9d58f88b1764990d982a99"
-SRCREV_machine ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_meta ?= "34775c20bc4f4ac32ac7eded79f9dc8ca77e4277"
+SRCREV_machine_qemuarm ?= "9509db6e3ed6a23b1f7495b53248d1cbfe22710b"
+SRCREV_machine ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_meta ?= "7883b60d324029d26020c0b3f826b35c52fd9674"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
index bcc5003..c24e5dd 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
@@ -12,16 +12,16 @@
KBRANCH_qemux86-64 ?= "v5.4/standard/base"
KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64"
-SRCREV_machine_qemuarm ?= "561d4f6eb1de32e1448451db86656826cf406eb5"
-SRCREV_machine_qemuarm64 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_machine_qemumips ?= "e421f3f2399c153c4d58241cb6d1be926f7efc45"
-SRCREV_machine_qemuppc ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_machine_qemuriscv64 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_machine_qemux86 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_machine_qemux86-64 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_machine_qemumips64 ?= "72d2f11b5f171e196d6b9824b82575d9a7b59e6f"
-SRCREV_machine ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_meta ?= "7f765dcb29003bafc9c0ac770147940be6c420b2"
+SRCREV_machine_qemuarm ?= "b3bafed66cf1be24caaa9c876d7d9a8298df831b"
+SRCREV_machine_qemuarm64 ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_machine_qemumips ?= "36c2a0b1caef0b2dd6b5777d1939c383238536a8"
+SRCREV_machine_qemuppc ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_machine_qemuriscv64 ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_machine_qemux86 ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_machine_qemux86-64 ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_machine_qemumips64 ?= "971a3cedf9a2a7774fa072b9a13380fb59fd605b"
+SRCREV_machine ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_meta ?= "d626f9108d590d41e82b97cbffc380aa699e86e1"
# remap qemuarm to qemuarma15 for the 5.4 kernel
# KMACHINE_qemuarm ?= "qemuarma15"
@@ -30,7 +30,7 @@
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "5.4.69"
+LINUX_VERSION ?= "5.4.78"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb
index f80ae23..af57689 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb
@@ -12,16 +12,16 @@
KBRANCH_qemux86-64 ?= "v5.8/standard/base"
KBRANCH_qemumips64 ?= "v5.8/standard/mti-malta64"
-SRCREV_machine_qemuarm ?= "41542e01d0deb5a38c190809f4fd01a442769938"
-SRCREV_machine_qemuarm64 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_machine_qemumips ?= "36e642d5b6c5b1d05f6172a75df172ad8fefc30b"
-SRCREV_machine_qemuppc ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_machine_qemuriscv64 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_machine_qemux86 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_machine_qemux86-64 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_machine_qemumips64 ?= "5538a54afd2525803729c85a40609cae292cb242"
-SRCREV_machine ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_meta ?= "34775c20bc4f4ac32ac7eded79f9dc8ca77e4277"
+SRCREV_machine_qemuarm ?= "14b463d0e5c1e2ff354244420f9bbc7f0ab80533"
+SRCREV_machine_qemuarm64 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_machine_qemumips ?= "8d8d9afb396f154f366f32948fdff3cf4e269841"
+SRCREV_machine_qemuppc ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_machine_qemuriscv64 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_machine_qemux86 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_machine_qemux86-64 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_machine_qemumips64 ?= "01a02b058f9a8941032b298b8d25c673526152f4"
+SRCREV_machine ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_meta ?= "7883b60d324029d26020c0b3f826b35c52fd9674"
# remap qemuarm to qemuarma15 for the 5.8 kernel
# KMACHINE_qemuarm ?= "qemuarma15"
@@ -30,7 +30,7 @@
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.8;destsuffix=${KMETA}"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.8.13"
+LINUX_VERSION ?= "5.8.18"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch
deleted file mode 100644
index ae8bec4..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From ff4d1d7e85be94ef43709cd698f0ec9a12f247d1 Mon Sep 17 00:00:00 2001
-From: Beniamin Sandu <beniaminsandu@gmail.com>
-Date: Thu, 13 Aug 2020 16:24:39 +0300
-Subject: [PATCH 01/10] Kconfig: fix dependency issue when building in-tree
- without CONFIG_FTRACE
-
-When building in-tree, one could disable CONFIG_FTRACE from kernel
-config which will leave CONFIG_TRACEPOINTS selected by LTTNG modules,
-but generate a lot of linker errors like below because it leaves out
-other stuff, e.g.:
-
-trace.c:(.text+0xd86b): undefined reference to `trace_event_buffer_reserve'
-ld: trace.c:(.text+0xd8de): undefined reference to `trace_event_buffer_commit'
-ld: trace.c:(.text+0xd926): undefined reference to `event_triggers_call'
-ld: trace.c:(.text+0xd942): undefined reference to `trace_event_ignore_this_pid'
-ld: net/mac80211/trace.o: in function `trace_event_raw_event_drv_tdls_cancel_channel_switch':
-
-It appears to be caused by the fact that TRACE_EVENT macros in the Linux
-kernel depend on the Ftrace ring buffer as soon as CONFIG_TRACEPOINTS is
-enabled.
-
-Steps to reproduce:
-
-- Get a clone of an upstream stable kernel and use scripts/built-in.sh on it
-
-- Configure a standard x86-64 build, enable built-in LTTNG but disable
- CONFIG_FTRACE from Kernel Hacking-->Tracers using menuconfig
-
-- Build will fail at linking stage
-
-Upstream-Status: Backport
-
-Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- Kconfig | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Kconfig b/Kconfig
-index acdab73..10eccff 100644
---- a/Kconfig
-+++ b/Kconfig
-@@ -2,7 +2,7 @@
-
- config LTTNG
- tristate "LTTng support"
-- select TRACEPOINTS
-+ select TRACING
- help
- LTTng is an open source tracing framework for Linux.
-
---
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch
new file mode 100644
index 0000000..956f53d
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch
@@ -0,0 +1,318 @@
+From e13a7d262928984154fcf89feb14098e0cd1ad31 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Tue, 27 Oct 2020 11:42:23 -0400
+Subject: [PATCH 04/11] fix: btrfs: tracepoints: output proper root owner for
+ trace_find_free_extent() (v5.10)
+
+See upstream commit :
+
+ commit 437490fed3b0c9ae21af8f70e0f338d34560842b
+ Author: Qu Wenruo <wqu@suse.com>
+ Date: Tue Jul 28 09:42:49 2020 +0800
+
+ btrfs: tracepoints: output proper root owner for trace_find_free_extent()
+
+ The current trace event always output result like this:
+
+ find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA)
+ find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA)
+ find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA)
+ find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA)
+ find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA)
+ find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA)
+
+ T's saying we're allocating data extent for EXTENT tree, which is not
+ even possible.
+
+ It's because we always use EXTENT tree as the owner for
+ trace_find_free_extent() without using the @root from
+ btrfs_reserve_extent().
+
+ This patch will change the parameter to use proper @root for
+ trace_find_free_extent():
+
+ Now it looks much better:
+
+ find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
+ find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA)
+ find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=1(DATA)
+ find_free_extent: root=5(FS_TREE) len=4096 empty_size=0 flags=1(DATA)
+ find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA)
+ find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
+ find_free_extent: root=7(CSUM_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
+ find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
+ find_free_extent: root=1(ROOT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Change-Id: I1d674064d29b31417e2acffdeb735f5052a87032
+
+Upstream-Status: Backport
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ instrumentation/events/lttng-module/btrfs.h | 206 ++++++++++++--------
+ 1 file changed, 122 insertions(+), 84 deletions(-)
+
+diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h
+index 7b29008..52fcfd0 100644
+--- a/instrumentation/events/lttng-module/btrfs.h
++++ b/instrumentation/events/lttng-module/btrfs.h
+@@ -1856,7 +1856,29 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_f
+
+ #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
+
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0) || \
++ LTTNG_KERNEL_RANGE(5,9,6, 5,10,0) || \
++ LTTNG_KERNEL_RANGE(5,4,78, 5,5,0))
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++ btrfs_find_free_extent,
++
++ TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size,
++ u64 data),
++
++ TP_ARGS(root, num_bytes, empty_size, data),
++
++ TP_FIELDS(
++ ctf_array(u8, fsid, root->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
++ ctf_integer(u64, root_objectid, root->root_key.objectid)
++ ctf_integer(u64, num_bytes, num_bytes)
++ ctf_integer(u64, empty_size, empty_size)
++ ctf_integer(u64, data, data)
++ )
++)
++
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
++
+ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ btrfs_find_free_extent,
+@@ -1874,6 +1896,105 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+ )
+ )
+
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
++
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++ btrfs_find_free_extent,
++
++ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
++ u64 data),
++
++ TP_ARGS(fs_info, num_bytes, empty_size, data),
++
++ TP_FIELDS(
++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
++ ctf_integer(u64, num_bytes, num_bytes)
++ ctf_integer(u64, empty_size, empty_size)
++ ctf_integer(u64, data, data)
++ )
++)
++
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
++
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++ btrfs_find_free_extent,
++
++ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
++ u64 data),
++
++ TP_ARGS(fs_info, num_bytes, empty_size, data),
++
++ TP_FIELDS(
++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
++ ctf_integer(u64, num_bytes, num_bytes)
++ ctf_integer(u64, empty_size, empty_size)
++ ctf_integer(u64, data, data)
++ )
++)
++
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
++
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++ btrfs_find_free_extent,
++
++ TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
++ u64 data),
++
++ TP_ARGS(fs_info, num_bytes, empty_size, data),
++
++ TP_FIELDS(
++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
++ ctf_integer(u64, num_bytes, num_bytes)
++ ctf_integer(u64, empty_size, empty_size)
++ ctf_integer(u64, data, data)
++ )
++)
++
++#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
++ LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
++ LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
++ LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
++
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++ btrfs_find_free_extent,
++
++ TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size,
++ u64 data),
++
++ TP_ARGS(root, num_bytes, empty_size, data),
++
++ TP_FIELDS(
++ ctf_integer(u64, root_objectid, root->root_key.objectid)
++ ctf_integer(u64, num_bytes, num_bytes)
++ ctf_integer(u64, empty_size, empty_size)
++ ctf_integer(u64, data, data)
++ )
++)
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
++
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++ btrfs_find_free_extent,
++
++ TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size,
++ u64 data),
++
++ TP_ARGS(root, num_bytes, empty_size, data),
++
++ TP_FIELDS(
++ ctf_integer(u64, root_objectid, root->root_key.objectid)
++ ctf_integer(u64, num_bytes, num_bytes)
++ ctf_integer(u64, empty_size, empty_size)
++ ctf_integer(u64, data, data)
++ )
++)
++#endif
++
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+ TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
+@@ -1907,22 +2028,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
+ )
+
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
+-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+-
+- btrfs_find_free_extent,
+-
+- TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+- u64 data),
+-
+- TP_ARGS(fs_info, num_bytes, empty_size, data),
+-
+- TP_FIELDS(
+- ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+- ctf_integer(u64, num_bytes, num_bytes)
+- ctf_integer(u64, empty_size, empty_size)
+- ctf_integer(u64, data, data)
+- )
+-)
+
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+@@ -1957,22 +2062,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
+ )
+
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+-
+- btrfs_find_free_extent,
+-
+- TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+- u64 data),
+-
+- TP_ARGS(fs_info, num_bytes, empty_size, data),
+-
+- TP_FIELDS(
+- ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+- ctf_integer(u64, num_bytes, num_bytes)
+- ctf_integer(u64, empty_size, empty_size)
+- ctf_integer(u64, data, data)
+- )
+-)
+
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+@@ -2011,23 +2100,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
+
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
+
+-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+-
+- btrfs_find_free_extent,
+-
+- TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+- u64 data),
+-
+- TP_ARGS(fs_info, num_bytes, empty_size, data),
+-
+- TP_FIELDS(
+- ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+- ctf_integer(u64, num_bytes, num_bytes)
+- ctf_integer(u64, empty_size, empty_size)
+- ctf_integer(u64, data, data)
+- )
+-)
+-
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+ TP_PROTO(struct btrfs_fs_info *fs_info,
+@@ -2066,23 +2138,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
+ LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+ LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
+
+-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+-
+- btrfs_find_free_extent,
+-
+- TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size,
+- u64 data),
+-
+- TP_ARGS(root, num_bytes, empty_size, data),
+-
+- TP_FIELDS(
+- ctf_integer(u64, root_objectid, root->root_key.objectid)
+- ctf_integer(u64, num_bytes, num_bytes)
+- ctf_integer(u64, empty_size, empty_size)
+- ctf_integer(u64, data, data)
+- )
+-)
+-
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+ TP_PROTO(const struct btrfs_root *root,
+@@ -2120,23 +2175,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
+
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+
+-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+-
+- btrfs_find_free_extent,
+-
+- TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size,
+- u64 data),
+-
+- TP_ARGS(root, num_bytes, empty_size, data),
+-
+- TP_FIELDS(
+- ctf_integer(u64, root_objectid, root->root_key.objectid)
+- ctf_integer(u64, num_bytes, num_bytes)
+- ctf_integer(u64, empty_size, empty_size)
+- ctf_integer(u64, data, data)
+- )
+-)
+-
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+ TP_PROTO(struct btrfs_root *root,
+--
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch
deleted file mode 100644
index fab673b..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From e10ab43dd0e425df5bc0ac763447664ed075ba05 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 10 Aug 2020 11:22:05 -0400
-Subject: [PATCH 02/10] fix: Move mmutrace.h into the mmu/ sub-directory (v5.9)
-
- commit 33e3042dac6bcc33b80835f7d7b502b1d74c457c
- Author: Sean Christopherson <sean.j.christopherson@intel.com>
- Date: Mon Jun 22 13:20:29 2020 -0700
-
- KVM: x86/mmu: Move mmu_audit.c and mmutrace.h into the mmu/ sub-directory
-
- Move mmu_audit.c and mmutrace.h under mmu/ where they belong.
-
-Upstream-Status: Backport
-
-Change-Id: I582525ccca34e1e3bd62870364108a7d3e9df2e4
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- probes/lttng-probe-kvm-x86-mmu.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/probes/lttng-probe-kvm-x86-mmu.c b/probes/lttng-probe-kvm-x86-mmu.c
-index 37384a2..5a7ef1e 100644
---- a/probes/lttng-probe-kvm-x86-mmu.c
-+++ b/probes/lttng-probe-kvm-x86-mmu.c
-@@ -24,7 +24,11 @@
- */
- #include <wrapper/tracepoint.h>
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+#include <../../arch/x86/kvm/mmu/mmutrace.h>
-+#else
- #include <../../arch/x86/kvm/mmutrace.h>
-+#endif
-
- #undef TRACE_INCLUDE_PATH
- #undef TRACE_INCLUDE_FILE
---
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch
deleted file mode 100644
index 524631c..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From f16315cc45c4c6b880de541bb092ca18a13952b7 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 10 Aug 2020 11:36:03 -0400
-Subject: [PATCH 03/10] fix: KVM: x86/mmu: Make kvm_mmu_page definition and
- accessor internal-only (v5.9)
-
- commit 985ab2780164698ec6e7d73fad523d50449261dd
- Author: Sean Christopherson <sean.j.christopherson@intel.com>
- Date: Mon Jun 22 13:20:32 2020 -0700
-
- KVM: x86/mmu: Make kvm_mmu_page definition and accessor internal-only
-
- Make 'struct kvm_mmu_page' MMU-only, nothing outside of the MMU should
- be poking into the gory details of shadow pages.
-
-Upstream-Status: Backport
-
-Change-Id: Ia5c1b9c49c2b00dad1d5b17c50c3dc730dafda20
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- probes/lttng-probe-kvm-x86-mmu.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/probes/lttng-probe-kvm-x86-mmu.c b/probes/lttng-probe-kvm-x86-mmu.c
-index 5a7ef1e..8f98186 100644
---- a/probes/lttng-probe-kvm-x86-mmu.c
-+++ b/probes/lttng-probe-kvm-x86-mmu.c
-@@ -25,6 +25,7 @@
- #include <wrapper/tracepoint.h>
-
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+#include <../../arch/x86/kvm/mmu/mmu_internal.h>
- #include <../../arch/x86/kvm/mmu/mmutrace.h>
- #else
- #include <../../arch/x86/kvm/mmutrace.h>
---
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch
deleted file mode 100644
index e29c072..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 8fe742807e65af29dac3fea568ff93cbc5dd9a56 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 24 Aug 2020 15:26:04 -0400
-Subject: [PATCH 04/10] fix: ext4: limit the length of per-inode prealloc list
- (v5.9)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-See upstream commit:
-
- commit 27bc446e2def38db3244a6eb4bb1d6312936610a
- Author: brookxu <brookxu.cn@gmail.com>
- Date: Mon Aug 17 15:36:15 2020 +0800
-
- ext4: limit the length of per-inode prealloc list
-
- In the scenario of writing sparse files, the per-inode prealloc list may
- be very long, resulting in high overhead for ext4_mb_use_preallocated().
- To circumvent this problem, we limit the maximum length of per-inode
- prealloc list to 512 and allow users to modify it.
-
- After patching, we observed that the sys ratio of cpu has dropped, and
- the system throughput has increased significantly. We created a process
- to write the sparse file, and the running time of the process on the
- fixed kernel was significantly reduced, as follows:
-
- Running time on unfixed kernel:
- [root@TENCENT64 ~]# time taskset 0x01 ./sparse /data1/sparce.dat
- real 0m2.051s
- user 0m0.008s
- sys 0m2.026s
-
- Running time on fixed kernel:
- [root@TENCENT64 ~]# time taskset 0x01 ./sparse /data1/sparce.dat
- real 0m0.471s
- user 0m0.004s
- sys 0m0.395s
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Change-Id: I5169cb24853d4da32e2862a6626f1f058689b053
----
- instrumentation/events/lttng-module/ext4.h | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
-index 5f7ab28..72ad4c9 100644
---- a/instrumentation/events/lttng-module/ext4.h
-+++ b/instrumentation/events/lttng-module/ext4.h
-@@ -460,6 +460,20 @@ LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa,
- )
- #endif
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
-+ TP_PROTO(struct inode *inode, unsigned int len, unsigned int needed),
-+
-+ TP_ARGS(inode, len, needed),
-+
-+ TP_FIELDS(
-+ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
-+ ctf_integer(ino_t, ino, inode->i_ino)
-+ ctf_integer(unsigned int, len, len)
-+ ctf_integer(unsigned int, needed, needed)
-+ )
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
- TP_PROTO(struct inode *inode),
-
-@@ -470,6 +484,7 @@ LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
- ctf_integer(ino_t, ino, inode->i_ino)
- )
- )
-+#endif
-
- LTTNG_TRACEPOINT_EVENT(ext4_mb_discard_preallocations,
- TP_PROTO(struct super_block *sb, int needed),
---
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch
deleted file mode 100644
index f76e969..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 52563d02a9234215b62c5f519aa1b5d8589ccd0a Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 24 Aug 2020 15:37:50 -0400
-Subject: [PATCH 05/10] =?UTF-8?q?fix:=20ext4:=20indicate=20via=20a=20block?=
- =?UTF-8?q?=20bitmap=20read=20is=20prefetched=E2=80=A6=20(v5.9)?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-See upstream commit:
-
- commit ab74c7b23f3770935016e3eb3ecdf1e42b73efaa
- Author: Theodore Ts'o <tytso@mit.edu>
- Date: Wed Jul 15 11:48:55 2020 -0400
-
- ext4: indicate via a block bitmap read is prefetched via a tracepoint
-
- Modify the ext4_read_block_bitmap_load tracepoint so that it tells us
- whether a block bitmap is being prefetched.
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Change-Id: I0e5e2c5b8004223d0928235c092449ee16a940e1
----
- instrumentation/events/lttng-module/ext4.h | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
-index 72ad4c9..4476abb 100644
---- a/instrumentation/events/lttng-module/ext4.h
-+++ b/instrumentation/events/lttng-module/ext4.h
-@@ -893,12 +893,26 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_mb_buddy_bitmap_load,
- TP_ARGS(sb, group)
- )
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+LTTNG_TRACEPOINT_EVENT(ext4_read_block_bitmap_load,
-+ TP_PROTO(struct super_block *sb, unsigned long group, bool prefetch),
-+
-+ TP_ARGS(sb, group, prefetch),
-+
-+ TP_FIELDS(
-+ ctf_integer(dev_t, dev, sb->s_dev)
-+ ctf_integer(__u32, group, group)
-+ ctf_integer(bool, prefetch, prefetch)
-+ )
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_read_block_bitmap_load,
-
- TP_PROTO(struct super_block *sb, unsigned long group),
-
- TP_ARGS(sb, group)
- )
-+#endif
-
- LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_load_inode_bitmap,
-
---
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch
deleted file mode 100644
index 0970dd3..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch
+++ /dev/null
@@ -1,391 +0,0 @@
-From 57ccbfa6a8a79c7b84394c2097efaf7935607aa5 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Tue, 25 Aug 2020 10:56:29 -0400
-Subject: [PATCH 06/10] fix: removal of [smp_]read_barrier_depends (v5.9)
-
-See upstream commits:
-
- commit 76ebbe78f7390aee075a7f3768af197ded1bdfbb
- Author: Will Deacon <will@kernel.org>
- Date: Tue Oct 24 11:22:47 2017 +0100
-
- locking/barriers: Add implicit smp_read_barrier_depends() to READ_ONCE()
-
- In preparation for the removal of lockless_dereference(), which is the
- same as READ_ONCE() on all architectures other than Alpha, add an
- implicit smp_read_barrier_depends() to READ_ONCE() so that it can be
- used to head dependency chains on all architectures.
-
- commit 76ebbe78f7390aee075a7f3768af197ded1bdfbb
- Author: Will Deacon <will.deacon@arm.com>
- Date: Tue Oct 24 11:22:47 2017 +0100
-
- locking/barriers: Add implicit smp_read_barrier_depends() to READ_ONCE()
-
- In preparation for the removal of lockless_dereference(), which is the
- same as READ_ONCE() on all architectures other than Alpha, add an
- implicit smp_read_barrier_depends() to READ_ONCE() so that it can be
- used to head dependency chains on all architectures.
-
-Upstream-Status: Backport
-
-Change-Id: Ife8880bd9378dca2972da8838f40fc35ccdfaaac
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- instrumentation/events/lttng-module/i2c.h | 4 ++--
- lib/ringbuffer/backend.h | 2 +-
- lib/ringbuffer/backend_internal.h | 2 +-
- lib/ringbuffer/frontend.h | 4 ++--
- lib/ringbuffer/ring_buffer_frontend.c | 4 ++--
- lib/ringbuffer/ring_buffer_iterator.c | 2 +-
- lttng-events.c | 8 ++++----
- probes/lttng-kprobes.c | 6 +++---
- probes/lttng-kretprobes.c | 6 +++---
- probes/lttng-tracepoint-event-impl.h | 12 ++++++------
- probes/lttng-uprobes.c | 6 +++---
- wrapper/compiler.h | 18 ++++++++++++++++++
- wrapper/trace-clock.h | 15 +++++----------
- 13 files changed, 51 insertions(+), 38 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/i2c.h b/instrumentation/events/lttng-module/i2c.h
-index dcbabf6..131d134 100644
---- a/instrumentation/events/lttng-module/i2c.h
-+++ b/instrumentation/events/lttng-module/i2c.h
-@@ -23,7 +23,7 @@ LTTNG_TRACEPOINT_EVENT_CODE(i2c_write,
-
- TP_code_pre(
- tp_locvar->extract_sensitive_payload =
-- READ_ONCE(extract_sensitive_payload);
-+ LTTNG_READ_ONCE(extract_sensitive_payload);
- ),
-
- TP_FIELDS(
-@@ -78,7 +78,7 @@ LTTNG_TRACEPOINT_EVENT_CODE(i2c_reply,
-
- TP_code_pre(
- tp_locvar->extract_sensitive_payload =
-- READ_ONCE(extract_sensitive_payload);
-+ LTTNG_READ_ONCE(extract_sensitive_payload);
- ),
-
- TP_FIELDS(
-diff --git a/lib/ringbuffer/backend.h b/lib/ringbuffer/backend.h
-index da937f2..43e1d47 100644
---- a/lib/ringbuffer/backend.h
-+++ b/lib/ringbuffer/backend.h
-@@ -156,7 +156,7 @@ size_t lib_ring_buffer_do_strcpy(const struct lib_ring_buffer_config *config,
- * Only read source character once, in case it is
- * modified concurrently.
- */
-- c = READ_ONCE(src[count]);
-+ c = LTTNG_READ_ONCE(src[count]);
- if (!c)
- break;
- lib_ring_buffer_do_copy(config, &dest[count], &c, 1);
-diff --git a/lib/ringbuffer/backend_internal.h b/lib/ringbuffer/backend_internal.h
-index 2d6a345..1226fd8 100644
---- a/lib/ringbuffer/backend_internal.h
-+++ b/lib/ringbuffer/backend_internal.h
-@@ -367,7 +367,7 @@ void lib_ring_buffer_clear_noref(const struct lib_ring_buffer_config *config,
- * Performing a volatile access to read the sb_pages, because we want to
- * read a coherent version of the pointer and the associated noref flag.
- */
-- id = READ_ONCE(bufb->buf_wsb[idx].id);
-+ id = LTTNG_READ_ONCE(bufb->buf_wsb[idx].id);
- for (;;) {
- /* This check is called on the fast path for each record. */
- if (likely(!subbuffer_id_is_noref(config, id))) {
-diff --git a/lib/ringbuffer/frontend.h b/lib/ringbuffer/frontend.h
-index 6f516d9..41382fe 100644
---- a/lib/ringbuffer/frontend.h
-+++ b/lib/ringbuffer/frontend.h
-@@ -79,7 +79,7 @@ void *channel_destroy(struct channel *chan);
- #define for_each_channel_cpu(cpu, chan) \
- for ((cpu) = -1; \
- ({ (cpu) = cpumask_next(cpu, (chan)->backend.cpumask); \
-- smp_read_barrier_depends(); (cpu) < nr_cpu_ids; });)
-+ smp_rmb(); (cpu) < nr_cpu_ids; });)
-
- extern struct lib_ring_buffer *channel_get_ring_buffer(
- const struct lib_ring_buffer_config *config,
-@@ -155,7 +155,7 @@ static inline
- int lib_ring_buffer_is_finalized(const struct lib_ring_buffer_config *config,
- struct lib_ring_buffer *buf)
- {
-- int finalized = READ_ONCE(buf->finalized);
-+ int finalized = LTTNG_READ_ONCE(buf->finalized);
- /*
- * Read finalized before counters.
- */
-diff --git a/lib/ringbuffer/ring_buffer_frontend.c b/lib/ringbuffer/ring_buffer_frontend.c
-index 3cab365..4980d20 100644
---- a/lib/ringbuffer/ring_buffer_frontend.c
-+++ b/lib/ringbuffer/ring_buffer_frontend.c
-@@ -1074,7 +1074,7 @@ int lib_ring_buffer_snapshot(struct lib_ring_buffer *buf,
- int finalized;
-
- retry:
-- finalized = READ_ONCE(buf->finalized);
-+ finalized = LTTNG_READ_ONCE(buf->finalized);
- /*
- * Read finalized before counters.
- */
-@@ -1245,7 +1245,7 @@ int lib_ring_buffer_get_subbuf(struct lib_ring_buffer *buf,
- return -EBUSY;
- }
- retry:
-- finalized = READ_ONCE(buf->finalized);
-+ finalized = LTTNG_READ_ONCE(buf->finalized);
- /*
- * Read finalized before counters.
- */
-diff --git a/lib/ringbuffer/ring_buffer_iterator.c b/lib/ringbuffer/ring_buffer_iterator.c
-index d25db72..7b4f20a 100644
---- a/lib/ringbuffer/ring_buffer_iterator.c
-+++ b/lib/ringbuffer/ring_buffer_iterator.c
-@@ -46,7 +46,7 @@ restart:
- switch (iter->state) {
- case ITER_GET_SUBBUF:
- ret = lib_ring_buffer_get_next_subbuf(buf);
-- if (ret && !READ_ONCE(buf->finalized)
-+ if (ret && !LTTNG_READ_ONCE(buf->finalized)
- && config->alloc == RING_BUFFER_ALLOC_GLOBAL) {
- /*
- * Use "pull" scheme for global buffers. The reader
-diff --git a/lttng-events.c b/lttng-events.c
-index be7e389..d719294 100644
---- a/lttng-events.c
-+++ b/lttng-events.c
-@@ -1719,7 +1719,7 @@ int lttng_metadata_printf(struct lttng_session *session,
- size_t len;
- va_list ap;
-
-- WARN_ON_ONCE(!READ_ONCE(session->active));
-+ WARN_ON_ONCE(!LTTNG_READ_ONCE(session->active));
-
- va_start(ap, fmt);
- str = kvasprintf(GFP_KERNEL, fmt, ap);
-@@ -2305,7 +2305,7 @@ int _lttng_event_metadata_statedump(struct lttng_session *session,
- {
- int ret = 0;
-
-- if (event->metadata_dumped || !READ_ONCE(session->active))
-+ if (event->metadata_dumped || !LTTNG_READ_ONCE(session->active))
- return 0;
- if (chan->channel_type == METADATA_CHANNEL)
- return 0;
-@@ -2377,7 +2377,7 @@ int _lttng_channel_metadata_statedump(struct lttng_session *session,
- {
- int ret = 0;
-
-- if (chan->metadata_dumped || !READ_ONCE(session->active))
-+ if (chan->metadata_dumped || !LTTNG_READ_ONCE(session->active))
- return 0;
-
- if (chan->channel_type == METADATA_CHANNEL)
-@@ -2604,7 +2604,7 @@ int _lttng_session_metadata_statedump(struct lttng_session *session)
- struct lttng_event *event;
- int ret = 0;
-
-- if (!READ_ONCE(session->active))
-+ if (!LTTNG_READ_ONCE(session->active))
- return 0;
-
- lttng_metadata_begin(session);
-diff --git a/probes/lttng-kprobes.c b/probes/lttng-kprobes.c
-index a44eaa1..38fb72e 100644
---- a/probes/lttng-kprobes.c
-+++ b/probes/lttng-kprobes.c
-@@ -31,11 +31,11 @@ int lttng_kprobes_handler_pre(struct kprobe *p, struct pt_regs *regs)
- int ret;
- unsigned long data = (unsigned long) p->addr;
-
-- if (unlikely(!READ_ONCE(chan->session->active)))
-+ if (unlikely(!LTTNG_READ_ONCE(chan->session->active)))
- return 0;
-- if (unlikely(!READ_ONCE(chan->enabled)))
-+ if (unlikely(!LTTNG_READ_ONCE(chan->enabled)))
- return 0;
-- if (unlikely(!READ_ONCE(event->enabled)))
-+ if (unlikely(!LTTNG_READ_ONCE(event->enabled)))
- return 0;
-
- lib_ring_buffer_ctx_init(&ctx, chan->chan, <tng_probe_ctx, sizeof(data),
-diff --git a/probes/lttng-kretprobes.c b/probes/lttng-kretprobes.c
-index ab98ff2..a6bcd21 100644
---- a/probes/lttng-kretprobes.c
-+++ b/probes/lttng-kretprobes.c
-@@ -51,11 +51,11 @@ int _lttng_kretprobes_handler(struct kretprobe_instance *krpi,
- unsigned long parent_ip;
- } payload;
-
-- if (unlikely(!READ_ONCE(chan->session->active)))
-+ if (unlikely(!LTTNG_READ_ONCE(chan->session->active)))
- return 0;
-- if (unlikely(!READ_ONCE(chan->enabled)))
-+ if (unlikely(!LTTNG_READ_ONCE(chan->enabled)))
- return 0;
-- if (unlikely(!READ_ONCE(event->enabled)))
-+ if (unlikely(!LTTNG_READ_ONCE(event->enabled)))
- return 0;
-
- payload.ip = (unsigned long) krpi->rp->kp.addr;
-diff --git a/probes/lttng-tracepoint-event-impl.h b/probes/lttng-tracepoint-event-impl.h
-index 77b8638..72a669e 100644
---- a/probes/lttng-tracepoint-event-impl.h
-+++ b/probes/lttng-tracepoint-event-impl.h
-@@ -1132,11 +1132,11 @@ static void __event_probe__##_name(void *__data, _proto) \
- \
- if (!_TP_SESSION_CHECK(session, __session)) \
- return; \
-- if (unlikely(!READ_ONCE(__session->active))) \
-+ if (unlikely(!LTTNG_READ_ONCE(__session->active))) \
- return; \
-- if (unlikely(!READ_ONCE(__chan->enabled))) \
-+ if (unlikely(!LTTNG_READ_ONCE(__chan->enabled))) \
- return; \
-- if (unlikely(!READ_ONCE(__event->enabled))) \
-+ if (unlikely(!LTTNG_READ_ONCE(__event->enabled))) \
- return; \
- __lf = lttng_rcu_dereference(__session->pid_tracker.p); \
- if (__lf && likely(!lttng_id_tracker_lookup(__lf, current->tgid))) \
-@@ -1225,11 +1225,11 @@ static void __event_probe__##_name(void *__data) \
- \
- if (!_TP_SESSION_CHECK(session, __session)) \
- return; \
-- if (unlikely(!READ_ONCE(__session->active))) \
-+ if (unlikely(!LTTNG_READ_ONCE(__session->active))) \
- return; \
-- if (unlikely(!READ_ONCE(__chan->enabled))) \
-+ if (unlikely(!LTTNG_READ_ONCE(__chan->enabled))) \
- return; \
-- if (unlikely(!READ_ONCE(__event->enabled))) \
-+ if (unlikely(!LTTNG_READ_ONCE(__event->enabled))) \
- return; \
- __lf = lttng_rcu_dereference(__session->pid_tracker.p); \
- if (__lf && likely(!lttng_id_tracker_lookup(__lf, current->tgid))) \
-diff --git a/probes/lttng-uprobes.c b/probes/lttng-uprobes.c
-index bc10128..bda1d9b 100644
---- a/probes/lttng-uprobes.c
-+++ b/probes/lttng-uprobes.c
-@@ -40,11 +40,11 @@ int lttng_uprobes_handler_pre(struct uprobe_consumer *uc, struct pt_regs *regs)
- unsigned long ip;
- } payload;
-
-- if (unlikely(!READ_ONCE(chan->session->active)))
-+ if (unlikely(!LTTNG_READ_ONCE(chan->session->active)))
- return 0;
-- if (unlikely(!READ_ONCE(chan->enabled)))
-+ if (unlikely(!LTTNG_READ_ONCE(chan->enabled)))
- return 0;
-- if (unlikely(!READ_ONCE(event->enabled)))
-+ if (unlikely(!LTTNG_READ_ONCE(event->enabled)))
- return 0;
-
- lib_ring_buffer_ctx_init(&ctx, chan->chan, <tng_probe_ctx,
-diff --git a/wrapper/compiler.h b/wrapper/compiler.h
-index 1496f33..b9f8c51 100644
---- a/wrapper/compiler.h
-+++ b/wrapper/compiler.h
-@@ -9,6 +9,7 @@
- #define _LTTNG_WRAPPER_COMPILER_H
-
- #include <linux/compiler.h>
-+#include <linux/version.h>
-
- /*
- * Don't allow compiling with buggy compiler.
-@@ -39,4 +40,21 @@
- # define WRITE_ONCE(x, val) ({ ACCESS_ONCE(x) = val; })
- #endif
-
-+/*
-+ * In v4.15 a smp read barrier was added to READ_ONCE to replace
-+ * lockless_dereference(), replicate this behavior on prior kernels
-+ * and remove calls to smp_read_barrier_depends which was dropped
-+ * in v5.9.
-+ */
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
-+#define LTTNG_READ_ONCE(x) READ_ONCE(x)
-+#else
-+#define LTTNG_READ_ONCE(x) \
-+({ \
-+ typeof(x) __val = READ_ONCE(x); \
-+ smp_read_barrier_depends(); \
-+ __val; \
-+})
-+#endif
-+
- #endif /* _LTTNG_WRAPPER_COMPILER_H */
-diff --git a/wrapper/trace-clock.h b/wrapper/trace-clock.h
-index 9f4e366..187fc82 100644
---- a/wrapper/trace-clock.h
-+++ b/wrapper/trace-clock.h
-@@ -160,33 +160,30 @@ static inline void put_trace_clock(void)
-
- static inline u64 trace_clock_read64(void)
- {
-- struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock);
-+ struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock);
-
- if (likely(!ltc)) {
- return trace_clock_read64_monotonic();
- } else {
-- read_barrier_depends(); /* load ltc before content */
- return ltc->read64();
- }
- }
-
- static inline u64 trace_clock_freq(void)
- {
-- struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock);
-+ struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock);
-
- if (!ltc) {
- return trace_clock_freq_monotonic();
- } else {
-- read_barrier_depends(); /* load ltc before content */
- return ltc->freq();
- }
- }
-
- static inline int trace_clock_uuid(char *uuid)
- {
-- struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock);
-+ struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock);
-
-- read_barrier_depends(); /* load ltc before content */
- /* Use default UUID cb when NULL */
- if (!ltc || !ltc->uuid) {
- return trace_clock_uuid_monotonic(uuid);
-@@ -197,24 +194,22 @@ static inline int trace_clock_uuid(char *uuid)
-
- static inline const char *trace_clock_name(void)
- {
-- struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock);
-+ struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock);
-
- if (!ltc) {
- return trace_clock_name_monotonic();
- } else {
-- read_barrier_depends(); /* load ltc before content */
- return ltc->name();
- }
- }
-
- static inline const char *trace_clock_description(void)
- {
-- struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock);
-+ struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock);
-
- if (!ltc) {
- return trace_clock_description_monotonic();
- } else {
-- read_barrier_depends(); /* load ltc before content */
- return ltc->description();
- }
- }
---
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch
deleted file mode 100644
index 2843c9c..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From eae02feb58064eee5ce15a9f6bdffd107c47da05 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 31 Aug 2020 11:41:38 -0400
-Subject: [PATCH 07/10] fix: writeback: Drop I_DIRTY_TIME_EXPIRE (v5.9)
-
-See upstream commit:
-
- commit 5fcd57505c002efc5823a7355e21f48dd02d5a51
- Author: Jan Kara <jack@suse.cz>
- Date: Fri May 29 16:24:43 2020 +0200
-
- writeback: Drop I_DIRTY_TIME_EXPIRE
-
- The only use of I_DIRTY_TIME_EXPIRE is to detect in
- __writeback_single_inode() that inode got there because flush worker
- decided it's time to writeback the dirty inode time stamps (either
- because we are syncing or because of age). However we can detect this
- directly in __writeback_single_inode() and there's no need for the
- strange propagation with I_DIRTY_TIME_EXPIRE flag.
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Change-Id: I92e37c2ff3ec36d431e8f9de5c8e37c5a2da55ea
----
- instrumentation/events/lttng-module/writeback.h | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h
-index affb4eb..ece67ad 100644
---- a/instrumentation/events/lttng-module/writeback.h
-+++ b/instrumentation/events/lttng-module/writeback.h
-@@ -46,7 +46,21 @@ static inline struct backing_dev_info *lttng_inode_to_bdi(struct inode *inode)
-
- #endif
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+#define show_inode_state(state) \
-+ __print_flags(state, "|", \
-+ {I_DIRTY_SYNC, "I_DIRTY_SYNC"}, \
-+ {I_DIRTY_DATASYNC, "I_DIRTY_DATASYNC"}, \
-+ {I_DIRTY_PAGES, "I_DIRTY_PAGES"}, \
-+ {I_NEW, "I_NEW"}, \
-+ {I_WILL_FREE, "I_WILL_FREE"}, \
-+ {I_FREEING, "I_FREEING"}, \
-+ {I_CLEAR, "I_CLEAR"}, \
-+ {I_SYNC, "I_SYNC"}, \
-+ {I_DIRTY_TIME, "I_DIRTY_TIME"}, \
-+ {I_REFERENCED, "I_REFERENCED"} \
-+ )
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0))
- #define show_inode_state(state) \
- __print_flags(state, "|", \
- {I_DIRTY_SYNC, "I_DIRTY_SYNC"}, \
---
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch
deleted file mode 100644
index 7a0d9a3..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 87b2affc3eb06f3fb2d0923f18af37713eb6814b Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 31 Aug 2020 14:16:01 -0400
-Subject: [PATCH 08/10] fix: writeback: Fix sync livelock due to b_dirty_time
- processing (v5.9)
-
-See upstream commit:
-
- commit f9cae926f35e8230330f28c7b743ad088611a8de
- Author: Jan Kara <jack@suse.cz>
- Date: Fri May 29 16:08:58 2020 +0200
-
- writeback: Fix sync livelock due to b_dirty_time processing
-
- When we are processing writeback for sync(2), move_expired_inodes()
- didn't set any inode expiry value (older_than_this). This can result in
- writeback never completing if there's steady stream of inodes added to
- b_dirty_time list as writeback rechecks dirty lists after each writeback
- round whether there's more work to be done. Fix the problem by using
- sync(2) start time is inode expiry value when processing b_dirty_time
- list similarly as for ordinarily dirtied inodes. This requires some
- refactoring of older_than_this handling which simplifies the code
- noticeably as a bonus.
-
-Upstream-Status: Backport
-
-Change-Id: I8b894b13ccc14d9b8983ee4c2810a927c319560b
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- .../events/lttng-module/writeback.h | 39 ++++++++++++-------
- 1 file changed, 26 insertions(+), 13 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h
-index ece67ad..e9018dd 100644
---- a/instrumentation/events/lttng-module/writeback.h
-+++ b/instrumentation/events/lttng-module/writeback.h
-@@ -384,34 +384,48 @@ LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_wait, writeback_wbc_balanc
- #endif
- LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writepage, writeback_wbc_writepage)
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
-+ TP_PROTO(struct bdi_writeback *wb,
-+ struct wb_writeback_work *work,
-+ unsigned long dirtied_before,
-+ int moved),
-+ TP_ARGS(wb, work, dirtied_before, moved),
-+ TP_FIELDS(
-+ ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
-+ ctf_integer(unsigned long, older, dirtied_before)
-+ ctf_integer(int, moved, moved)
-+ )
-+)
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
- LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
- TP_PROTO(struct bdi_writeback *wb,
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
- struct wb_writeback_work *work,
--#else
-- unsigned long *older_than_this,
--#endif
- int moved),
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
- TP_ARGS(wb, work, moved),
--#else
-+ TP_FIELDS(
-+ ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
-+ ctf_integer(int, moved, moved)
-+ )
-+)
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
-+LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
-+ TP_PROTO(struct bdi_writeback *wb,
-+ unsigned long *older_than_this,
-+ int moved),
- TP_ARGS(wb, older_than_this, moved),
--#endif
- TP_FIELDS(
- ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
--#else
- ctf_integer(unsigned long, older,
- older_than_this ? *older_than_this : 0)
- ctf_integer(long, age,
- older_than_this ?
- (jiffies - *older_than_this) * 1000 / HZ
- : -1)
--#endif
- ctf_integer(int, moved, moved)
- )
- )
-+#endif
-
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0))
- LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
-@@ -460,7 +474,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
- ctf_integer(unsigned long, dirty_limit, global_dirty_limit)
- )
- )
--#else
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
- LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
-
- writeback_global_dirty_state,
-@@ -485,7 +499,6 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
- )
- )
- #endif
--#endif
-
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
-
---
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch
deleted file mode 100644
index 346e1d6..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From b74b25f349e92d7b5bdc8684e406d6a889f13773 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Fri, 4 Sep 2020 11:52:51 -0400
-Subject: [PATCH 09/10] fix: version ranges for ext4_discard_preallocations and
- writeback_queue_io
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Change-Id: Id4fa53cb2e713cbda651e1a75deed91013115592
----
- instrumentation/events/lttng-module/ext4.h | 3 ++-
- instrumentation/events/lttng-module/writeback.h | 8 +++++++-
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
-index 4476abb..b172c8d 100644
---- a/instrumentation/events/lttng-module/ext4.h
-+++ b/instrumentation/events/lttng-module/ext4.h
-@@ -460,7 +460,8 @@ LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa,
- )
- #endif
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) || \
-+ LTTNG_KERNEL_RANGE(5,8,6, 5,9,0))
- LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
- TP_PROTO(struct inode *inode, unsigned int len, unsigned int needed),
-
-diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h
-index e9018dd..09637d7 100644
---- a/instrumentation/events/lttng-module/writeback.h
-+++ b/instrumentation/events/lttng-module/writeback.h
-@@ -384,7 +384,13 @@ LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_wait, writeback_wbc_balanc
- #endif
- LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writepage, writeback_wbc_writepage)
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) || \
-+ LTTNG_KERNEL_RANGE(5,8,6, 5,9,0) || \
-+ LTTNG_KERNEL_RANGE(5,4,62, 5,5,0) || \
-+ LTTNG_KERNEL_RANGE(4,19,143, 4,20,0) || \
-+ LTTNG_KERNEL_RANGE(4,14,196, 4,15,0) || \
-+ LTTNG_KERNEL_RANGE(4,9,235, 4,10,0) || \
-+ LTTNG_KERNEL_RANGE(4,4,235, 4,5,0))
- LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
- TP_PROTO(struct bdi_writeback *wb,
- struct wb_writeback_work *work,
---
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0010-Fix-system-call-filter-table.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0010-Fix-system-call-filter-table.patch
deleted file mode 100644
index a16750d..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0010-Fix-system-call-filter-table.patch
+++ /dev/null
@@ -1,918 +0,0 @@
-From ad594e3a953db1b0c3c059fde45b5a5494f6be78 Mon Sep 17 00:00:00 2001
-From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Date: Tue, 28 Jan 2020 16:02:44 -0500
-Subject: [PATCH 10/10] Fix: system call filter table
-
-The system call filter table has effectively been unused for a long
-time due to system call name prefix mismatch. This means the overhead of
-selective system call tracing was larger than it should have been because
-the event payload preparation would be done for all system calls as soon
-as a single system call is traced.
-
-However, fixing this underlying issue unearths several issues that crept
-unnoticed when the "enabler" concept was introduced (after the original
-implementation of the system call filter table).
-
-Here is a list of the issues which are resolved here:
-
-- Split lttng_syscalls_unregister into an unregister and destroy
- function, thus awaiting for a grace period (and therefore quiescence
- of the users) after unregistering the system call tracepoints before
- freeing the system call filter data structures. This effectively fixes
- a use-after-free.
-
-- The state for enabling "all" system calls vs enabling specific system
- calls (and sequences of enable-disable) was incorrect with respect to
- the "enablers" semantic. This is solved by always tracking the
- bitmap of enabled system calls, and keeping this bitmap even when
- enabling all system calls. The sc_filter is now always allocated
- before system call tracing is registered to tracepoints, which means
- it does not need to be RCU dereferenced anymore.
-
-Padding fields in the ABI are reserved to select whether to:
-
-- Trace either native or compat system call (or both, which is the
- behavior currently implemented),
-- Trace either system call entry or exit (or both, which is the
- behavior currently implemented),
-- Select the system call to trace by name (behavior currently
- implemented) or by system call number,
-
-Upstream-Status: Backport
-
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- lttng-abi.c | 43 ++++++
- lttng-abi.h | 26 ++++
- lttng-events.c | 112 +++++++++++++--
- lttng-events.h | 31 ++++-
- lttng-syscalls.c | 348 +++++++++++++++++++++++++----------------------
- 5 files changed, 380 insertions(+), 180 deletions(-)
-
-diff --git a/lttng-abi.c b/lttng-abi.c
-index 64ea99d..b33879d 100644
---- a/lttng-abi.c
-+++ b/lttng-abi.c
-@@ -1264,6 +1264,46 @@ nomem:
- return ret;
- }
-
-+static
-+int lttng_abi_validate_event_param(struct lttng_kernel_event *event_param)
-+{
-+ /* Limit ABI to implemented features. */
-+ switch (event_param->instrumentation) {
-+ case LTTNG_KERNEL_SYSCALL:
-+ switch (event_param->u.syscall.entryexit) {
-+ case LTTNG_KERNEL_SYSCALL_ENTRYEXIT:
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+ switch (event_param->u.syscall.abi) {
-+ case LTTNG_KERNEL_SYSCALL_ABI_ALL:
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+ switch (event_param->u.syscall.match) {
-+ case LTTNG_SYSCALL_MATCH_NAME:
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+ break;
-+
-+ case LTTNG_KERNEL_TRACEPOINT: /* Fallthrough */
-+ case LTTNG_KERNEL_KPROBE: /* Fallthrough */
-+ case LTTNG_KERNEL_KRETPROBE: /* Fallthrough */
-+ case LTTNG_KERNEL_NOOP: /* Fallthrough */
-+ case LTTNG_KERNEL_UPROBE:
-+ break;
-+
-+ case LTTNG_KERNEL_FUNCTION: /* Fallthrough */
-+ default:
-+ return -EINVAL;
-+ }
-+ return 0;
-+}
-+
- static
- int lttng_abi_create_event(struct file *channel_file,
- struct lttng_kernel_event *event_param)
-@@ -1305,6 +1345,9 @@ int lttng_abi_create_event(struct file *channel_file,
- ret = -EOVERFLOW;
- goto refcount_error;
- }
-+ ret = lttng_abi_validate_event_param(event_param);
-+ if (ret)
-+ goto event_error;
- if (event_param->instrumentation == LTTNG_KERNEL_TRACEPOINT
- || event_param->instrumentation == LTTNG_KERNEL_SYSCALL) {
- struct lttng_enabler *enabler;
-diff --git a/lttng-abi.h b/lttng-abi.h
-index 1d356ab..51d60e5 100644
---- a/lttng-abi.h
-+++ b/lttng-abi.h
-@@ -90,6 +90,31 @@ struct lttng_kernel_event_callsite {
- } u;
- } __attribute__((packed));
-
-+enum lttng_kernel_syscall_entryexit {
-+ LTTNG_KERNEL_SYSCALL_ENTRYEXIT = 0,
-+ LTTNG_KERNEL_SYSCALL_ENTRY = 1, /* Not implemented. */
-+ LTTNG_KERNEL_SYSCALL_EXIT = 2, /* Not implemented. */
-+};
-+
-+enum lttng_kernel_syscall_abi {
-+ LTTNG_KERNEL_SYSCALL_ABI_ALL = 0,
-+ LTTNG_KERNEL_SYSCALL_ABI_NATIVE = 1, /* Not implemented. */
-+ LTTNG_KERNEL_SYSCALL_ABI_COMPAT = 2, /* Not implemented. */
-+};
-+
-+enum lttng_kernel_syscall_match {
-+ LTTNG_SYSCALL_MATCH_NAME = 0,
-+ LTTNG_SYSCALL_MATCH_NR = 1, /* Not implemented. */
-+};
-+
-+struct lttng_kernel_syscall {
-+ uint8_t entryexit; /* enum lttng_kernel_syscall_entryexit */
-+ uint8_t abi; /* enum lttng_kernel_syscall_abi */
-+ uint8_t match; /* enum lttng_kernel_syscall_match */
-+ uint8_t padding;
-+ uint32_t nr; /* For LTTNG_SYSCALL_MATCH_NR */
-+} __attribute__((packed));
-+
- /*
- * For syscall tracing, name = "*" means "enable all".
- */
-@@ -106,6 +131,7 @@ struct lttng_kernel_event {
- struct lttng_kernel_kprobe kprobe;
- struct lttng_kernel_function_tracer ftrace;
- struct lttng_kernel_uprobe uprobe;
-+ struct lttng_kernel_syscall syscall;
- char padding[LTTNG_KERNEL_EVENT_PADDING2];
- } u;
- } __attribute__((packed));
-diff --git a/lttng-events.c b/lttng-events.c
-index d719294..4c0b04a 100644
---- a/lttng-events.c
-+++ b/lttng-events.c
-@@ -201,6 +201,10 @@ void lttng_session_destroy(struct lttng_session *session)
- WARN_ON(ret);
- }
- synchronize_trace(); /* Wait for in-flight events to complete */
-+ list_for_each_entry(chan, &session->chan, list) {
-+ ret = lttng_syscalls_destroy(chan);
-+ WARN_ON(ret);
-+ }
- list_for_each_entry_safe(enabler, tmpenabler,
- &session->enablers_head, node)
- lttng_enabler_destroy(enabler);
-@@ -740,6 +744,28 @@ struct lttng_event *_lttng_event_create(struct lttng_channel *chan,
- event->enabled = 0;
- event->registered = 0;
- event->desc = event_desc;
-+ switch (event_param->u.syscall.entryexit) {
-+ case LTTNG_KERNEL_SYSCALL_ENTRYEXIT:
-+ ret = -EINVAL;
-+ goto register_error;
-+ case LTTNG_KERNEL_SYSCALL_ENTRY:
-+ event->u.syscall.entryexit = LTTNG_SYSCALL_ENTRY;
-+ break;
-+ case LTTNG_KERNEL_SYSCALL_EXIT:
-+ event->u.syscall.entryexit = LTTNG_SYSCALL_EXIT;
-+ break;
-+ }
-+ switch (event_param->u.syscall.abi) {
-+ case LTTNG_KERNEL_SYSCALL_ABI_ALL:
-+ ret = -EINVAL;
-+ goto register_error;
-+ case LTTNG_KERNEL_SYSCALL_ABI_NATIVE:
-+ event->u.syscall.abi = LTTNG_SYSCALL_ABI_NATIVE;
-+ break;
-+ case LTTNG_KERNEL_SYSCALL_ABI_COMPAT:
-+ event->u.syscall.abi = LTTNG_SYSCALL_ABI_COMPAT;
-+ break;
-+ }
- if (!event->desc) {
- ret = -EINVAL;
- goto register_error;
-@@ -826,8 +852,7 @@ void register_event(struct lttng_event *event)
- event);
- break;
- case LTTNG_KERNEL_SYSCALL:
-- ret = lttng_syscall_filter_enable(event->chan,
-- desc->name);
-+ ret = lttng_syscall_filter_enable(event->chan, event);
- break;
- case LTTNG_KERNEL_KPROBE:
- case LTTNG_KERNEL_UPROBE:
-@@ -870,8 +895,7 @@ int _lttng_event_unregister(struct lttng_event *event)
- ret = 0;
- break;
- case LTTNG_KERNEL_SYSCALL:
-- ret = lttng_syscall_filter_disable(event->chan,
-- desc->name);
-+ ret = lttng_syscall_filter_disable(event->chan, event);
- break;
- case LTTNG_KERNEL_NOOP:
- ret = 0;
-@@ -1203,39 +1227,87 @@ int lttng_desc_match_enabler(const struct lttng_event_desc *desc,
- struct lttng_enabler *enabler)
- {
- const char *desc_name, *enabler_name;
-+ bool compat = false, entry = false;
-
- enabler_name = enabler->event_param.name;
- switch (enabler->event_param.instrumentation) {
- case LTTNG_KERNEL_TRACEPOINT:
- desc_name = desc->name;
-+ switch (enabler->type) {
-+ case LTTNG_ENABLER_STAR_GLOB:
-+ return lttng_match_enabler_star_glob(desc_name, enabler_name);
-+ case LTTNG_ENABLER_NAME:
-+ return lttng_match_enabler_name(desc_name, enabler_name);
-+ default:
-+ return -EINVAL;
-+ }
- break;
- case LTTNG_KERNEL_SYSCALL:
- desc_name = desc->name;
-- if (!strncmp(desc_name, "compat_", strlen("compat_")))
-+ if (!strncmp(desc_name, "compat_", strlen("compat_"))) {
- desc_name += strlen("compat_");
-+ compat = true;
-+ }
- if (!strncmp(desc_name, "syscall_exit_",
- strlen("syscall_exit_"))) {
- desc_name += strlen("syscall_exit_");
- } else if (!strncmp(desc_name, "syscall_entry_",
- strlen("syscall_entry_"))) {
- desc_name += strlen("syscall_entry_");
-+ entry = true;
- } else {
- WARN_ON_ONCE(1);
- return -EINVAL;
- }
-+ switch (enabler->event_param.u.syscall.entryexit) {
-+ case LTTNG_KERNEL_SYSCALL_ENTRYEXIT:
-+ break;
-+ case LTTNG_KERNEL_SYSCALL_ENTRY:
-+ if (!entry)
-+ return 0;
-+ break;
-+ case LTTNG_KERNEL_SYSCALL_EXIT:
-+ if (entry)
-+ return 0;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+ switch (enabler->event_param.u.syscall.abi) {
-+ case LTTNG_KERNEL_SYSCALL_ABI_ALL:
-+ break;
-+ case LTTNG_KERNEL_SYSCALL_ABI_NATIVE:
-+ if (compat)
-+ return 0;
-+ break;
-+ case LTTNG_KERNEL_SYSCALL_ABI_COMPAT:
-+ if (!compat)
-+ return 0;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+ switch (enabler->event_param.u.syscall.match) {
-+ case LTTNG_SYSCALL_MATCH_NAME:
-+ switch (enabler->type) {
-+ case LTTNG_ENABLER_STAR_GLOB:
-+ return lttng_match_enabler_star_glob(desc_name, enabler_name);
-+ case LTTNG_ENABLER_NAME:
-+ return lttng_match_enabler_name(desc_name, enabler_name);
-+ default:
-+ return -EINVAL;
-+ }
-+ break;
-+ case LTTNG_SYSCALL_MATCH_NR:
-+ return -EINVAL; /* Not implemented. */
-+ default:
-+ return -EINVAL;
-+ }
- break;
- default:
- WARN_ON_ONCE(1);
- return -EINVAL;
- }
-- switch (enabler->type) {
-- case LTTNG_ENABLER_STAR_GLOB:
-- return lttng_match_enabler_star_glob(desc_name, enabler_name);
-- case LTTNG_ENABLER_NAME:
-- return lttng_match_enabler_name(desc_name, enabler_name);
-- default:
-- return -EINVAL;
-- }
- }
-
- static
-@@ -1361,9 +1433,21 @@ void lttng_create_event_if_missing(struct lttng_enabler *enabler)
- static
- int lttng_enabler_ref_events(struct lttng_enabler *enabler)
- {
-- struct lttng_session *session = enabler->chan->session;
-+ struct lttng_channel *chan = enabler->chan;
-+ struct lttng_session *session = chan->session;
- struct lttng_event *event;
-
-+ if (enabler->event_param.instrumentation == LTTNG_KERNEL_SYSCALL &&
-+ enabler->event_param.u.syscall.entryexit == LTTNG_KERNEL_SYSCALL_ENTRYEXIT &&
-+ enabler->event_param.u.syscall.abi == LTTNG_KERNEL_SYSCALL_ABI_ALL &&
-+ enabler->event_param.u.syscall.match == LTTNG_SYSCALL_MATCH_NAME &&
-+ !strcmp(enabler->event_param.name, "*")) {
-+ if (enabler->enabled)
-+ WRITE_ONCE(chan->syscall_all, 1);
-+ else
-+ WRITE_ONCE(chan->syscall_all, 0);
-+ }
-+
- /* First ensure that probe events are created for this enabler. */
- lttng_create_event_if_missing(enabler);
-
-diff --git a/lttng-events.h b/lttng-events.h
-index a36a312..d4d9976 100644
---- a/lttng-events.h
-+++ b/lttng-events.h
-@@ -292,6 +292,16 @@ struct lttng_uprobe_handler {
- struct list_head node;
- };
-
-+enum lttng_syscall_entryexit {
-+ LTTNG_SYSCALL_ENTRY,
-+ LTTNG_SYSCALL_EXIT,
-+};
-+
-+enum lttng_syscall_abi {
-+ LTTNG_SYSCALL_ABI_NATIVE,
-+ LTTNG_SYSCALL_ABI_COMPAT,
-+};
-+
- /*
- * lttng_event structure is referred to by the tracing fast path. It must be
- * kept small.
-@@ -318,6 +328,11 @@ struct lttng_event {
- struct inode *inode;
- struct list_head head;
- } uprobe;
-+ struct {
-+ char *syscall_name;
-+ enum lttng_syscall_entryexit entryexit;
-+ enum lttng_syscall_abi abi;
-+ } syscall;
- } u;
- struct list_head list; /* Event list in session */
- unsigned int metadata_dumped:1;
-@@ -457,10 +472,10 @@ struct lttng_channel {
- struct lttng_syscall_filter *sc_filter;
- int header_type; /* 0: unset, 1: compact, 2: large */
- enum channel_type channel_type;
-+ int syscall_all;
- unsigned int metadata_dumped:1,
- sys_enter_registered:1,
- sys_exit_registered:1,
-- syscall_all:1,
- tstate:1; /* Transient enable state */
- };
-
-@@ -653,10 +668,11 @@ void lttng_clock_unref(void);
- #if defined(CONFIG_HAVE_SYSCALL_TRACEPOINTS)
- int lttng_syscalls_register(struct lttng_channel *chan, void *filter);
- int lttng_syscalls_unregister(struct lttng_channel *chan);
-+int lttng_syscalls_destroy(struct lttng_channel *chan);
- int lttng_syscall_filter_enable(struct lttng_channel *chan,
-- const char *name);
-+ struct lttng_event *event);
- int lttng_syscall_filter_disable(struct lttng_channel *chan,
-- const char *name);
-+ struct lttng_event *event);
- long lttng_channel_syscall_mask(struct lttng_channel *channel,
- struct lttng_kernel_syscall_mask __user *usyscall_mask);
- #else
-@@ -670,14 +686,19 @@ static inline int lttng_syscalls_unregister(struct lttng_channel *chan)
- return 0;
- }
-
-+static inline int lttng_syscalls_destroy(struct lttng_channel *chan)
-+{
-+ return 0;
-+}
-+
- static inline int lttng_syscall_filter_enable(struct lttng_channel *chan,
-- const char *name)
-+ struct lttng_event *event);
- {
- return -ENOSYS;
- }
-
- static inline int lttng_syscall_filter_disable(struct lttng_channel *chan,
-- const char *name)
-+ struct lttng_event *event);
- {
- return -ENOSYS;
- }
-diff --git a/lttng-syscalls.c b/lttng-syscalls.c
-index 97f1ba9..26cead6 100644
---- a/lttng-syscalls.c
-+++ b/lttng-syscalls.c
-@@ -367,8 +367,10 @@ const struct trace_syscall_entry compat_sc_exit_table[] = {
- #undef CREATE_SYSCALL_TABLE
-
- struct lttng_syscall_filter {
-- DECLARE_BITMAP(sc, NR_syscalls);
-- DECLARE_BITMAP(sc_compat, NR_compat_syscalls);
-+ DECLARE_BITMAP(sc_entry, NR_syscalls);
-+ DECLARE_BITMAP(sc_exit, NR_syscalls);
-+ DECLARE_BITMAP(sc_compat_entry, NR_compat_syscalls);
-+ DECLARE_BITMAP(sc_compat_exit, NR_compat_syscalls);
- };
-
- static void syscall_entry_unknown(struct lttng_event *event,
-@@ -391,29 +393,23 @@ void syscall_entry_probe(void *__data, struct pt_regs *regs, long id)
- size_t table_len;
-
- if (unlikely(in_compat_syscall())) {
-- struct lttng_syscall_filter *filter;
--
-- filter = lttng_rcu_dereference(chan->sc_filter);
-- if (filter) {
-- if (id < 0 || id >= NR_compat_syscalls
-- || !test_bit(id, filter->sc_compat)) {
-- /* System call filtered out. */
-- return;
-- }
-+ struct lttng_syscall_filter *filter = chan->sc_filter;
-+
-+ if (id < 0 || id >= NR_compat_syscalls
-+ || (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_compat_entry))) {
-+ /* System call filtered out. */
-+ return;
- }
- table = compat_sc_table;
- table_len = ARRAY_SIZE(compat_sc_table);
- unknown_event = chan->sc_compat_unknown;
- } else {
-- struct lttng_syscall_filter *filter;
--
-- filter = lttng_rcu_dereference(chan->sc_filter);
-- if (filter) {
-- if (id < 0 || id >= NR_syscalls
-- || !test_bit(id, filter->sc)) {
-- /* System call filtered out. */
-- return;
-- }
-+ struct lttng_syscall_filter *filter = chan->sc_filter;
-+
-+ if (id < 0 || id >= NR_syscalls
-+ || (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_entry))) {
-+ /* System call filtered out. */
-+ return;
- }
- table = sc_table;
- table_len = ARRAY_SIZE(sc_table);
-@@ -545,29 +541,23 @@ void syscall_exit_probe(void *__data, struct pt_regs *regs, long ret)
-
- id = syscall_get_nr(current, regs);
- if (unlikely(in_compat_syscall())) {
-- struct lttng_syscall_filter *filter;
--
-- filter = lttng_rcu_dereference(chan->sc_filter);
-- if (filter) {
-- if (id < 0 || id >= NR_compat_syscalls
-- || !test_bit(id, filter->sc_compat)) {
-- /* System call filtered out. */
-- return;
-- }
-+ struct lttng_syscall_filter *filter = chan->sc_filter;
-+
-+ if (id < 0 || id >= NR_compat_syscalls
-+ || (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_compat_exit))) {
-+ /* System call filtered out. */
-+ return;
- }
- table = compat_sc_exit_table;
- table_len = ARRAY_SIZE(compat_sc_exit_table);
- unknown_event = chan->compat_sc_exit_unknown;
- } else {
-- struct lttng_syscall_filter *filter;
--
-- filter = lttng_rcu_dereference(chan->sc_filter);
-- if (filter) {
-- if (id < 0 || id >= NR_syscalls
-- || !test_bit(id, filter->sc)) {
-- /* System call filtered out. */
-- return;
-- }
-+ struct lttng_syscall_filter *filter = chan->sc_filter;
-+
-+ if (id < 0 || id >= NR_syscalls
-+ || (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_exit))) {
-+ /* System call filtered out. */
-+ return;
- }
- table = sc_exit_table;
- table_len = ARRAY_SIZE(sc_exit_table);
-@@ -713,27 +703,23 @@ int fill_table(const struct trace_syscall_entry *table, size_t table_len,
- memset(&ev, 0, sizeof(ev));
- switch (type) {
- case SC_TYPE_ENTRY:
-- strncpy(ev.name, SYSCALL_ENTRY_STR,
-- LTTNG_KERNEL_SYM_NAME_LEN);
-+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY;
-+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE;
- break;
- case SC_TYPE_EXIT:
-- strncpy(ev.name, SYSCALL_EXIT_STR,
-- LTTNG_KERNEL_SYM_NAME_LEN);
-+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT;
-+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE;
- break;
- case SC_TYPE_COMPAT_ENTRY:
-- strncpy(ev.name, COMPAT_SYSCALL_ENTRY_STR,
-- LTTNG_KERNEL_SYM_NAME_LEN);
-+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY;
-+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT;
- break;
- case SC_TYPE_COMPAT_EXIT:
-- strncpy(ev.name, COMPAT_SYSCALL_EXIT_STR,
-- LTTNG_KERNEL_SYM_NAME_LEN);
-- break;
-- default:
-- BUG_ON(1);
-+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT;
-+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT;
- break;
- }
-- strncat(ev.name, desc->name,
-- LTTNG_KERNEL_SYM_NAME_LEN - strlen(ev.name) - 1);
-+ strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN);
- ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
- ev.instrumentation = LTTNG_KERNEL_SYSCALL;
- chan_table[i] = _lttng_event_create(chan, &ev, filter,
-@@ -803,6 +789,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
- strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN);
- ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
- ev.instrumentation = LTTNG_KERNEL_SYSCALL;
-+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY;
-+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE;
- chan->sc_unknown = _lttng_event_create(chan, &ev, filter,
- desc,
- ev.instrumentation);
-@@ -820,6 +808,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
- strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN);
- ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
- ev.instrumentation = LTTNG_KERNEL_SYSCALL;
-+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY;
-+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT;
- chan->sc_compat_unknown = _lttng_event_create(chan, &ev, filter,
- desc,
- ev.instrumentation);
-@@ -837,6 +827,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
- strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN);
- ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
- ev.instrumentation = LTTNG_KERNEL_SYSCALL;
-+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT;
-+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT;
- chan->compat_sc_exit_unknown = _lttng_event_create(chan, &ev,
- filter, desc,
- ev.instrumentation);
-@@ -854,6 +846,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
- strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN);
- ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
- ev.instrumentation = LTTNG_KERNEL_SYSCALL;
-+ ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT;
-+ ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE;
- chan->sc_exit_unknown = _lttng_event_create(chan, &ev, filter,
- desc, ev.instrumentation);
- WARN_ON_ONCE(!chan->sc_exit_unknown);
-@@ -883,6 +877,14 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
- if (ret)
- return ret;
- #endif
-+
-+ if (!chan->sc_filter) {
-+ chan->sc_filter = kzalloc(sizeof(struct lttng_syscall_filter),
-+ GFP_KERNEL);
-+ if (!chan->sc_filter)
-+ return -ENOMEM;
-+ }
-+
- if (!chan->sys_enter_registered) {
- ret = lttng_wrapper_tracepoint_probe_register("sys_enter",
- (void *) syscall_entry_probe, chan);
-@@ -930,7 +932,11 @@ int lttng_syscalls_unregister(struct lttng_channel *chan)
- return ret;
- chan->sys_exit_registered = 0;
- }
-- /* lttng_event destroy will be performed by lttng_session_destroy() */
-+ return 0;
-+}
-+
-+int lttng_syscalls_destroy(struct lttng_channel *chan)
-+{
- kfree(chan->sc_table);
- kfree(chan->sc_exit_table);
- #ifdef CONFIG_COMPAT
-@@ -993,136 +999,150 @@ uint32_t get_sc_tables_len(void)
- return ARRAY_SIZE(sc_table) + ARRAY_SIZE(compat_sc_table);
- }
-
--int lttng_syscall_filter_enable(struct lttng_channel *chan,
-- const char *name)
-+static
-+const char *get_syscall_name(struct lttng_event *event)
- {
-- int syscall_nr, compat_syscall_nr, ret;
-- struct lttng_syscall_filter *filter;
-+ size_t prefix_len = 0;
-
-- WARN_ON_ONCE(!chan->sc_table);
-+ WARN_ON_ONCE(event->instrumentation != LTTNG_KERNEL_SYSCALL);
-
-- if (!name) {
-- /* Enable all system calls by removing filter */
-- if (chan->sc_filter) {
-- filter = chan->sc_filter;
-- rcu_assign_pointer(chan->sc_filter, NULL);
-- synchronize_trace();
-- kfree(filter);
-+ switch (event->u.syscall.entryexit) {
-+ case LTTNG_SYSCALL_ENTRY:
-+ switch (event->u.syscall.abi) {
-+ case LTTNG_SYSCALL_ABI_NATIVE:
-+ prefix_len = strlen(SYSCALL_ENTRY_STR);
-+ break;
-+ case LTTNG_SYSCALL_ABI_COMPAT:
-+ prefix_len = strlen(COMPAT_SYSCALL_ENTRY_STR);
-+ break;
- }
-- chan->syscall_all = 1;
-- return 0;
-- }
--
-- if (!chan->sc_filter) {
-- if (chan->syscall_all) {
-- /*
-- * All syscalls are already enabled.
-- */
-- return -EEXIST;
-+ break;
-+ case LTTNG_SYSCALL_EXIT:
-+ switch (event->u.syscall.abi) {
-+ case LTTNG_SYSCALL_ABI_NATIVE:
-+ prefix_len = strlen(SYSCALL_EXIT_STR);
-+ break;
-+ case LTTNG_SYSCALL_ABI_COMPAT:
-+ prefix_len = strlen(COMPAT_SYSCALL_EXIT_STR);
-+ break;
- }
-- filter = kzalloc(sizeof(struct lttng_syscall_filter),
-- GFP_KERNEL);
-- if (!filter)
-- return -ENOMEM;
-- } else {
-- filter = chan->sc_filter;
-+ break;
- }
-- syscall_nr = get_syscall_nr(name);
-- compat_syscall_nr = get_compat_syscall_nr(name);
-- if (syscall_nr < 0 && compat_syscall_nr < 0) {
-- ret = -ENOENT;
-- goto error;
-+ WARN_ON_ONCE(prefix_len == 0);
-+ return event->desc->name + prefix_len;
-+}
-+
-+int lttng_syscall_filter_enable(struct lttng_channel *chan,
-+ struct lttng_event *event)
-+{
-+ struct lttng_syscall_filter *filter = chan->sc_filter;
-+ const char *syscall_name;
-+ unsigned long *bitmap;
-+ int syscall_nr;
-+
-+ WARN_ON_ONCE(!chan->sc_table);
-+
-+ syscall_name = get_syscall_name(event);
-+
-+ switch (event->u.syscall.abi) {
-+ case LTTNG_SYSCALL_ABI_NATIVE:
-+ syscall_nr = get_syscall_nr(syscall_name);
-+ break;
-+ case LTTNG_SYSCALL_ABI_COMPAT:
-+ syscall_nr = get_compat_syscall_nr(syscall_name);
-+ break;
-+ default:
-+ return -EINVAL;
- }
-- if (syscall_nr >= 0) {
-- if (test_bit(syscall_nr, filter->sc)) {
-- ret = -EEXIST;
-- goto error;
-+ if (syscall_nr < 0)
-+ return -ENOENT;
-+
-+
-+ switch (event->u.syscall.entryexit) {
-+ case LTTNG_SYSCALL_ENTRY:
-+ switch (event->u.syscall.abi) {
-+ case LTTNG_SYSCALL_ABI_NATIVE:
-+ bitmap = filter->sc_entry;
-+ break;
-+ case LTTNG_SYSCALL_ABI_COMPAT:
-+ bitmap = filter->sc_compat_entry;
-+ break;
- }
-- bitmap_set(filter->sc, syscall_nr, 1);
-- }
-- if (compat_syscall_nr >= 0) {
-- if (test_bit(compat_syscall_nr, filter->sc_compat)) {
-- ret = -EEXIST;
-- goto error;
-+ break;
-+ case LTTNG_SYSCALL_EXIT:
-+ switch (event->u.syscall.abi) {
-+ case LTTNG_SYSCALL_ABI_NATIVE:
-+ bitmap = filter->sc_exit;
-+ break;
-+ case LTTNG_SYSCALL_ABI_COMPAT:
-+ bitmap = filter->sc_compat_exit;
-+ break;
- }
-- bitmap_set(filter->sc_compat, compat_syscall_nr, 1);
-+ break;
-+ default:
-+ return -EINVAL;
- }
-- if (!chan->sc_filter)
-- rcu_assign_pointer(chan->sc_filter, filter);
-+ if (test_bit(syscall_nr, bitmap))
-+ return -EEXIST;
-+ bitmap_set(bitmap, syscall_nr, 1);
- return 0;
--
--error:
-- if (!chan->sc_filter)
-- kfree(filter);
-- return ret;
- }
-
- int lttng_syscall_filter_disable(struct lttng_channel *chan,
-- const char *name)
-+ struct lttng_event *event)
- {
-- int syscall_nr, compat_syscall_nr, ret;
-- struct lttng_syscall_filter *filter;
-+ struct lttng_syscall_filter *filter = chan->sc_filter;
-+ const char *syscall_name;
-+ unsigned long *bitmap;
-+ int syscall_nr;
-
- WARN_ON_ONCE(!chan->sc_table);
-
-- if (!chan->sc_filter) {
-- if (!chan->syscall_all)
-- return -EEXIST;
-- filter = kzalloc(sizeof(struct lttng_syscall_filter),
-- GFP_KERNEL);
-- if (!filter)
-- return -ENOMEM;
-- /* Trace all system calls, then apply disable. */
-- bitmap_set(filter->sc, 0, NR_syscalls);
-- bitmap_set(filter->sc_compat, 0, NR_compat_syscalls);
-- } else {
-- filter = chan->sc_filter;
-+ syscall_name = get_syscall_name(event);
-+
-+ switch (event->u.syscall.abi) {
-+ case LTTNG_SYSCALL_ABI_NATIVE:
-+ syscall_nr = get_syscall_nr(syscall_name);
-+ break;
-+ case LTTNG_SYSCALL_ABI_COMPAT:
-+ syscall_nr = get_compat_syscall_nr(syscall_name);
-+ break;
-+ default:
-+ return -EINVAL;
- }
-+ if (syscall_nr < 0)
-+ return -ENOENT;
-
-- if (!name) {
-- /* Fail if all syscalls are already disabled. */
-- if (bitmap_empty(filter->sc, NR_syscalls)
-- && bitmap_empty(filter->sc_compat,
-- NR_compat_syscalls)) {
-- ret = -EEXIST;
-- goto error;
-- }
-
-- /* Disable all system calls */
-- bitmap_clear(filter->sc, 0, NR_syscalls);
-- bitmap_clear(filter->sc_compat, 0, NR_compat_syscalls);
-- goto apply_filter;
-- }
-- syscall_nr = get_syscall_nr(name);
-- compat_syscall_nr = get_compat_syscall_nr(name);
-- if (syscall_nr < 0 && compat_syscall_nr < 0) {
-- ret = -ENOENT;
-- goto error;
-- }
-- if (syscall_nr >= 0) {
-- if (!test_bit(syscall_nr, filter->sc)) {
-- ret = -EEXIST;
-- goto error;
-+ switch (event->u.syscall.entryexit) {
-+ case LTTNG_SYSCALL_ENTRY:
-+ switch (event->u.syscall.abi) {
-+ case LTTNG_SYSCALL_ABI_NATIVE:
-+ bitmap = filter->sc_entry;
-+ break;
-+ case LTTNG_SYSCALL_ABI_COMPAT:
-+ bitmap = filter->sc_compat_entry;
-+ break;
- }
-- bitmap_clear(filter->sc, syscall_nr, 1);
-- }
-- if (compat_syscall_nr >= 0) {
-- if (!test_bit(compat_syscall_nr, filter->sc_compat)) {
-- ret = -EEXIST;
-- goto error;
-+ break;
-+ case LTTNG_SYSCALL_EXIT:
-+ switch (event->u.syscall.abi) {
-+ case LTTNG_SYSCALL_ABI_NATIVE:
-+ bitmap = filter->sc_exit;
-+ break;
-+ case LTTNG_SYSCALL_ABI_COMPAT:
-+ bitmap = filter->sc_compat_exit;
-+ break;
- }
-- bitmap_clear(filter->sc_compat, compat_syscall_nr, 1);
-+ break;
-+ default:
-+ return -EINVAL;
- }
--apply_filter:
-- if (!chan->sc_filter)
-- rcu_assign_pointer(chan->sc_filter, filter);
-- chan->syscall_all = 0;
-- return 0;
-+ if (!test_bit(syscall_nr, bitmap))
-+ return -EEXIST;
-+ bitmap_clear(bitmap, syscall_nr, 1);
-
--error:
-- if (!chan->sc_filter)
-- kfree(filter);
-- return ret;
-+ return 0;
- }
-
- static
-@@ -1236,6 +1256,9 @@ const struct file_operations lttng_syscall_list_fops = {
- .release = seq_release,
- };
-
-+/*
-+ * A syscall is enabled if it is traced for either entry or exit.
-+ */
- long lttng_channel_syscall_mask(struct lttng_channel *channel,
- struct lttng_kernel_syscall_mask __user *usyscall_mask)
- {
-@@ -1262,8 +1285,9 @@ long lttng_channel_syscall_mask(struct lttng_channel *channel,
- char state;
-
- if (channel->sc_table) {
-- if (filter)
-- state = test_bit(bit, filter->sc);
-+ if (!READ_ONCE(channel->syscall_all) && filter)
-+ state = test_bit(bit, filter->sc_entry)
-+ || test_bit(bit, filter->sc_exit);
- else
- state = 1;
- } else {
-@@ -1275,9 +1299,11 @@ long lttng_channel_syscall_mask(struct lttng_channel *channel,
- char state;
-
- if (channel->compat_sc_table) {
-- if (filter)
-+ if (!READ_ONCE(channel->syscall_all) && filter)
- state = test_bit(bit - ARRAY_SIZE(sc_table),
-- filter->sc_compat);
-+ filter->sc_compat_entry)
-+ || test_bit(bit - ARRAY_SIZE(sc_table),
-+ filter->sc_compat_exit);
- else
- state = 1;
- } else {
---
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.2.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb
similarity index 64%
rename from poky/meta/recipes-kernel/lttng/lttng-modules_2.12.2.bb
rename to poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb
index e36b327..ca79e27 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.2.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb
@@ -11,19 +11,10 @@
SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
- file://0001-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch \
- file://0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch \
- file://0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch \
- file://0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch \
- file://0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch \
- file://0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch \
- file://0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch \
- file://0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch \
- file://0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch \
- file://0010-Fix-system-call-filter-table.patch \
+ file://0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch \
"
-SRC_URI[sha256sum] = "df50bc3bd58679705714f17721acf619a8b0cedc694f8a97052aa5099626feca"
+SRC_URI[sha256sum] = "673ef85c9f03e9b8fed10795e09d4e68add39404b70068d08b10f7b85754d7f0"
export INSTALL_MOD_DIR="kernel/lttng-modules"
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
index 1c9f2ae..923d64b 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
+++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -19,25 +19,50 @@
EXTRA_OECONF += "${STAP_DOCS} "
PACKAGECONFIG ??= "translator sqlite monitor python3-probes"
-PACKAGECONFIG[translator] = "--enable-translator,--disable-translator,boost,python3-core bash perl"
+PACKAGECONFIG[translator] = "--enable-translator,--disable-translator,boost,bash"
PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt"
PACKAGECONFIG[sqlite] = "--enable-sqlite,--disable-sqlite,sqlite3"
PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor,ncurses json-c"
PACKAGECONFIG[python3-probes] = "--with-python3-probes,--without-python3-probes,python3-setuptools-native"
-inherit autotools gettext pkgconfig distutils3-base systemd
+inherit autotools gettext pkgconfig systemd
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'distutils3-base', '', d)}
+# exporter comes with python3-probes
PACKAGES =+ "${PN}-exporter"
-
FILES_${PN}-exporter = "${sysconfdir}/stap-exporter/* \
${sysconfdir}/sysconfig/stap-exporter \
${systemd_unitdir}/system/stap-exporter.service \
${sbindir}/stap-exporter"
-
RDEPENDS_${PN}-exporter = "${PN} python3-core python3-netclient"
-
SYSTEMD_SERVICE_${PN}-exporter = "stap-exporter.service"
+PACKAGES =+ "${PN}-runtime"
+FILES_${PN}-runtime = "\
+ ${bindir}/staprun \
+ ${bindir}/stap-merge \
+ ${bindir}/stapsh \
+ ${libexecdir}/${BPN}/stapio \
+"
+RDEPENDS_${PN}_class-target += "${PN}-runtime"
+
+PACKAGES =+ "${PN}-examples"
+FILES_${PN}-examples = "${datadir}/${BPN}/examples/"
+RDEPENDS_${PN}-examples += "${PN}"
+
+# don't complain that some examples involve bash, perl, php...
+INSANE_SKIP_${PN}-examples += "file-rdeps"
+
+PACKAGES =+ "${PN}-python"
+FILES_${PN}-python += "\
+ ${bindir}/dtrace \
+ ${libdir}/python*/ \
+ ${libexecdir}/${BPN}/python/ \
+"
+# python material requires sdt headers
+RDEPENDS_${PN}-python += "${PN}-dev python3-core"
+INSANE_SKIP_${PN}-python += "dev-deps"
+
do_configure_prepend () {
# Improve reproducibility for c++ object files
reltivepath="${@os.path.relpath(d.getVar('STAGING_INCDIR'), d.getVar('S'))}"
@@ -51,7 +76,7 @@
rm ${D}${libexecdir}/${PN}/stap-env
fi
- if [ ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
+ if [ -d ${D}${prefix}/lib/systemd -a ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
# Fix makefile hardcoded path assumptions for systemd (assumes $prefix)
# without usrmerge distro feature enabled
install -d `dirname ${D}${systemd_unitdir}`
@@ -60,7 +85,9 @@
fi
# Ensure correct ownership for files copied in
- chown root:root ${D}${sysconfdir}/stap-exporter/* -R
+ if [ -d ${D}${sysconfdir}/stap-exporter ]; then
+ chown root:root ${D}${sysconfdir}/stap-exporter/* -R
+ fi
}
BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.04.29.bb b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb
similarity index 89%
rename from poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.04.29.bb
rename to poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb
index a5827b9..b3567bc 100644
--- a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.04.29.bb
+++ b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb
@@ -1,11 +1,11 @@
SUMMARY = "Wireless Central Regulatory Domain Database"
-HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA"
+HOMEPAGE = "https://wireless.wiki.kernel.org/en/developers/regulatory/crda"
SECTION = "net"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
-SRC_URI[sha256sum] = "89fd031aed5977c219a71501e144375a10e7c90d1005d5d086ea7972886a2c7a"
+SRC_URI[sha256sum] = "b4164490d82ff7b0086e812ac42ab27baf57be24324d4c0ee1c5dd6ba27f2a52"
inherit bin_package allarch
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch b/poky/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch
new file mode 100644
index 0000000..98e2988
--- /dev/null
+++ b/poky/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch
@@ -0,0 +1,31 @@
+From ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e Mon Sep 17 00:00:00 2001
+From: Jaroslav Kysela <perex@perex.cz>
+Date: Thu, 22 Oct 2020 20:57:32 +0200
+Subject: [PATCH] dlmisc: the snd_plugin_dir_set / snd_plugin_dir must be
+ declared even for \!DL_ORIGIN_AVAILABLE
+
+Fixes: 8580c081c2 ("dlsym: add support for ALSA_PLUGIN_DIR environment variable")
+BugLink: https://github.com/alsa-project/alsa-lib/issues/91
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/dlmisc.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/dlmisc.c b/src/dlmisc.c
+index c9517c55..f20eb593 100644
+--- a/src/dlmisc.c
++++ b/src/dlmisc.c
+@@ -42,11 +42,9 @@
+ #ifndef PIC
+ struct snd_dlsym_link *snd_dlsym_start = NULL;
+ #endif
+-#ifdef DL_ORIGIN_AVAILABLE
+ static int snd_plugin_dir_set = 0;
+ static char *snd_plugin_dir = NULL;
+ #endif
+-#endif
+
+ #if defined(DL_ORIGIN_AVAILABLE) && defined(HAVE_LIBPTHREAD)
+ static pthread_mutex_t snd_dlpath_mutex = PTHREAD_MUTEX_INITIALIZER;
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.3.2.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb
similarity index 88%
rename from poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.3.2.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb
index 1ed1a7b..f38e8b9 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.3.2.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb
@@ -7,8 +7,9 @@
file://src/socket.c;md5=285675b45e83f571c6a957fe4ab79c93;beginline=9;endline=24 \
"
-SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "e81fc5b7afcaee8c9fd7f64a1e3043e88d62e9ad2c4cff55f578df6b0a9abe15"
+SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2 \
+ file://ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch"
+SRC_URI[sha256sum] = "f7554be1a56cdff468b58fc1c29b95b64864c590038dd309c7a978c7116908f7"
inherit autotools pkgconfig
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.3.bb b/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb
similarity index 84%
rename from poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.3.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb
index 3575c46..aac4b48 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.3.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb
@@ -5,7 +5,7 @@
LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4"
SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "833f99b2cbda34e0cfef867ef1d2e6a74fe276bb7fc525a573be32077f629dff"
+SRC_URI[sha256sum] = "55e0e6e42eca4cc7656c257af2440cdc65b83689dca49fc60ca0194db079ed07"
inherit allarch
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.3.bb b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb
similarity index 85%
rename from poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.3.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb
index 7be0df8..da41c3d 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.3.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb
@@ -5,7 +5,7 @@
LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4"
SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "1bc24da04bb27a75e323c9f0fb03e44705b6bb8a8baf255b94b41d457d590d00"
+SRC_URI[sha256sum] = "2c3b535c77dcb9aaf62a61f4f8324f1ab184162f105f7ec9ed1e37c742fcd340"
inherit allarch
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.3.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb
similarity index 100%
rename from poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.3.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc b/poky/meta/recipes-multimedia/alsa/alsa-utils.inc
index b523a5a..c001b29 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils.inc
@@ -2,7 +2,8 @@
HOMEPAGE = "http://www.alsa-project.org"
BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
SECTION = "console/utils"
-LICENSE = "GPLv2+"
+# Some parts are GPLv2+, some are only GPLv2 (e.g. axfer, alsactl) so result is GPLv2
+LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642"
DEPENDS = "alsa-lib ncurses libsamplerate0"
@@ -21,7 +22,7 @@
# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2"
-SRC_URI[sha256sum] = "ff19ae48c22938de7a491bdb39db74a2eee2546013f39bf1a86185e426f921aa"
+SRC_URI[sha256sum] = "98ffc2d599de0577d423a48fa5f20a992ca0b82d812ed1f2e58ade49ac6da426"
# On build machines with python-docutils (not python3-docutils !!) installed
# rst2man (not rst2man.py) is detected and compile fails with
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.3.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb
similarity index 100%
rename from poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.3.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch
new file mode 100644
index 0000000..7635c91
--- /dev/null
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch
@@ -0,0 +1,52 @@
+From aebb72e025cbfbd4a6765354f6f565ad4ac89789 Mon Sep 17 00:00:00 2001
+From: Jun Zhao <barryjzhao@tencent.com>
+Date: Sun, 12 Jul 2020 05:48:48 +0800
+Subject: [PATCH] lavf/srt: fix build fail when used the libsrt 1.4.1
+
+lavf/srt: fix build fail when used the libsrt 1.4.1
+
+libsrt changed the:
+SRTO_SMOOTHER -> SRTO_CONGESTION
+SRTO_STRICTENC -> SRTO_ENFORCEDENCRYPTION
+and removed the front of deprecated options (SRTO_SMOOTHER/SRTO_STRICTENC)
+in the header, it's lead to build fail
+
+fix #8760
+
+Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/7c59e1b0f285cd7c7b35fcd71f49c5fd52cf9315]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
+---
+ libavformat/libsrt.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c
+index 4de575b..4719ce0 100644
+--- a/libavformat/libsrt.c
++++ b/libavformat/libsrt.c
+@@ -313,8 +313,12 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
+ (s->pbkeylen >= 0 && libsrt_setsockopt(h, fd, SRTO_PBKEYLEN, "SRTO_PBKEYLEN", &s->pbkeylen, sizeof(s->pbkeylen)) < 0) ||
+ (s->passphrase && libsrt_setsockopt(h, fd, SRTO_PASSPHRASE, "SRTO_PASSPHRASE", s->passphrase, strlen(s->passphrase)) < 0) ||
+ #if SRT_VERSION_VALUE >= 0x010302
++#if SRT_VERSION_VALUE >= 0x010401
++ (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_ENFORCEDENCRYPTION, "SRTO_ENFORCEDENCRYPTION", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
++#else
+ /* SRTO_STRICTENC == SRTO_ENFORCEDENCRYPTION (53), but for compatibility, we used SRTO_STRICTENC */
+ (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_STRICTENC, "SRTO_STRICTENC", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
++#endif
+ (s->kmrefreshrate >= 0 && libsrt_setsockopt(h, fd, SRTO_KMREFRESHRATE, "SRTO_KMREFRESHRATE", &s->kmrefreshrate, sizeof(s->kmrefreshrate)) < 0) ||
+ (s->kmpreannounce >= 0 && libsrt_setsockopt(h, fd, SRTO_KMPREANNOUNCE, "SRTO_KMPREANNOUNCE", &s->kmpreannounce, sizeof(s->kmpreannounce)) < 0) ||
+ #endif
+@@ -333,7 +337,11 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
+ (s->lossmaxttl >= 0 && libsrt_setsockopt(h, fd, SRTO_LOSSMAXTTL, "SRTO_LOSSMAXTTL", &s->lossmaxttl, sizeof(s->lossmaxttl)) < 0) ||
+ (s->minversion >= 0 && libsrt_setsockopt(h, fd, SRTO_MINVERSION, "SRTO_MINVERSION", &s->minversion, sizeof(s->minversion)) < 0) ||
+ (s->streamid && libsrt_setsockopt(h, fd, SRTO_STREAMID, "SRTO_STREAMID", s->streamid, strlen(s->streamid)) < 0) ||
++#if SRT_VERSION_VALUE >= 0x010401
++ (s->smoother && libsrt_setsockopt(h, fd, SRTO_CONGESTION, "SRTO_CONGESTION", s->smoother, strlen(s->smoother)) < 0) ||
++#else
+ (s->smoother && libsrt_setsockopt(h, fd, SRTO_SMOOTHER, "SRTO_SMOOTHER", s->smoother, strlen(s->smoother)) < 0) ||
++#endif
+ (s->messageapi >= 0 && libsrt_setsockopt(h, fd, SRTO_MESSAGEAPI, "SRTO_MESSAGEAPI", &s->messageapi, sizeof(s->messageapi)) < 0) ||
+ (s->payload_size >= 0 && libsrt_setsockopt(h, fd, SRTO_PAYLOADSIZE, "SRTO_PAYLOADSIZE", &s->payload_size, sizeof(s->payload_size)) < 0) ||
+ ((h->flags & AVIO_FLAG_WRITE) && libsrt_setsockopt(h, fd, SRTO_SENDER, "SRTO_SENDER", &yes, sizeof(yes)) < 0)) {
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb
index 517dac7..72c2fe1 100644
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb
@@ -25,6 +25,7 @@
SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
file://mips64_cpu_detection.patch \
+ file://0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch \
"
SRC_URI[sha256sum] = "ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb"
@@ -70,6 +71,7 @@
PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2"
PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
+PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt"
PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg"
PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-validate/0001-connect-has-a-different-signature-on-musl.patch b/poky/meta/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch
similarity index 76%
rename from poky/meta/recipes-multimedia/gstreamer/gst-validate/0001-connect-has-a-different-signature-on-musl.patch
rename to poky/meta/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch
index a0d215c..c0e4581 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-validate/0001-connect-has-a-different-signature-on-musl.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch
@@ -1,4 +1,4 @@
-From 0bd8004d8dddc486d3961a5316d24e8f2645e4c8 Mon Sep 17 00:00:00 2001
+From 73b1002eda17451db1f58431b42c25203f1d3097 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 9 Sep 2018 17:38:10 -0700
Subject: [PATCH] connect has a different signature on musl
@@ -12,13 +12,13 @@
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- plugins/fault_injection/socket_interposer.c | 7 ++++++-
+ validate/plugins/fault_injection/socket_interposer.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
-diff --git a/plugins/fault_injection/socket_interposer.c b/plugins/fault_injection/socket_interposer.c
+diff --git a/validate/plugins/fault_injection/socket_interposer.c b/validate/plugins/fault_injection/socket_interposer.c
index 53c1ebb..ad7adf8 100644
---- a/plugins/fault_injection/socket_interposer.c
-+++ b/plugins/fault_injection/socket_interposer.c
+--- a/validate/plugins/fault_injection/socket_interposer.c
++++ b/validate/plugins/fault_injection/socket_interposer.c
@@ -100,10 +100,15 @@ socket_interposer_set_callback (struct sockaddr_in *addrin,
}
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.1.bb
new file mode 100644
index 0000000..2e09ef9
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.1.bb
@@ -0,0 +1,42 @@
+SUMMARY = "Gstreamer validation tool"
+DESCRIPTION = "A Tool to test GStreamer components"
+HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html"
+SECTION = "multimedia"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+#S = "${WORKDIR}/gst-devtools-${PV}"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV}.tar.xz \
+ file://0001-connect-has-a-different-signature-on-musl.patch \
+ "
+
+SRC_URI[sha256sum] = "712212babd2238233d55beecfc0fe1ea8db18e8807ac6ab05a64505b2c7ab0df"
+
+DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
+RRECOMMENDS_${PN} = "git"
+
+FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
+
+inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
+
+# TODO: put this in a gettext.bbclass patch
+def gettext_oemeson(d):
+ if d.getVar('USE_NLS') == 'no':
+ return '-Dnls=disabled'
+ # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
+ if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
+ return '-Dnls=disabled'
+ return '-Dnls=enabled'
+
+EXTRA_OEMESON += " \
+ -Ddoc=disabled \
+ -Ddebug_viewer=disabled \
+ -Dtests=disabled \
+ -Dvalidate=enabled \
+ ${@gettext_oemeson(d)} \
+"
+
+GIR_MESON_ENABLE_FLAG = "enabled"
+GIR_MESON_DISABLE_FLAG = "disabled"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch b/poky/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
index 0338bad..ab93c13 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
@@ -1,4 +1,4 @@
-From 755f6dab07565aca7b6aefacad8be65de364ff75 Mon Sep 17 00:00:00 2001
+From 7924016fce2d0b435891a335cdae52fc939c7e3b Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Thu, 17 Aug 2017 11:07:02 +0300
Subject: [PATCH] Make player examples installable
@@ -7,16 +7,17 @@
Upstream-Status: Denied [Upstream considers these code examples, for now a least]
https://bugzilla.gnome.org/show_bug.cgi?id=777827
+
---
playback/player/gst-play/meson.build | 1 +
playback/player/gtk/meson.build | 1 +
2 files changed, 2 insertions(+)
diff --git a/playback/player/gst-play/meson.build b/playback/player/gst-play/meson.build
-index 719b55b..a56fe13 100644
+index 8ec021d..977cc5c 100644
--- a/playback/player/gst-play/meson.build
+++ b/playback/player/gst-play/meson.build
-@@ -8,5 +8,6 @@ executable('gst-play',
+@@ -2,5 +2,6 @@ executable('gst-play',
['gst-play.c',
'gst-play-kb.c',
'gst-play-kb.h'],
@@ -24,16 +25,13 @@
dependencies : [gst_dep, gstplayer_dep, m_dep])
diff --git a/playback/player/gtk/meson.build b/playback/player/gtk/meson.build
-index 08aae4f..671a65d 100644
+index f7a7419..6281130 100644
--- a/playback/player/gtk/meson.build
+++ b/playback/player/gtk/meson.build
-@@ -18,5 +18,6 @@ executable('gtk-play',
- gtk_play_resources,
- 'gtk-video-renderer.h',
- 'gtk-video-renderer.c'],
+@@ -13,5 +13,6 @@ if gtk_dep.found()
+ gtk_play_resources,
+ 'gtk-video-renderer.h',
+ 'gtk-video-renderer.c'],
+ install: true,
- dependencies : [glib_dep, gobject_dep, gmodule_dep, gst_dep, gsttag_dep, gstplayer_dep, gtk_dep, x11_dep])
-
---
-2.13.3
-
+ dependencies : [glib_dep, gobject_dep, gmodule_dep, gst_dep, gsttag_dep, gstplayer_dep, gtk_dep, x11_dep])
+ endif
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.1.bb
similarity index 89%
rename from poky/meta/recipes-multimedia/gstreamer/gst-examples_1.16.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.1.bb
index e23d23d..048b45a 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.16.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.1.bb
@@ -2,14 +2,14 @@
LICENSE = "LGPL-2.0+"
LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9"
-DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 glib-2.0-native"
+DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 libsoup-2.4 json-glib glib-2.0-native"
-SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https \
+SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https;branch=1.18 \
file://0001-Make-player-examples-installable.patch \
file://gst-player.desktop \
"
-SRCREV = "d953c127c1146b50d5676618299933950685dcd7"
+SRCREV = "998ee69af18a5928759dbe17fffbceebbc8d72d0"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.2.bb
deleted file mode 100644
index 35492fe..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.2.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Gstreamer validation tool"
-DESCRIPTION = "A Tool to test GStreamer components"
-HOMEPAGE = "https://gstreamer.freedesktop.org/releases/gst-validate/1.12.3.html"
-SECTION = "multimedia"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/${BPN}/${BP}.tar.xz \
- file://0001-connect-has-a-different-signature-on-musl.patch \
- "
-SRC_URI[md5sum] = "688f42c52d62e8c5e506df911553fb2c"
-SRC_URI[sha256sum] = "4861ccb9326200e74d98007e316b387d48dd49f072e0b78cb9d3303fdecfeeca"
-
-DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
-RRECOMMENDS_${PN} = "git"
-
-FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
-
-inherit pkgconfig gettext autotools gobject-introspection gtk-doc upstream-version-is-even
-
-# With gtk-doc enabled this recipe fails to build, so forcibly disable it:
-# WORKDIR/build/docs/validate/gst-validate-scan: line 117:
-# WORKDIR/build/docs/validate/.libs/lt-gst-validate-scan: No such file or directory
-GTKDOC_ENABLED = "False"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.2.bb
deleted file mode 100644
index 2fdefc9..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.2.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Libav-based GStreamer 1.x plugin"
-HOMEPAGE = "http://gstreamer.freedesktop.org/"
-SECTION = "multimedia"
-
-LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
- file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \
- "
-SRC_URI[md5sum] = "eacebd0136ede3a9bd3672eeb338806b"
-SRC_URI[sha256sum] = "c724f612700c15a933c7356fbeabb0bb9571fb5538f8b1b54d4d2d94188deef2"
-
-S = "${WORKDIR}/gst-libav-${PV}"
-
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
-
-inherit meson pkgconfig upstream-version-is-even
-
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
-
-delete_unused_libav_copy() {
- # When building with meson, the internal libav copy is not used.
- # It is only present for legacy autotools based builds. In future
- # GStreamer versions, the autotools scripts will be gone, and so
- # will this internal copy. Until then, it will be present. In order
- # to make sure this copy is not included in the -src package, just
- # manually delete the copy.
- rm -rf "${S}/gst-libs/ext/libav/"
-}
-
-do_unpack[postfuncs] += " delete_unused_libav_copy"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.1.bb
new file mode 100644
index 0000000..38bbffa
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Libav-based GStreamer 1.x plugin"
+HOMEPAGE = "http://gstreamer.freedesktop.org/"
+SECTION = "multimedia"
+
+# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency
+LICENSE_FLAGS = "commercial"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
+ file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
+ "
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
+SRC_URI[sha256sum] = "39a717bc2613efbbba19df3cf5cacff0987471fc8281ba2c5dcdeaded79c2ed8"
+
+S = "${WORKDIR}/gst-libav-${PV}"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
+
+inherit meson pkgconfig upstream-version-is-even
+
+FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.1.bb
similarity index 92%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.2.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.1.bb
index f1bdbd2..513d66f 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.2.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.1.bb
@@ -9,8 +9,7 @@
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
-SRC_URI[md5sum] = "6362786d2b6cce34de08c86b7847f782"
-SRC_URI[sha256sum] = "11ed411a2eba75610d72331eeb14ff05e2df28f4fd05cb69225a88bec6d27439"
+SRC_URI[sha256sum] = "42a8e0f9518b94655981ede441638f9f9395f4b1b9a4b329f068ee793975a965"
S = "${WORKDIR}/gst-omx-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch
similarity index 79%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch
index 73681f1..13a673c 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch
@@ -1,7 +1,7 @@
-From a67781000e82bd9ae3813da29401e8c0c852328a Mon Sep 17 00:00:00 2001
+From f08ab3ac2ce43ac91d3bf65b26f26436690f499b Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Tue, 26 Jan 2016 15:16:01 -0800
-Subject: [PATCH] fix maybe-uninitialized warnings when compiling with -Os
+Subject: [PATCH 1/4] fix maybe-uninitialized warnings when compiling with -Os
Upstream-Status: Pending
@@ -11,7 +11,7 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c
-index fd16ee0..ddb890c 100644
+index 2c60ced..e8226d8 100644
--- a/gst-libs/gst/codecparsers/gstvc1parser.c
+++ b/gst-libs/gst/codecparsers/gstvc1parser.c
@@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size,
@@ -24,5 +24,5 @@
guint8 structB[12] = { 0, };
GstBitReader br;
--
-1.9.1
+2.28.0
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
deleted file mode 100644
index 1321852..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Fri, 18 Oct 2019 00:39:12 +0100
-Subject: [PATCH 1/2] meson: build gir even when cross-compiling if
- introspection was enabled explicitly
-
-This can be made to work in certain circumstances when
-cross-compiling, so default to not building g-i stuff
-when cross-compiling, but allow it if introspection was
-enabled explicitly via -Dintrospection=enabled.
-
-See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
-
-Upstream-Status: Backport [97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19]
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 67aeeb4d0..7b3314bd9 100644
---- a/meson.build
-+++ b/meson.build
-@@ -411,7 +411,7 @@ python3 = import('python').find_installation()
-
- gir = find_program('g-ir-scanner', required : get_option('introspection'))
- gnome = import('gnome')
--build_gir = gir.found() and not meson.is_cross_build()
-+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
- gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
- 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
- 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
---
-2.17.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch
similarity index 79%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch
index 3226127..ead6897 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch
@@ -1,7 +1,7 @@
-From 72561a0fca562d03567ace7b4cfc94992cd6525c Mon Sep 17 00:00:00 2001
+From 3b05e91720c10fcf6e0e408595b7217f6fa145c2 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Wed, 3 Feb 2016 18:05:41 -0800
-Subject: [PATCH] avoid including <sys/poll.h> directly
+Subject: [PATCH 2/4] avoid including <sys/poll.h> directly
musl libc generates warnings if <sys/poll.h> is included directly.
@@ -13,7 +13,7 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
-index b93255f..49f145a 100644
+index ca6b92a..b2772db 100644
--- a/sys/dvb/gstdvbsrc.c
+++ b/sys/dvb/gstdvbsrc.c
@@ -97,7 +97,7 @@
@@ -26,5 +26,5 @@
#include <errno.h>
#include <stdio.h>
--
-1.9.1
+2.28.0
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch
similarity index 70%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch
index 2d5389d..88fbc40 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch
@@ -1,7 +1,7 @@
-From 2262ba4b686d5cc0d3e894707fe1d31619a3a8f1 Mon Sep 17 00:00:00 2001
+From 5ed27de9f662fe063b8b3d5d4335aa64cd4718c9 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Tue, 9 Feb 2016 14:00:00 -0800
-Subject: [PATCH] ensure valid sentinals for gst_structure_get() etc
+Subject: [PATCH 3/4] ensure valid sentinals for gst_structure_get() etc
For GStreamer functions declared with G_GNUC_NULL_TERMINATED,
ie __attribute__((__sentinel__)), gcc will generate a warning if the
@@ -23,20 +23,20 @@
sys/decklink/gstdecklinkvideosink.cpp | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
-Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp
-===================================================================
---- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklink.cpp
-+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp
-@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDeck
+diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
+index 4dac7e1..43762ce 100644
+--- a/sys/decklink/gstdecklink.cpp
++++ b/sys/decklink/gstdecklink.cpp
+@@ -674,7 +674,7 @@ gst_decklink_mode_get_generic_structure (GstDecklinkModeEnum e)
"pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
"interlace-mode", G_TYPE_STRING,
mode->interlaced ? "interleaved" : "progressive",
- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL);
+ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL);
- if (input && mode->interlaced) {
- if (mode->tff)
-@@ -632,16 +632,16 @@ gst_decklink_mode_get_structure (GstDeck
+ return s;
+ }
+@@ -699,16 +699,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f,
case bmdFormat8BitYUV: /* '2vuy' */
gst_structure_set (s, "format", G_TYPE_STRING, "UYVY",
"colorimetry", G_TYPE_STRING, mode->colorimetry,
@@ -57,11 +57,11 @@
break;
case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */
case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
-Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp
-===================================================================
---- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkaudiosrc.cpp
-+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp
-@@ -387,7 +387,7 @@ gst_decklink_audio_src_set_caps (GstBase
+diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp
+index 2fef934..c47229a 100644
+--- a/sys/decklink/gstdecklinkaudiosrc.cpp
++++ b/sys/decklink/gstdecklinkaudiosrc.cpp
+@@ -379,7 +379,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self)
g_mutex_unlock (&self->input->lock);
if (videosrc) {
@@ -70,11 +70,11 @@
gst_object_unref (videosrc);
switch (vconn) {
-Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp
-===================================================================
---- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkvideosink.cpp
-+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp
-@@ -285,7 +285,7 @@ reset_framerate (GstCapsFeatures * featu
+diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
+index e3a6775..f1a5aae 100644
+--- a/sys/decklink/gstdecklinkvideosink.cpp
++++ b/sys/decklink/gstdecklinkvideosink.cpp
+@@ -286,7 +286,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure,
gpointer user_data)
{
gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1,
@@ -83,3 +83,6 @@
return TRUE;
}
+--
+2.28.0
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
similarity index 91%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
index 4b6591c..b816709 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
@@ -1,7 +1,7 @@
-From f41caae14b618ab815ede3c408e7482b00316e3e Mon Sep 17 00:00:00 2001
+From f19ff66640f2f472c4e9d9055253032d34e125c6 Mon Sep 17 00:00:00 2001
From: Andrey Zhizhikin <andrey.z@gmail.com>
Date: Mon, 27 Jan 2020 10:22:35 +0000
-Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build
+Subject: [PATCH 4/4] opencv: resolve missing opencv data dir in yocto build
When Yocto build is performed, opencv searches for data dir using simple
'test' command, this fails because pkg-config provides an absolute
@@ -16,7 +16,7 @@
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
-index f38b55dfe..a26403482 100644
+index 0b0b3fc..0ed3344 100644
--- a/ext/opencv/meson.build
+++ b/ext/opencv/meson.build
@@ -78,20 +78,21 @@ else
@@ -45,5 +45,5 @@
gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"'
else
--
-2.17.1
+2.28.0
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.1.bb
similarity index 83%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.1.bb
index 99176b2..ebd8c5a 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.1.bb
@@ -1,21 +1,17 @@
require gstreamer1.0-plugins-common.inc
-SRC_URI = " \
- https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
- file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
- file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \
- file://avoid-including-sys-poll.h-directly.patch \
- file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \
- file://opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
-"
-SRC_URI[md5sum] = "ccc7404230afddec723bbdb63c89feec"
-SRC_URI[sha256sum] = "f1cb7aa2389569a5343661aae473f0a940a90b872001824bc47fa8072a041e74"
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
+ file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
+ file://0002-avoid-including-sys-poll.h-directly.patch \
+ file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
+ file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
+ "
+SRC_URI[sha256sum] = "c195978c85d97406c05eb9d43ac54b9ab35eda6ffdae32b3ed597b8f1743c1b2"
S = "${WORKDIR}/gst-plugins-bad-${PV}"
LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
- file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 "
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
DEPENDS += "gstreamer1.0-plugins-base"
@@ -71,28 +67,31 @@
PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled,usrsctp"
PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
+PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt"
PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
-PACKAGECONFIG[vdpau] = "-Dvdpau=enabled,-Dvdpau=disabled,libvdpau"
+PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva"
PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
-PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader"
+PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native"
PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar"
+PACKAGECONFIG[v4l2codecs] = "-D-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
# these plugins currently have no corresponding library in OE-core or meta-openembedded:
# aom androidmedia applemedia bs2b chromaprint d3dvideosink
# directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc
# mplex musepack nvdec nvenc ofa openexr openni2 opensles
-# soundtouch spandsp srt teletext wasapi wildmidi winks
+# soundtouch spandsp teletext wasapi wildmidi winks
# winscreencap wpe x265
EXTRA_OEMESON += " \
+ -Ddoc=disabled \
-Ddecklink=enabled \
-Ddvb=enabled \
-Dfbdev=enabled \
@@ -102,9 +101,11 @@
-Daom=disabled \
-Dandroidmedia=disabled \
-Dapplemedia=disabled \
+ -Davtp=disabled \
-Dbs2b=disabled \
-Dchromaprint=disabled \
-Dd3dvideosink=disabled \
+ -Dd3d11=disabled \
-Ddirectsound=disabled \
-Ddts=disabled \
-Dfdkaac=disabled \
@@ -115,26 +116,29 @@
-Dkate=disabled \
-Dladspa=disabled \
-Dlv2=disabled \
+ -Dmagicleap=disabled \
+ -Dmediafoundation=disabled \
+ -Dmicrodns=disabled \
-Dmpeg2enc=disabled \
-Dmplex=disabled \
-Dmusepack=disabled \
- -Dnvdec=disabled \
- -Dnvenc=disabled \
+ -Dnvcodec=disabled \
-Dofa=disabled \
-Dopenexr=disabled \
-Dopenni2=disabled \
-Dopensles=disabled \
-Dsoundtouch=disabled \
-Dspandsp=disabled \
- -Dsrt=disabled \
+ -Dsvthevcenc=disabled \
-Dteletext=disabled \
-Dwasapi=disabled \
+ -Dwasapi2=disabled \
-Dwildmidi=disabled \
-Dwinks=disabled \
-Dwinscreencap=disabled \
-Dwpe=disabled \
-Dx265=disabled \
- ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-Dyadif=disabled", "", d)} \
+ -Dzxing=disabled \
"
export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
@@ -144,4 +148,6 @@
FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
+FILES_${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/get-caps-from-src-pad-when-query-caps.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch
similarity index 81%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/get-caps-from-src-pad-when-query-caps.patch
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch
index a4727e2..d5d9838 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/get-caps-from-src-pad-when-query-caps.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch
@@ -1,14 +1,13 @@
-From 41de2ec64ab06bb58c82c1659adaa3811bc5bcf8 Mon Sep 17 00:00:00 2001
+From f9d48cd85ee68207733b1b91a00453462c33524a Mon Sep 17 00:00:00 2001
From: zhouming <b42586@freescale.com>
Date: Wed, 14 May 2014 10:16:20 +0800
-Subject: [PATCH] ENGR00312515: get caps from src pad when query caps
+Subject: [PATCH 1/4] ENGR00312515: get caps from src pad when query caps
https://bugzilla.gnome.org/show_bug.cgi?id=728312
Upstream-Status: Pending
Signed-off-by: zhouming <b42586@freescale.com>
-
---
gst-libs/gst/tag/gsttagdemux.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
@@ -17,10 +16,10 @@
diff --git a/gst-libs/gst/tag/gsttagdemux.c b/gst-libs/gst/tag/gsttagdemux.c
old mode 100644
new mode 100755
-index 8a127c8..71c5d78
+index f545857..62d10ef
--- a/gst-libs/gst/tag/gsttagdemux.c
+++ b/gst-libs/gst/tag/gsttagdemux.c
-@@ -1759,6 +1759,19 @@ gst_tag_demux_pad_query (GstPad * pad, GstObject * parent, GstQuery * query)
+@@ -1777,6 +1777,19 @@ gst_tag_demux_pad_query (GstPad * pad, GstObject * parent, GstQuery * query)
}
break;
}
@@ -40,3 +39,6 @@
default:
res = gst_pad_query_default (pad, parent, query);
break;
+--
+2.28.0
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
deleted file mode 100644
index 49ab471..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 30672ba7d134553e59935ddc875104adba26f25c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Thu, 17 Oct 2019 20:06:24 +0100
-Subject: [PATCH] meson: build gir even when cross-compiling if introspection
- was enabled explicitly
-
-This can be made to work in certain circumstances when
-cross-compiling, so default to not building g-i stuff
-when cross-compiling, but allow it if introspection was
-enabled explicitly via -Dintrospection=enabled.
-
-See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
-
-Upstream-Status: Backport [30672ba7d134553e59935ddc875104adba26f25c]
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 264d84c9e..c8147c224 100644
---- a/meson.build
-+++ b/meson.build
-@@ -372,7 +372,7 @@ endif
-
- gir = find_program('g-ir-scanner', required : get_option('introspection'))
- gnome = import('gnome')
--build_gir = gir.found() and not meson.is_cross_build()
-+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
- gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
- 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \
- 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
---
-2.17.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch
deleted file mode 100644
index ca85744..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-From 685731e989dc074a4b0d48b6c8062e2738f09719 Mon Sep 17 00:00:00 2001
-From: Thibault Saunier <tsaunier@igalia.com>
-Date: Mon, 22 Oct 2018 11:44:37 +0200
-Subject: [PATCH] meson: Add variables for gir files
-
-And flatten list of sources for dependencies
-
-Upstream-Status: Backport [685731e989dc074a4b0d48b6c8062e2738f09719]
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
----
- gst-libs/gst/allocators/meson.build | 5 +++--
- gst-libs/gst/app/meson.build | 6 ++++--
- gst-libs/gst/audio/meson.build | 5 +++--
- gst-libs/gst/pbutils/meson.build | 5 +++--
- gst-libs/gst/rtp/meson.build | 6 ++++--
- gst-libs/gst/rtsp/meson.build | 5 +++--
- gst-libs/gst/sdp/meson.build | 6 ++++--
- gst-libs/gst/tag/meson.build | 5 +++--
- gst-libs/gst/video/meson.build | 5 +++--
- 9 files changed, 30 insertions(+), 18 deletions(-)
-
-diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build
-index 364baeebf..56f156dc3 100644
---- a/gst-libs/gst/allocators/meson.build
-+++ b/gst-libs/gst/allocators/meson.build
-@@ -22,7 +22,7 @@ gstallocators = library('gstallocators-@0@'.format(api_version),
- allocators_gen_sources = []
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/allocators/allocators.h' ]
-- allocators_gen_sources += [gnome.generate_gir(gstallocators,
-+ allocators_gir = gnome.generate_gir(gstallocators,
- sources : gst_allocators_sources + gst_allocators_headers,
- namespace : 'GstAllocators',
- nsversion : api_version,
-@@ -33,7 +33,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : [gst_dep]
-- )]
-+ )
-+ allocators_gen_sources += allocators_gir
- endif
-
- allocators_dep = declare_dependency(link_with: gstallocators,
-diff --git a/gst-libs/gst/app/meson.build b/gst-libs/gst/app/meson.build
-index 81dd0f42c..7a90f5e10 100644
---- a/gst-libs/gst/app/meson.build
-+++ b/gst-libs/gst/app/meson.build
-@@ -32,7 +32,7 @@ gstapp = library('gstapp-@0@'.format(api_version),
-
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/app/app.h' ]
-- app_gen_sources += [gnome.generate_gir(gstapp,
-+ app_gir = gnome.generate_gir(gstapp,
- sources : app_sources + app_headers + [gstapp_c] + [gstapp_h],
- namespace : 'GstApp',
- nsversion : api_version,
-@@ -43,7 +43,9 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : [gst_dep, gst_base_dep]
-- )]
-+ )
-+
-+ app_gen_sources += app_gir
- endif
-
- app_dep = declare_dependency(link_with: gstapp,
-diff --git a/gst-libs/gst/audio/meson.build b/gst-libs/gst/audio/meson.build
-index 0e4efab2e..2a449d4bf 100644
---- a/gst-libs/gst/audio/meson.build
-+++ b/gst-libs/gst/audio/meson.build
-@@ -153,7 +153,7 @@ gstaudio = library('gstaudio-@0@'.format(api_version),
-
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/audio/audio.h' ]
-- audio_gen_sources += [gnome.generate_gir(gstaudio,
-+ audio_gir = gnome.generate_gir(gstaudio,
- sources : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h],
- namespace : 'GstAudio',
- nsversion : api_version,
-@@ -164,7 +164,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstaudio_deps
-- )]
-+ )
-+ audio_gen_sources += [audio_gir]
- endif
-
- audio_dep = declare_dependency(link_with : gstaudio,
-diff --git a/gst-libs/gst/pbutils/meson.build b/gst-libs/gst/pbutils/meson.build
-index 2faf62622..0e96722fd 100644
---- a/gst-libs/gst/pbutils/meson.build
-+++ b/gst-libs/gst/pbutils/meson.build
-@@ -63,7 +63,7 @@ pbutils = library('gstpbutils-@0@'.format(api_version),
- pbutils_gen_sources = [gstpbutils_h, gst_pbutils_version_h]
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/pbutils/pbutils.h' ]
-- pbutils_gen_sources += [gnome.generate_gir(pbutils,
-+ pbutils_gir = gnome.generate_gir(pbutils,
- sources : pbutils_sources + pbutils_headers + [gstpbutils_h, gst_pbutils_version_h],
- namespace : 'GstPbutils',
- nsversion : api_version,
-@@ -74,7 +74,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstpbutils_deps
-- )]
-+ )
-+ pbutils_gen_sources += [pbutils_gir]
- endif
-
- pbutils_dep = declare_dependency(link_with : pbutils,
-diff --git a/gst-libs/gst/rtp/meson.build b/gst-libs/gst/rtp/meson.build
-index f47ec6592..7ea6658d5 100644
---- a/gst-libs/gst/rtp/meson.build
-+++ b/gst-libs/gst/rtp/meson.build
-@@ -49,7 +49,7 @@ gst_rtp = library('gstrtp-@0@'.format(api_version),
- rtp_gen_sources = [gstrtp_enum_h]
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtp/rtp.h' ]
-- rtp_gen_sources += [gnome.generate_gir(gst_rtp,
-+ rtp_gir = gnome.generate_gir(gst_rtp,
- sources : rtp_sources + rtp_headers + [gstrtp_enum_c] + [gstrtp_enum_h],
- namespace : 'GstRtp',
- nsversion : api_version,
-@@ -60,7 +60,9 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstrtp_deps
-- )]
-+ )
-+
-+ rtp_gen_sources += [rtp_gir]
- endif
-
-
-diff --git a/gst-libs/gst/rtsp/meson.build b/gst-libs/gst/rtsp/meson.build
-index 27e309d5a..3632adceb 100644
---- a/gst-libs/gst/rtsp/meson.build
-+++ b/gst-libs/gst/rtsp/meson.build
-@@ -54,7 +54,7 @@ gst_rtsp = library('gstrtsp-@0@'.format(api_version),
- rtsp_gen_sources = [gstrtsp_h]
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtsp/rtsp.h' ]
-- rtsp_gen_sources += [gnome.generate_gir(gst_rtsp,
-+ rtsp_gir = gnome.generate_gir(gst_rtsp,
- sources : rtsp_sources + rtsp_headers + [gstrtsp_c] + [gstrtsp_h],
- namespace : 'GstRtsp',
- nsversion : api_version,
-@@ -65,7 +65,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstrtsp_deps + [sdp_dep]
-- )]
-+ )
-+ rtsp_gen_sources += [rtsp_gir]
- endif
-
- rtsp_dep = declare_dependency(link_with : gst_rtsp,
-diff --git a/gst-libs/gst/sdp/meson.build b/gst-libs/gst/sdp/meson.build
-index 62c18b732..24cdb5293 100644
---- a/gst-libs/gst/sdp/meson.build
-+++ b/gst-libs/gst/sdp/meson.build
-@@ -23,7 +23,7 @@ gstsdp = library('gstsdp-@0@'.format(api_version),
- sdp_gen_sources = []
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/sdp/sdp.h' ]
-- sdp_gen_sources += [gnome.generate_gir(gstsdp,
-+ sdp_gir = gnome.generate_gir(gstsdp,
- sources : gst_sdp_sources + gst_sdp_headers,
- namespace : 'GstSdp',
- nsversion : api_version,
-@@ -34,7 +34,9 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : rtsp_deps
-- )]
-+ )
-+
-+ sdp_gen_sources += [sdp_gir]
- endif
-
- sdp_dep = declare_dependency(link_with: gstsdp,
-diff --git a/gst-libs/gst/tag/meson.build b/gst-libs/gst/tag/meson.build
-index 27e66fd63..5ec37392a 100644
---- a/gst-libs/gst/tag/meson.build
-+++ b/gst-libs/gst/tag/meson.build
-@@ -93,7 +93,7 @@ gsttag = library('gsttag-@0@'.format(api_version),
-
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/tag/tag.h' ]
-- tag_gen_sources += [gnome.generate_gir(gsttag,
-+ tag_gir = gnome.generate_gir(gsttag,
- sources : tag_sources + tag_headers + [gsttag_h] + [gsttag_c],
- namespace : 'GstTag',
- nsversion : api_version,
-@@ -104,7 +104,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : tag_deps
-- )]
-+ )
-+ tag_gen_sources += [tag_gir]
- endif
-
- tag_dep = declare_dependency(link_with: gsttag,
-diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build
-index 5b35e1943..bf77aa157 100644
---- a/gst-libs/gst/video/meson.build
-+++ b/gst-libs/gst/video/meson.build
-@@ -138,7 +138,7 @@ gstvideo = library('gstvideo-@0@'.format(api_version),
-
- if build_gir
- gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ]
-- video_gen_sources += [gnome.generate_gir(gstvideo,
-+ video_gir = gnome.generate_gir(gstvideo,
- sources : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
- namespace : 'GstVideo',
- nsversion : api_version,
-@@ -149,7 +149,8 @@ if build_gir
- install : true,
- extra_args : gst_gir_extra_args,
- dependencies : gstvideo_deps
-- )]
-+ )
-+ video_gen_sources += [video_gir]
- endif
-
- video_dep = declare_dependency(link_with : gstvideo,
---
-2.17.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-ssaparse-enhance-SSA-text-lines-parsing.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-ssaparse-enhance-SSA-text-lines-parsing.patch
similarity index 98%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-ssaparse-enhance-SSA-text-lines-parsing.patch
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-ssaparse-enhance-SSA-text-lines-parsing.patch
index 9e95524..e453a50 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-ssaparse-enhance-SSA-text-lines-parsing.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-ssaparse-enhance-SSA-text-lines-parsing.patch
@@ -1,7 +1,7 @@
-From 918c96b24d10f61b7455b4cef3bab490849d0d77 Mon Sep 17 00:00:00 2001
+From f587861bbe12ad0b10370f835592746aafedbf56 Mon Sep 17 00:00:00 2001
From: Mingke Wang <mingke.wang@freescale.com>
Date: Thu, 19 Mar 2015 14:17:10 +0800
-Subject: [PATCH] ssaparse: enhance SSA text lines parsing.
+Subject: [PATCH 2/4] ssaparse: enhance SSA text lines parsing.
some parser will pass in the original ssa text line which starts with "Dialog:"
and there's are maybe multiple Dialog lines in one input buffer.
@@ -9,9 +9,8 @@
Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=747496]
Signed-off-by: Mingke Wang <mingke.wang@freescale.com>
-
---
- gst/subparse/gstssaparse.c | 150 ++++++++++++++++++++++++++++++++++++++++-----
+ gst/subparse/gstssaparse.c | 150 +++++++++++++++++++++++++++++++++----
1 file changed, 134 insertions(+), 16 deletions(-)
mode change 100644 => 100755 gst/subparse/gstssaparse.c
@@ -225,3 +224,6 @@
if (ret != GST_FLOW_OK && GST_CLOCK_TIME_IS_VALID (ts)) {
GstSegment segment;
+--
+2.28.0
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch
similarity index 80%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch
index 6e53d2e..2af83ff 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch
@@ -1,7 +1,7 @@
-From bec38a0c2e2958927c42b2f9ae939969b7c4a326 Mon Sep 17 00:00:00 2001
+From 153f3b83a3fed77785bd1420bed8bbafa2d791b3 Mon Sep 17 00:00:00 2001
From: Carlos Rafael Giani <crg7475@mailbox.org>
Date: Tue, 21 May 2019 14:01:11 +0200
-Subject: [PATCH] viv-fb: Make sure config.h is included
+Subject: [PATCH 3/4] viv-fb: Make sure config.h is included
This prevents build errors due to missing GST_API_* symbols
@@ -13,7 +13,7 @@
1 file changed, 4 insertions(+)
diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h
-index 05e1f6229..96ce5e685 100644
+index 05e1f62..96ce5e6 100644
--- a/gst-libs/gst/gl/gl-prelude.h
+++ b/gst-libs/gst/gl/gl-prelude.h
@@ -22,6 +22,10 @@
@@ -28,5 +28,5 @@
#ifdef BUILDING_GST_GL
--
-2.17.1
+2.28.0
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch
similarity index 85%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch
index e8094f4..f45ea65 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch
@@ -1,7 +1,7 @@
-From c6b37a80806f9128de47f1ccc3f2354f8d436bb6 Mon Sep 17 00:00:00 2001
+From 79841a02ee754eba736cb32aaf2ed2b2fc0483d4 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 24 Sep 2015 19:47:32 +0300
-Subject: [PATCH] glimagesink: Downrank to marginal
+Subject: [PATCH 4/4] glimagesink: Downrank to marginal
On desktop, where there is good OpenGL, xvimagesink will come up first,
on other platforms, OpenGL can't be trusted because it's either software (like
@@ -15,7 +15,7 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c
-index a4b2540..0ccaacd 100644
+index 302e845..463be9c 100644
--- a/ext/gl/gstopengl.c
+++ b/ext/gl/gstopengl.c
@@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin)
@@ -28,5 +28,5 @@
}
--
-2.1.4
+2.28.0
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.1.bb
similarity index 78%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.1.bb
index 6563b6f..1b2bd4f 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.1.bb
@@ -1,26 +1,21 @@
require gstreamer1.0-plugins-common.inc
LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
- file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
-SRC_URI = " \
- https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
- file://get-caps-from-src-pad-when-query-caps.patch \
- file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
- file://0002-meson-Add-variables-for-gir-files.patch \
- file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \
- file://0005-viv-fb-Make-sure-config.h-is-included.patch \
- file://0009-glimagesink-Downrank-to-marginal.patch \
- "
-SRC_URI[md5sum] = "3fdb32823535799a748c1fc14f978e2c"
-SRC_URI[sha256sum] = "b13e73e2fe74a4166552f9577c3dcb24bed077021b9c7fa600d910ec6987816a"
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
+ file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
+ file://0003-viv-fb-Make-sure-config.h-is-included.patch \
+ file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
+ file://0004-glimagesink-Downrank-to-marginal.patch \
+ "
+SRC_URI[sha256sum] = "1ba654d7de30f7284b4c7071b32f881b609733ce02ab6d9d9ea29386a036c641"
S = "${WORKDIR}/gst-plugins-base-${PV}"
DEPENDS += "iso-codes util-linux zlib"
-inherit gobject-introspection gtk-doc
+inherit gobject-introspection
PACKAGES_DYNAMIC =+ "^libgst.*"
@@ -72,18 +67,16 @@
OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gbm', ' gbm', '', d)}"
OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', ' wayland', '', d)}"
OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'dispmanx', ' dispmanx', '', d)}"
+OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'egl', ' egl', '', d)}"
EXTRA_OEMESON += " \
+ -Ddoc=disabled \
-Dgl-graphene=disabled \
${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
"
-GTKDOC_MESON_OPTION = "gtk_doc"
-GTKDOC_MESON_ENABLE_FLAG = "enabled"
-GTKDOC_MESON_DISABLE_FLAG = "disabled"
-
FILES_${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
@@ -97,3 +90,5 @@
return '-D' + switch_name + '=' + ','.join(selected_options)
else:
return ''
+
+CVE_PRODUCT += "gst-plugins-base"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch
deleted file mode 100644
index 1368487..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 3e0d5577444b32579bdf5b69d720a322322ff7bc Mon Sep 17 00:00:00 2001
-From: Milian Wolff <milian.wolff@kdab.com>
-Date: Tue, 26 Nov 2019 15:08:20 +0100
-Subject: [PATCH] qmlgl: ensure Qt defines GLsync to fix compile on some platforms
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-By explictly including QtGui/qopengl.h we force the code path that
-defines GLsync in the Qt-specific way. Without that, some platforms
-failed to compile the qmlgl plugin, since neither Qt nor gstreamer
-defined GLsync then, leading to e.g.:
-
-```
-make[4]: Entering directory '/.../gst-plugins-good-1.16.1/ext/qt'
- CXX libgstqmlgl_la-qtitem.lo
-In file included from gstqtgl.h:32,
- from qtitem.h:27,
- from qtitem.cc:28:
-/.../usr/include/gstreamer-1.0/
-gst/gl/gstglfuncs.h:93:17: error: expected identifier before ‘*’ token
- ret (GSTGLAPI *name) args;
- ^
-/.../usr/include/gstreamer-1.0/
-gst/gl/glprototypes/sync.h:27:1: note: in expansion of macro
-‘GST_GL_EXT_FUNCTION’
- GST_GL_EXT_FUNCTION (GLsync, FenceSync,
- ^~~~~~~~~~~~~~~~~~~
-```
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/commit/3e0d5577444b32579bdf5b69d720a322322ff7bc]
----
- ext/qt/gstqtgl.h | 18 +++++++++++-------
- 1 file changed, 11 insertions(+), 7 deletions(-)
-
---- a/ext/qt/gstqtgl.h
-+++ b/ext/qt/gstqtgl.h
-@@ -22,14 +22,7 @@
- #include <QtGui/qtgui-config.h>
- #endif
-
--/* qt uses the same trick as us to typedef GLsync on GLES2 but to a different
-- * type which confuses the preprocessor. Instead of trying to reconcile the
-- * two, we instead use the GLsync definition from Qt from above, and ensure
-- * that we don't typedef GLsync in gstglfuncs.h */
- #include <gst/gl/gstglconfig.h>
--#undef GST_GL_HAVE_GLSYNC
--#define GST_GL_HAVE_GLSYNC 1
--#include <gst/gl/gstglfuncs.h>
-
- /* The glext.h guard was renamed in 2018, but some software which
- * includes their own copy of the GL headers (such as qt) might have
-@@ -46,6 +39,17 @@
- #endif
- #endif
-
-+/* pulls in GLsync, see below */
-+#include <QtGui/qopengl.h>
-+
-+/* qt uses the same trick as us to typedef GLsync on GLES2 but to a different
-+ * type which confuses the preprocessor. Instead of trying to reconcile the
-+ * two, we instead use the GLsync definition from Qt from above, and ensure
-+ * that we don't typedef GLsync in gstglfuncs.h */
-+#undef GST_GL_HAVE_GLSYNC
-+#define GST_GL_HAVE_GLSYNC 1
-+#include <gst/gl/gstglfuncs.h>
-+
- #if defined(QT_OPENGL_ES_2)
- #include <QtGui/QOpenGLContext>
- #include <QtGui/QOpenGLFunctions>
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch
index 3d42315..788d752 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch
@@ -1,4 +1,4 @@
-From d08234a659bec1fd5c984fedefbeb8192af07839 Mon Sep 17 00:00:00 2001
+From bf8b2fa0f6870589d036f0f33c140a3f85b530a0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 31 Mar 2020 21:23:28 -0700
Subject: [PATCH] qt: include ext/qt/gstqtgl.h instead of gst/gl/gstglfuncs.h
@@ -26,7 +26,7 @@
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc
-index 2b314e0..12b15dd 100644
+index a05d26e..4cc9fc6 100644
--- a/ext/qt/gstqsgtexture.cc
+++ b/ext/qt/gstqsgtexture.cc
@@ -27,7 +27,7 @@
@@ -39,7 +39,7 @@
#define GST_CAT_DEFAULT gst_qsg_texture_debug
diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc
-index 62d26b6..bf68ebb 100644
+index 9360c33..0dfd3f1 100644
--- a/ext/qt/qtwindow.cc
+++ b/ext/qt/qtwindow.cc
@@ -25,7 +25,7 @@
@@ -52,5 +52,5 @@
#include "gstqsgtexture.h"
#include "gstqtglutility.h"
--
-2.26.0
+2.28.0
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch
new file mode 100644
index 0000000..685ee08
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch
@@ -0,0 +1,32 @@
+From 3ec4fe5507a39383b161f1ab7687acb4a57c32f8 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sun, 15 Nov 2020 11:30:07 +0000
+Subject: [PATCH] rpicamsrc: add vchostif library as it is required to build
+ successful
+
+fix: undefined reference to `vc_gencmd'
+/usr/src/debug/gstreamer1.0-plugins-good/1.18.1-r0/build/../gst-plugins-good-1.18.1/sys/rpicamsrc/RaspiCamControl.c:1440: undefined reference to `vc_gencmd'
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/818]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ sys/rpicamsrc/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sys/rpicamsrc/meson.build b/sys/rpicamsrc/meson.build
+index dc18a8345..48b2ceb66 100644
+--- a/sys/rpicamsrc/meson.build
++++ b/sys/rpicamsrc/meson.build
+@@ -34,7 +34,7 @@ if not cc.has_header('bcm_host.h', args: rpi_inc_args)
+ endif
+
+ mmal_deps = []
+-foreach rpi_lib : ['mmal_core', 'mmal_util', 'mmal_vc_client', 'vcos', 'bcm_host']
++foreach rpi_lib : ['mmal_core', 'mmal_util', 'mmal_vc_client', 'vcos', 'vchostif', 'bcm_host']
+ l = cc.find_library(rpi_lib, dirs: rpi_lib_path, required: false)
+ if not l.found()
+ if get_option('rpicamsrc').enabled()
+--
+2.29.2
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.1.bb
similarity index 79%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.1.bb
index 17c9421..77e1333 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.1.bb
@@ -1,19 +1,16 @@
require gstreamer1.0-plugins-common.inc
-SRC_URI = " \
- https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
- file://0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch \
- file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
- "
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
+ file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
+ file://0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch \
+ "
-SRC_URI[md5sum] = "bd025f8f14974f94b75ac69a9d1b9c93"
-SRC_URI[sha256sum] = "40bb3bafda25c0b739c8fc36e48380fccf61c4d3f83747e97ac3f9b0171b1319"
+SRC_URI[sha256sum] = "e210e91a5590ecb6accc9d06c949a58ca6897d8edb3b3d55828e424c624f626c"
S = "${WORKDIR}/gst-plugins-good-${PV}"
LICENSE = "GPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
@@ -23,6 +20,7 @@
PACKAGECONFIG ??= " \
${GSTREAMER_ORC} \
${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
+ ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \
bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \
"
@@ -30,6 +28,9 @@
X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
+QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"
+
+PACKAGECONFIG[asm] = "-Dasm=enabled,-Dasm=disabled,nasm-native"
PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
@@ -44,9 +45,10 @@
PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
-PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native"
+PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex"
+PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
@@ -54,6 +56,7 @@
PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
EXTRA_OEMESON += " \
+ -Ddoc=disabled \
-Daalib=disabled \
-Ddirectsound=disabled \
-Ddv=disabled \
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.1.bb
similarity index 89%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.2.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.1.bb
index be10800..614ef8d 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.2.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.1.bb
@@ -9,8 +9,7 @@
SRC_URI = " \
https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
"
-SRC_URI[md5sum] = "10283ff5ef1e34d462dde77042e329bd"
-SRC_URI[sha256sum] = "5500415b865e8b62775d4742cbb9f37146a50caecfc0e7a6fc0160d3c560fbca"
+SRC_URI[sha256sum] = "18cd6cb829eb9611ca63cbcbf46aca0f0de1dd28b2df18caa2834326a75ff725"
S = "${WORKDIR}/gst-plugins-ugly-${PV}"
@@ -32,6 +31,7 @@
PACKAGECONFIG[x264] = "-Dx264=enabled,-Dx264=disabled,x264"
EXTRA_OEMESON += " \
+ -Ddoc=disabled \
-Dsidplay=disabled \
"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
deleted file mode 100644
index 053108a..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 61cfd1b49dc82baf14bb36d88b6c5be7b8c3d23a Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 2 Dec 2019 18:16:41 +0100
-Subject: [PATCH] meson.build: fix builds with python 3.8
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-python/merge_requests/14]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 1da81d5..3e0db38 100644
---- a/meson.build
-+++ b/meson.build
-@@ -24,7 +24,7 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d
-
- pymod = import('python')
- python = pymod.find_installation(get_option('python'))
--python_dep = python.dependency(required : true)
-+python_dep = dependency('python3-embed', required : true)
-
- python_abi_flags = python.get_variable('ABIFLAGS', '')
- pylib_loc = get_option('libpython-dir')
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.2.bb
deleted file mode 100644
index 9e024eb..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.2.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Python bindings for GStreamer 1.0"
-HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/"
-SECTION = "multimedia"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
-
-SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
- file://0001-meson.build-fix-builds-with-python-3.8.patch \
- "
-SRC_URI[md5sum] = "6ac709767334d8d0a71cb4e016f6abeb"
-SRC_URI[sha256sum] = "208df3148d73d9f416d016564737585d8ea763d91201732d44b5fe688c6288a8"
-
-DEPENDS = "gstreamer1.0 python3-pygobject"
-RDEPENDS_${PN} += "gstreamer1.0 python3-pygobject"
-
-PNREAL = "gst-python"
-
-S = "${WORKDIR}/${PNREAL}-${PV}"
-
-# gobject-introspection is mandatory and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
-
-inherit meson pkgconfig distutils3-base upstream-version-is-even gobject-introspection features_check
-
-do_install_append() {
-
- # Note that this particular find line is taken from the Debian packaging for
- # gst-python1.0.
- find "${D}" \
- -name '*.pyc' -o \
- -name '*.pyo' -o \
- -name '*.la' -o \
- -name 'libgstpythonplugin*' \
- -delete
-}
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.1.bb
new file mode 100644
index 0000000..c0c5d27
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Python bindings for GStreamer 1.0"
+HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/"
+SECTION = "multimedia"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
+
+SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "42b289422f7ab32757670848cf2245c5a8a8b08a665a9cab65ded8d69364f6f6"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
+RDEPENDS_${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
+
+PNREAL = "gst-python"
+
+S = "${WORKDIR}/${PNREAL}-${PV}"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+inherit meson pkgconfig distutils3-base upstream-version-is-even gobject-introspection features_check
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
deleted file mode 100644
index 6962a50..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Fri, 18 Oct 2019 00:42:12 +0100
-Subject: [PATCH] meson: build gir even when cross-compiling if introspection
- was enabled explicitly
-
-This can be made to work in certain circumstances when
-cross-compiling, so default to not building g-i stuff
-when cross-compiling, but allow it if introspection was
-enabled explicitly via -Dintrospection=enabled.
-
-See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
-
-Upstream-Status: Backport [95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47]
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index e1e3b1d..3f45f0e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -173,7 +173,7 @@ endif
-
- gir = find_program('g-ir-scanner', required : get_option('introspection'))
- gnome = import('gnome')
--build_gir = gir.found() and not meson.is_cross_build()
-+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
- gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
- 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
- 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
---
-2.17.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.1.bb
similarity index 74%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.2.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.1.bb
index 02c3c83..30534c9 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.2.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.1.bb
@@ -8,18 +8,16 @@
PNREAL = "gst-rtsp-server"
-SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
- file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
- "
+SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-SRC_URI[md5sum] = "8a998725820c771ba45be6e18bfdf73a"
-SRC_URI[sha256sum] = "de07a2837b3b04820ce68264a4909f70c221b85dbff0cede7926e9cdbb1dc26e"
+SRC_URI[sha256sum] = "10a82865c3d199e66731017ca4b120bad071df9889e60cfe4dd6c49d953ef754"
S = "${WORKDIR}/${PNREAL}-${PV}"
inherit meson pkgconfig upstream-version-is-even gobject-introspection
EXTRA_OEMESON += " \
+ -Ddoc=disabled \
-Dexamples=disabled \
-Dtests=disabled \
"
@@ -29,3 +27,5 @@
# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
require gstreamer1.0-plugins-packaging.inc
+
+CVE_PRODUCT += "gst-rtsp-server"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch
deleted file mode 100644
index 7945a92..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 0c28cf7bfa90f8947833722cddf23d513490c6c3 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Wed, 28 Nov 2018 15:08:48 +0800
-Subject: [PATCH] vaapsink: downgrade to marginal
-
-Using vaapisink with default poky configuration results in an
-unresponsive display as of today because DRI2 rendering is currently broken
-in non composited environments [1] and libva doesn't support DRI3 [2].
-
-Downgrade vaapisink to marginal for now so playbin (and in turn gst-play
-and gtk-play examples) use xvimagesink or others out of box.
-
-[1] https://gitlab.freedesktop.org/xorg/xserver/issues/13
-[2] https://github.com/intel/libva/issues/122
-
-Upstream-Status: Pending
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- gst/vaapi/gstvaapi.c | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/gst/vaapi/gstvaapi.c b/gst/vaapi/gstvaapi.c
-index 9a82454..4d94f2b 100644
---- a/gst/vaapi/gstvaapi.c
-+++ b/gst/vaapi/gstvaapi.c
-@@ -195,7 +195,6 @@ plugin_init (GstPlugin * plugin)
- {
- GstVaapiDisplay *display;
- GArray *decoders;
-- guint rank;
-
- plugin_add_dependencies (plugin);
-
-@@ -220,10 +219,7 @@ plugin_init (GstPlugin * plugin)
- gst_element_register (plugin, "vaapidecodebin",
- GST_RANK_PRIMARY + 2, GST_TYPE_VAAPI_DECODE_BIN);
-
-- rank = GST_RANK_PRIMARY;
-- if (g_getenv ("WAYLAND_DISPLAY"))
-- rank = GST_RANK_MARGINAL;
-- gst_element_register (plugin, "vaapisink", rank, GST_TYPE_VAAPISINK);
-+ gst_element_register (plugin, "vaapisink", GST_RANK_MARGINAL, GST_TYPE_VAAPISINK);
-
- #if USE_ENCODERS
- gst_vaapiencode_register (plugin, display);
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.1.bb
similarity index 81%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.2.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.1.bb
index 1bedf25..acf5598 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.2.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.1.bb
@@ -8,28 +8,23 @@
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
-SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz \
- file://0001-vaapsink-downgrade-to-marginal.patch \
- "
+SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "13f7cb6a64bde24e67f563377487dcce"
-SRC_URI[sha256sum] = "191de7b0ab64a85dd0875c990721e7be95518f60e2a9106beca162004ed7c601"
+SRC_URI[sha256sum] = "400d3c42810b50b4566df03f37319a6bdd758f969560c40147e7d9a3b0e8a6ea"
S = "${WORKDIR}/${REALPN}-${PV}"
DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
-inherit meson pkgconfig gtk-doc features_check upstream-version-is-even
+inherit meson pkgconfig features_check upstream-version-is-even
REQUIRED_DISTRO_FEATURES ?= "opengl"
EXTRA_OEMESON += " \
+ -Ddoc=disabled \
-Dexamples=disabled \
+ -Dtests=enabled \
"
-GTKDOC_MESON_OPTION = "gtk_doc"
-GTKDOC_MESON_ENABLE_FLAG = "enabled"
-GTKDOC_MESON_DISABLE_FLAG = "disabled"
-
PACKAGES =+ "${PN}-tests"
# OpenGL packageconfig factored out to make it easy for distros
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
index 67a872c..17f8a0b 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
@@ -1,7 +1,7 @@
-From a1d7c582392c8bc87fa9411af77b20e011944357 Mon Sep 17 00:00:00 2001
+From f700975f514758a4a7582c2c972fa54ecfca3302 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 25 Jan 2018 17:55:02 +0200
-Subject: [PATCH] gst/gstpluginloader.c: when env var is set do not fall
+Subject: [PATCH 1/4] gst/gstpluginloader.c: when env var is set do not fall
through to system plugin scanner
If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that.
@@ -9,17 +9,19 @@
Falling through to the one installed on the system is problamatic in cross-compilation
environemnts, regardless of whether one pointed to by the env var succeeded or failed.
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+written by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669]
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
gst/gstpluginloader.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c
-index 430829d..3a75731 100644
+index d1e404d..2e00c3c 100644
--- a/gst/gstpluginloader.c
+++ b/gst/gstpluginloader.c
-@@ -471,9 +471,7 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
+@@ -475,9 +475,7 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
helper_bin = g_strdup (env);
res = gst_plugin_loader_try_helper (loader, helper_bin);
g_free (helper_bin);
@@ -31,5 +33,5 @@
#ifdef G_OS_WIN32
--
-2.15.1
+2.28.0
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch
new file mode 100644
index 0000000..a2d215d
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch
@@ -0,0 +1,34 @@
+From 4449246a8d788e71dfe4679fba95955cec5894c1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Nov 2020 22:58:26 -0800
+Subject: [PATCH] gst_private.h: increse padding in struct _GstClockEntryImpl
+
+When compiling for 32bit architectures with 64bit time_t e.g. riscv32,
+the static assert that the GstClockEntryImpl smaller or
+equal to the struct _GstClockEntryImpl triggered.
+(they were 12bytes off).
+
+To fix this, the padding is increased by 8 bytes (on 32bit).
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/694]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gst/gst_private.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gst/gst_private.h b/gst/gst_private.h
+index a8897e1..8252ede 100644
+--- a/gst/gst_private.h
++++ b/gst/gst_private.h
+@@ -522,7 +522,7 @@ struct _GstClockEntryImpl
+ GstClockEntry entry;
+ GWeakRef clock;
+ GDestroyNotify destroy_entry;
+- gpointer padding[19]; /* padding for allowing e.g. systemclock
++ gpointer padding[21]; /* padding for allowing e.g. systemclock
+ * to add data in lieu of overridable
+ * virtual functions on the clock */
+ };
+--
+2.29.2
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
new file mode 100644
index 0000000..c8bd58d
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
@@ -0,0 +1,112 @@
+From 355dd938bfb2cd36d6c3c4ed59ba1dcafdc78d95 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
+Date: Fri, 14 Aug 2020 16:38:26 +0100
+Subject: [PATCH 2/4] Remove unused valgrind detection
+
+Having this just to log a debug message in case we're
+running inside valgrind doesn't seem very useful, and
+the code that used to use this no longer exists it seems.
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/595>
+
+Upstream-Status: Backport [a2cbf75523cdf8a4df1baa7007d86ef455972245]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ gst/gst_private.h | 2 --
+ gst/gstinfo.c | 39 ---------------------------------------
+ meson.build | 1 -
+ 3 files changed, 42 deletions(-)
+
+diff --git a/gst/gst_private.h b/gst/gst_private.h
+index 1b0f02b..a8897e1 100644
+--- a/gst/gst_private.h
++++ b/gst/gst_private.h
+@@ -116,8 +116,6 @@ G_GNUC_INTERNAL gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin
+
+ G_GNUC_INTERNAL gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin);
+
+-G_GNUC_INTERNAL gboolean _priv_gst_in_valgrind (void);
+-
+ /* init functions called from gst_init(). */
+ G_GNUC_INTERNAL void _priv_gst_quarks_initialize (void);
+ G_GNUC_INTERNAL void _priv_gst_mini_object_initialize (void);
+diff --git a/gst/gstinfo.c b/gst/gstinfo.c
+index 37987d3..15f522e 100644
+--- a/gst/gstinfo.c
++++ b/gst/gstinfo.c
+@@ -304,36 +304,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT;
+ static volatile gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT;
+ static volatile gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON;
+
+-/* FIXME: export this? */
+-gboolean
+-_priv_gst_in_valgrind (void)
+-{
+- static enum
+- {
+- GST_VG_UNCHECKED,
+- GST_VG_NO_VALGRIND,
+- GST_VG_INSIDE
+- }
+- in_valgrind = GST_VG_UNCHECKED;
+-
+- if (in_valgrind == GST_VG_UNCHECKED) {
+-#ifdef HAVE_VALGRIND_VALGRIND_H
+- if (RUNNING_ON_VALGRIND) {
+- GST_CAT_INFO (GST_CAT_GST_INIT, "we're running inside valgrind");
+- in_valgrind = GST_VG_INSIDE;
+- } else {
+- GST_CAT_LOG (GST_CAT_GST_INIT, "not doing extra valgrind stuff");
+- in_valgrind = GST_VG_NO_VALGRIND;
+- }
+-#else
+- in_valgrind = GST_VG_NO_VALGRIND;
+-#endif
+- g_assert (in_valgrind == GST_VG_NO_VALGRIND ||
+- in_valgrind == GST_VG_INSIDE);
+- }
+- return (in_valgrind == GST_VG_INSIDE);
+-}
+-
+ static gchar *
+ _replace_pattern_in_gst_debug_file_name (gchar * name, const char *token,
+ guint val)
+@@ -462,9 +432,6 @@ _priv_gst_debug_init (void)
+ _priv_GST_CAT_PROTECTION =
+ _gst_debug_category_new ("GST_PROTECTION", 0, "protection");
+
+- /* print out the valgrind message if we're in valgrind */
+- _priv_gst_in_valgrind ();
+-
+ env = g_getenv ("GST_DEBUG_OPTIONS");
+ if (env != NULL) {
+ if (strstr (env, "full_tags") || strstr (env, "full-tags"))
+@@ -2502,12 +2469,6 @@ gst_debug_construct_win_color (guint colorinfo)
+ return 0;
+ }
+
+-gboolean
+-_priv_gst_in_valgrind (void)
+-{
+- return FALSE;
+-}
+-
+ void
+ _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
+ const gchar * func, gint line, GObject * obj, const gchar * msg,
+diff --git a/meson.build b/meson.build
+index f95b4f7..143c043 100644
+--- a/meson.build
++++ b/meson.build
+@@ -200,7 +200,6 @@ check_headers = [
+ 'sys/wait.h',
+ 'ucontext.h',
+ 'unistd.h',
+- 'valgrind/valgrind.h',
+ 'sys/resource.h',
+ 'sys/uio.h',
+ ]
+--
+2.28.0
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch
deleted file mode 100644
index 1ed7198..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
-Date: Thu, 17 Oct 2019 12:13:35 +0100
-Subject: [PATCH] meson: build gir even when cross-compiling if introspection
- was enabled explicitly
-
-This can be made to work in certain circumstances when
-cross-compiling, so default to not building g-i stuff
-when cross-compiling, but allow it if introspection was
-enabled explicitly via -Dintrospection=enabled.
-
-Fixes #454 and #381.
-
-Upstream-Status: Backport [35db4a2433fbdf8612cf98b5aab5b14aeb5372f8]
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 90d98d8eb..a47e7f34e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -466,7 +466,7 @@ rt_lib = cc.find_library('rt', required : false)
- gir = find_program('g-ir-scanner', required : get_option('introspection'))
- gnome = import('gnome')
-
--build_gir = gir.found() and not meson.is_cross_build()
-+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
-
- gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
- 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \
---
-2.17.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch
similarity index 97%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch
index 0e6c44e..1c0e1f8 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch
@@ -1,7 +1,7 @@
-From b843400284751968862751dfe93853f151551c64 Mon Sep 17 00:00:00 2001
+From 24867db22a5cc35e7643bc218e959ce56c306aca Mon Sep 17 00:00:00 2001
From: Carlos Rafael Giani <crg7475@mailbox.org>
Date: Fri, 25 Oct 2019 00:06:26 +0200
-Subject: [PATCH] meson: Add option for installed tests
+Subject: [PATCH 3/4] meson: Add option for installed tests
This adds an option for producing installed versions of the unit tests.
These versions don't need meson to run (only a small shell script). This
@@ -77,10 +77,10 @@
+write_template(args.output, build_template(args.test_execdir, args.testname))
+os.chmod(args.output, 0o755)
diff --git a/meson_options.txt b/meson_options.txt
-index 8afde39..8884dcc 100644
+index 72c3997..346c423 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -16,6 +16,8 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
+@@ -15,6 +15,8 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
option('memory-alignment', type: 'combo',
choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
value: 'malloc')
@@ -90,10 +90,10 @@
# Feature options
option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
diff --git a/tests/check/meson.build b/tests/check/meson.build
-index 04da83f..2db7f76 100644
+index 372ea41..bb0dcfa 100644
--- a/tests/check/meson.build
+++ b/tests/check/meson.build
-@@ -118,11 +118,17 @@ if add_languages('cpp', required : false)
+@@ -120,11 +120,17 @@ if add_languages('cpp', native: false, required: false)
]
endif
@@ -109,10 +109,10 @@
'-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
- '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"',
+ '-DTESTFILE="@0@"'.format(test_files_path + '/testfile'),
- '-DGST_USE_UNSTABLE_API',
'-DGST_DISABLE_DEPRECATED',
]
-@@ -137,6 +143,14 @@ endif
+
+@@ -138,6 +144,14 @@ endif
glib_deps = [gio_dep, gobject_dep, gmodule_dep, glib_dep]
gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep]
@@ -127,7 +127,7 @@
foreach t : core_tests
fname = t[0]
test_name = fname.split('.')[0].underscorify()
-@@ -150,8 +164,38 @@ foreach t : core_tests
+@@ -151,8 +165,38 @@ foreach t : core_tests
include_directories : [configinc],
link_with : link_with_libs,
dependencies : test_deps + glib_deps + gst_deps,
@@ -253,5 +253,5 @@
+................................................................................
+................................................................................
--
-2.17.1
+2.28.0
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch
deleted file mode 100644
index f553340..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From f6c7973c03d9ba7dab60c496e768c5e6c4ee824c Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <crg7475@mailbox.org>
-Date: Sun, 20 Oct 2019 10:36:44 +0200
-Subject: [PATCH] meson: Add valgrind feature
-
-This allows for enabling/disabling Valgrind support. Since Valgrind is
-an external dependency, such a feature is needed by build environemnts
-such as Yocto to make sure builds are deterministic. These changes also
-add more Valgrind specific configure log output.
-
-Upstream-Status: Pending
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
----
- meson.build | 23 ++++++++++++++++++++++-
- meson_options.txt | 1 +
- 2 files changed, 23 insertions(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index b55ecc5..4751761 100644
---- a/meson.build
-+++ b/meson.build
-@@ -199,7 +199,6 @@ check_headers = [
- 'sys/wait.h',
- 'ucontext.h',
- 'unistd.h',
-- 'valgrind/valgrind.h',
- 'sys/resource.h',
- ]
-
-@@ -214,6 +213,28 @@ foreach h : check_headers
- endif
- endforeach
-
-+valgrind_option = get_option('valgrind')
-+if valgrind_option.disabled()
-+ message('Valgrind support not requested; disabled.')
-+else
-+ valgrind_header = 'valgrind/valgrind.h'
-+ has_valgrind_header = cc.has_header(valgrind_header)
-+ if has_valgrind_header
-+ message('Valgrind support requested, and header ' + valgrind_header + \
-+ ' found. Enabled Valgrind support.')
-+ define = 'HAVE_' + valgrind_header.underscorify().to_upper()
-+ cdata.set(define, 1)
-+ else
-+ if valgrind_option.enabled()
-+ error('Valgrind support requested and set as required, but header ' + \
-+ valgrind_header + ' not found.')
-+ else
-+ message('Valgrind support requested, but header ' + valgrind_header + \
-+ ' not found. Disabling Valgrind support.')
-+ endif
-+ endif
-+endif
-+
- if cc.has_member('struct tm', 'tm_gmtoff', prefix : '#include <time.h>')
- cdata.set('HAVE_TM_GMTOFF', 1)
- endif
-diff --git a/meson_options.txt b/meson_options.txt
-index e7ff7ba..8afde39 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -19,6 +19,7 @@ option('memory-alignment', type: 'combo',
-
- # Feature options
- option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
-+option('valgrind', type : 'feature', value : 'auto', description : 'Enable Valgrind support')
- option('libunwind', type : 'feature', value : 'auto', description : 'Use libunwind to generate backtraces')
- option('libdw', type : 'feature', value : 'auto', description : 'Use libdw to generate better backtraces from libunwind')
- option('dbghelp', type : 'feature', value : 'auto', description : 'Use dbghelp to generate backtraces')
---
-2.17.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch
deleted file mode 100644
index 7ca3d5a..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Currently gstreamer configuration depends on whether setcap is found on the host
-system. Turn this into a configure option to make builds deterinistic.
-
-RP 2020/2/19
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Upstream-Status: Pending
-
-Index: gstreamer-1.16.1/libs/gst/helpers/meson.build
-===================================================================
---- gstreamer-1.16.1.orig/libs/gst/helpers/meson.build
-+++ gstreamer-1.16.1/libs/gst/helpers/meson.build
-@@ -73,7 +73,12 @@ if have_ptp
- endif
- endif
-
-- setcap = find_program('setcap', '/usr/sbin/setcap', '/sbin/setcap', required : false)
-+ setcap_feature = get_option('setcap')
-+ if setcap_feature.disabled()
-+ setcap = find_program('dontexist', required : false)
-+ else
-+ setcap = find_program('setcap', '/usr/sbin/setcap', '/sbin/setcap', required : false)
-+ endif
-
- # user/group to change to in gst-ptp-helper
- ptp_helper_setuid_user = get_option('ptp-helper-setuid-user')
-Index: gstreamer-1.16.1/meson_options.txt
-===================================================================
---- gstreamer-1.16.1.orig/meson_options.txt
-+++ gstreamer-1.16.1/meson_options.txt
-@@ -26,6 +26,7 @@ option('libunwind', type : 'feature', va
- option('libdw', type : 'feature', value : 'auto', description : 'Use libdw to generate better backtraces from libunwind')
- option('dbghelp', type : 'feature', value : 'auto', description : 'Use dbghelp to generate backtraces')
- option('bash-completion', type : 'feature', value : 'auto', description : 'Install bash completion files')
-+option('setcap', type : 'feature', value : 'auto', description : 'Use setcap')
-
- # Common feature options
- option('examples', type : 'feature', value : 'auto', yield : true)
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb
similarity index 72%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb
index 50a872e..d55b287 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb
@@ -6,25 +6,22 @@
SECTION = "multimedia"
LICENSE = "LGPLv2+"
-DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native"
+DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"
-inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc
+inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
S = "${WORKDIR}/gstreamer-${PV}"
-SRC_URI = " \
- https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
- file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
- file://0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
- file://0003-meson-Add-valgrind-feature.patch \
- file://0004-meson-Add-option-for-installed-tests.patch \
- file://capfix.patch \
-"
-SRC_URI[md5sum] = "0e661ed5bdf1d8996e430228d022628e"
-SRC_URI[sha256sum] = "e3f044246783fd685439647373fa13ba14f7ab0b346eadd06437092f8419e94e"
+SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
+ file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
+ file://0002-Remove-unused-valgrind-detection.patch \
+ file://0003-meson-Add-option-for-installed-tests.patch \
+ file://0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch \
+ "
+SRC_URI[sha256sum] = "79df8de21f284a105a5c1568527f8c559c583c85c0f2bd7bdb5b0372b8beecba"
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
check \
@@ -35,12 +32,11 @@
PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled"
PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false"
-PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind,"
PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
-PACKAGECONFIG[setcap] = "-Dsetcap=enabled,-Dsetcap=disabled,libcap libcap-native"
+PACKAGECONFIG[setcap] = ",,libcap libcap-native"
# TODO: put this in a gettext.bbclass patch
def gettext_oemeson(d):
@@ -52,15 +48,12 @@
return '-Dnls=enabled'
EXTRA_OEMESON += " \
+ -Ddoc=disabled \
-Dexamples=disabled \
-Ddbghelp=disabled \
${@gettext_oemeson(d)} \
"
-GTKDOC_MESON_OPTION = "gtk_doc"
-GTKDOC_MESON_ENABLE_FLAG = "enabled"
-GTKDOC_MESON_DISABLE_FLAG = "disabled"
-
GIR_MESON_ENABLE_FLAG = "enabled"
GIR_MESON_DISABLE_FLAG = "disabled"
diff --git a/poky/meta/recipes-multimedia/libvorbis/libvorbis_1.3.7.bb b/poky/meta/recipes-multimedia/libvorbis/libvorbis_1.3.7.bb
index c5c1034..023bce0 100644
--- a/poky/meta/recipes-multimedia/libvorbis/libvorbis_1.3.7.bb
+++ b/poky/meta/recipes-multimedia/libvorbis/libvorbis_1.3.7.bb
@@ -2,8 +2,8 @@
DESCRIPTION = "Ogg Vorbis is a high-quality lossy audio codec \
that is free of intellectual property restrictions. libvorbis \
is the main vorbis codec library."
-HOMEPAGE = "http://www.vorbis.com/"
-BUGTRACKER = "https://trac.xiph.org"
+HOMEPAGE = "https://xiph.org/vorbis/"
+BUGTRACKER = "https://gitlab.xiph.org/xiph/vorbis/-/issues"
SECTION = "libs"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=73d9c8942c60b846c3bad13cc6c2e520 \
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 4e32b27..3a26cb5 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -149,7 +149,7 @@
do_install_append() {
install -d ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/volatiles.04_pulse
+ install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/04_pulse
}
USERADD_PACKAGES = "pulseaudio-server"
@@ -192,7 +192,7 @@
FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala ${libdir}/cmake"
FILES_${PN}-conf = "${sysconfdir}"
-FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse"
+FILES_${PN}-bin += "${sysconfdir}/default/volatiles/04_pulse"
FILES_${PN}-pa-info = "${bindir}/pa-info"
FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*"
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap-arm-Adjust-inline-asm-constraints.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap-arm-Adjust-inline-asm-constraints.patch
deleted file mode 100644
index 95133fd..0000000
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap-arm-Adjust-inline-asm-constraints.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 3450d1fcfe8a8f84553ab299cd96ae0705ddffbe Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 5 Mar 2020 11:48:28 -0800
-Subject: [PATCH] remap/arm: Adjust inline asm constraints
-
-gcc10 can effectively emit single precision registers if right
-operand modifier constraint is not in use
-
-This results in assembler rejecting the code
-
-/tmp/ccEG4QpI.s:646: Error: VFP/Neon double precision register expected -- `vtbl.8 d3,{d0,d1},s8'
-/tmp/ccEG4QpI.s:678: Error: invalid instruction shape -- `vmul.f32 d0,d0,s8'
-
-Therefore add %P qualifier to request double registers sinece 'w' could
-mean variable could be stored in s0..s14 and GCC defaults to printing out s0..s14.
-Note those registers map to d0..d7 also.
-
-Output generated is exactly same with gcc9, and it also now compiles
-with gcc10
-
-Its not documented well in gcc docs and there is a ticket for that
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84343
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/261]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/pulsecore/remap_neon.c | 22 +++++++++++-----------
- 1 file changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/src/pulsecore/remap_neon.c b/src/pulsecore/remap_neon.c
-index 41208986d..ca3b95b48 100644
---- a/src/pulsecore/remap_neon.c
-+++ b/src/pulsecore/remap_neon.c
-@@ -189,7 +189,7 @@ static void remap_ch4_to_mono_float32ne_neon(pa_remap_t *m, float *dst, const fl
- "vadd.f32 d0, d0, d1 \n\t"
- "vadd.f32 d2, d2, d3 \n\t"
- "vadd.f32 d0, d0, d2 \n\t"
-- "vmul.f32 d0, d0, %[quart] \n\t"
-+ "vmul.f32 d0, d0, %P[quart] \n\t"
- "vst1.32 {d0}, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [quart] "w" (quart) /* input operands */
-@@ -276,7 +276,7 @@ static void remap_arrange_stereo_s16ne_neon(pa_remap_t *m, int16_t *dst, const i
- for (; n >= 2; n -= 2) {
- __asm__ __volatile__ (
- "vld1.s16 d0, [%[src]]! \n\t"
-- "vtbl.8 d0, {d0}, %[t] \n\t"
-+ "vtbl.8 d0, {d0}, %P[t] \n\t"
- "vst1.s16 d0, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t] "w" (t) /* input operands */
-@@ -287,7 +287,7 @@ static void remap_arrange_stereo_s16ne_neon(pa_remap_t *m, int16_t *dst, const i
- if (n > 0) {
- __asm__ __volatile__ (
- "vld1.32 d0[0], [%[src]]! \n\t"
-- "vtbl.8 d0, {d0}, %[t] \n\t"
-+ "vtbl.8 d0, {d0}, %P[t] \n\t"
- "vst1.32 d0[0], [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t] "w" (t) /* input operands */
-@@ -302,8 +302,8 @@ static void remap_arrange_ch2_ch4_s16ne_neon(pa_remap_t *m, int16_t *dst, const
- for (; n > 0; n--) {
- __asm__ __volatile__ (
- "vld1.32 d0[0], [%[src]]! \n\t"
-- "vtbl.8 d0, {d0}, %[t] \n\t"
-- "vst1.s16 d0, [%[dst]]! \n\t"
-+ "vtbl.8 d0, {d0}, %P[t] \n\t"
-+ "vst1.s16 d0, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t] "w" (t) /* input operands */
- : "memory", "d0" /* clobber list */
-@@ -317,7 +317,7 @@ static void remap_arrange_ch4_s16ne_neon(pa_remap_t *m, int16_t *dst, const int1
- for (; n > 0; n--) {
- __asm__ __volatile__ (
- "vld1.s16 d0, [%[src]]! \n\t"
-- "vtbl.8 d0, {d0}, %[t] \n\t"
-+ "vtbl.8 d0, {d0}, %P[t] \n\t"
- "vst1.s16 d0, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t] "w" (t) /* input operands */
-@@ -332,7 +332,7 @@ static void remap_arrange_stereo_float32ne_neon(pa_remap_t *m, float *dst, const
- for (; n > 0; n--) {
- __asm__ __volatile__ (
- "vld1.f32 d0, [%[src]]! \n\t"
-- "vtbl.8 d0, {d0}, %[t] \n\t"
-+ "vtbl.8 d0, {d0}, %P[t] \n\t"
- "vst1.s16 {d0}, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t] "w" (t) /* input operands */
-@@ -349,8 +349,8 @@ static void remap_arrange_ch2_ch4_any32ne_neon(pa_remap_t *m, float *dst, const
- for (; n > 0; n--) {
- __asm__ __volatile__ (
- "vld1.f32 d0, [%[src]]! \n\t"
-- "vtbl.8 d1, {d0}, %[t0] \n\t"
-- "vtbl.8 d2, {d0}, %[t1] \n\t"
-+ "vtbl.8 d1, {d0}, %P[t0] \n\t"
-+ "vtbl.8 d2, {d0}, %P[t1] \n\t"
- "vst1.s16 {d1,d2}, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t0] "w" (t0), [t1] "w" (t1) /* input operands */
-@@ -366,8 +366,8 @@ static void remap_arrange_ch4_float32ne_neon(pa_remap_t *m, float *dst, const fl
- for (; n > 0; n--) {
- __asm__ __volatile__ (
- "vld1.f32 {d0,d1}, [%[src]]! \n\t"
-- "vtbl.8 d2, {d0,d1}, %[t0] \n\t"
-- "vtbl.8 d3, {d0,d1}, %[t1] \n\t"
-+ "vtbl.8 d2, {d0,d1}, %P[t0] \n\t"
-+ "vtbl.8 d3, {d0,d1}, %P[t1] \n\t"
- "vst1.s16 {d2,d3}, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t0] "w" (t0), [t1] "w" (t1) /* input operands */
---
-2.25.1
-
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap_neon-use-register-r12-instead-of-r7.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap_neon-use-register-r12-instead-of-r7.patch
deleted file mode 100644
index aaa162f..0000000
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap_neon-use-register-r12-instead-of-r7.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 4a1668f341f0228904105f77fe5871b9d59b2663 Mon Sep 17 00:00:00 2001
-From: Tanu Kaskinen <tanuk@iki.fi>
-Date: Mon, 13 Jul 2020 12:42:14 +0300
-Subject: [PATCH] remap_neon: use register r12 instead of r7
-
-When the Thumb instructions set is used and frame pointers are enabled
-(-fno-omit-frame-pointer), r7 can't be used, because it's used for the
-frame pointer. Trying to use r7 caused the compilation to fail.
-
-Thanks to Andre McCurdy for suggesting[1] this fix, all I had to do was to
-test that it works. The code builds now, and cpu-remap-test also
-succeeds.
-
-[1] https://lists.openembedded.org/g/openembedded-core/message/136786
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/324]
-
-Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
----
- src/pulsecore/remap_neon.c | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/src/pulsecore/remap_neon.c b/src/pulsecore/remap_neon.c
-index ca3b95b48..6f71345f8 100644
---- a/src/pulsecore/remap_neon.c
-+++ b/src/pulsecore/remap_neon.c
-@@ -52,11 +52,15 @@ static void remap_mono_to_stereo_float32ne_generic_arm(pa_remap_t *m, float *dst
- __asm__ __volatile__ (
- "ldm %[src]!, {r4,r6} \n\t"
- "mov r5, r4 \n\t"
-- "mov r7, r6 \n\t"
-- "stm %[dst]!, {r4-r7} \n\t"
-+
-+ /* We use r12 instead of r7 here, because r7 is reserved for the
-+ * frame pointer when using Thumb. */
-+ "mov r12, r6 \n\t"
-+
-+ "stm %[dst]!, {r4-r6,r12} \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : /* input operands */
-- : "memory", "r4", "r5", "r6", "r7" /* clobber list */
-+ : "memory", "r4", "r5", "r6", "r12" /* clobber list */
- );
- }
-
---
-2.20.1
-
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_13.0.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_13.0.bb
deleted file mode 100644
index 53e9a23..0000000
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_13.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require pulseaudio.inc
-
-SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
- file://0001-client-conf-Add-allow-autospawn-for-root.patch \
- file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \
- file://0001-remap-arm-Adjust-inline-asm-constraints.patch \
- file://0001-remap_neon-use-register-r12-instead-of-r7.patch \
- file://volatiles.04_pulse \
- "
-SRC_URI[md5sum] = "e41d606f90254ed45c90520faf83d95c"
-SRC_URI[sha256sum] = "961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057"
-UPSTREAM_CHECK_REGEX = "pulseaudio-(?P<pver>\d+(\.(?!99)\d+)+)\.tar"
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb
new file mode 100644
index 0000000..ac0c82e
--- /dev/null
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb
@@ -0,0 +1,10 @@
+require pulseaudio.inc
+
+SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
+ file://0001-client-conf-Add-allow-autospawn-for-root.patch \
+ file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \
+ file://volatiles.04_pulse \
+ "
+SRC_URI[md5sum] = "84a7776e63dd55c40db8fbd7c7e2e18e"
+SRC_URI[sha256sum] = "a834775d9382b055504e5ee7625dc50768daac29329531deb6597bf05e06c261"
+UPSTREAM_CHECK_REGEX = "pulseaudio-(?P<pver>\d+(\.(?!99)\d+)+)\.tar"
diff --git a/poky/meta/recipes-multimedia/x264/x264_git.bb b/poky/meta/recipes-multimedia/x264/x264_git.bb
index f226fec..25ab72c 100644
--- a/poky/meta/recipes-multimedia/x264/x264_git.bb
+++ b/poky/meta/recipes-multimedia/x264/x264_git.bb
@@ -14,7 +14,7 @@
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "cde9a93319bea766a92e306d69059c76de970190"
+SRCREV = "d198931a63049db1f2c92d96c34904c69fde8117"
PV = "r3011+git${SRCPV}"
diff --git a/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch b/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch
new file mode 100644
index 0000000..8fd94b1
--- /dev/null
+++ b/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch
@@ -0,0 +1,29 @@
+From f89d6d6d23e0dacfd0008f686a457d536edc406a Mon Sep 17 00:00:00 2001
+From: Randy Witt <randy.e.witt@intel.com>
+Date: Fri, 16 Oct 2020 16:54:30 -0700
+Subject: [PATCH] Makefile: Allow for CC and AR to be overridden
+
+The Makefile previously allowed for this but it was removed upstream in
+commit 7763cf316d7896fa05b816a46998f0827ab6e6eb.
+
+Signed-off-by: Randy Witt <randy.e.witt@intel.com>
+
+Upstream-Status: Inappropriate [other]
+
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index c3ebbd7..2176835 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 1.9
+-CC = $(CROSS_COMPILE)gcc
+-AR = $(CROSS_COMPILE)ar
++CC ?= $(CROSS_COMPILE)gcc
++AR ?= $(CROSS_COMPILE)ar
+
+ OBJDIR = bld
+
diff --git a/poky/meta/recipes-rt/rt-tests/files/0001-rt-tests-oslat-Allow-build-for-not-supported-archs.patch b/poky/meta/recipes-rt/rt-tests/files/0001-rt-tests-oslat-Allow-build-for-not-supported-archs.patch
new file mode 100644
index 0000000..1ee7539
--- /dev/null
+++ b/poky/meta/recipes-rt/rt-tests/files/0001-rt-tests-oslat-Allow-build-for-not-supported-archs.patch
@@ -0,0 +1,52 @@
+From 165b597e3003c6870f5980e8902014d9344e6cf3 Mon Sep 17 00:00:00 2001
+From: Peter Xu <peterx@redhat.com>
+Date: Thu, 1 Oct 2020 14:47:26 -0400
+Subject: [PATCH] rt-tests: oslat: Allow build for not supported archs
+
+Now rt-tests won't build for archs other than x86/i386/ppc64 after oslat is
+merged. Instead of failing the build, let's make it pass. However, whenever
+oslat is executed, instead of running the real program, dump an error message,
+so that people can try to implement the frc() function for it when there's a
+real need for the new arch.
+
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/commit/?id=165b597e3003c6870f5980e8902014d9344e6cf3]
+
+Signed-off-by: Peter Xu <peterx@redhat.com>
+Signed-off-by: John Kacur <jkacur@redhat.com>
+Signed-off-by: Peter Bergin <peter@berginkonsult.se>
+
+---
+ src/oslat/oslat.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/oslat/oslat.c b/src/oslat/oslat.c
+index f1a82f2..a8b6155 100644
+--- a/src/oslat/oslat.c
++++ b/src/oslat/oslat.c
+@@ -69,7 +69,9 @@ static inline void frc(uint64_t *pval)
+ __asm__ __volatile__("mfspr %0, 268\n" : "=r" (*pval));
+ }
+ # else
+-# error Need frc() for this platform.
++# define relax() do { } while (0)
++# define frc(x)
++# define FRC_MISSING
+ # endif
+ #else
+ # error Need to add support for this compiler.
+@@ -810,6 +812,12 @@ int main(int argc, char *argv[])
+ int i, n_cores;
+ cpu_set_t cpu_set;
+
++#ifdef FRC_MISSING
++ printf("This architecture is not yet supported. "
++ "Please implement frc() function first for %s.\n", argv[0]);
++ return 0;
++#endif
++
+ CPU_ZERO(&cpu_set);
+
+ g.app_name = argv[0];
+--
+2.25.1
+
diff --git a/poky/meta/recipes-rt/rt-tests/hwlatdetect_1.1.bb b/poky/meta/recipes-rt/rt-tests/hwlatdetect_1.9.bb
similarity index 100%
rename from poky/meta/recipes-rt/rt-tests/hwlatdetect_1.1.bb
rename to poky/meta/recipes-rt/rt-tests/hwlatdetect_1.9.bb
diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests-1.1/0001-gzip-with-n-for-build-reproducibilty.patch b/poky/meta/recipes-rt/rt-tests/rt-tests-1.1/0001-gzip-with-n-for-build-reproducibilty.patch
deleted file mode 100644
index 3bafbbe..0000000
--- a/poky/meta/recipes-rt/rt-tests/rt-tests-1.1/0001-gzip-with-n-for-build-reproducibilty.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From aabf518e2e61a882b925f9d2ac53dafa7a041a0a Mon Sep 17 00:00:00 2001
-From: Jeremy Puhlman <jpuhlman@mvista.com>
-Date: Tue, 25 Feb 2020 22:58:59 +0000
-Subject: [PATCH] gzip with -n for build reproducibilty
-
-The date can get encoded in the header of the gz file, which
-causes the binary files between two different builds of the
-same data to be different. Add -n for reproducibilty
-
-Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
-
-Upstream-Status: Submitted [mailinglist]
-
----
- Makefile | 24 ++++++++++++------------
- 1 file changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index a54d82b..e9f0d5a 100644
---- a/Makefile
-+++ b/Makefile
-@@ -168,17 +168,17 @@ install: all install_hwlatdetect
- cp $(TARGETS) "$(DESTDIR)$(bindir)"
- install -D -m 644 src/backfire/backfire.c "$(DESTDIR)$(srcdir)/backfire/backfire.c"
- install -m 644 src/backfire/Makefile "$(DESTDIR)$(srcdir)/backfire/Makefile"
-- gzip -c src/backfire/backfire.4 >"$(DESTDIR)$(mandir)/man4/backfire.4.gz"
-- gzip -c src/cyclictest/cyclictest.8 >"$(DESTDIR)$(mandir)/man8/cyclictest.8.gz"
-- gzip -c src/pi_tests/pi_stress.8 >"$(DESTDIR)$(mandir)/man8/pi_stress.8.gz"
-- gzip -c src/ptsematest/ptsematest.8 >"$(DESTDIR)$(mandir)/man8/ptsematest.8.gz"
-- gzip -c src/rt-migrate-test/rt-migrate-test.8 >"$(DESTDIR)$(mandir)/man8/rt-migrate-test.8.gz"
-- gzip -c src/sigwaittest/sigwaittest.8 >"$(DESTDIR)$(mandir)/man8/sigwaittest.8.gz"
-- gzip -c src/svsematest/svsematest.8 >"$(DESTDIR)$(mandir)/man8/svsematest.8.gz"
-- gzip -c src/pmqtest/pmqtest.8 >"$(DESTDIR)$(mandir)/man8/pmqtest.8.gz"
-- gzip -c src/backfire/sendme.8 >"$(DESTDIR)$(mandir)/man8/sendme.8.gz"
-- gzip -c src/hackbench/hackbench.8 >"$(DESTDIR)$(mandir)/man8/hackbench.8.gz"
-- gzip -c src/signaltest/signaltest.8 >"$(DESTDIR)$(mandir)/man8/signaltest.8.gz"
-+ gzip -nc src/backfire/backfire.4 >"$(DESTDIR)$(mandir)/man4/backfire.4.gz"
-+ gzip -nc src/cyclictest/cyclictest.8 >"$(DESTDIR)$(mandir)/man8/cyclictest.8.gz"
-+ gzip -nc src/pi_tests/pi_stress.8 >"$(DESTDIR)$(mandir)/man8/pi_stress.8.gz"
-+ gzip -nc src/ptsematest/ptsematest.8 >"$(DESTDIR)$(mandir)/man8/ptsematest.8.gz"
-+ gzip -nc src/rt-migrate-test/rt-migrate-test.8 >"$(DESTDIR)$(mandir)/man8/rt-migrate-test.8.gz"
-+ gzip -nc src/sigwaittest/sigwaittest.8 >"$(DESTDIR)$(mandir)/man8/sigwaittest.8.gz"
-+ gzip -nc src/svsematest/svsematest.8 >"$(DESTDIR)$(mandir)/man8/svsematest.8.gz"
-+ gzip -nc src/pmqtest/pmqtest.8 >"$(DESTDIR)$(mandir)/man8/pmqtest.8.gz"
-+ gzip -nc src/backfire/sendme.8 >"$(DESTDIR)$(mandir)/man8/sendme.8.gz"
-+ gzip -nc src/hackbench/hackbench.8 >"$(DESTDIR)$(mandir)/man8/hackbench.8.gz"
-+ gzip -nc src/signaltest/signaltest.8 >"$(DESTDIR)$(mandir)/man8/signaltest.8.gz"
-
- .PHONY: install_hwlatdetect
- install_hwlatdetect: hwlatdetect
-@@ -187,7 +187,7 @@ install_hwlatdetect: hwlatdetect
- install -D -m 755 src/hwlatdetect/hwlatdetect.py $(DESTDIR)$(PYLIB)/hwlatdetect.py ; \
- rm -f "$(DESTDIR)$(bindir)/hwlatdetect" ; \
- ln -s $(PYLIB)/hwlatdetect.py "$(DESTDIR)$(bindir)/hwlatdetect" ; \
-- gzip -c src/hwlatdetect/hwlatdetect.8 >"$(DESTDIR)$(mandir)/man8/hwlatdetect.8.gz" ; \
-+ gzip -nc src/hwlatdetect/hwlatdetect.8 >"$(DESTDIR)$(mandir)/man8/hwlatdetect.8.gz" ; \
- fi
-
- .PHONY: tarball
---
-2.23.0
-
diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests.inc b/poky/meta/recipes-rt/rt-tests/rt-tests.inc
index 6e3afaf..2dd890c 100644
--- a/poky/meta/recipes-rt/rt-tests/rt-tests.inc
+++ b/poky/meta/recipes-rt/rt-tests/rt-tests.inc
@@ -1,12 +1,7 @@
-# Version 1.1
-SRCREV = "dff174f994f547a5785d32454865f140daacb0f5"
+# Version 1.8
+SRCREV = "21c1df7d2ee199ac619cbb1806a38d15e7e95c09"
PE = "1"
-SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git"
-# 1.2 and up seem to be development versions
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(?!1\.[2-8])(\d+(\.\d+)+))"
+SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=unstable/devel/latest"
S = "${WORKDIR}/git"
-
-# calling 'uname -m' is broken on crossbuilds
-EXTRA_OEMAKE = "NUMA=0"
diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb b/poky/meta/recipes-rt/rt-tests/rt-tests_1.9.bb
similarity index 70%
rename from poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb
rename to poky/meta/recipes-rt/rt-tests/rt-tests_1.9.bb
index dad252b..b916a7f 100644
--- a/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb
+++ b/poky/meta/recipes-rt/rt-tests/rt-tests_1.9.bb
@@ -1,11 +1,9 @@
SUMMARY = "Real-Time preemption testcases"
HOMEPAGE = "https://rt.wiki.kernel.org/index.php/Cyclictest"
SECTION = "tests"
-DEPENDS = "linux-libc-headers virtual/libc"
+DEPENDS = "linux-libc-headers virtual/libc numactl"
LICENSE = "GPLv2 & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
- file://src/cyclictest/cyclictest.c;beginline=7;endline=9;md5=e768b8da44555fe63f65e5c497844cb5 \
- file://src/pi_tests/pi_stress.c;beginline=6;endline=19;md5=bd426a634a43ec612e9fbf125dfcc949"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
require rt-tests.inc
inherit ptest
@@ -13,7 +11,8 @@
SRC_URI += " \
file://run-ptest \
file://rt_bmark.py \
- file://0001-gzip-with-n-for-build-reproducibilty.patch \
+ file://0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch \
+ file://0001-rt-tests-oslat-Allow-build-for-not-supported-archs.patch \
"
# rt-tests needs PI mutex support in libc
@@ -34,3 +33,4 @@
RDEPENDS_${PN}-ptest += " stress-ng python3 python3-multiprocessing python3-datetime python3-misc"
FILES_${PN} += "${prefix}/src/backfire"
+RDEPENDS_${PN} += "bash"
diff --git a/poky/meta/recipes-sato/puzzles/files/0001-malloc-Check-for-excessive-values-to-malloc.patch b/poky/meta/recipes-sato/puzzles/files/0001-malloc-Check-for-excessive-values-to-malloc.patch
new file mode 100644
index 0000000..66af6af
--- /dev/null
+++ b/poky/meta/recipes-sato/puzzles/files/0001-malloc-Check-for-excessive-values-to-malloc.patch
@@ -0,0 +1,49 @@
+From 1c01a5bc9ac7f8aaa484b1a8e0e74aa5f8899d0e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 8 Nov 2020 11:17:59 -0800
+Subject: [PATCH] malloc: Check for excessive values to malloc
+
+with whole program optimizers like lto smalloc()
+is inlined the excessive constant argument is propagated to
+malloc() and ultimately triggers the warning.
+
+malloc.c:15:9: error: argument 1 range [18446744065119617024, 18446744073709551580] exceeds maximum object size 9223372036854775807 [-Werror=alloc-size-larger-than=]
+
+therefore add a check before excessive constant argument before calling
+malloc
+
+Note that this will not happen with normal compile since they happen to
+be in different translation units and compiler can not semantically
+analyze as much
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ malloc.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/malloc.c b/malloc.c
+index a7fa7c5..520377c 100644
+--- a/malloc.c
++++ b/malloc.c
+@@ -2,6 +2,7 @@
+ * malloc.c: safe wrappers around malloc, realloc, free, strdup
+ */
+
++#include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "puzzles.h"
+@@ -12,6 +13,8 @@
+ */
+ void *smalloc(size_t size) {
+ void *p;
++ if (size > PTRDIFF_MAX)
++ fatal("exceeds maximum object size");
+ p = malloc(size);
+ if (!p)
+ fatal("out of memory");
+--
+2.29.2
+
diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
index a0f3b5d..8e4d5b3 100644
--- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb
+++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -14,6 +14,7 @@
file://0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch \
file://0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch \
file://fix-ki-uninitialized.patch \
+ file://0001-malloc-Check-for-excessive-values-to-malloc.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
diff --git a/poky/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb b/poky/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb
index 227fd54..d01177f 100644
--- a/poky/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb
+++ b/poky/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb
@@ -1,5 +1,5 @@
SUMMARY = "Provides a bridge between gconf and xsettings"
-HOMEPAGE = "http://svn.o-hand.com/view/matchbox/trunk/settings-daemon/"
+HOMEPAGE = "https://git.yoctoproject.org/cgit/cgit.cgi/xsettings-daemon/"
BUGTRACKER = "http://bugzilla.yoctoproject.org/"
LICENSE = "MIT-style"
LIC_FILES_CHKSUM = "file://xsettings-manager.h;endline=22;md5=7cfac9d2d4dc3694cc7eb605cf32a69b \
diff --git a/poky/meta/recipes-sato/webkit/libwpe_1.7.1.bb b/poky/meta/recipes-sato/webkit/libwpe_1.8.0.bb
similarity index 87%
rename from poky/meta/recipes-sato/webkit/libwpe_1.7.1.bb
rename to poky/meta/recipes-sato/webkit/libwpe_1.8.0.bb
index e25d940..a81e696 100644
--- a/poky/meta/recipes-sato/webkit/libwpe_1.7.1.bb
+++ b/poky/meta/recipes-sato/webkit/libwpe_1.8.0.bb
@@ -14,4 +14,4 @@
REQUIRED_DISTRO_FEATURES = "opengl"
SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "a784b7fa0c658b28071100f6f6749b0d85bbcddd82de028e07672ce13982d340"
+SRC_URI[sha256sum] = "a6f00a7d091cbd4db57fe7ee3b4c12c6350921d654ed79812800a26c888481d2"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
index 268118b..ca7b1bc 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
@@ -1,4 +1,4 @@
-From 8ee7806ad2d5606967f7a1529a113fb9d1a386de Mon Sep 17 00:00:00 2001
+From b145ab4273c59f4f908cdaff9e267241bd970e93 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 3 Feb 2020 17:06:27 -0800
Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG
@@ -13,26 +13,26 @@
Upstream-Status: Submitted [https://trac.webkit.org/changeset/231843/webkit]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
- Source/cmake/OptionsGTK.cmake | 2 ++
+ Source/cmake/OptionsGTK.cmake | 1 +
Source/cmake/OptionsJSCOnly.cmake | 1 +
- 2 files changed, 3 insertions(+)
+ 2 files changed, 2 insertions(+)
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
-index d3beef19..6a92856f 100644
+index 8732e935..9b4fbae7 100644
--- a/Source/cmake/OptionsGTK.cmake
+++ b/Source/cmake/OptionsGTK.cmake
-@@ -17,6 +17,8 @@ set(WEBKITGTK_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/webkitgtk-${WEBKIT
- set(INTROSPECTION_INSTALL_GIRDIR "${CMAKE_INSTALL_FULL_DATADIR}/gir-1.0")
- set(INTROSPECTION_INSTALL_TYPELIBDIR "${LIB_INSTALL_DIR}/girepository-1.0")
-
+@@ -32,6 +32,7 @@ set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
+ if (USER_AGENT_BRANDING)
+ add_definitions(-DUSER_AGENT_BRANDING="${USER_AGENT_BRANDING}")
+ endif ()
+set(THREADS_PREFER_PTHREAD_FLAG ON)
-+
+
find_package(Cairo 1.14.0 REQUIRED)
find_package(Fontconfig 2.8.0 REQUIRED)
- find_package(Freetype 2.4.2 REQUIRED)
diff --git a/Source/cmake/OptionsJSCOnly.cmake b/Source/cmake/OptionsJSCOnly.cmake
-index b2e87418..326ade23 100644
+index 316c6240..2f712602 100644
--- a/Source/cmake/OptionsJSCOnly.cmake
+++ b/Source/cmake/OptionsJSCOnly.cmake
@@ -1,3 +1,4 @@
@@ -40,6 +40,3 @@
find_package(Threads REQUIRED)
if (MSVC)
---
-2.25.0
-
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-ICU-68.1-no-longer-exposes-FALSE-and-TRUE-macros-by-.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-ICU-68.1-no-longer-exposes-FALSE-and-TRUE-macros-by-.patch
new file mode 100644
index 0000000..3a02253
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-ICU-68.1-no-longer-exposes-FALSE-and-TRUE-macros-by-.patch
@@ -0,0 +1,180 @@
+From 8d1c44a03c1870912991467f8d8cd8bb6f85efa5 Mon Sep 17 00:00:00 2001
+From: "stephan.szabo@sony.com" <stephan.szabo@sony.com>
+Date: Tue, 3 Nov 2020 20:06:15 +0000
+Subject: [PATCH] ICU 68.1 no longer exposes FALSE and TRUE macros by default
+ https://bugs.webkit.org/show_bug.cgi?id=218522
+
+Reviewed by Don Olmstead.
+
+Source/WebCore:
+
+* platform/text/TextCodecICU.cpp: Replace use of TRUE with true
+
+Source/WebKit:
+
+* UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp: Replace FALSE with false
+
+Source/WTF:
+
+Replace uses of FALSE and TRUE with false and true.
+
+* wtf/text/icu/UTextProvider.h:
+* wtf/text/icu/UTextProviderLatin1.cpp:
+* wtf/text/icu/UTextProviderUTF16.cpp:
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+---
+ Source/WTF/wtf/text/icu/UTextProvider.h | 8 ++++----
+ Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp | 14 +++++++-------
+ Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp | 4 ++--
+ Source/WebCore/platform/text/TextCodecICU.cpp | 2 +-
+ .../DrawingAreaProxyCoordinatedGraphics.cpp | 2 +-
+ 5 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/Source/WTF/wtf/text/icu/UTextProvider.h b/Source/WTF/wtf/text/icu/UTextProvider.h
+index c8f28d6e..3c6fbeab 100644
+--- a/Source/WTF/wtf/text/icu/UTextProvider.h
++++ b/Source/WTF/wtf/text/icu/UTextProvider.h
+@@ -79,12 +79,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text, int64_t nativeIndex, int
+ // Ensure chunk offset is well formed if computed offset exceeds int32_t range.
+ ASSERT(offset < std::numeric_limits<int32_t>::max());
+ text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
+- isAccessible = TRUE;
++ isAccessible = true;
+ return true;
+ }
+ if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) {
+ text->chunkOffset = text->chunkLength;
+- isAccessible = FALSE;
++ isAccessible = false;
+ return true;
+ }
+ } else {
+@@ -93,12 +93,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text, int64_t nativeIndex, int
+ // Ensure chunk offset is well formed if computed offset exceeds int32_t range.
+ ASSERT(offset < std::numeric_limits<int32_t>::max());
+ text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
+- isAccessible = TRUE;
++ isAccessible = true;
+ return true;
+ }
+ if (nativeIndex <= 0 && !text->chunkNativeStart) {
+ text->chunkOffset = 0;
+- isAccessible = FALSE;
++ isAccessible = false;
+ return true;
+ }
+ }
+diff --git a/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp b/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp
+index 0a646b7f..49980f95 100644
+--- a/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp
++++ b/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp
+@@ -100,23 +100,23 @@ static UBool uTextLatin1Access(UText* uText, int64_t index, UBool forward)
+ if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) {
+ // Already inside the buffer. Set the new offset.
+ uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+- return TRUE;
++ return true;
+ }
+ if (index >= length && uText->chunkNativeLimit == length) {
+ // Off the end of the buffer, but we can't get it.
+ uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+- return FALSE;
++ return false;
+ }
+ } else {
+ if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) {
+ // Already inside the buffer. Set the new offset.
+ uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+- return TRUE;
++ return true;
+ }
+ if (!index && !uText->chunkNativeStart) {
+ // Already at the beginning; can't go any farther.
+ uText->chunkOffset = 0;
+- return FALSE;
++ return false;
+ }
+ }
+
+@@ -144,7 +144,7 @@ static UBool uTextLatin1Access(UText* uText, int64_t index, UBool forward)
+
+ uText->nativeIndexingLimit = uText->chunkLength;
+
+- return TRUE;
++ return true;
+ }
+
+ static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status)
+@@ -337,7 +337,7 @@ static int64_t uTextLatin1ContextAwareNativeLength(UText* text)
+ static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
+ {
+ if (!text->context)
+- return FALSE;
++ return false;
+ int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text);
+ UBool isAccessible;
+ if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
+@@ -357,7 +357,7 @@ static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBo
+ ASSERT(newContext == UTextProviderContext::PriorContext);
+ textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
+ }
+- return TRUE;
++ return true;
+ }
+
+ static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
+diff --git a/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp b/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp
+index 69c8d091..9c3fa709 100644
+--- a/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp
++++ b/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp
+@@ -126,7 +126,7 @@ static inline int64_t uTextUTF16ContextAwareNativeLength(UText* text)
+ static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
+ {
+ if (!text->context)
+- return FALSE;
++ return false;
+ int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text);
+ UBool isAccessible;
+ if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
+@@ -146,7 +146,7 @@ static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBoo
+ ASSERT(newContext == UTextProviderContext::PriorContext);
+ textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
+ }
+- return TRUE;
++ return true;
+ }
+
+ static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
+diff --git a/Source/WebCore/platform/text/TextCodecICU.cpp b/Source/WebCore/platform/text/TextCodecICU.cpp
+index c2684939..e716a6fb 100644
+--- a/Source/WebCore/platform/text/TextCodecICU.cpp
++++ b/Source/WebCore/platform/text/TextCodecICU.cpp
+@@ -240,7 +240,7 @@ void TextCodecICU::createICUConverter() const
+ UErrorCode error = U_ZERO_ERROR;
+ m_converter = ICUConverterPtr { ucnv_open(m_canonicalConverterName, &error), ucnv_close };
+ if (m_converter)
+- ucnv_setFallback(m_converter.get(), TRUE);
++ ucnv_setFallback(m_converter.get(), true);
+ }
+
+ int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& error)
+diff --git a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
+index 61e3f605..5a51b9ec 100644
+--- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
++++ b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
+@@ -402,7 +402,7 @@ DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::~DrawingMonitor()
+ int DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::webViewDrawCallback(DrawingAreaProxyCoordinatedGraphics::DrawingMonitor* monitor)
+ {
+ monitor->didDraw();
+- return FALSE;
++ return false;
+ }
+
+ void DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::start(WTF::Function<void(CallbackBase::Error)>&& callback)
+--
+2.25.1
+
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch
deleted file mode 100644
index e8d1d8c..0000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From bed4cf4aaa6aad4172ec9942e9039fb8e1ef68a4 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 29 Feb 2016 18:13:39 +0200
-Subject: [PATCH] OptionsGTK.cmake: drop the hardcoded introspection/gtkdoc
- disabling when cross-compiling
-
-This was not possible to override from the command line and in OpenEmbedded
-(one of the most prominent cross-compilation frameworks) introspection does work fine,
-through the use of qemu target emulation.
-
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
-Upstream-Status: Pending
-
----
- Source/cmake/OptionsGTK.cmake | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
-index 661b40e..404441b 100644
---- a/Source/cmake/OptionsGTK.cmake
-+++ b/Source/cmake/OptionsGTK.cmake
-@@ -352,12 +352,6 @@ if (ENABLED_COMPILER_SANITIZERS)
- set(ENABLE_INTROSPECTION OFF)
- endif ()
-
--# Override the cached variables, gtk-doc and gobject-introspection do not really work when cross-building.
--if (CMAKE_CROSSCOMPILING)
-- set(ENABLE_GTKDOC OFF)
-- set(ENABLE_INTROSPECTION OFF)
--endif ()
--
- # Override the cached variable, gtk-doc does not really work when building on Mac.
- if (APPLE)
- set(ENABLE_GTKDOC OFF)
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-clang-11-fix-build-errors-due-to-WWc-11-narrowing.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-clang-11-fix-build-errors-due-to-WWc-11-narrowing.patch
deleted file mode 100644
index d8bb8ef..0000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-clang-11-fix-build-errors-due-to-WWc-11-narrowing.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From cb929f59b527fe890376e47613dfe1434a320bc0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 11 Aug 2020 15:44:48 -0700
-Subject: [PATCH] [clang 11] fix build errors due to -WWc++11-narrowing
-
-https://bugs.webkit.org/show_bug.cgi?id=211193
-
-Reviewed by Adrian Perez de Castro.
-
-Fixes the following errors,
-
-Source/WebCore/html/MediaElementSession.cpp:1059:9: error: type 'WebCore::RenderMedia *' cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing]
-m_element.renderer(),
-^~~~~~~~~~~~~~~~~~~~
-
-Source/WebCore/style/StyleResolver.cpp:106:55: error: type 'const char [4]' cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing]
-m_mediaQueryEvaluator = MediaQueryEvaluator { "all" };
- ^~~~~
-Source/WebCore/style/StyleResolver.cpp:106:55: note: insert an explicit cast to silence this issue
-m_mediaQueryEvaluator = MediaQueryEvaluator { "all" };
- ^~~~~
- static_cast<bool>( )
-
-* html/HTMLMediaElement.h:
-(WebCore::HTMLMediaElement::hasRenderer const):
-MediaElementSession was implicitly casting a pointer to a bool,
-which is not allowed with modern Clang checks. Add a helper method
-to encapsulate the now required static_cast<bool>.
-* html/MediaElementSession.cpp: Use the new helper method to see
-if the HTMLMediaElement has an associated renderer.
-(WebCore::MediaElementSession::updateMediaUsageIfChanged):
-* style/StyleResolver.cpp: This was calling MediaQueryEvaluator {
-"all" }; and seemingly expecting to cast a const char[] to a bool,
-or maybe String? It's confusing because of the MediaQueryEvaluator
-API. If it was implicitly converting to bool then that could be
-unintentional. Such casts are not allowed either now. The
-MediaQueryEvaluator's default constructor says it returns true for
-"all", which appears to be the original intent of this call, so I
-replaced it with that.
-(WebCore::Style::Resolver::Resolver):
-
-git-svn-id: http://svn.webkit.org/repository/webkit/trunk@260951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-Upstream-Status: Backport [https://github.com/WebKit/webkit/commit/c3cf651016e4cdcb4350598d4a586821071f91bf.patch]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Source/WebCore/style/StyleResolver.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Source/WebCore/style/StyleResolver.cpp b/Source/WebCore/style/StyleResolver.cpp
-index 8bf371a0..34580ddb 100644
---- a/Source/WebCore/style/StyleResolver.cpp
-+++ b/Source/WebCore/style/StyleResolver.cpp
-@@ -107,7 +107,7 @@ Resolver::Resolver(Document& document)
- if (view)
- m_mediaQueryEvaluator = MediaQueryEvaluator { view->mediaType() };
- else
-- m_mediaQueryEvaluator = MediaQueryEvaluator { "all" };
-+ m_mediaQueryEvaluator = MediaQueryEvaluator { };
-
- if (root) {
- m_rootDefaultStyle = styleForElement(*root, m_document.renderStyle(), nullptr, RuleMatchingBehavior::MatchOnlyUserAgentRules).renderStyle;
---
-2.28.0
-
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/cross-compile.patch b/poky/meta/recipes-sato/webkit/webkitgtk/cross-compile.patch
deleted file mode 100644
index 4d1de72..0000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/cross-compile.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Disable the tests meant to run when compiling natively
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: webkitgtk-2.14.5/Source/cmake/OptionsCommon.cmake
-===================================================================
---- webkitgtk-2.14.5.orig/Source/cmake/OptionsCommon.cmake
-+++ webkitgtk-2.14.5/Source/cmake/OptionsCommon.cmake
-@@ -67,8 +67,11 @@ endif ()
- # Detect Cortex-A53 core if CPU is ARM64 and OS is Linux.
- # Query /proc/cpuinfo for each available core and check reported CPU part number: 0xd03 signals Cortex-A53.
- # (see Main ID Register in ARM Cortex-A53 MPCore Processor Technical Reference Manual)
--set(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE OFF)
--if (WTF_CPU_ARM64 AND (${CMAKE_SYSTEM_NAME} STREQUAL "Linux"))
-+if( NOT WTF_CPU_ARM64_CORTEXA53_INITIALVALUE)
-+ set(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE OFF)
-+endif(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE)
-+
-+if (WTF_CPU_ARM64 AND NOT CMAKE_CROSSCOMPILING AND (${CMAKE_SYSTEM_NAME} STREQUAL "Linux"))
- execute_process(COMMAND nproc OUTPUT_VARIABLE PROC_COUNT)
- math(EXPR PROC_MAX ${PROC_COUNT}-1)
- foreach (PROC_ID RANGE ${PROC_MAX})
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch b/poky/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch
new file mode 100644
index 0000000..f770b38
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch
@@ -0,0 +1,24 @@
+Since
+https://github.com/WebKit/webkit/commit/acd3f32cd43c363be032f93ede3aa10c4ee97fa4
+it uses XVisualInfo which is defined in Xutil.h
+
+Without this the build fails with:
+webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:132:5: error: 'XVisualInfo' was not declared in this scope; did you mean 'VisualID'?
+ 132 | XVisualInfo visualTemplate;
+ | ^~~~~~~~~~~
+ | VisualID
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+diff -uNr webkitgtk-2.30.2.orig/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
+--- webkitgtk-2.30.2.orig/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp 2020-08-12 09:17:55.000000000 +0000
++++ webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp 2020-11-06 03:11:40.379913528 +0000
+@@ -30,6 +30,7 @@
+
+ #if PLATFORM(X11)
+ #include <X11/Xlib.h>
++#include <X11/Xutil.h>
+ #include <X11/extensions/Xcomposite.h>
+ #if PLATFORM(GTK)
+ #include <X11/extensions/Xdamage.h>
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.28.4.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.30.2.bb
similarity index 89%
rename from poky/meta/recipes-sato/webkit/webkitgtk_2.28.4.bb
rename to poky/meta/recipes-sato/webkit/webkitgtk_2.30.2.bb
index 8ebb370..58b66c0 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.28.4.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.30.2.bb
@@ -12,16 +12,15 @@
SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \
- file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \
file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \
file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \
file://0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch \
- file://cross-compile.patch \
file://0001-Fix-build-with-musl.patch \
file://include_array.patch \
- file://0001-clang-11-fix-build-errors-due-to-WWc-11-narrowing.patch \
+ file://include_xutil.patch \
+ file://0001-ICU-68.1-no-longer-exposes-FALSE-and-TRUE-macros-by-.patch \
"
-SRC_URI[sha256sum] = "821952e8c9303ed752f1fb1d4283f612c25249d00d705d2b79c2db1bc49c9464"
+SRC_URI[sha256sum] = "c467e0bc2bc610c2570928e3fd63cedaadc4719cbf9b04aa99f79dd71ad5682a"
inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc
@@ -38,7 +37,7 @@
gettext-native glib-2.0 glib-2.0-native libtasn1 \
"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)} \
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \
enchant \
@@ -51,11 +50,12 @@
PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2"
PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl"
-PACKAGECONFIG[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl"
+PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/libgl"
PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret"
PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg"
+PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd"
# webkitgtk is full of /usr/bin/env python, particular for generating docs
do_configure[postfuncs] += "setup_python_link"
@@ -94,6 +94,10 @@
EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF "
EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF "
+# JIT and gold linker does not work on RISCV
+EXTRA_OECMAKE_append_riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
+EXTRA_OECMAKE_append_riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
+
# JIT not supported on MIPS either
EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON "
diff --git a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.7.1.bb b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.0.bb
similarity index 85%
rename from poky/meta/recipes-sato/webkit/wpebackend-fdo_1.7.1.bb
rename to poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.0.bb
index 519762d..69d6098 100644
--- a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.7.1.bb
+++ b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.0.bb
@@ -13,5 +13,5 @@
REQUIRED_DISTRO_FEATURES = "opengl"
SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "9b980a73ea4e3762266c48f81ded56d9dcad4acf32bad9bd05d0dffdd454c6f5"
+SRC_URI[sha256sum] = "9652a99c75fe1c6eab0585b6395f4e104b2427e4d1f42969f1f77df29920d253"
diff --git a/poky/meta/recipes-support/atk/at-spi2-atk_2.34.2.bb b/poky/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb
similarity index 77%
rename from poky/meta/recipes-support/atk/at-spi2-atk_2.34.2.bb
rename to poky/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb
index 02a4d47..fce14ee 100644
--- a/poky/meta/recipes-support/atk/at-spi2-atk_2.34.2.bb
+++ b/poky/meta/recipes-support/atk/at-spi2-atk_2.38.0.bb
@@ -3,8 +3,7 @@
LICENSE = "LGPL-2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-SRC_URI[archive.md5sum] = "58cd278574e101363b18d9a8b7053d67"
-SRC_URI[archive.sha256sum] = "901323cee0eef05c01ec4dee06c701aeeca81a314a7d60216fa363005e27f4f0"
+SRC_URI[archive.sha256sum] = "cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f"
DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2"
diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.36.1.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.38.0.bb
similarity index 89%
rename from poky/meta/recipes-support/atk/at-spi2-core_2.36.1.bb
rename to poky/meta/recipes-support/atk/at-spi2-core_2.38.0.bb
index 218af6a..88add83 100644
--- a/poky/meta/recipes-support/atk/at-spi2-core_2.36.1.bb
+++ b/poky/meta/recipes-support/atk/at-spi2-core_2.38.0.bb
@@ -7,8 +7,7 @@
SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "d01e5326b4eb15ac3c27eed73ecf26f1"
-SRC_URI[sha256sum] = "97417b909dbbf000e7b21062a13b2f1fd52a336f5a53925bb26d27b65ace6c54"
+SRC_URI[sha256sum] = "84e36c3fe66862133f5fe229772b76aa2526e10de5014a3778f2fa46ce550da5"
X11DEPENDS = "virtual/libx11 libxi libxtst"
diff --git a/poky/meta/recipes-support/atk/atk_2.36.0.bb b/poky/meta/recipes-support/atk/atk_2.36.0.bb
index 0786eee..c45da30 100644
--- a/poky/meta/recipes-support/atk/atk_2.36.0.bb
+++ b/poky/meta/recipes-support/atk/atk_2.36.0.bb
@@ -1,6 +1,6 @@
SUMMARY = "Accessibility toolkit for GNOME"
-HOMEPAGE = "http://live.gnome.org/GAP/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
+HOMEPAGE = "https://wiki.gnome.org/Accessibility"
+BUGTRACKER = "https://gitlab.gnome.org/GNOME/atk/-/issues"
SECTION = "x11/libs"
LICENSE = "GPLv2+ & LGPLv2+"
@@ -18,4 +18,3 @@
SRC_URI[archive.sha256sum] = "fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788"
BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb b/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb
index da0baa7..bab8a01 100644
--- a/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb
+++ b/poky/meta/recipes-support/bash-completion/bash-completion_2.11.bb
@@ -1,6 +1,6 @@
SUMMARY = "Programmable Completion for Bash 4"
-HOMEPAGE = "http://bash-completion.alioth.debian.org/"
-BUGTRACKER = "https://alioth.debian.org/projects/bash-completion/"
+HOMEPAGE = "https://github.com/scop/bash-completion"
+BUGTRACKER = "https://github.com/scop/bash-completion/issues"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
diff --git a/poky/meta/recipes-support/curl/curl_7.72.0.bb b/poky/meta/recipes-support/curl/curl_7.73.0.bb
similarity index 97%
rename from poky/meta/recipes-support/curl/curl_7.72.0.bb
rename to poky/meta/recipes-support/curl/curl_7.73.0.bb
index 7d02682..0f26b0f 100644
--- a/poky/meta/recipes-support/curl/curl_7.72.0.bb
+++ b/poky/meta/recipes-support/curl/curl_7.73.0.bb
@@ -9,7 +9,7 @@
file://0001-replace-krb5-config-with-pkg-config.patch \
"
-SRC_URI[sha256sum] = "ad91970864102a59765e20ce16216efc9d6ad381471f7accceceab7d905703ef"
+SRC_URI[sha256sum] = "cf34fe0b07b800f1c01a499a6e8b2af548f6d0e044dca4a29d88a4bee146d131"
# Curl has used many names over the years...
CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
diff --git a/poky/meta/recipes-support/debianutils/debianutils_4.11.1.bb b/poky/meta/recipes-support/debianutils/debianutils_4.11.2.bb
similarity index 93%
rename from poky/meta/recipes-support/debianutils/debianutils_4.11.1.bb
rename to poky/meta/recipes-support/debianutils/debianutils_4.11.2.bb
index 3b1767e..0eeb295 100644
--- a/poky/meta/recipes-support/debianutils/debianutils_4.11.1.bb
+++ b/poky/meta/recipes-support/debianutils/debianutils_4.11.2.bb
@@ -8,10 +8,11 @@
# so we check the latest upstream from a directory that does get updated
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/"
-SRC_URI[sha256sum] = "8be869f19c55c18d53d9f0414b68bb966a068b2154e9fbbfc6193827d6af983c"
+SRC_URI[sha256sum] = "3b680e81709b740387335fac8f8806d71611dcf60874e1a792e862e48a1650de"
inherit autotools update-alternatives
+S = "${WORKDIR}/debianutils"
do_configure_prepend() {
sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am
}
diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_160.bb b/poky/meta/recipes-support/diffoscope/diffoscope_161.bb
similarity index 82%
rename from poky/meta/recipes-support/diffoscope/diffoscope_160.bb
rename to poky/meta/recipes-support/diffoscope/diffoscope_161.bb
index 2c3da3b..0f566a3 100644
--- a/poky/meta/recipes-support/diffoscope/diffoscope_160.bb
+++ b/poky/meta/recipes-support/diffoscope/diffoscope_161.bb
@@ -7,7 +7,7 @@
inherit pypi setuptools3
-SRC_URI[sha256sum] = "f164b5e74cc11f6238ad8d62c92d3a819fa4c8b618683fc0533e04f21acae6b2"
+SRC_URI[sha256sum] = "9c27d60a7bf3984b53c8af3fee86eb3d3e2292c4ddb9449c38b6cba068b8e22c"
RDEPENDS_${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic"
diff --git a/poky/meta/recipes-support/dos2unix/dos2unix_7.4.1.bb b/poky/meta/recipes-support/dos2unix/dos2unix_7.4.2.bb
similarity index 88%
rename from poky/meta/recipes-support/dos2unix/dos2unix_7.4.1.bb
rename to poky/meta/recipes-support/dos2unix/dos2unix_7.4.2.bb
index 1623285..9005bde 100644
--- a/poky/meta/recipes-support/dos2unix/dos2unix_7.4.1.bb
+++ b/poky/meta/recipes-support/dos2unix/dos2unix_7.4.2.bb
@@ -6,12 +6,12 @@
SECTION = "support"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=0c977b18f0a384d03597a517d7d03e32"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=8a7c3499a1142df819e727253cd53a12"
SRC_URI = "git://git.code.sf.net/p/dos2unix/dos2unix"
UPSTREAM_CHECK_GITTAGREGEX = "dos2unix-(?P<pver>(\d+(\.\d+)+))"
-SRCREV = "0490f0723b1a0851b17343f6164915f3474b5197"
+SRCREV = "72596f0ae21faa25a07a872d4843bc885475115d"
S = "${WORKDIR}/git/dos2unix"
diff --git a/poky/meta/recipes-support/enchant/enchant2_2.2.9.bb b/poky/meta/recipes-support/enchant/enchant2_2.2.13.bb
similarity index 81%
rename from poky/meta/recipes-support/enchant/enchant2_2.2.9.bb
rename to poky/meta/recipes-support/enchant/enchant2_2.2.13.bb
index 784fd14..3b890e7 100644
--- a/poky/meta/recipes-support/enchant/enchant2_2.2.9.bb
+++ b/poky/meta/recipes-support/enchant/enchant2_2.2.13.bb
@@ -2,14 +2,14 @@
SECTION = "libs"
HOMEPAGE = "https://abiword.github.io/enchant/"
LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "glib-2.0"
inherit autotools pkgconfig
SRC_URI = "https://github.com/AbiWord/enchant/releases/download/v${PV}/enchant-${PV}.tar.gz"
-SRC_URI[sha256sum] = "b29a3d2273f5edcbdbbb565e94bfd8ea3f9526886fcb6327b4b0f72f0d722f3c"
+SRC_URI[sha256sum] = "eab9f90d79039133660029616e2a684644bd524be5dc43340d4cfc3fb3c68a20"
UPSTREAM_CHECK_URI = "https://github.com/AbiWord/enchant/releases"
diff --git a/poky/meta/recipes-support/gmp/gmp_6.2.0.bb b/poky/meta/recipes-support/gmp/gmp_6.2.1.bb
similarity index 88%
rename from poky/meta/recipes-support/gmp/gmp_6.2.0.bb
rename to poky/meta/recipes-support/gmp/gmp_6.2.1.bb
index a19c74f..3c50f92 100644
--- a/poky/meta/recipes-support/gmp/gmp_6.2.0.bb
+++ b/poky/meta/recipes-support/gmp/gmp_6.2.1.bb
@@ -13,8 +13,8 @@
file://0001-Append-the-user-provided-flags-to-the-auto-detected-.patch \
file://0001-confiure.ac-Believe-the-cflags-from-environment.patch \
"
-SRC_URI[md5sum] = "c24161e0dd44cae78cd5f67193492a21"
-SRC_URI[sha256sum] = "f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea"
+SRC_URI[md5sum] = "28971fc21cf028042d4897f02fd355ea"
+SRC_URI[sha256sum] = "eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c"
acpaths = ""
diff --git a/poky/meta/recipes-support/gnutls/gnutls/0001-Modied-the-license-to-GPLv2.1-to-keep-with-LICENSE-f.patch b/poky/meta/recipes-support/gnutls/gnutls/0001-Modied-the-license-to-GPLv2.1-to-keep-with-LICENSE-f.patch
deleted file mode 100644
index a610abf..0000000
--- a/poky/meta/recipes-support/gnutls/gnutls/0001-Modied-the-license-to-GPLv2.1-to-keep-with-LICENSE-f.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From c0ae3f659c6c130d151378ba4d7d861e3b7b970f Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Wed, 8 Jul 2020 14:50:27 +0900
-Subject: [PATCH] Modied the license to GPLv2.1+ to keep with LICENSE file.
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
-Please reference to https://gitlab.com/gnutls/gnutls/-/issues/1018.
-Upstream-Status: Backport [https://gitlab.com/gnutls/gnutls/-/merge_requests/1285].
----
- lib/x509/krb5.c | 20 +++++++++++---------
- lib/x509/krb5.h | 20 +++++++++++---------
- 2 files changed, 22 insertions(+), 18 deletions(-)
-
-diff --git a/lib/x509/krb5.c b/lib/x509/krb5.c
-index 7fe84e6..d68c737 100644
---- a/lib/x509/krb5.c
-+++ b/lib/x509/krb5.c
-@@ -1,21 +1,23 @@
- /*
- * Copyright (C) 2015 Red Hat, Inc.
- *
-+ * Author: Nikos Mavrogiannopoulos
-+ *
- * This file is part of GnuTLS.
- *
-- * GnuTLS is free software: you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License as published by
-- * the Free Software Foundation, either version 3 of the License, or
-- * (at your option) any later version.
-+ * The GnuTLS is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public License
-+ * as published by the Free Software Foundation; either version 2.1 of
-+ * the License, or (at your option) any later version.
- *
-- * GnuTLS is distributed in the hope that it will be useful, but
-+ * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- * General Public License for more details.
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * along with this program. If not, see <https://www.gnu.org/licenses/>
- *
-- * You should have received a copy of the GNU General Public License
-- * along with this program. If not, see
-- * <https://www.gnu.org/licenses/>.
- */
-
- #include <config.h>
-diff --git a/lib/x509/krb5.h b/lib/x509/krb5.h
-index d8926af..815bb28 100644
---- a/lib/x509/krb5.h
-+++ b/lib/x509/krb5.h
-@@ -1,21 +1,23 @@
- /*
- * Copyright (C) 2015 Red Hat, Inc.
- *
-+ * Author: Nikos Mavrogiannopoulos
-+ *
- * This file is part of GnuTLS.
- *
-- * GnuTLS is free software: you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License as published by
-- * the Free Software Foundation, either version 3 of the License, or
-- * (at your option) any later version.
-+ * The GnuTLS is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public License
-+ * as published by the Free Software Foundation; either version 2.1 of
-+ * the License, or (at your option) any later version.
- *
-- * GnuTLS is distributed in the hope that it will be useful, but
-+ * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- * General Public License for more details.
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * along with this program. If not, see <https://www.gnu.org/licenses/>
- *
-- * You should have received a copy of the GNU General Public License
-- * along with this program. If not, see
-- * <https://www.gnu.org/licenses/>.
- */
-
- #ifndef GNUTLS_LIB_X509_KRB5_H
---
-2.17.1
-
diff --git a/poky/meta/recipes-support/gnutls/gnutls/CVE-2020-24659.patch b/poky/meta/recipes-support/gnutls/gnutls/CVE-2020-24659.patch
deleted file mode 100644
index 1702325..0000000
--- a/poky/meta/recipes-support/gnutls/gnutls/CVE-2020-24659.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 29ee67c205855e848a0a26e6d0e4f65b6b943e0a Mon Sep 17 00:00:00 2001
-From: Daiki Ueno <ueno@gnu.org>
-Date: Sat, 22 Aug 2020 17:19:39 +0200
-Subject: [PATCH] handshake: reject no_renegotiation alert if handshake is
- incomplete
-
-If the initial handshake is incomplete and the server sends a
-no_renegotiation alert, the client should treat it as a fatal error
-even if its level is warning. Otherwise the same handshake
-state (e.g., DHE parameters) are reused in the next gnutls_handshake
-call, if it is called in the loop idiom:
-
- do {
- ret = gnutls_handshake(session);
- } while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
-
-Signed-off-by: Daiki Ueno <ueno@gnu.org>
-CVE: CVE-2020-24659
-Upstream-Status: Backport [https://gitlab.com/gnutls/gnutls.git]
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
----
- lib/gnutls_int.h | 1 +
- lib/handshake.c | 48 +++++++++++++-----
- 2 files changed, 36 insertions(+), 13 deletions(-)
-
-diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h
-index bb6c19713..31cec5c0c 100644
---- a/lib/gnutls_int.h
-+++ b/lib/gnutls_int.h
-@@ -1370,6 +1370,7 @@ typedef struct {
- #define HSK_RECORD_SIZE_LIMIT_RECEIVED (1<<26) /* server: record_size_limit extension was seen but not accepted yet */
- #define HSK_OCSP_REQUESTED (1<<27) /* server: client requested OCSP stapling */
- #define HSK_CLIENT_OCSP_REQUESTED (1<<28) /* client: server requested OCSP stapling */
-+#define HSK_SERVER_HELLO_RECEIVED (1<<29) /* client: Server Hello message has been received */
-
- /* The hsk_flags are for use within the ongoing handshake;
- * they are reset to zero prior to handshake start by gnutls_handshake. */
-diff --git a/lib/handshake.c b/lib/handshake.c
-index b40f84b3d..ce2d160e2 100644
---- a/lib/handshake.c
-+++ b/lib/handshake.c
-@@ -2051,6 +2051,8 @@ read_server_hello(gnutls_session_t session,
- if (ret < 0)
- return gnutls_assert_val(ret);
-
-+ session->internals.hsk_flags |= HSK_SERVER_HELLO_RECEIVED;
-+
- return 0;
- }
-
-@@ -2575,16 +2577,42 @@ int gnutls_rehandshake(gnutls_session_t session)
- return 0;
- }
-
-+/* This function checks whether the error code should be treated fatal
-+ * or not, and also does the necessary state transition. In
-+ * particular, in the case of a rehandshake abort it resets the
-+ * handshake's internal state.
-+ */
- inline static int
- _gnutls_abort_handshake(gnutls_session_t session, int ret)
- {
-- if (((ret == GNUTLS_E_WARNING_ALERT_RECEIVED) &&
-- (gnutls_alert_get(session) == GNUTLS_A_NO_RENEGOTIATION))
-- || ret == GNUTLS_E_GOT_APPLICATION_DATA)
-- return 0;
-+ switch (ret) {
-+ case GNUTLS_E_WARNING_ALERT_RECEIVED:
-+ if (gnutls_alert_get(session) == GNUTLS_A_NO_RENEGOTIATION) {
-+ /* The server always toleretes a "no_renegotiation" alert. */
-+ if (session->security_parameters.entity == GNUTLS_SERVER) {
-+ STATE = STATE0;
-+ return ret;
-+ }
-+
-+ /* The client should tolerete a "no_renegotiation" alert only if:
-+ * - the initial handshake has completed, or
-+ * - a Server Hello is not yet received
-+ */
-+ if (session->internals.initial_negotiation_completed ||
-+ !(session->internals.hsk_flags & HSK_SERVER_HELLO_RECEIVED)) {
-+ STATE = STATE0;
-+ return ret;
-+ }
-
-- /* this doesn't matter */
-- return GNUTLS_E_INTERNAL_ERROR;
-+ return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET);
-+ }
-+ return ret;
-+ case GNUTLS_E_GOT_APPLICATION_DATA:
-+ STATE = STATE0;
-+ return ret;
-+ default:
-+ return ret;
-+ }
- }
-
-
-@@ -2747,13 +2774,7 @@ int gnutls_handshake(gnutls_session_t session)
- }
-
- if (ret < 0) {
-- /* In the case of a rehandshake abort
-- * we should reset the handshake's internal state.
-- */
-- if (_gnutls_abort_handshake(session, ret) == 0)
-- STATE = STATE0;
--
-- return ret;
-+ return _gnutls_abort_handshake(session, ret);
- }
-
- /* clear handshake buffer */
---
-2.17.0
-
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.14.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.15.bb
similarity index 90%
rename from poky/meta/recipes-support/gnutls/gnutls_3.6.14.bb
rename to poky/meta/recipes-support/gnutls/gnutls_3.6.15.bb
index 51578b4..b936db5 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.6.14.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.15.bb
@@ -19,11 +19,9 @@
SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \
file://arm_eabi.patch \
- file://0001-Modied-the-license-to-GPLv2.1-to-keep-with-LICENSE-f.patch \
- file://CVE-2020-24659.patch \
-"
+ "
-SRC_URI[sha256sum] = "5630751adec7025b8ef955af4d141d00d252a985769f51b4059e5affa3d39d63"
+SRC_URI[sha256sum] = "0ea8c3283de8d8335d7ae338ef27c53a916f15f382753b174c18b45ffd481558"
inherit autotools texinfo pkgconfig gettext lib_package gtk-doc
@@ -45,6 +43,7 @@
--enable-local-libopts \
--enable-openssl-compatibility \
--with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \
+ --with-librt-prefix=${STAGING_DIR_HOST}${prefix} \
--with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \
"
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.14.0.bb b/poky/meta/recipes-support/gpgme/gpgme_1.15.0.bb
similarity index 95%
rename from poky/meta/recipes-support/gpgme/gpgme_1.14.0.bb
rename to poky/meta/recipes-support/gpgme/gpgme_1.15.0.bb
index 9fa8212..9264af8 100644
--- a/poky/meta/recipes-support/gpgme/gpgme_1.14.0.bb
+++ b/poky/meta/recipes-support/gpgme/gpgme_1.15.0.bb
@@ -22,7 +22,7 @@
file://0008-do-not-auto-check-var-PYTHON.patch \
"
-SRC_URI[sha256sum] = "cef1f710a6b0d28f5b44242713ad373702d1466dcbe512eb4e754d7f35cd4307"
+SRC_URI[sha256sum] = "0b472bc12c7d455906c8a539ec56da0a6480ef1c3a87aa5b74d7125df68d0e5b"
DEPENDS = "libgpg-error libassuan"
RDEPENDS_${PN}-cpp += "libstdc++"
@@ -48,7 +48,7 @@
LANGUAGES ?= "${DEFAULT_LANGUAGES} python"
PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}"
-PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}"
+PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native python3targetconfig', '', d)}"
EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \
--disable-gpgconf-test \
diff --git a/poky/meta/recipes-support/icu/icu_67.1.bb b/poky/meta/recipes-support/icu/icu_68.1.bb
similarity index 95%
rename from poky/meta/recipes-support/icu/icu_67.1.bb
rename to poky/meta/recipes-support/icu/icu_68.1.bb
index 9e8091b..98aa6b7 100644
--- a/poky/meta/recipes-support/icu/icu_67.1.bb
+++ b/poky/meta/recipes-support/icu/icu_68.1.bb
@@ -83,7 +83,7 @@
BBCLASSEXTEND = "native nativesdk"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=002d2fdc32d17f0ec06e9a47f2c0c8d0"
def icu_download_version(d):
pvsplit = d.getVar('PV').split('.')
@@ -112,8 +112,8 @@
SRC_URI_append_class-target = "\
file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \
"
-SRC_URI[code.sha256sum] = "94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc"
-SRC_URI[data.sha256sum] = "7c16a59cc8c06128b7ecc1dc4fc056b36b17349312829b17408b9e67b05c4a7e"
+SRC_URI[code.sha256sum] = "a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d"
+SRC_URI[data.sha256sum] = "03ea8b4694155620548c8c0ba20444f1e7db246cc79e3b9c4fc7a960b160d510"
UPSTREAM_CHECK_REGEX = "icu4c-(?P<pver>\d+(_\d+)+)-src"
UPSTREAM_CHECK_URI = "https://github.com/unicode-org/icu/releases"
diff --git a/poky/meta/recipes-support/libassuan/libassuan_2.5.3.bb b/poky/meta/recipes-support/libassuan/libassuan_2.5.4.bb
similarity index 88%
rename from poky/meta/recipes-support/libassuan/libassuan_2.5.3.bb
rename to poky/meta/recipes-support/libassuan/libassuan_2.5.4.bb
index 52b4c0f..e83f571 100644
--- a/poky/meta/recipes-support/libassuan/libassuan_2.5.3.bb
+++ b/poky/meta/recipes-support/libassuan/libassuan_2.5.4.bb
@@ -17,8 +17,7 @@
file://libassuan-add-pkgconfig-support.patch \
"
-SRC_URI[md5sum] = "226c504ea78a232224bf3b6846b3adb9"
-SRC_URI[sha256sum] = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702"
+SRC_URI[sha256sum] = "c080ee96b3bd519edd696cfcebdecf19a3952189178db9887be713ccbcb5fbf0"
BINCONFIG = "${bindir}/libassuan-config"
diff --git a/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb b/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb
index 3b9ac5a..5b32b9a 100644
--- a/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb
+++ b/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb
@@ -27,7 +27,8 @@
# License: ISC-Original
# License: public-domain
# License: public-domain-Colin-Plumb
-LICENSE = "BSD-4-Clause & ISC & PD"
+LICENSE = "BSD-3-Clause & BSD-4-Clause & ISC & PD"
+LICENSE_${PN} = "BSD-3-Clause & ISC & PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=2120be0173469a06ed185b688e0e1ae0"
SECTION = "libs"
diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.11.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.1.bb
similarity index 100%
rename from poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.11.bb
rename to poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.8.1.bb
diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng.inc b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc
index 6d6fa64..a312b60 100644
--- a/poky/meta/recipes-support/libcap-ng/libcap-ng.inc
+++ b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc
@@ -11,7 +11,6 @@
file://python.patch \
"
-SRC_URI[md5sum] = "5883ed10b621c87e29a05cff36d2928e"
-SRC_URI[sha256sum] = "85815c711862d01a440db471f12fba462c9949e923966f5859607e652d9c0ae9"
+SRC_URI[sha256sum] = "f06b17aaca029e245c9a26c698c6cc8a1cf42b58483d93e94ee02b478bdc1055"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.11.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng_0.8.1.bb
similarity index 100%
rename from poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.11.bb
rename to poky/meta/recipes-support/libcap-ng/libcap-ng_0.8.1.bb
diff --git a/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch b/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch
index 81fdd2a..d9fd48a 100644
--- a/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch
+++ b/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch
@@ -1,4 +1,4 @@
-From e4fe6890e07821d60f01f000a95f7944f3d68139 Mon Sep 17 00:00:00 2001
+From 03e925f0d68bc51e1acf1ac2014a9c2452c664bf Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 15 Jan 2020 17:16:28 +0100
Subject: [PATCH] tests: do not statically link a test
@@ -9,35 +9,25 @@
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- tests/Makefile | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
+ tests/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/Makefile b/tests/Makefile
-index 876a8b9..93a0e3a 100644
+index d569650..f5ca377 100644
--- a/tests/Makefile
+++ b/tests/Makefile
-@@ -26,23 +26,23 @@ psx_test: psx_test.c $(DEPS)
- run_libcap_psx_test: libcap_psx_test
+@@ -11,7 +11,7 @@ ifeq ($(DYNAMIC),yes)
+ LDPATH = LD_LIBRARY_PATH=../libcap
+ DEPSBUILD = all
+ else
+-LDFLAGS += --static
++LDFLAGS +=
+ DEPSBUILD = libcap.a libpsx.a
+ endif
- libcap_psx_test: libcap_psx_test.c $(DEPS)
-- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static
-+ $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create
+@@ -51,7 +51,7 @@ libcap_psx_launch_test: libcap_launch_test.c $(DEPS)
- run_libcap_launch_test: libcap_launch_test libcap_psx_launch_test noop
- sudo ./libcap_launch_test
- sudo ./libcap_psx_launch_test
-
- libcap_launch_test: libcap_launch_test.c $(DEPS)
-- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) --static
-+ $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB)
-
- # this varies only slightly from the above insofar as it currently
- # only links in the pthreads fork support. TODO() we need to change
- # the source to do something interesting with pthreads.
- libcap_psx_launch_test: libcap_launch_test.c $(DEPS)
-- $(CC) $(CFLAGS) $(IPATH) -DWITH_PTHREADS $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static
-+ $(CC) $(CFLAGS) $(IPATH) -DWITH_PTHREADS $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create
-
+ # This one runs in a chroot with no shared library files.
noop: noop.c
- $(CC) $(CFLAGS) $< -o $@ --static
+ $(CC) $(CFLAGS) $< -o $@
diff --git a/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch b/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch
index e8f1df9..bfce8e0 100644
--- a/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch
+++ b/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch
@@ -1,4 +1,4 @@
-From 5583b48c04d5bf50b56473d88d990c3f0bc45c14 Mon Sep 17 00:00:00 2001
+From 7744c1f678f5226a151bc6b2a254a56835229d91 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 20 Dec 2019 16:54:05 +0100
Subject: [PATCH] tests: do not run target executables
@@ -11,20 +11,20 @@
1 file changed, 2 deletions(-)
diff --git a/tests/Makefile b/tests/Makefile
-index bfedbc2..876a8b9 100644
+index 8956d5d..d569650 100644
--- a/tests/Makefile
+++ b/tests/Makefile
-@@ -19,13 +19,11 @@ sudotest: test run_libcap_launch_test run_libcap_launch_test
+@@ -27,13 +27,11 @@ sudotest: test run_libcap_launch_test run_libcap_launch_test
install: all
run_psx_test: psx_test
-- ./psx_test
+- $(LDPATH) ./psx_test
psx_test: psx_test.c $(DEPS)
- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBPSXLIB) -Wl,-wrap,pthread_create
+ $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBPSXLIB)
run_libcap_psx_test: libcap_psx_test
-- ./libcap_psx_test
+- $(LDPATH) ./libcap_psx_test
libcap_psx_test: libcap_psx_test.c $(DEPS)
- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static
+ $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) $(LDFLAGS)
diff --git a/poky/meta/recipes-support/libcap/libcap_2.43.bb b/poky/meta/recipes-support/libcap/libcap_2.44.bb
similarity index 95%
rename from poky/meta/recipes-support/libcap/libcap_2.43.bb
rename to poky/meta/recipes-support/libcap/libcap_2.44.bb
index c712c25..7987552 100644
--- a/poky/meta/recipes-support/libcap/libcap_2.43.bb
+++ b/poky/meta/recipes-support/libcap/libcap_2.44.bb
@@ -12,7 +12,7 @@
file://0002-tests-do-not-run-target-executables.patch \
file://0001-tests-do-not-statically-link-a-test.patch \
"
-SRC_URI[sha256sum] = "512a0e5fc4c1e06d472a20da26aa96a9b9bf2a26b23f094f77f1b8da56cc427f"
+SRC_URI[sha256sum] = "92188359cd5be86e8e5bd3f6483ac6ce582264f912398937ef763def2205c8e1"
UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/"
diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.9.1.bb b/poky/meta/recipes-support/libevdev/libevdev_1.10.0.bb
similarity index 78%
rename from poky/meta/recipes-support/libevdev/libevdev_1.9.1.bb
rename to poky/meta/recipes-support/libevdev/libevdev_1.10.0.bb
index 633e0af..2620cbe 100644
--- a/poky/meta/recipes-support/libevdev/libevdev_1.9.1.bb
+++ b/poky/meta/recipes-support/libevdev/libevdev_1.10.0.bb
@@ -8,8 +8,7 @@
SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz \
file://determinism.patch"
-SRC_URI[md5sum] = "58286a834ae14536caf9cab8633419cf"
-SRC_URI[sha256sum] = "f5603c48c5afd76b14df7a5124e0a94a102f8da0d45826192325069d1bbc7acb"
+SRC_URI[sha256sum] = "3522c26e2c148be0ad68ce26fbced408a4185dea90bfe8079dc82b8ace962d4a"
inherit autotools pkgconfig
diff --git a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.6.bb b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.7.bb
similarity index 95%
rename from poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.6.bb
rename to poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.7.bb
index ac09417..0cad41d 100644
--- a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.6.bb
+++ b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.7.bb
@@ -26,7 +26,7 @@
file://0003-GCM-move-look-up-table-to-.data-section-and-unshare-.patch \
file://determinism.patch \
"
-SRC_URI[sha256sum] = "0cba2700617b99fc33864a0c16b1fa7fdf9781d9ed3509f5d767178e5fd7b975"
+SRC_URI[sha256sum] = "03b70f028299561b7034b8966d7dd77ef16ed139c43440925fe8782561974748"
BINCONFIG = "${bindir}/libgcrypt-config"
diff --git a/poky/meta/recipes-support/libical/libical/0001-Fix-build-with-icu-68.1.patch b/poky/meta/recipes-support/libical/libical/0001-Fix-build-with-icu-68.1.patch
new file mode 100644
index 0000000..79e1475
--- /dev/null
+++ b/poky/meta/recipes-support/libical/libical/0001-Fix-build-with-icu-68.1.patch
@@ -0,0 +1,81 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 52d603212173d4502800bf746436a93f806a8898 Mon Sep 17 00:00:00 2001
+From: Allen Winter <allen.winter@kdab.com>
+Date: Sat, 31 Oct 2020 17:38:01 -0400
+Subject: [PATCH] Fix build with icu-68.1
+
+Use stdbool.h to define true and false when possible
+
+Issue#448
+---
+ ConfigureChecks.cmake | 1 +
+ config.h.cmake | 3 +++
+ src/libical/icalrecur.c | 10 ++++++++--
+ 3 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
+index e4d0e2ec..bba33fa9 100644
+--- a/ConfigureChecks.cmake
++++ b/ConfigureChecks.cmake
+@@ -10,6 +10,7 @@ check_include_files(sys/utsname.h HAVE_SYS_UTSNAME_H)
+ check_include_files(fcntl.h HAVE_FCNTL_H)
+ check_include_files(unistd.h HAVE_UNISTD_H)
+ check_include_files(wctype.h HAVE_WCTYPE_H)
++check_include_files(stdbool.h HAVE_STDBOOL_H)
+
+ include(CheckFunctionExists)
+ if(WIN32 AND MSVC)
+diff --git a/config.h.cmake b/config.h.cmake
+index 8fd3421b..c8008692 100644
+--- a/config.h.cmake
++++ b/config.h.cmake
+@@ -39,6 +39,9 @@
+ /* Define to 1 if you have the <dirent.h> header file. */
+ #cmakedefine HAVE_DIRENT_H 1
+
++/* Define to 1 if you have the <stdbool.h> header file. */
++#cmakedefine HAVE_STDBOOL_H 1
++
+ /* Define if we have pthread. */
+ #cmakedefine HAVE_PTHREAD_ATTR_GET_NP 1
+ #cmakedefine HAVE_PTHREAD_GETATTR_NP 1
+diff --git a/src/libical/icalrecur.c b/src/libical/icalrecur.c
+index 73178450..b3f054b8 100644
+--- a/src/libical/icalrecur.c
++++ b/src/libical/icalrecur.c
+@@ -145,6 +145,12 @@
+ #if defined(HAVE_LIBICU)
+ #include <unicode/ucal.h>
+ #include <unicode/ustring.h>
++#if defined(HAVE_STDBOOL_H)
++#include <stdbool.h>
++#else
++#define false 0
++#define true 1
++#endif
+ #define RSCALE_IS_SUPPORTED 1
+ #else
+ #define RSCALE_IS_SUPPORTED 0
+@@ -1018,7 +1024,7 @@ icalarray *icalrecurrencetype_rscale_supported_calendars(void)
+
+ calendars = icalarray_new(sizeof(const char **), 20);
+
+- en = ucal_getKeywordValuesForLocale("calendar", NULL, FALSE, &status);
++ en = ucal_getKeywordValuesForLocale("calendar", NULL, false, &status);
+ while ((cal = uenum_next(en, NULL, &status))) {
+ cal = icalmemory_tmp_copy(cal);
+ icalarray_append(calendars, &cal);
+@@ -1411,7 +1417,7 @@ static int initialize_rscale(icalrecur_iterator *impl)
+ }
+
+ /* Check if specified calendar is supported */
+- en = ucal_getKeywordValuesForLocale("calendar", NULL, FALSE, &status);
++ en = ucal_getKeywordValuesForLocale("calendar", NULL, false, &status);
+ while ((cal = uenum_next(en, NULL, &status))) {
+ if (!strcmp(cal, rule.rscale)) {
+ is_hebrew = !strcmp(rule.rscale, "hebrew");
+--
+2.25.1
+
diff --git a/poky/meta/recipes-support/libical/libical_3.0.8.bb b/poky/meta/recipes-support/libical/libical_3.0.8.bb
index efb9433..6230f09 100644
--- a/poky/meta/recipes-support/libical/libical_3.0.8.bb
+++ b/poky/meta/recipes-support/libical/libical_3.0.8.bb
@@ -11,6 +11,7 @@
SRC_URI = " \
https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
file://0001-Use-our-hand-build-native-src-generator.patch \
+ file://0001-Fix-build-with-icu-68.1.patch \
"
SRC_URI[md5sum] = "41bd1f1fcdcb4779cea478bb55cf07bf"
SRC_URI[sha256sum] = "09fecacaf75ba5a242159e3a9758a5446b5ce4d0ab684f98a7040864e1d1286f"
diff --git a/poky/meta/recipes-support/libmpc/libmpc_1.2.0.bb b/poky/meta/recipes-support/libmpc/libmpc_1.2.1.bb
similarity index 72%
rename from poky/meta/recipes-support/libmpc/libmpc_1.2.0.bb
rename to poky/meta/recipes-support/libmpc/libmpc_1.2.1.bb
index b51ec6a..15d382c 100644
--- a/poky/meta/recipes-support/libmpc/libmpc_1.2.0.bb
+++ b/poky/meta/recipes-support/libmpc/libmpc_1.2.1.bb
@@ -5,7 +5,7 @@
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02"
SRC_URI = "${GNU_MIRROR}/mpc/mpc-${PV}.tar.gz"
-SRC_URI[sha256sum] = "e90f2d99553a9c19911abdb4305bf8217106a957e3994436428572c8dfe8fda6"
+SRC_URI[sha256sum] = "17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459"
S = "${WORKDIR}/mpc-${PV}"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libproxy/libproxy/CVE-2020-26154.patch b/poky/meta/recipes-support/libproxy/libproxy/CVE-2020-26154.patch
new file mode 100644
index 0000000..0ccb99d
--- /dev/null
+++ b/poky/meta/recipes-support/libproxy/libproxy/CVE-2020-26154.patch
@@ -0,0 +1,98 @@
+From 4411b523545b22022b4be7d0cac25aa170ae1d3e Mon Sep 17 00:00:00 2001
+From: Fei Li <lifeibiren@gmail.com>
+Date: Fri, 17 Jul 2020 02:18:37 +0800
+Subject: [PATCH] Fix buffer overflow when PAC is enabled
+
+The bug was found on Windows 10 (MINGW64) when PAC is enabled. It turned
+out to be the large PAC file (more than 102400 bytes) returned by a
+local proxy program with no content-length present.
+
+Upstream-Status: Backport [https://github.com/libproxy/libproxy/commit/6d342b50366a048d3d543952e2be271b5742c5f8]
+CVE: CVE-2020-26154
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+
+---
+ libproxy/url.cpp | 44 +++++++++++++++++++++++++++++++-------------
+ 1 file changed, 31 insertions(+), 13 deletions(-)
+
+diff --git a/libproxy/url.cpp b/libproxy/url.cpp
+index ee776b2..8684086 100644
+--- a/libproxy/url.cpp
++++ b/libproxy/url.cpp
+@@ -54,7 +54,7 @@ using namespace std;
+ #define PAC_MIME_TYPE_FB "text/plain"
+
+ // This is the maximum pac size (to avoid memory attacks)
+-#define PAC_MAX_SIZE 102400
++#define PAC_MAX_SIZE 0x800000
+ // This is the default block size to use when receiving via HTTP
+ #define PAC_HTTP_BLOCK_SIZE 512
+
+@@ -478,15 +478,13 @@ char* url::get_pac() {
+ }
+
+ // Get content
+- unsigned int recvd = 0;
+- buffer = new char[PAC_MAX_SIZE];
+- memset(buffer, 0, PAC_MAX_SIZE);
++ std::vector<char> dynamic_buffer;
+ do {
+ unsigned int chunk_length;
+
+ if (chunked) {
+ // Discard the empty line if we received a previous chunk
+- if (recvd > 0) recvline(sock);
++ if (!dynamic_buffer.empty()) recvline(sock);
+
+ // Get the chunk-length line as an integer
+ if (sscanf(recvline(sock).c_str(), "%x", &chunk_length) != 1 || chunk_length == 0) break;
+@@ -498,21 +496,41 @@ char* url::get_pac() {
+
+ if (content_length >= PAC_MAX_SIZE) break;
+
+- while (content_length == 0 || recvd != content_length) {
+- int r = recv(sock, buffer + recvd,
+- content_length == 0 ? PAC_HTTP_BLOCK_SIZE
+- : content_length - recvd, 0);
++ while (content_length == 0 || dynamic_buffer.size() != content_length) {
++ // Calculate length to recv
++ unsigned int length_to_read = PAC_HTTP_BLOCK_SIZE;
++ if (content_length > 0)
++ length_to_read = content_length - dynamic_buffer.size();
++
++ // Prepare buffer
++ dynamic_buffer.resize(dynamic_buffer.size() + length_to_read);
++
++ int r = recv(sock, dynamic_buffer.data() + dynamic_buffer.size() - length_to_read, length_to_read, 0);
++
++ // Shrink buffer to fit
++ if (r >= 0)
++ dynamic_buffer.resize(dynamic_buffer.size() - length_to_read + r);
++
++ // PAC size too large, discard
++ if (dynamic_buffer.size() >= PAC_MAX_SIZE) {
++ chunked = false;
++ dynamic_buffer.clear();
++ break;
++ }
++
+ if (r <= 0) {
+ chunked = false;
+ break;
+ }
+- recvd += r;
+ }
+ } while (chunked);
+
+- if (content_length != 0 && string(buffer).size() != content_length) {
+- delete[] buffer;
+- buffer = NULL;
++ if (content_length == 0 || content_length == dynamic_buffer.size()) {
++ buffer = new char[dynamic_buffer.size() + 1];
++ if (!dynamic_buffer.empty()) {
++ memcpy(buffer, dynamic_buffer.data(), dynamic_buffer.size());
++ }
++ buffer[dynamic_buffer.size()] = '\0';
+ }
+ }
+
diff --git a/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb b/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb
index a14c358..6f704d7 100644
--- a/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb
+++ b/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb
@@ -11,6 +11,7 @@
SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
file://0001-get-pac-test-Fix-build-with-clang-libc.patch \
file://CVE-2020-25219.patch \
+ file://CVE-2020-26154.patch \
"
SRC_URI[md5sum] = "f6b1d2a1e17a99cd3debaae6d04ab152"
SRC_URI[sha256sum] = "654db464120c9534654590b6683c7fa3887b3dad0ca1c4cd412af24fbfca6d4f"
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.70.0.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb
similarity index 90%
rename from poky/meta/recipes-support/libsoup/libsoup-2.4_2.70.0.bb
rename to poky/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb
index d6425bd..d0bc019 100644
--- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.70.0.bb
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb
@@ -10,8 +10,7 @@
SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz"
-SRC_URI[md5sum] = "c539f5b5ab534f024dc4e6a14e6d3f54"
-SRC_URI[sha256sum] = "54b020f74aefa438918d8e53cff62e2b1e59efe2de53e06b19a4b07b1f4d5342"
+SRC_URI[sha256sum] = "170c3f8446b0f65f8e4b93603349172b1085fb8917c181d10962f02bb85f5387"
CVE_PRODUCT = "libsoup"
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0001-Fix-compilation-with-fno-common.patch b/poky/meta/recipes-support/libunwind/libunwind/0001-Fix-compilation-with-fno-common.patch
deleted file mode 100644
index e11487f..0000000
--- a/poky/meta/recipes-support/libunwind/libunwind/0001-Fix-compilation-with-fno-common.patch
+++ /dev/null
@@ -1,448 +0,0 @@
-From 00d18b21dcb9723c4f13889a39a760a654782370 Mon Sep 17 00:00:00 2001
-From: Yichao Yu <yyc1992@gmail.com>
-Date: Tue, 31 Mar 2020 00:43:32 -0400
-Subject: [PATCH] Fix compilation with -fno-common.
-
-Making all other archs consistent with IA64 which should not have this problem.
-Also move the FIXME to the correct place.
-
-Also add some minimum comments about this...
-
-Upstream-Status: Backport [https://github.com/libunwind/libunwind/pull/166]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/aarch64/Ginit.c | 15 +++++++--------
- src/arm/Ginit.c | 15 +++++++--------
- src/coredump/_UPT_get_dyn_info_list_addr.c | 5 +++++
- src/hppa/Ginit.c | 15 +++++++--------
- src/ia64/Ginit.c | 1 +
- src/mi/Gfind_dynamic_proc_info.c | 1 +
- src/mips/Ginit.c | 15 +++++++--------
- src/ppc32/Ginit.c | 11 +++++++----
- src/ppc64/Ginit.c | 11 +++++++----
- src/ptrace/_UPT_get_dyn_info_list_addr.c | 5 +++++
- src/s390x/Ginit.c | 15 +++++++--------
- src/sh/Ginit.c | 15 +++++++--------
- src/tilegx/Ginit.c | 15 +++++++--------
- src/x86/Ginit.c | 15 +++++++--------
- src/x86_64/Ginit.c | 15 +++++++--------
- 15 files changed, 89 insertions(+), 80 deletions(-)
-
-diff --git a/src/aarch64/Ginit.c b/src/aarch64/Ginit.c
-index dec235c..3538976 100644
---- a/src/aarch64/Ginit.c
-+++ b/src/aarch64/Ginit.c
-@@ -61,13 +61,6 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg)
-
- # endif /* UNW_LOCAL_ONLY */
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
--/* XXX fix me: there is currently no way to locate the dyn-info list
-- by a remote unwinder. On ia64, this is done via a special
-- unwind-table entry. Perhaps something similar can be done with
-- DWARF2 unwind info. */
--
- static void
- put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
- {
-@@ -78,7 +71,13 @@ static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
-diff --git a/src/arm/Ginit.c b/src/arm/Ginit.c
-index 2720d06..0bac0d7 100644
---- a/src/arm/Ginit.c
-+++ b/src/arm/Ginit.c
-@@ -57,18 +57,17 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg)
-
- # endif /* UNW_LOCAL_ONLY */
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
--/* XXX fix me: there is currently no way to locate the dyn-info list
-- by a remote unwinder. On ia64, this is done via a special
-- unwind-table entry. Perhaps something similar can be done with
-- DWARF2 unwind info. */
--
- static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
-diff --git a/src/coredump/_UPT_get_dyn_info_list_addr.c b/src/coredump/_UPT_get_dyn_info_list_addr.c
-index 0d11905..739ed05 100644
---- a/src/coredump/_UPT_get_dyn_info_list_addr.c
-+++ b/src/coredump/_UPT_get_dyn_info_list_addr.c
-@@ -74,6 +74,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
-
- #else
-
-+/* XXX fix me: there is currently no way to locate the dyn-info list
-+ by a remote unwinder. On ia64, this is done via a special
-+ unwind-table entry. Perhaps something similar can be done with
-+ DWARF2 unwind info. */
-+
- static inline int
- get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
- int *countp)
-diff --git a/src/hppa/Ginit.c b/src/hppa/Ginit.c
-index 461e4b9..265455a 100644
---- a/src/hppa/Ginit.c
-+++ b/src/hppa/Ginit.c
-@@ -64,13 +64,6 @@ _Uhppa_uc_addr (ucontext_t *uc, int reg)
-
- # endif /* UNW_LOCAL_ONLY */
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
--/* XXX fix me: there is currently no way to locate the dyn-info list
-- by a remote unwinder. On ia64, this is done via a special
-- unwind-table entry. Perhaps something similar can be done with
-- DWARF2 unwind info. */
--
- static void
- put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
- {
-@@ -81,7 +74,13 @@ static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
-diff --git a/src/ia64/Ginit.c b/src/ia64/Ginit.c
-index b09a2ad..8601bb3 100644
---- a/src/ia64/Ginit.c
-+++ b/src/ia64/Ginit.c
-@@ -68,6 +68,7 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- if (!_U_dyn_info_list_addr)
- return -UNW_ENOINFO;
- #endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
- *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-diff --git a/src/mi/Gfind_dynamic_proc_info.c b/src/mi/Gfind_dynamic_proc_info.c
-index 98d3501..2e7c62e 100644
---- a/src/mi/Gfind_dynamic_proc_info.c
-+++ b/src/mi/Gfind_dynamic_proc_info.c
-@@ -49,6 +49,7 @@ local_find_proc_info (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi,
- return -UNW_ENOINFO;
- #endif
-
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
- list = (unw_dyn_info_list_t *) (uintptr_t) _U_dyn_info_list_addr ();
- for (di = list->first; di; di = di->next)
- if (ip >= di->start_ip && ip < di->end_ip)
-diff --git a/src/mips/Ginit.c b/src/mips/Ginit.c
-index 3df170c..bf7a8f5 100644
---- a/src/mips/Ginit.c
-+++ b/src/mips/Ginit.c
-@@ -69,13 +69,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
-
- # endif /* UNW_LOCAL_ONLY */
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
--/* XXX fix me: there is currently no way to locate the dyn-info list
-- by a remote unwinder. On ia64, this is done via a special
-- unwind-table entry. Perhaps something similar can be done with
-- DWARF2 unwind info. */
--
- static void
- put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
- {
-@@ -86,7 +79,13 @@ static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
-diff --git a/src/ppc32/Ginit.c b/src/ppc32/Ginit.c
-index c5312d9..f8d6886 100644
---- a/src/ppc32/Ginit.c
-+++ b/src/ppc32/Ginit.c
-@@ -91,9 +91,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
-
- # endif /* UNW_LOCAL_ONLY */
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
--
- static void
- put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
- {
-@@ -104,7 +101,13 @@ static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
-diff --git a/src/ppc64/Ginit.c b/src/ppc64/Ginit.c
-index 4c88cd6..7bfb395 100644
---- a/src/ppc64/Ginit.c
-+++ b/src/ppc64/Ginit.c
-@@ -95,9 +95,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
-
- # endif /* UNW_LOCAL_ONLY */
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
--
- static void
- put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
- {
-@@ -108,7 +105,13 @@ static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
-diff --git a/src/ptrace/_UPT_get_dyn_info_list_addr.c b/src/ptrace/_UPT_get_dyn_info_list_addr.c
-index cc5ed04..16671d4 100644
---- a/src/ptrace/_UPT_get_dyn_info_list_addr.c
-+++ b/src/ptrace/_UPT_get_dyn_info_list_addr.c
-@@ -71,6 +71,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
-
- #else
-
-+/* XXX fix me: there is currently no way to locate the dyn-info list
-+ by a remote unwinder. On ia64, this is done via a special
-+ unwind-table entry. Perhaps something similar can be done with
-+ DWARF2 unwind info. */
-+
- static inline int
- get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
- int *countp)
-diff --git a/src/s390x/Ginit.c b/src/s390x/Ginit.c
-index f0886ac..db01743 100644
---- a/src/s390x/Ginit.c
-+++ b/src/s390x/Ginit.c
-@@ -50,8 +50,6 @@ static struct unw_addr_space local_addr_space;
-
- unw_addr_space_t unw_local_addr_space = &local_addr_space;
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
- static inline void *
- uc_addr (ucontext_t *uc, int reg)
- {
-@@ -75,11 +73,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
-
- # endif /* UNW_LOCAL_ONLY */
-
--/* XXX fix me: there is currently no way to locate the dyn-info list
-- by a remote unwinder. On ia64, this is done via a special
-- unwind-table entry. Perhaps something similar can be done with
-- DWARF2 unwind info. */
--
- static void
- put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
- {
-@@ -90,7 +83,13 @@ static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
-diff --git a/src/sh/Ginit.c b/src/sh/Ginit.c
-index 52988a7..9fe96d2 100644
---- a/src/sh/Ginit.c
-+++ b/src/sh/Ginit.c
-@@ -58,13 +58,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
-
- # endif /* UNW_LOCAL_ONLY */
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
--/* XXX fix me: there is currently no way to locate the dyn-info list
-- by a remote unwinder. On ia64, this is done via a special
-- unwind-table entry. Perhaps something similar can be done with
-- DWARF2 unwind info. */
--
- static void
- put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
- {
-@@ -75,7 +68,13 @@ static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
-diff --git a/src/tilegx/Ginit.c b/src/tilegx/Ginit.c
-index 7564a55..925e641 100644
---- a/src/tilegx/Ginit.c
-+++ b/src/tilegx/Ginit.c
-@@ -64,13 +64,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
-
- # endif /* UNW_LOCAL_ONLY */
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
--/* XXX fix me: there is currently no way to locate the dyn-info list
-- by a remote unwinder. On ia64, this is done via a special
-- unwind-table entry. Perhaps something similar can be done with
-- DWARF2 unwind info. */
--
- static void
- put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
- {
-@@ -81,7 +74,13 @@ static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
-diff --git a/src/x86/Ginit.c b/src/x86/Ginit.c
-index f6b8dc2..3cec74a 100644
---- a/src/x86/Ginit.c
-+++ b/src/x86/Ginit.c
-@@ -54,13 +54,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
-
- # endif /* UNW_LOCAL_ONLY */
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
--/* XXX fix me: there is currently no way to locate the dyn-info list
-- by a remote unwinder. On ia64, this is done via a special
-- unwind-table entry. Perhaps something similar can be done with
-- DWARF2 unwind info. */
--
- static void
- put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
- {
-@@ -71,7 +64,13 @@ static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
-diff --git a/src/x86_64/Ginit.c b/src/x86_64/Ginit.c
-index 6161da6..5c4e426 100644
---- a/src/x86_64/Ginit.c
-+++ b/src/x86_64/Ginit.c
-@@ -49,13 +49,6 @@ static struct unw_addr_space local_addr_space;
-
- unw_addr_space_t unw_local_addr_space = &local_addr_space;
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
--/* XXX fix me: there is currently no way to locate the dyn-info list
-- by a remote unwinder. On ia64, this is done via a special
-- unwind-table entry. Perhaps something similar can be done with
-- DWARF2 unwind info. */
--
- static void
- put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
- {
-@@ -66,7 +59,13 @@ static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so.
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
---
-2.28.0
-
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0002-backtrace-Use-only-with-glibc-and-uclibc.patch b/poky/meta/recipes-support/libunwind/libunwind/0002-backtrace-Use-only-with-glibc-and-uclibc.patch
deleted file mode 100644
index 1b862dc..0000000
--- a/poky/meta/recipes-support/libunwind/libunwind/0002-backtrace-Use-only-with-glibc-and-uclibc.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From b61446add7ae1c041266c2fa5ba2f51cb3b65d35 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 31 Dec 2015 06:44:07 +0000
-Subject: [PATCH 2/6] backtrace: Use only with glibc and uclibc
-
-backtrace API is glibc specific not linux specific
-so make it behave so.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tests/test-coredump-unwind.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/test-coredump-unwind.c b/tests/test-coredump-unwind.c
-index 5349823..3b153cb 100644
---- a/tests/test-coredump-unwind.c
-+++ b/tests/test-coredump-unwind.c
-@@ -57,7 +57,9 @@
- #include <grp.h>
-
- /* For SIGSEGV handler code */
-+#ifdef __GLIBC__
- #include <execinfo.h>
-+#endif
- #include <sys/ucontext.h>
-
- #include <libunwind-coredump.h>
-@@ -238,11 +240,11 @@ void handle_sigsegv(int sig, siginfo_t *info, void *ucontext)
- ip);
-
- {
-+#ifdef __GLIBC__
- /* glibc extension */
- void *array[50];
- int size;
- size = backtrace(array, 50);
--#ifdef __linux__
- backtrace_symbols_fd(array, size, 2);
- #endif
- }
---
-2.20.1
-
diff --git a/poky/meta/recipes-support/libunwind/libunwind/sigset_t.patch b/poky/meta/recipes-support/libunwind/libunwind/sigset_t.patch
deleted file mode 100644
index 6baaa77..0000000
--- a/poky/meta/recipes-support/libunwind/libunwind/sigset_t.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 5df1555828add4e256cb4bba49fffffc22127c34 Mon Sep 17 00:00:00 2001
-From: Dave Watson <dade.watson@gmail.com>
-Date: Wed, 27 May 2020 08:21:04 -0700
-Subject: [PATCH] aarch64: Fix __sigset build issue on muslC
-
-Described in issue #176. Taken from Alpine Linux project.
-
-Change __sigset_t to sigset_t
-
-Upstream-Status: Backport [https://github.com/libunwind/libunwind/commit/5df1555828]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- include/libunwind-aarch64.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/libunwind-aarch64.h b/include/libunwind-aarch64.h
-index db01a9f69..d1bd8708f 100644
---- a/include/libunwind-aarch64.h
-+++ b/include/libunwind-aarch64.h
-@@ -202,7 +202,7 @@ typedef struct
- unsigned long uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
-- __sigset_t uc_sigmask;
-+ sigset_t uc_sigmask;
- struct unw_sigcontext uc_mcontext;
- } unw_tdep_context_t;
-
diff --git a/poky/meta/recipes-support/libunwind/libunwind_1.4.0.bb b/poky/meta/recipes-support/libunwind/libunwind_1.5.0.bb
similarity index 74%
rename from poky/meta/recipes-support/libunwind/libunwind_1.4.0.bb
rename to poky/meta/recipes-support/libunwind/libunwind_1.5.0.bb
index 2193bd8..089c406 100644
--- a/poky/meta/recipes-support/libunwind/libunwind_1.4.0.bb
+++ b/poky/meta/recipes-support/libunwind/libunwind_1.5.0.bb
@@ -2,18 +2,15 @@
SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV}.tar.gz \
file://0001-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch \
- file://0002-backtrace-Use-only-with-glibc-and-uclibc.patch \
file://0003-x86-Stub-out-x86_local_resume.patch \
file://0004-Fix-build-on-mips-musl.patch \
file://0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \
file://0006-Fix-for-X32.patch \
- file://sigset_t.patch \
- file://0001-Fix-compilation-with-fno-common.patch \
"
SRC_URI_append_libc-musl = " file://musl-header-conflict.patch"
-SRC_URI[md5sum] = "5114504c74ac3992ac06aa551cd55678"
-SRC_URI[sha256sum] = "df59c931bd4d7ebfd83ee481c943edf015138089b8e50abed8d9c57ba9338435"
+SRC_URI[md5sum] = "c6923dda0675f6a4ef21426164dc8b6a"
+SRC_URI[sha256sum] = "90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017"
EXTRA_OECONF_append_libc-musl = " --disable-documentation --disable-tests --enable-static"
diff --git a/poky/meta/recipes-support/npth/npth_1.6.bb b/poky/meta/recipes-support/npth/npth_1.6.bb
index 233e0dc..88484ac 100644
--- a/poky/meta/recipes-support/npth/npth_1.6.bb
+++ b/poky/meta/recipes-support/npth/npth_1.6.bb
@@ -1,5 +1,5 @@
SUMMARY = "New GNU Portable Threads library"
-HOMEPAGE = "http://www.gnupg.org/software/pth/"
+HOMEPAGE = "https://www.gnu.org/software/pth/"
SECTION = "libs"
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "\
@@ -15,7 +15,7 @@
BINCONFIG = "${bindir}/npth-config"
-inherit autotools binconfig-disabled multilib_header
+inherit autotools binconfig-disabled multilib_header
FILES_${PN} = "${libdir}/libnpth.so.*"
FILES_${PN}-dev += "${bindir}/npth-config"
diff --git a/poky/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch b/poky/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch
new file mode 100644
index 0000000..78ffb22
--- /dev/null
+++ b/poky/meta/recipes-support/numactl/numactl/0001-define-run-test-target.patch
@@ -0,0 +1,32 @@
+rename test target as run-test
+
+Upstream-Statue: Pending
+
+test target not only compile the test files, but also run them, which is
+not suitable for cross-compile environment, so rename it as run-test.
+
+and define test target to compile the test files.
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ Makefile.am | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index b6db339..de176c4 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -124,7 +124,9 @@ regress2: $(check_PROGRAMS)
+ test_numademo: numademo
+ ./numademo -t -e 10M
+
+-test: all $(check_PROGRAMS) regress1 regress2 test_numademo
++test: all $(check_PROGRAMS)
++
++run-test: all $(check_PROGRAMS) regress1 regress2 test_numademo
+
+ TESTS_ENVIRONMENT = builddir='$(builddir)'; export builddir;
+
+--
+1.9.1
+
diff --git a/poky/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch b/poky/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch
new file mode 100644
index 0000000..9812ecc
--- /dev/null
+++ b/poky/meta/recipes-support/numactl/numactl/Fix-the-test-output-format.patch
@@ -0,0 +1,64 @@
+From 59fd750a84bbe5874dec936d2bee9ef11a1b6505 Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Tue, 21 Jul 2015 02:01:22 +0900
+Subject: [PATCH] Fix the test output format
+
+Upstream-Status: Pending
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ test/regress | 6 +++---
+ test/regress2 | 11 +++++------
+ 2 files changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/test/regress b/test/regress
+index 2ce1705..d086a47 100755
+--- a/test/regress
++++ b/test/regress
+@@ -74,6 +74,7 @@ probe_hardware()
+ if [ $numnodes -lt 2 ] ; then
+ echo "need at least two nodes with at least $NEEDPAGES each of"
+ echo "free memory for mempolicy regression tests"
++ echo "FAIL: numa regress"
+ exit 77 # Skip test
+ fi
+ }
+@@ -207,10 +208,9 @@ main()
+ rm A B
+
+ if [ "$EXIT" = 0 ] ; then
+- echo '========SUCCESS'
++ echo 'PASS: numactl regress'
+ else
+- echo '========FAILURE'
+- exit 1
++ echo 'FAIL: numactl regress'
+ fi
+ }
+
+diff --git a/test/regress2 b/test/regress2
+index aa6ea41..450c510 100755
+--- a/test/regress2
++++ b/test/regress2
+@@ -9,12 +9,11 @@ testdir=`dirname "$0"`
+ export PATH=${builddir}:$PATH
+
+ T() {
+- echo "$@"
+- if ! $VALGRIND "$@" ; then
+- echo $1 FAILED!!!!
+- exit 1
+- fi
+- echo
++ if ! $VALGRIND "$@" 2>&1 1>/dev/null; then
++ echo "FAIL: $1"
++ else
++ echo "PASS: $1"
++ fi
+ }
+
+ # still broken
+--
+1.8.4.2
+
diff --git a/poky/meta/recipes-support/numactl/numactl/Makefile b/poky/meta/recipes-support/numactl/numactl/Makefile
new file mode 100644
index 0000000..9a5134c
--- /dev/null
+++ b/poky/meta/recipes-support/numactl/numactl/Makefile
@@ -0,0 +1,7 @@
+.PHONY: regress1 regress2
+
+regress1:
+ cd test ; ./regress
+
+regress2:
+ cd test ; ./regress2
diff --git a/poky/meta/recipes-support/numactl/numactl/run-ptest b/poky/meta/recipes-support/numactl/numactl/run-ptest
new file mode 100755
index 0000000..bf269da
--- /dev/null
+++ b/poky/meta/recipes-support/numactl/numactl/run-ptest
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# If there is numa support, run the tests. Otherwise skip all the tests.
+# Ideally the skipping would happen by the upstream tests.
+if ! numactl -s | grep -q "No NUMA support available on this system."; then
+ make regress1
+ make regress2
+ if numademo -t -e 10M; then
+ echo "PASS: numademo"
+ else
+ echo "FAIL: numademo"
+ fi
+else
+ echo "SKIP: ./../test/bind_range"
+ echo "SKIP: ./../test/checkaffinity"
+ echo "SKIP: ./../test/checktopology"
+ echo "SKIP: ./../test/distance"
+ echo "SKIP: ./../test/nodemap"
+ echo "SKIP: ./../test/tbitmap"
+ echo "SKIP: numactl_regress"
+ echo "SKIP: numademo"
+fi
+
diff --git a/poky/meta/recipes-support/numactl/numactl_git.bb b/poky/meta/recipes-support/numactl/numactl_git.bb
new file mode 100644
index 0000000..6c8a667
--- /dev/null
+++ b/poky/meta/recipes-support/numactl/numactl_git.bb
@@ -0,0 +1,59 @@
+SUMMARY = "Development package for building Applications that use numa"
+HOMEPAGE = "http://oss.sgi.com/projects/libnuma/"
+DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \
+to run other programs with a specific NUMA policy and a libnuma to do \
+allocations with NUMA policy in applications."
+LICENSE = "GPL-2.0 & LGPL-2.1"
+SECTION = "apps"
+
+inherit autotools-brokensep ptest
+
+LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=f8ff2391624f28e481299f3f677b21bb"
+
+SRCREV = "dd6de072c92c892a86e18c0fd0dfa1ba57a9a05d"
+PV = "2.0.14"
+
+SRC_URI = "git://github.com/numactl/numactl \
+ file://Fix-the-test-output-format.patch \
+ file://Makefile \
+ file://run-ptest \
+ file://0001-define-run-test-target.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+LDFLAGS_append_riscv64 = " -latomic"
+LDFLAGS_append_riscv32 = " -latomic"
+
+do_install() {
+ oe_runmake DESTDIR=${D} prefix=${D}/usr install
+ #remove the empty man2 directory
+ rm -r ${D}${mandir}/man2
+}
+
+do_compile_ptest() {
+ oe_runmake test
+}
+
+do_install_ptest() {
+ #install tests binaries
+ local test_binaries="distance ftok mbind_mig_pages migrate_pages move_pages \
+ mynode nodemap node-parse pagesize prefered randmap realloc_test \
+ tbitmap tshared"
+
+ [ ! -d ${D}/${PTEST_PATH}/test ] && mkdir -p ${D}/${PTEST_PATH}/test
+ for i in $test_binaries; do
+ install -m 0755 ${B}/test/.libs/$i ${D}${PTEST_PATH}/test
+ done
+
+ local test_scripts="checktopology checkaffinity printcpu regress regress2 \
+ shmtest runltp bind_range"
+ for i in $test_scripts; do
+ install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test
+ done
+
+ install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/
+ install -m 0755 ${B}/.libs/numactl ${D}${PTEST_PATH}/
+}
+
+RDEPENDS_${PN}-ptest = "bash"
diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.0.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.0.bb
index 10b4c5b..8b9938f 100644
--- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.0.bb
+++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.0.bb
@@ -4,7 +4,7 @@
runs them in sequence."
HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/"
-LICENSE = "GPLv2"
+LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
SRCREV = "834670317bd3f6e427e1ac461c07ada6b8936dfd"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.33.0.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.33.0.bb
index 611a1bd..33f041a 100644
--- a/poky/meta/recipes-support/sqlite/sqlite3_3.33.0.bb
+++ b/poky/meta/recipes-support/sqlite/sqlite3_3.33.0.bb
@@ -8,3 +8,5 @@
# -19242 is only an issue in specific development branch commits
CVE_CHECK_WHITELIST += "CVE-2019-19242"
+# This is believed to be iOS specific (https://groups.google.com/g/sqlite-dev/c/U7OjAbZO6LA)
+CVE_CHECK_WHITELIST += "CVE-2015-3717"
diff --git a/poky/meta/recipes-support/vim/vim_8.2.bb b/poky/meta/recipes-support/vim/vim_8.2.bb
index 709b6dd..7e4654e 100644
--- a/poky/meta/recipes-support/vim/vim_8.2.bb
+++ b/poky/meta/recipes-support/vim/vim_8.2.bb
@@ -3,7 +3,7 @@
PROVIDES = "xxd"
PACKAGECONFIG_class-native = ""
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
ALTERNATIVE_${PN}_append = " xxd"
ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd"
diff --git a/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
index 0ffd92b..a1d2e7f 100644
--- a/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
+++ b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
@@ -1,7 +1,10 @@
-From f78988d3bb5929c857e788a86c7919d6a4ffacc9 Mon Sep 17 00:00:00 2001
+From de9639baac792327c701e509258b8a13f6959e82 Mon Sep 17 00:00:00 2001
From: Danilo Spinella <danyspin97@protonmail.com>
Date: Thu, 21 Mar 2019 14:19:26 +0100
Subject: [PATCH] Add W_EXITCODE macro for non-glibc systems
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
Upstream-Status: Submitted [1]
@@ -10,40 +13,24 @@
[1] https://gitlab.gnome.org/GNOME/vte/issues/72
---
- src/missing.hh | 21 +++++++++++++++++++++
- src/widget.cc | 1 +
- 2 files changed, 22 insertions(+)
- create mode 100644 src/missing.hh
+ src/missing.hh | 4 ++++
+ src/widget.cc | 1 +
+ 2 files changed, 5 insertions(+)
diff --git a/src/missing.hh b/src/missing.hh
-new file mode 100644
-index 00000000..1baa993d
---- /dev/null
+index 0742270..30ede62 100644
+--- a/src/missing.hh
+++ b/src/missing.hh
-@@ -0,0 +1,21 @@
-+/* Copyright 2019 Danilo Spinella
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 3 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ */
+@@ -33,3 +33,7 @@ int fdwalk(int (*cb)(void* data, int fd),
+ char* strchrnul(char const* s,
+ int c);
+ #endif
+
+#ifndef W_EXITCODE
+#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
+#endif
-+
diff --git a/src/widget.cc b/src/widget.cc
-index 331ddba9..555a4adf 100644
+index 44a2271..0668735 100644
--- a/src/widget.cc
+++ b/src/widget.cc
@@ -21,6 +21,7 @@
@@ -52,8 +39,5 @@
#include <sys/wait.h> // for W_EXITCODE
+#include "missing.hh" // for W_EXITCODE on non-glibc systems
+ #include <exception>
#include <new>
- #include <string>
---
-2.21.0
-
diff --git a/poky/meta/recipes-support/vte/vte_0.60.3.bb b/poky/meta/recipes-support/vte/vte_0.62.1.bb
similarity index 92%
rename from poky/meta/recipes-support/vte/vte_0.60.3.bb
rename to poky/meta/recipes-support/vte/vte_0.62.1.bb
index 02a886b..1a8e21d 100644
--- a/poky/meta/recipes-support/vte/vte_0.60.3.bb
+++ b/poky/meta/recipes-support/vte/vte_0.62.1.bb
@@ -18,8 +18,7 @@
# vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
-SRC_URI[archive.md5sum] = "4214712ecab2d50e2a3a07897c3ada49"
-SRC_URI[archive.sha256sum] = "feb76e1181a357d86112d447a08d127e2081438df76ece83243b18609dd9822a"
+SRC_URI[archive.sha256sum] = "c369e87c0c8284e09109d0a9aac821f543558f51c0cb9c7acfff3df64153308d"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"