summaryrefslogtreecommitdiff
path: root/poky
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2020-06-13 18:46:56 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-06-13 18:49:06 +0300
commit5a43b434bfdf1be10819414433f28984670a6549 (patch)
treeb9c9bcff18ecf82739c258dbf73c23f23ba545e4 /poky
parent89770b09490d616883ab728cc628a844ca0e1150 (diff)
downloadopenbmc-5a43b434bfdf1be10819414433f28984670a6549.tar.xz
poky: subtree update:b66b9f7548..26ae42ded7
Adrian Bunk (1): dpkg: Remove workaound patch for host tar < 1.27 Alexander Kanavin (39): linux-yocto: exclude from version checks/automated version updates pciutils: upgrade 3.6.4 -> 3.7.0 createrepo-c: upgrade 0.15.10 -> 0.15.11 librepo: upgrade 1.11.3 -> 1.12.0 pkgconf: upgrade 1.6.3 -> 1.7.3 python3-numpy: upgrade 1.18.4 -> 1.18.5 python3-git: upgrade 3.1.2 -> 3.1.3 strace: upgrade 5.6 -> 5.7 acpica: upgrade 20200430 -> 20200528 man-db: upgrade 2.9.1 -> 2.9.2 msmtp: upgrade 1.8.10 -> 1.8.11 epiphany: upgrade 3.36.1 -> 3.36.2 cogl-1.0: upgrade 1.22.6 -> 1.22.8 libdrm: upgrade 2.4.101 -> 2.4.102 vulkan-demos: upgrade to latest revision xkeyboard-config: upgrade 2.29 -> 2.30 linux-firmware: upgrade 20200421 -> 20200519 babeltrace2: upgrade 2.0.2 -> 2.0.3 lttng-tools: upgrade 2.12.0 -> 2.12.1 ffmpeg: upgrade 4.2.2 -> 4.2.3 wpebackend-fdo: upgrade 1.6.0 -> 1.6.1 gnutls: upgrade 3.6.13 -> 3.6.14 libcap: upgrade 2.34 -> 2.36 bison: upgrade 3.6.2 -> 3.6.3 asciidoc: 8.6.10 -> 9.0.0 debianutils: 4.9.1 -> 4.11 git: upgrade 2.26.2 -> 2.27.0 go: 1.14.3 -> 1.14.4 iproute2: upgrade 5.6.0 -> 5.7.0 libksba: 1.3.5 -> 1.4.0 lttng-modules: update to 2.12.1 mpg123: update to 1.26.1 ovmf: update to 202005 shared-mime-info: upgrade 1.15 -> 2.0 subversion: upgrade 1.13.0 -> 1.14.0 xinetd: 2.3.15 -> 2.3.15.4 init-system-helpers: use https for fetching ca-certificates: correct upstream version check build-sysroots: add sysroot paths with native binaries to PATH Andreas Müller (4): vte: tiny cleanup / renumber patch vte: upgrade 0.60.2 -> 0.60.3 harfbuzz: upgrade 2.6.4 -> 2.6.7 sqlite3: upgrade 3.32.1 -> 3.32.2 Changqing Li (1): cups.inc: remove template service from SYSTEMD_SERVICE Chen Qi (2): db: do not install db_verify if 'verify' is not enabled vim: restore the 'chmod -x' workaround in do_install Hongxu Jia (1): glib-networking/btrfs-tools/dosfstools/parted/bmap-tools/libsoup-2.4: add nativesdk support Jacob Kroon (4): features_check: Factorize code for checking features meta: Don't inherit 'features_check' in recipes that don't utilize it features_check: Warn if not used insane: Check for feature check variables not being used Joe Slater (2): qemu: force build type to production vim: _FORTIFY_SOURCE=2 be gone Joshua Watt (12): bitbake: bitbake: cooker: Split file collections per multiconfig bitbake: bitbake: cache: Use multiconfig aware caches bitbake: bitbake: lib: Add support for Logging Adapters bitbake: bitbake: lib: Add PrefixLoggerAdapter helper bitbake: bitbake: cache: Improve logging bitbake: bitbake: cache: Cache size optimization bitbake: bitbake: tests: Add tests for BBMASK in multiconfig bitbake: bitbake: command: Move split_mc_pn to runqueue bitbake: bitbake: cache: Fix error when cache is rebuilt wic: Fix --extra-space argument handling bitbake: bitbake: siggen: Pass all data caches to hash functions bitbake: bitbake: tests: Add mcdepends test Kai Kang (4): mdadm: remove service template from SYSTEMD_SERVICE wpa-supplicant: remove service templates from SYSTEMD_SERVICE encodings: clear postinst script avahi-dnsconfd: rdepends on avahi-daemon Khem Raj (2): libunwind: Fix build on aarch64/musl stress-ng: Fix build on musl Lee Chee Yang (1): qemu: fix CVE-2020-13361 Ming Liu (1): u-boot: support merging .cfg files for UBOOT_CONFIG Mingli Yu (2): python3-magic: add the missing rdepends python3-setuptools: add missing rdepends for python3-pkg-resources Paul Barker (5): selftest: git-submodule-test: New recipe for testing a gitsm SRC_URI archiver: Capture git submodules in mirror archiver selftest-ed: Support native builds selftest-nopackages: New recipe in meta-selftest archiver: Speed up tests Pierre-Jean Texier (2): libarchive: upgrade 3.4.2 -> 3.4.3 iptables: upgrade 1.8.4 -> 1.8.5 Rasmus Villemoes (1): glibc: move ld.so.conf back to main package Richard Purdie (1): Revert "bitbake.conf: Remove unused DEPLOY_DIR_TOOLS variable" Stefan Agner (1): initramfs-framework: check successful mount using mountpoint Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I047d0fa664dcc2864fd7c1a09d124e3d8c197e9f
Diffstat (limited to 'poky')
-rw-r--r--poky/bitbake/lib/bb/__init__.py50
-rw-r--r--poky/bitbake/lib/bb/cache.py234
-rw-r--r--poky/bitbake/lib/bb/command.py45
-rw-r--r--poky/bitbake/lib/bb/cooker.py159
-rw-r--r--poky/bitbake/lib/bb/runqueue.py25
-rw-r--r--poky/bitbake/lib/bb/siggen.py78
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf3
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc1.conf1
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc2.conf1
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/recipes/f1.bb1
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/recipes/fails-mc/fails-mc1.bb5
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/recipes/fails-mc/fails-mc2.bb4
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue.py45
-rw-r--r--poky/bitbake/lib/bb/tinfoil.py24
-rw-r--r--poky/bitbake/lib/bblayers/action.py22
-rw-r--r--poky/bitbake/lib/bblayers/query.py4
-rw-r--r--poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb8
-rw-r--r--poky/meta-selftest/recipes-test/nopackages/selftest-nopackages.bb6
-rw-r--r--poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb2
-rw-r--r--poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.14.1.bb2
-rw-r--r--poky/meta/classes/archiver.bbclass13
-rw-r--r--poky/meta/classes/features_check.bbclass125
-rw-r--r--poky/meta/classes/insane.bbclass12
-rw-r--r--poky/meta/conf/bitbake.conf1
-rw-r--r--poky/meta/lib/oe/rootfs.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/archiver.py84
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/wic.py15
-rw-r--r--poky/meta/recipes-bsp/pciutils/pciutils_3.7.0.bb (renamed from poky/meta/recipes-bsp/pciutils/pciutils_3.6.4.bb)3
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot.inc21
-rw-r--r--poky/meta/recipes-bsp/usbutils/usbutils_012.bb2
-rw-r--r--poky/meta/recipes-connectivity/avahi/avahi_0.8.bb1
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5.inc2
-rw-r--r--poky/meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch23
-rw-r--r--poky/meta/recipes-connectivity/iproute2/iproute2_5.7.0.bb (renamed from poky/meta/recipes-connectivity/iproute2/iproute2_5.6.0.bb)6
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb6
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib.inc2
-rw-r--r--poky/meta/recipes-core/glib-networking/glib-networking_2.64.3.bb2
-rw-r--r--poky/meta/recipes-core/glibc/glibc-package.inc4
-rw-r--r--poky/meta/recipes-core/glibc/glibc.inc2
-rw-r--r--poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs4
-rw-r--r--poky/meta/recipes-core/initscripts/init-system-helpers_1.57.bb2
-rw-r--r--poky/meta/recipes-core/libxml/libxml2_2.9.10.bb2
-rw-r--r--poky/meta/recipes-core/meta/build-sysroots.bb4
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf_git.bb4
-rw-r--r--poky/meta/recipes-devtools/bison/bison_3.6.3.bb (renamed from poky/meta/recipes-devtools/bison/bison_3.6.2.bb)2
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.6.1.bb2
-rw-r--r--poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.11.bb (renamed from poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.10.bb)2
-rw-r--r--poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb2
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch36
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg_1.20.0.bb3
-rw-r--r--poky/meta/recipes-devtools/git/git_2.27.0.bb (renamed from poky/meta/recipes-devtools/git/git_2.26.2.bb)4
-rw-r--r--poky/meta/recipes-devtools/go/go-1.14.inc4
-rw-r--r--poky/meta/recipes-devtools/librepo/librepo_1.12.0.bb (renamed from poky/meta/recipes-devtools/librepo/librepo_1.11.3.bb)2
-rw-r--r--poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb2
-rw-r--r--poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb (renamed from poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb)3
-rw-r--r--poky/meta/recipes-devtools/python-numpy/python-numpy.inc3
-rw-r--r--poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.5.bb (renamed from poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.4.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python-setuptools.inc6
-rw-r--r--poky/meta/recipes-devtools/python/python3-git_3.1.3.bb (renamed from poky/meta/recipes-devtools/python/python3-git_3.1.2.bb)3
-rw-r--r--poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb5
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu.inc1
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-13361.patch61
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu_4.2.0.bb5
-rw-r--r--poky/meta/recipes-devtools/strace/strace_5.7.bb (renamed from poky/meta/recipes-devtools/strace/strace_5.6.bb)3
-rw-r--r--poky/meta/recipes-devtools/subversion/subversion_1.14.0.bb (renamed from poky/meta/recipes-devtools/subversion/subversion_1.13.0.bb)5
-rw-r--r--poky/meta/recipes-extended/acpica/acpica_20200528.bb (renamed from poky/meta/recipes-extended/acpica/acpica_20200430.bb)2
-rw-r--r--poky/meta/recipes-extended/asciidoc/asciidoc_9.0.0.bb (renamed from poky/meta/recipes-extended/asciidoc/asciidoc_8.6.10.bb)7
-rw-r--r--poky/meta/recipes-extended/cups/cups.inc2
-rw-r--r--poky/meta/recipes-extended/iptables/iptables_1.8.5.bb (renamed from poky/meta/recipes-extended/iptables/iptables_1.8.4.bb)3
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive_3.4.3.bb (renamed from poky/meta/recipes-extended/libarchive/libarchive_3.4.2.bb)3
-rw-r--r--poky/meta/recipes-extended/man-db/man-db_2.9.2.bb (renamed from poky/meta/recipes-extended/man-db/man-db_2.9.1.bb)3
-rw-r--r--poky/meta/recipes-extended/mdadm/mdadm_4.1.bb6
-rw-r--r--poky/meta/recipes-extended/msmtp/msmtp_1.8.11.bb (renamed from poky/meta/recipes-extended/msmtp/msmtp_1.8.10.bb)3
-rw-r--r--poky/meta/recipes-extended/parted/parted_3.3.bb2
-rw-r--r--poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch22
-rw-r--r--poky/meta/recipes-extended/stress-ng/stress-ng_0.11.12.bb2
-rw-r--r--poky/meta/recipes-extended/xinetd/xinetd/0001-configure-Use-HAVE_SYS_RESOURCE_H-to-guard-sys-resou.patch100
-rw-r--r--poky/meta/recipes-extended/xinetd/xinetd/Disable-services-from-inetd.conf-if-a-service-with-t.patch86
-rw-r--r--poky/meta/recipes-extended/xinetd/xinetd/Various-fixes-from-the-previous-maintainer.patch79
-rw-r--r--poky/meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch34
-rw-r--r--poky/meta/recipes-extended/xinetd/xinetd/xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch112
-rw-r--r--poky/meta/recipes-extended/xinetd/xinetd/xinetd.conf11
-rw-r--r--poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb47
-rw-r--r--poky/meta/recipes-extended/xinetd/xinetd_2.3.15.bb75
-rw-r--r--poky/meta/recipes-gnome/epiphany/epiphany_3.36.2.bb (renamed from poky/meta/recipes-gnome/epiphany/epiphany_3.36.1.bb)3
-rw-r--r--poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.6.bb6
-rw-r--r--poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb5
-rw-r--r--poky/meta/recipes-graphics/drm/libdrm_2.4.102.bb (renamed from poky/meta/recipes-graphics/drm/libdrm_2.4.101.bb)3
-rw-r--r--poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.7.bb (renamed from poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.4.bb)11
-rw-r--r--poky/meta/recipes-graphics/libva/libva.inc2
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb4
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/xkeyboard-config/0001-fix-python3-support.patch34
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.30.bb (renamed from poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.29.bb)7
-rw-r--r--poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200519.bb (renamed from poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200421.bb)5
-rw-r--r--poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc2
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto.inc2
-rw-r--r--poky/meta/recipes-kernel/lttng/babeltrace2/0001-fs.c-initialize-other_entry.patch33
-rw-r--r--poky/meta/recipes-kernel/lttng/babeltrace2_2.0.3.bb (renamed from poky/meta/recipes-kernel/lttng/babeltrace2_2.0.2.bb)9
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0001-Update-for-kernel-5.7-use-vmalloc_sync_mappings-on-k.patch853
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-missing-wrapper-rename-to-wrapper_vmalloc_sync_m.patch32
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-Use-vmalloc_sync_mappings-on-kernel-5.6-as-well.patch88
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0004-Update-Use-vmalloc_sync_mappings-for-stable-kernels.patch67
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules_2.12.1.bb (renamed from poky/meta/recipes-kernel/lttng/lttng-modules_2.12.0.bb)11
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools_2.12.1.bb (renamed from poky/meta/recipes-kernel/lttng/lttng-tools_2.12.0.bb)3
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.3.bb (renamed from poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.2.bb)3
-rw-r--r--poky/meta/recipes-multimedia/mpg123/mpg123/sdl2.patch14
-rw-r--r--poky/meta/recipes-multimedia/mpg123/mpg123_1.26.1.bb (renamed from poky/meta/recipes-multimedia/mpg123/mpg123_1.25.13.bb)6
-rw-r--r--poky/meta/recipes-sato/webkit/wpebackend-fdo_1.6.1.bb (renamed from poky/meta/recipes-sato/webkit/wpebackend-fdo_1.6.0.bb)3
-rw-r--r--poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb2
-rw-r--r--poky/meta/recipes-support/ca-certificates/ca-certificates_20200601.bb1
-rw-r--r--poky/meta/recipes-support/db/db_5.3.28.bb3
-rw-r--r--poky/meta/recipes-support/debianutils/debianutils_4.11.bb (renamed from poky/meta/recipes-support/debianutils/debianutils_4.9.1.bb)7
-rw-r--r--poky/meta/recipes-support/gnutls/gnutls_3.6.14.bb (renamed from poky/meta/recipes-support/gnutls/gnutls_3.6.13.bb)3
-rw-r--r--poky/meta/recipes-support/libcap/libcap_2.36.bb (renamed from poky/meta/recipes-support/libcap/libcap_2.34.bb)3
-rw-r--r--poky/meta/recipes-support/libksba/libksba/ksba-add-pkgconfig-support.patch130
-rw-r--r--poky/meta/recipes-support/libksba/libksba_1.4.0.bb (renamed from poky/meta/recipes-support/libksba/libksba_1.3.5.bb)3
-rw-r--r--poky/meta/recipes-support/libsoup/libsoup-2.4_2.70.0.bb2
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/sigset_t.patch28
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind_1.4.0.bb1
-rw-r--r--poky/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb24
-rw-r--r--poky/meta/recipes-support/sqlite/sqlite3_3.32.2.bb (renamed from poky/meta/recipes-support/sqlite/sqlite3_3.32.1.bb)4
-rw-r--r--poky/meta/recipes-support/vim/vim.inc6
-rw-r--r--poky/meta/recipes-support/vim/vim_8.2.bb5
-rw-r--r--poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch (renamed from poky/meta/recipes-support/vte/vte/0002-Add-W_EXITCODE-macro-for-non-glibc-systems.patch)0
-rw-r--r--poky/meta/recipes-support/vte/vte_0.60.3.bb (renamed from poky/meta/recipes-support/vte/vte_0.60.2.bb)8
-rw-r--r--poky/scripts/lib/wic/ksparser.py2
127 files changed, 1072 insertions, 2182 deletions
diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py
index b96466e65..4e2f97b23 100644
--- a/poky/bitbake/lib/bb/__init__.py
+++ b/poky/bitbake/lib/bb/__init__.py
@@ -35,12 +35,14 @@ class NullHandler(logging.Handler):
def emit(self, record):
pass
-Logger = logging.getLoggerClass()
-class BBLogger(Logger):
- def __init__(self, name):
+class BBLoggerMixin(object):
+ def __init__(self, *args, **kwargs):
+ # Does nothing to allow calling super() from derived classes
+ pass
+
+ def setup_bblogger(self, name):
if name.split(".")[0] == "BitBake":
self.debug = self.bbdebug
- Logger.__init__(self, name)
def bbdebug(self, level, msg, *args, **kwargs):
loglevel = logging.DEBUG - level + 1
@@ -60,16 +62,56 @@ class BBLogger(Logger):
def verbnote(self, msg, *args, **kwargs):
return self.log(logging.INFO + 2, msg, *args, **kwargs)
+Logger = logging.getLoggerClass()
+class BBLogger(Logger, BBLoggerMixin):
+ def __init__(self, name, *args, **kwargs):
+ self.setup_bblogger(name)
+ super().__init__(name, *args, **kwargs)
logging.raiseExceptions = False
logging.setLoggerClass(BBLogger)
+class BBLoggerAdapter(logging.LoggerAdapter, BBLoggerMixin):
+ def __init__(self, logger, *args, **kwargs):
+ self.setup_bblogger(logger.name)
+ super().__init__(logger, *args, **kwargs)
+
+ if sys.version_info < (3, 6):
+ # These properties were added in Python 3.6. Add them in older versions
+ # for compatibility
+ @property
+ def manager(self):
+ return self.logger.manager
+
+ @manager.setter
+ def manager(self, value):
+ self.logger.manager = value
+
+ @property
+ def name(self):
+ return self.logger.name
+
+ def __repr__(self):
+ logger = self.logger
+ level = getLevelName(logger.getEffectiveLevel())
+ return '<%s %s (%s)>' % (self.__class__.__name__, logger.name, level)
+
+logging.LoggerAdapter = BBLoggerAdapter
+
logger = logging.getLogger("BitBake")
logger.addHandler(NullHandler())
logger.setLevel(logging.DEBUG - 2)
mainlogger = logging.getLogger("BitBake.Main")
+class PrefixLoggerAdapter(logging.LoggerAdapter):
+ def __init__(self, prefix, logger):
+ super().__init__(logger, {})
+ self.__msg_prefix = prefix
+
+ def process(self, msg, kwargs):
+ return "%s%s" %(self.__msg_prefix, msg), kwargs
+
# This has to be imported after the setLoggerClass, as the import of bb.msg
# can result in construction of the various loggers.
import bb.msg
diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py
index d1be83617..be5ea6a8b 100644
--- a/poky/bitbake/lib/bb/cache.py
+++ b/poky/bitbake/lib/bb/cache.py
@@ -19,16 +19,20 @@
import os
import logging
import pickle
-from collections import defaultdict
+from collections import defaultdict, Mapping
import bb.utils
+from bb import PrefixLoggerAdapter
import re
logger = logging.getLogger("BitBake.Cache")
__cache_version__ = "152"
-def getCacheFile(path, filename, data_hash):
- return os.path.join(path, filename + "." + data_hash)
+def getCacheFile(path, filename, mc, data_hash):
+ mcspec = ''
+ if mc:
+ mcspec = ".%s" % mc
+ return os.path.join(path, filename + mcspec + "." + data_hash)
# RecipeInfoCommon defines common data retrieving methods
# from meta data for caches. CoreRecipeInfo as well as other
@@ -324,7 +328,7 @@ class NoCache(object):
bb_data = self.load_bbfile(virtualfn, appends, virtonly=True)
return bb_data[virtual]
- def load_bbfile(self, bbfile, appends, virtonly = False):
+ def load_bbfile(self, bbfile, appends, virtonly = False, mc=None):
"""
Load and parse one .bb build file
Return the data and whether parsing resulted in the file being skipped
@@ -337,6 +341,10 @@ class NoCache(object):
datastores = parse_recipe(bb_data, bbfile, appends, mc)
return datastores
+ if mc is not None:
+ bb_data = self.databuilder.mcdata[mc].createCopy()
+ return parse_recipe(bb_data, bbfile, appends, mc)
+
bb_data = self.data.createCopy()
datastores = parse_recipe(bb_data, bbfile, appends)
@@ -354,14 +362,15 @@ class Cache(NoCache):
"""
BitBake Cache implementation
"""
-
- def __init__(self, databuilder, data_hash, caches_array):
+ def __init__(self, databuilder, mc, data_hash, caches_array):
super().__init__(databuilder)
data = databuilder.data
# Pass caches_array information into Cache Constructor
# It will be used later for deciding whether we
# need extra cache file dump/load support
+ self.mc = mc
+ self.logger = PrefixLoggerAdapter("Cache: %s: " % (mc if mc else "default"), logger)
self.caches_array = caches_array
self.cachedir = data.getVar("CACHE")
self.clean = set()
@@ -374,31 +383,47 @@ class Cache(NoCache):
if self.cachedir in [None, '']:
self.has_cache = False
- logger.info("Not using a cache. "
- "Set CACHE = <directory> to enable.")
+ self.logger.info("Not using a cache. "
+ "Set CACHE = <directory> to enable.")
return
self.has_cache = True
- self.cachefile = getCacheFile(self.cachedir, "bb_cache.dat", self.data_hash)
- logger.debug(1, "Cache dir: %s", self.cachedir)
+ def getCacheFile(self, cachefile):
+ return getCacheFile(self.cachedir, cachefile, self.mc, self.data_hash)
+
+ def prepare_cache(self, progress):
+ if not self.has_cache:
+ return 0
+
+ loaded = 0
+
+ self.cachefile = self.getCacheFile("bb_cache.dat")
+
+ self.logger.debug(1, "Cache dir: %s", self.cachedir)
bb.utils.mkdirhier(self.cachedir)
cache_ok = True
if self.caches_array:
for cache_class in self.caches_array:
- cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
- cache_ok = cache_ok and os.path.exists(cachefile)
+ cachefile = self.getCacheFile(cache_class.cachefile)
+ cache_exists = os.path.exists(cachefile)
+ self.logger.debug(2, "Checking if %s exists: %r", cachefile, cache_exists)
+ cache_ok = cache_ok and cache_exists
cache_class.init_cacheData(self)
if cache_ok:
- self.load_cachefile()
+ loaded = self.load_cachefile(progress)
elif os.path.isfile(self.cachefile):
- logger.info("Out of date cache found, rebuilding...")
+ self.logger.info("Out of date cache found, rebuilding...")
else:
- logger.debug(1, "Cache file %s not found, building..." % self.cachefile)
+ self.logger.debug(1, "Cache file %s not found, building..." % self.cachefile)
# We don't use the symlink, its just for debugging convinience
- symlink = os.path.join(self.cachedir, "bb_cache.dat")
+ if self.mc:
+ symlink = os.path.join(self.cachedir, "bb_cache.dat.%s" % self.mc)
+ else:
+ symlink = os.path.join(self.cachedir, "bb_cache.dat")
+
if os.path.exists(symlink):
bb.utils.remove(symlink)
try:
@@ -406,22 +431,31 @@ class Cache(NoCache):
except OSError:
pass
- def load_cachefile(self):
- cachesize = 0
- previous_progress = 0
- previous_percent = 0
+ return loaded
+
+ def cachesize(self):
+ if not self.has_cache:
+ return 0
- # Calculate the correct cachesize of all those cache files
+ cachesize = 0
for cache_class in self.caches_array:
- cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
- with open(cachefile, "rb") as cachefile:
- cachesize += os.fstat(cachefile.fileno()).st_size
+ cachefile = self.getCacheFile(cache_class.cachefile)
+ try:
+ with open(cachefile, "rb") as cachefile:
+ cachesize += os.fstat(cachefile.fileno()).st_size
+ except FileNotFoundError:
+ pass
+
+ return cachesize
- bb.event.fire(bb.event.CacheLoadStarted(cachesize), self.data)
+ def load_cachefile(self, progress):
+ cachesize = self.cachesize()
+ previous_progress = 0
+ previous_percent = 0
for cache_class in self.caches_array:
- cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
- logger.debug(1, 'Loading cache file: %s' % cachefile)
+ cachefile = self.getCacheFile(cache_class.cachefile)
+ self.logger.debug(1, 'Loading cache file: %s' % cachefile)
with open(cachefile, "rb") as cachefile:
pickled = pickle.Unpickler(cachefile)
# Check cache version information
@@ -429,15 +463,15 @@ class Cache(NoCache):
cache_ver = pickled.load()
bitbake_ver = pickled.load()
except Exception:
- logger.info('Invalid cache, rebuilding...')
- return
+ self.logger.info('Invalid cache, rebuilding...')
+ return 0
if cache_ver != __cache_version__:
- logger.info('Cache version mismatch, rebuilding...')
- return
+ self.logger.info('Cache version mismatch, rebuilding...')
+ return 0
elif bitbake_ver != bb.__version__:
- logger.info('Bitbake version mismatch, rebuilding...')
- return
+ self.logger.info('Bitbake version mismatch, rebuilding...')
+ return 0
# Load the rest of the cache file
current_progress = 0
@@ -460,29 +494,17 @@ class Cache(NoCache):
self.depends_cache[key] = [value]
# only fire events on even percentage boundaries
current_progress = cachefile.tell() + previous_progress
- if current_progress > cachesize:
- # we might have calculated incorrect total size because a file
- # might've been written out just after we checked its size
- cachesize = current_progress
- current_percent = 100 * current_progress / cachesize
- if current_percent > previous_percent:
- previous_percent = current_percent
- bb.event.fire(bb.event.CacheLoadProgress(current_progress, cachesize),
- self.data)
+ progress(cachefile.tell() + previous_progress)
previous_progress += current_progress
- # Note: depends cache number is corresponding to the parsing file numbers.
- # The same file has several caches, still regarded as one item in the cache
- bb.event.fire(bb.event.CacheLoadCompleted(cachesize,
- len(self.depends_cache)),
- self.data)
+ return len(self.depends_cache)
def parse(self, filename, appends):
"""Parse the specified filename, returning the recipe information"""
- logger.debug(1, "Parsing %s", filename)
+ self.logger.debug(1, "Parsing %s", filename)
infos = []
- datastores = self.load_bbfile(filename, appends)
+ datastores = self.load_bbfile(filename, appends, mc=self.mc)
depends = []
variants = []
# Process the "real" fn last so we can store variants list
@@ -534,7 +556,7 @@ class Cache(NoCache):
cached, infos = self.load(fn, appends)
for virtualfn, info_array in infos:
if info_array[0].skipped:
- logger.debug(1, "Skipping %s: %s", virtualfn, info_array[0].skipreason)
+ self.logger.debug(1, "Skipping %s: %s", virtualfn, info_array[0].skipreason)
skipped += 1
else:
self.add_info(virtualfn, info_array, cacheData, not cached)
@@ -570,21 +592,21 @@ class Cache(NoCache):
# File isn't in depends_cache
if not fn in self.depends_cache:
- logger.debug(2, "Cache: %s is not cached", fn)
+ self.logger.debug(2, "%s is not cached", fn)
return False
mtime = bb.parse.cached_mtime_noerror(fn)
# Check file still exists
if mtime == 0:
- logger.debug(2, "Cache: %s no longer exists", fn)
+ self.logger.debug(2, "%s no longer exists", fn)
self.remove(fn)
return False
info_array = self.depends_cache[fn]
# Check the file's timestamp
if mtime != info_array[0].timestamp:
- logger.debug(2, "Cache: %s changed", fn)
+ self.logger.debug(2, "%s changed", fn)
self.remove(fn)
return False
@@ -595,14 +617,14 @@ class Cache(NoCache):
fmtime = bb.parse.cached_mtime_noerror(f)
# Check if file still exists
if old_mtime != 0 and fmtime == 0:
- logger.debug(2, "Cache: %s's dependency %s was removed",
- fn, f)
+ self.logger.debug(2, "%s's dependency %s was removed",
+ fn, f)
self.remove(fn)
return False
if (fmtime != old_mtime):
- logger.debug(2, "Cache: %s's dependency %s changed",
- fn, f)
+ self.logger.debug(2, "%s's dependency %s changed",
+ fn, f)
self.remove(fn)
return False
@@ -618,14 +640,14 @@ class Cache(NoCache):
continue
f, exist = f.split(":")
if (exist == "True" and not os.path.exists(f)) or (exist == "False" and os.path.exists(f)):
- logger.debug(2, "Cache: %s's file checksum list file %s changed",
- fn, f)
+ self.logger.debug(2, "%s's file checksum list file %s changed",
+ fn, f)
self.remove(fn)
return False
- if appends != info_array[0].appends:
- logger.debug(2, "Cache: appends for %s changed", fn)
- logger.debug(2, "%s to %s" % (str(appends), str(info_array[0].appends)))
+ if tuple(appends) != tuple(info_array[0].appends):
+ self.logger.debug(2, "appends for %s changed", fn)
+ self.logger.debug(2, "%s to %s" % (str(appends), str(info_array[0].appends)))
self.remove(fn)
return False
@@ -634,10 +656,10 @@ class Cache(NoCache):
virtualfn = variant2virtual(fn, cls)
self.clean.add(virtualfn)
if virtualfn not in self.depends_cache:
- logger.debug(2, "Cache: %s is not cached", virtualfn)
+ self.logger.debug(2, "%s is not cached", virtualfn)
invalid = True
elif len(self.depends_cache[virtualfn]) != len(self.caches_array):
- logger.debug(2, "Cache: Extra caches missing for %s?" % virtualfn)
+ self.logger.debug(2, "Extra caches missing for %s?" % virtualfn)
invalid = True
# If any one of the variants is not present, mark as invalid for all
@@ -645,10 +667,10 @@ class Cache(NoCache):
for cls in info_array[0].variants:
virtualfn = variant2virtual(fn, cls)
if virtualfn in self.clean:
- logger.debug(2, "Cache: Removing %s from cache", virtualfn)
+ self.logger.debug(2, "Removing %s from cache", virtualfn)
self.clean.remove(virtualfn)
if fn in self.clean:
- logger.debug(2, "Cache: Marking %s as not clean", fn)
+ self.logger.debug(2, "Marking %s as not clean", fn)
self.clean.remove(fn)
return False
@@ -661,10 +683,10 @@ class Cache(NoCache):
Called from the parser in error cases
"""
if fn in self.depends_cache:
- logger.debug(1, "Removing %s from cache", fn)
+ self.logger.debug(1, "Removing %s from cache", fn)
del self.depends_cache[fn]
if fn in self.clean:
- logger.debug(1, "Marking %s as unclean", fn)
+ self.logger.debug(1, "Marking %s as unclean", fn)
self.clean.remove(fn)
def sync(self):
@@ -677,12 +699,13 @@ class Cache(NoCache):
return
if self.cacheclean:
- logger.debug(2, "Cache is clean, not saving.")
+ self.logger.debug(2, "Cache is clean, not saving.")
return
for cache_class in self.caches_array:
cache_class_name = cache_class.__name__
- cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
+ cachefile = self.getCacheFile(cache_class.cachefile)
+ self.logger.debug(2, "Writing %s", cachefile)
with open(cachefile, "wb") as f:
p = pickle.Pickler(f, pickle.HIGHEST_PROTOCOL)
p.dump(__cache_version__)
@@ -701,8 +724,18 @@ class Cache(NoCache):
return bb.parse.cached_mtime_noerror(cachefile)
def add_info(self, filename, info_array, cacheData, parsed=None, watcher=None):
+ if self.mc is not None:
+ (fn, cls, mc) = virtualfn2realfn(filename)
+ if mc:
+ self.logger.error("Unexpected multiconfig %s", virtualfn)
+ return
+
+ vfn = realfn2virtual(fn, cls, self.mc)
+ else:
+ vfn = filename
+
if isinstance(info_array[0], CoreRecipeInfo) and (not info_array[0].skipped):
- cacheData.add_from_recipeinfo(filename, info_array)
+ cacheData.add_from_recipeinfo(vfn, info_array)
if watcher:
watcher(info_array[0].file_depends)
@@ -727,6 +760,65 @@ class Cache(NoCache):
info_array.append(cache_class(realfn, data))
self.add_info(file_name, info_array, cacheData, parsed)
+class MulticonfigCache(Mapping):
+ def __init__(self, databuilder, data_hash, caches_array):
+ def progress(p):
+ nonlocal current_progress
+ nonlocal previous_progress
+ nonlocal previous_percent
+ nonlocal cachesize
+
+ current_progress = previous_progress + p
+
+ if current_progress > cachesize:
+ # we might have calculated incorrect total size because a file
+ # might've been written out just after we checked its size
+ cachesize = current_progress
+ current_percent = 100 * current_progress / cachesize
+ if current_percent > previous_percent:
+ previous_percent = current_percent
+ bb.event.fire(bb.event.CacheLoadProgress(current_progress, cachesize),
+ databuilder.data)
+
+
+ cachesize = 0
+ current_progress = 0
+ previous_progress = 0
+ previous_percent = 0
+ self.__caches = {}
+
+ for mc, mcdata in databuilder.mcdata.items():
+ self.__caches[mc] = Cache(databuilder, mc, data_hash, caches_array)
+
+ cachesize += self.__caches[mc].cachesize()
+
+ bb.event.fire(bb.event.CacheLoadStarted(cachesize), databuilder.data)
+ loaded = 0
+
+ for c in self.__caches.values():
+ loaded += c.prepare_cache(progress)
+ previous_progress = current_progress
+
+ # Note: depends cache number is corresponding to the parsing file numbers.
+ # The same file has several caches, still regarded as one item in the cache
+ bb.event.fire(bb.event.CacheLoadCompleted(cachesize, loaded), databuilder.data)
+
+ def __len__(self):
+ return len(self.__caches)
+
+ def __getitem__(self, key):
+ return self.__caches[key]
+
+ def __contains__(self, key):
+ return key in self.__caches
+
+ def __iter__(self):
+ for k in self.__caches:
+ yield k
+
+ def keys(self):
+ return self.__caches[key]
+
def init(cooker):
"""
diff --git a/poky/bitbake/lib/bb/command.py b/poky/bitbake/lib/bb/command.py
index 6abf38668..3902ccca7 100644
--- a/poky/bitbake/lib/bb/command.py
+++ b/poky/bitbake/lib/bb/command.py
@@ -138,12 +138,6 @@ class Command:
def reset(self):
self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
-def split_mc_pn(pn):
- if pn.startswith("multiconfig:"):
- _, mc, pn = pn.split(":", 2)
- return (mc, pn)
- return ('', pn)
-
class CommandsSync:
"""
A class of synchronous commands
@@ -232,7 +226,11 @@ class CommandsSync:
def matchFile(self, command, params):
fMatch = params[0]
- return command.cooker.matchFile(fMatch)
+ try:
+ mc = params[0]
+ except IndexError:
+ mc = ''
+ return command.cooker.matchFile(fMatch, mc)
matchFile.needconfig = False
def getUIHandlerNum(self, command, params):
@@ -395,22 +393,38 @@ class CommandsSync:
def getSkippedRecipes(self, command, params):
# Return list sorted by reverse priority order
import bb.cache
- skipdict = OrderedDict(sorted(command.cooker.skiplist.items(),
- key=lambda x: (-command.cooker.collection.calc_bbfile_priority(bb.cache.virtualfn2realfn(x[0])[0]), x[0])))
+ def sortkey(x):
+ vfn, _ = x
+ realfn, _, mc = bb.cache.virtualfn2realfn(vfn)
+ return (-command.cooker.collections[mc].calc_bbfile_priority(realfn), vfn)
+
+ skipdict = OrderedDict(sorted(command.cooker.skiplist.items(), key=sortkey))
return list(skipdict.items())
getSkippedRecipes.readonly = True
def getOverlayedRecipes(self, command, params):
- return list(command.cooker.collection.overlayed.items())
+ try:
+ mc = params[0]
+ except IndexError:
+ mc = ''
+ return list(command.cooker.collections[mc].overlayed.items())
getOverlayedRecipes.readonly = True
def getFileAppends(self, command, params):
fn = params[0]
- return command.cooker.collection.get_file_appends(fn)
+ try:
+ mc = params[1]
+ except IndexError:
+ mc = ''
+ return command.cooker.collections[mc].get_file_appends(fn)
getFileAppends.readonly = True
def getAllAppends(self, command, params):
- return command.cooker.collection.bbappends
+ try:
+ mc = params[0]
+ except IndexError:
+ mc = ''
+ return command.cooker.collections[mc].bbappends
getAllAppends.readonly = True
def findProviders(self, command, params):
@@ -422,7 +436,7 @@ class CommandsSync:
findProviders.readonly = True
def findBestProvider(self, command, params):
- (mc, pn) = split_mc_pn(params[0])
+ (mc, pn) = bb.runqueue.split_mc(params[0])
return command.cooker.findBestProvider(pn, mc)
findBestProvider.readonly = True
@@ -496,6 +510,7 @@ class CommandsSync:
for the recipe.
"""
fn = params[0]
+ mc = bb.runqueue.mc_from_tid(fn)
appends = params[1]
appendlist = params[2]
if len(params) > 3:
@@ -507,7 +522,7 @@ class CommandsSync:
if appendlist is not None:
appendfiles = appendlist
else:
- appendfiles = command.cooker.collection.get_file_appends(fn)
+ appendfiles = command.cooker.collections[mc].get_file_appends(fn)
else:
appendfiles = []
# We are calling bb.cache locally here rather than on the server,
@@ -517,7 +532,7 @@ class CommandsSync:
if config_data:
# We have to use a different function here if we're passing in a datastore
# NOTE: we took a copy above, so we don't do it here again
- envdata = bb.cache.parse_recipe(config_data, fn, appendfiles)['']
+ envdata = bb.cache.parse_recipe(config_data, fn, appendfiles, mc)['']
else:
# Use the standard path
parser = bb.cache.NoCache(command.cooker.databuilder)
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index e527e2311..effd02442 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -525,7 +525,7 @@ class BBCooker:
self.parseConfiguration()
fn, cls, mc = bb.cache.virtualfn2realfn(buildfile)
- fn = self.matchFile(fn)
+ fn = self.matchFile(fn, mc)
fn = bb.cache.realfn2virtual(fn, cls, mc)
elif len(pkgs_to_build) == 1:
mc = mc_base(pkgs_to_build[0])
@@ -541,8 +541,8 @@ class BBCooker:
if fn:
try:
- bb_cache = bb.cache.Cache(self.databuilder, self.data_hash, self.caches_array)
- envdata = bb_cache.loadDataFull(fn, self.collection.get_file_appends(fn))
+ bb_caches = bb.cache.MulticonfigCache(self.databuilder, self.data_hash, self.caches_array)
+ envdata = bb_caches[mc].loadDataFull(fn, self.collections[mc].get_file_appends(fn))
except Exception as e:
parselog.exception("Unable to read %s", fn)
raise
@@ -929,26 +929,33 @@ class BBCooker:
logger.info("Task dependencies saved to 'task-depends.dot'")
def show_appends_with_no_recipes(self):
+ appends_without_recipes = {}
# Determine which bbappends haven't been applied
-
- # First get list of recipes, including skipped
- recipefns = list(self.recipecaches[''].pkg_fn.keys())
- recipefns.extend(self.skiplist.keys())
-
- # Work out list of bbappends that have been applied
- applied_appends = []
- for fn in recipefns:
- applied_appends.extend(self.collection.get_file_appends(fn))
-
- appends_without_recipes = []
- for _, appendfn in self.collection.bbappends:
- if not appendfn in applied_appends:
- appends_without_recipes.append(appendfn)
-
- if appends_without_recipes:
- msg = 'No recipes available for:\n %s' % '\n '.join(appends_without_recipes)
- warn_only = self.data.getVar("BB_DANGLINGAPPENDS_WARNONLY", \
- False) or "no"
+ for mc in self.multiconfigs:
+ # First get list of recipes, including skipped
+ recipefns = list(self.recipecaches[mc].pkg_fn.keys())
+ recipefns.extend(self.skiplist.keys())
+
+ # Work out list of bbappends that have been applied
+ applied_appends = []
+ for fn in recipefns:
+ applied_appends.extend(self.collections[mc].get_file_appends(fn))
+
+ appends_without_recipes[mc] = []
+ for _, appendfn in self.collections[mc].bbappends:
+ if not appendfn in applied_appends:
+ appends_without_recipes[mc].append(appendfn)
+
+ msgs = []
+ for mc in sorted(appends_without_recipes.keys()):
+ if appends_without_recipes[mc]:
+ msgs.append('No recipes in %s available for:\n %s' % (mc if mc else 'default',
+ '\n '.join(appends_without_recipes[mc])))
+
+ if msgs:
+ msg = "\n".join(msgs)
+ warn_only = self.databuilder.mcdata[mc].getVar("BB_DANGLINGAPPENDS_WARNONLY", \
+ False) or "no"
if warn_only.lower() in ("1", "yes", "true"):
bb.warn(msg)
else:
@@ -1249,15 +1256,15 @@ class BBCooker:
if siggen_cache:
bb.parse.siggen.checksum_cache.mtime_cache.clear()
- def matchFiles(self, bf):
+ def matchFiles(self, bf, mc=''):
"""
Find the .bb files which match the expression in 'buildfile'.
"""
if bf.startswith("/") or bf.startswith("../"):
bf = os.path.abspath(bf)
- self.collection = CookerCollectFiles(self.bbfile_config_priorities)
- filelist, masked, searchdirs = self.collection.collect_bbfiles(self.data, self.data)
+ self.collections = {mc: CookerCollectFiles(self.bbfile_config_priorities, mc)}
+ filelist, masked, searchdirs = self.collections[mc].collect_bbfiles(self.databuilder.mcdata[mc], self.databuilder.mcdata[mc])
try:
os.stat(bf)
bf = os.path.abspath(bf)
@@ -1270,12 +1277,12 @@ class BBCooker:
matches.append(f)
return matches
- def matchFile(self, buildfile):
+ def matchFile(self, buildfile, mc=''):
"""
Find the .bb file which matches the expression in 'buildfile'.
Raise an error if multiple files
"""
- matches = self.matchFiles(buildfile)
+ matches = self.matchFiles(buildfile, mc)
if len(matches) != 1:
if matches:
msg = "Unable to match '%s' to a specific recipe file - %s matches found:" % (buildfile, len(matches))
@@ -1316,14 +1323,14 @@ class BBCooker:
task = "do_%s" % task
fn, cls, mc = bb.cache.virtualfn2realfn(buildfile)
- fn = self.matchFile(fn)
+ fn = self.matchFile(fn, mc)
self.buildSetVars()
self.reset_mtime_caches()
- bb_cache = bb.cache.Cache(self.databuilder, self.data_hash, self.caches_array)
+ bb_caches = bb.cache.MulticonfigCache(self.databuilder, self.data_hash, self.caches_array)
- infos = bb_cache.parse(fn, self.collection.get_file_appends(fn))
+ infos = bb_caches[mc].parse(fn, self.collections[mc].get_file_appends(fn))
infos = dict(infos)
fn = bb.cache.realfn2virtual(fn, cls, mc)
@@ -1552,14 +1559,24 @@ class BBCooker:
for dep in self.configuration.extra_assume_provided:
self.recipecaches[mc].ignored_dependencies.add(dep)
- self.collection = CookerCollectFiles(self.bbfile_config_priorities)
- (filelist, masked, searchdirs) = self.collection.collect_bbfiles(self.data, self.data)
+ self.collections = {}
+
+ mcfilelist = {}
+ total_masked = 0
+ searchdirs = set()
+ for mc in self.multiconfigs:
+ self.collections[mc] = CookerCollectFiles(self.bbfile_config_priorities, mc)
+ (filelist, masked, search) = self.collections[mc].collect_bbfiles(self.databuilder.mcdata[mc], self.databuilder.mcdata[mc])
+
+ mcfilelist[mc] = filelist
+ total_masked += masked
+ searchdirs |= set(search)
# Add inotify watches for directories searched for bb/bbappend files
for dirent in searchdirs:
self.add_filewatch([[dirent]], dirs=True)
- self.parser = CookerParser(self, filelist, masked)
+ self.parser = CookerParser(self, mcfilelist, total_masked)
self.parsecache_valid = True
self.state = state.parsing
@@ -1571,7 +1588,7 @@ class BBCooker:
self.show_appends_with_no_recipes()
self.handlePrefProviders()
for mc in self.multiconfigs:
- self.recipecaches[mc].bbfile_priority = self.collection.collection_priorities(self.recipecaches[mc].pkg_fn, self.data)
+ self.recipecaches[mc].bbfile_priority = self.collections[mc].collection_priorities(self.recipecaches[mc].pkg_fn, self.data)
self.state = state.running
# Send an event listing all stamps reachable after parsing
@@ -1679,7 +1696,8 @@ class CookerExit(bb.event.Event):
class CookerCollectFiles(object):
- def __init__(self, priorities):
+ def __init__(self, priorities, mc=''):
+ self.mc = mc
self.bbappends = []
# Priorities is a list of tupples, with the second element as the pattern.
# We need to sort the list with the longest pattern first, and so on to
@@ -1846,7 +1864,7 @@ class CookerCollectFiles(object):
(bbappend, filename) = b
if (bbappend == f) or ('%' in bbappend and bbappend.startswith(f[:bbappend.index('%')])):
filelist.append(filename)
- return filelist
+ return tuple(filelist)
def collection_priorities(self, pkgfns, d):
@@ -1882,7 +1900,8 @@ class CookerCollectFiles(object):
for collection, pattern, regex, _ in self.bbfile_config_priorities:
if regex in unmatched:
if d.getVar('BBFILE_PATTERN_IGNORE_EMPTY_%s' % collection) != '1':
- collectlog.warning("No bb files matched BBFILE_PATTERN_%s '%s'" % (collection, pattern))
+ collectlog.warning("No bb files in %s matched BBFILE_PATTERN_%s '%s'" % (self.mc if self.mc else 'default',
+ collection, pattern))
return priorities
@@ -1949,7 +1968,7 @@ class Parser(multiprocessing.Process):
except queue.Full:
pending.append(result)
- def parse(self, filename, appends):
+ def parse(self, mc, cache, filename, appends):
try:
origfilter = bb.event.LogHandler.filter
# Record the filename we're parsing into any events generated
@@ -1963,7 +1982,7 @@ class Parser(multiprocessing.Process):
bb.event.set_class_handlers(self.handlers.copy())
bb.event.LogHandler.filter = parse_filter
- return True, self.bb_cache.parse(filename, appends)
+ return True, mc, cache.parse(filename, appends)
except Exception as exc:
tb = sys.exc_info()[2]
exc.recipe = filename
@@ -1978,8 +1997,8 @@ class Parser(multiprocessing.Process):
bb.event.LogHandler.filter = origfilter
class CookerParser(object):
- def __init__(self, cooker, filelist, masked):
- self.filelist = filelist
+ def __init__(self, cooker, mcfilelist, masked):
+ self.mcfilelist = mcfilelist
self.cooker = cooker
self.cfgdata = cooker.data
self.cfghash = cooker.data_hash
@@ -1993,25 +2012,27 @@ class CookerParser(object):
self.skipped = 0
self.virtuals = 0
- self.total = len(filelist)
self.current = 0
self.process_names = []
- self.bb_cache = bb.cache.Cache(self.cfgbuilder, self.cfghash, cooker.caches_array)
- self.fromcache = []
- self.willparse = []
- for filename in self.filelist:
- appends = self.cooker.collection.get_file_appends(filename)
- if not self.bb_cache.cacheValid(filename, appends):
- self.willparse.append((filename, appends))
- else:
- self.fromcache.append((filename, appends))
- self.toparse = self.total - len(self.fromcache)
+ self.bb_caches = bb.cache.MulticonfigCache(self.cfgbuilder, self.cfghash, cooker.caches_array)
+ self.fromcache = set()
+ self.willparse = set()
+ for mc in self.cooker.multiconfigs:
+ for filename in self.mcfilelist[mc]:
+ appends = self.cooker.collections[mc].get_file_appends(filename)
+ if not self.bb_caches[mc].cacheValid(filename, appends):
+ self.willparse.add((mc, self.bb_caches[mc], filename, appends))
+ else:
+ self.fromcache.add((mc, self.bb_caches[mc], filename, appends))
+
+ self.total = len(self.fromcache) + len(self.willparse)
+ self.toparse = len(self.willparse)
self.progress_chunk = int(max(self.toparse / 100, 1))
self.num_processes = min(int(self.cfgdata.getVar("BB_NUMBER_PARSE_THREADS") or
- multiprocessing.cpu_count()), len(self.willparse))
+ multiprocessing.cpu_count()), self.toparse)
self.start()
self.haveshutdown = False
@@ -2022,7 +2043,6 @@ class CookerParser(object):
if self.toparse:
bb.event.fire(bb.event.ParseStarted(self.toparse), self.cfgdata)
def init():
- Parser.bb_cache = self.bb_cache
bb.utils.set_process_name(multiprocessing.current_process().name)
multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, exitpriority=1)
multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, exitpriority=1)
@@ -2032,7 +2052,7 @@ class CookerParser(object):
def chunkify(lst,n):
return [lst[i::n] for i in range(n)]
- self.jobs = chunkify(self.willparse, self.num_processes)
+ self.jobs = chunkify(list(self.willparse), self.num_processes)
for i in range(0, self.num_processes):
parser = Parser(self.jobs[i], self.result_queue, self.parser_quit, init, self.cooker.configuration.profile)
@@ -2078,7 +2098,11 @@ class CookerParser(object):
else:
process.join()
- sync = threading.Thread(target=self.bb_cache.sync)
+ def sync_caches():
+ for c in self.bb_caches.values():
+ c.sync()
+
+ sync = threading.Thread(target=sync_caches)
sync.start()
multiprocessing.util.Finalize(None, sync.join, exitpriority=-100)
bb.codeparser.parser_cache_savemerge()
@@ -2095,9 +2119,9 @@ class CookerParser(object):
print("Processed parsing statistics saved to %s" % (pout))
def load_cached(self):
- for filename, appends in self.fromcache:
- cached, infos = self.bb_cache.load(filename, appends)
- yield not cached, infos
+ for mc, cache, filename, appends in self.fromcache:
+ cached, infos = cache.load(filename, appends)
+ yield not cached, mc, infos
def parse_generator(self):
while True:
@@ -2119,7 +2143,7 @@ class CookerParser(object):
result = []
parsed = None
try:
- parsed, result = next(self.results)
+ parsed, mc, result = next(self.results)
except StopIteration:
self.shutdown()
return False
@@ -2175,13 +2199,16 @@ class CookerParser(object):
if info_array[0].skipped:
self.skipped += 1
self.cooker.skiplist[virtualfn] = SkippedPackage(info_array[0])
- (fn, cls, mc) = bb.cache.virtualfn2realfn(virtualfn)
- self.bb_cache.add_info(virtualfn, info_array, self.cooker.recipecaches[mc],
+ self.bb_caches[mc].add_info(virtualfn, info_array, self.cooker.recipecaches[mc],
parsed=parsed, watcher = self.cooker.add_filewatch)
return True
def reparse(self, filename):
- infos = self.bb_cache.parse(filename, self.cooker.collection.get_file_appends(filename))
- for vfn, info_array in infos:
- (fn, cls, mc) = bb.cache.virtualfn2realfn(vfn)
- self.cooker.recipecaches[mc].add_from_recipeinfo(vfn, info_array)
+ to_reparse = set()
+ for mc in self.cooker.multiconfigs:
+ to_reparse.add((mc, filename, self.cooker.collections[mc].get_file_appends(filename)))
+
+ for mc, filename, appends in to_reparse:
+ infos = self.bb_caches[mc].parse(filename, appends)
+ for vfn, info_array in infos:
+ self.cooker.recipecaches[mc].add_from_recipeinfo(vfn, info_array)
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index 16f076f3b..adb34a8cf 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -46,6 +46,12 @@ def split_tid(tid):
(mc, fn, taskname, _) = split_tid_mcfn(tid)
return (mc, fn, taskname)
+def split_mc(n):
+ if n.startswith("mc:"):
+ _, mc, n = n.split(":", 2)
+ return (mc, n)
+ return ('', n)
+
def split_tid_mcfn(tid):
if tid.startswith('mc:'):
elems = tid.split(':')
@@ -1184,8 +1190,9 @@ class RunQueueData:
return len(self.runtaskentries)
def prepare_task_hash(self, tid):
- bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches[mc_from_tid(tid)])
- self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches[mc_from_tid(tid)])
+ dc = bb.parse.siggen.get_data_caches(self.dataCaches, mc_from_tid(tid))
+ bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, dc)
+ self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, dc)
self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid)
def dump_data(self):
@@ -1557,7 +1564,8 @@ class RunQueue:
def rq_dump_sigfn(self, fn, options):
bb_cache = bb.cache.NoCache(self.cooker.databuilder)
- the_data = bb_cache.loadDataFull(fn, self.cooker.collection.get_file_appends(fn))
+ mc = bb.runqueue.mc_from_tid(fn)
+ the_data = bb_cache.loadDataFull(fn, self.cooker.collections[mc].get_file_appends(fn))
siggen = bb.parse.siggen
dataCaches = self.rqdata.dataCaches
siggen.dump_sigfn(fn, dataCaches, options)
@@ -2042,10 +2050,10 @@ class RunQueueExecute:
if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run:
if not mc in self.rq.fakeworker:
self.rq.start_fakeworker(self, mc)
- self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
+ self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, True, self.cooker.collections[mc].get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
self.rq.fakeworker[mc].process.stdin.flush()
else:
- self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
+ self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, True, self.cooker.collections[mc].get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
self.rq.worker[mc].process.stdin.flush()
self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True)
@@ -2129,10 +2137,10 @@ class RunQueueExecute:
self.rq.state = runQueueFailed
self.stats.taskFailed()
return True
- self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
+ self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, False, self.cooker.collections[mc].get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
self.rq.fakeworker[mc].process.stdin.flush()
else:
- self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
+ self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, False, self.cooker.collections[mc].get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
self.rq.worker[mc].process.stdin.flush()
self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True)
@@ -2298,7 +2306,8 @@ class RunQueueExecute:
if len(self.rqdata.runtaskentries[p].depends) and not self.rqdata.runtaskentries[tid].depends.isdisjoint(total):
continue
orighash = self.rqdata.runtaskentries[tid].hash
- newhash = bb.parse.siggen.get_taskhash(tid, self.rqdata.runtaskentries[tid].depends, self.rqdata.dataCaches[mc_from_tid(tid)])
+ dc = bb.parse.siggen.get_data_caches(self.rqdata.dataCaches, mc_from_tid(tid))
+ newhash = bb.parse.siggen.get_taskhash(tid, self.rqdata.runtaskentries[tid].depends, dc)
origuni = self.rqdata.runtaskentries[tid].unihash
newuni = bb.parse.siggen.get_unihash(tid)
# FIXME, need to check it can come from sstate at all for determinism?
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index 4c8d81c5d..872333d7f 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -38,6 +38,11 @@ class SignatureGenerator(object):
"""
name = "noop"
+ # If the derived class supports multiconfig datacaches, set this to True
+ # The default is False for backward compatibility with derived signature
+ # generators that do not understand multiconfig caches
+ supports_multiconfig_datacaches = False
+
def __init__(self, data):
self.basehash = {}
self.taskhash = {}
@@ -58,10 +63,10 @@ class SignatureGenerator(object):
def get_unihash(self, tid):
return self.taskhash[tid]
- def prep_taskhash(self, tid, deps, dataCache):
+ def prep_taskhash(self, tid, deps, dataCaches):
return
- def get_taskhash(self, tid, deps, dataCache):
+ def get_taskhash(self, tid, deps, dataCaches):
self.taskhash[tid] = hashlib.sha256(tid.encode("utf-8")).hexdigest()
return self.taskhash[tid]
@@ -105,6 +110,38 @@ class SignatureGenerator(object):
def set_setscene_tasks(self, setscene_tasks):
return
+ @classmethod
+ def get_data_caches(cls, dataCaches, mc):
+ """
+ This function returns the datacaches that should be passed to signature
+ generator functions. If the signature generator supports multiconfig
+ caches, the entire dictionary of data caches is sent, otherwise a
+ special proxy is sent that support both index access to all
+ multiconfigs, and also direct access for the default multiconfig.
+
+ The proxy class allows code in this class itself to always use
+ multiconfig aware code (to ease maintenance), but derived classes that
+ are unaware of multiconfig data caches can still access the default
+ multiconfig as expected.
+
+ Do not override this function in derived classes; it will be removed in
+ the future when support for multiconfig data caches is mandatory
+ """
+ class DataCacheProxy(object):
+ def __init__(self):
+ pass
+
+ def __getitem__(self, key):
+ return dataCaches[key]
+
+ def __getattr__(self, name):
+ return getattr(dataCaches[mc], name)
+
+ if cls.supports_multiconfig_datacaches:
+ return dataCaches
+
+ return DataCacheProxy()
+
class SignatureGeneratorBasic(SignatureGenerator):
"""
"""
@@ -200,7 +237,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
self.lookupcache = {}
self.taskdeps = {}
- def rundep_check(self, fn, recipename, task, dep, depname, dataCache):
+ def rundep_check(self, fn, recipename, task, dep, depname, dataCaches):
# Return True if we should keep the dependency, False to drop it
# We only manipulate the dependencies for packages not in the whitelist
if self.twl and not self.twl.search(recipename):
@@ -218,37 +255,40 @@ class SignatureGeneratorBasic(SignatureGenerator):
pass
return taint
- def prep_taskhash(self, tid, deps, dataCache):
+ def prep_taskhash(self, tid, deps, dataCaches):
(mc, _, task, fn) = bb.runqueue.split_tid_mcfn(tid)
- self.basehash[tid] = dataCache.basetaskhash[tid]
+ self.basehash[tid] = dataCaches[mc].basetaskhash[tid]
self.runtaskdeps[tid] = []
self.file_checksum_values[tid] = []
- recipename = dataCache.pkg_fn[fn]
+ recipename = dataCaches[mc].pkg_fn[fn]
self.tidtopn[tid] = recipename
for dep in sorted(deps, key=clean_basepath):
- (depmc, _, deptaskname, depfn) = bb.runqueue.split_tid_mcfn(dep)
- if mc != depmc:
+ (depmc, _, _, depmcfn) = bb.runqueue.split_tid_mcfn(dep)
+ depname = dataCaches[depmc].pkg_fn[depmcfn]
+ if not self.supports_multiconfig_datacaches and mc != depmc:
+ # If the signature generator doesn't understand multiconfig
+ # data caches, any dependency not in the same multiconfig must
+ # be skipped for backward compatibility
continue
- depname = dataCache.pkg_fn[depfn]
- if not self.rundep_check(fn, recipename, task, dep, depname, dataCache):
+ if not self.rundep_check(fn, recipename, task, dep, depname, dataCaches):
continue
if dep not in self.taskhash:
bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?" % dep)
self.runtaskdeps[tid].append(dep)
- if task in dataCache.file_checksums[fn]:
+ if task in dataCaches[mc].file_checksums[fn]:
if self.checksum_cache:
- checksums = self.checksum_cache.get_checksums(dataCache.file_checksums[fn][task], recipename, self.localdirsexclude)
+ checksums = self.checksum_cache.get_checksums(dataCaches[mc].file_checksums[fn][task], recipename, self.localdirsexclude)
else:
- checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename, self.localdirsexclude)
+ checksums = bb.fetch2.get_file_checksums(dataCaches[mc].file_checksums[fn][task], recipename, self.localdirsexclude)
for (f,cs) in checksums:
self.file_checksum_values[tid].append((f,cs))
- taskdep = dataCache.task_deps[fn]
+ taskdep = dataCaches[mc].task_deps[fn]
if 'nostamp' in taskdep and task in taskdep['nostamp']:
# Nostamp tasks need an implicit taint so that they force any dependent tasks to run
if tid in self.taints and self.taints[tid].startswith("nostamp:"):
@@ -259,14 +299,14 @@ class SignatureGeneratorBasic(SignatureGenerator):
taint = str(uuid.uuid4())
self.taints[tid] = "nostamp:" + taint
- taint = self.read_taint(fn, task, dataCache.stamp[fn])
+ taint = self.read_taint(fn, task, dataCaches[mc].stamp[fn])
if taint:
self.taints[tid] = taint
logger.warning("%s is tainted from a forced run" % tid)
return
- def get_taskhash(self, tid, deps, dataCache):
+ def get_taskhash(self, tid, deps, dataCaches):
data = self.basehash[tid]
for dep in self.runtaskdeps[tid]:
@@ -640,6 +680,12 @@ class SignatureGeneratorTestEquivHash(SignatureGeneratorUniHashMixIn, SignatureG
self.server = data.getVar('BB_HASHSERVE')
self.method = "sstate_output_hash"
+#
+# Dummy class used for bitbake-selftest
+#
+class SignatureGeneratorTestMulticonfigDepends(SignatureGeneratorBasicHash):
+ name = "TestMulticonfigDepends"
+ supports_multiconfig_datacaches = True
def dump_this_task(outfile, d):
import bb.parse
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf
index 5e451fc2c..efebf001a 100644
--- a/poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf
@@ -1,7 +1,8 @@
CACHE = "${TOPDIR}/cache"
THISDIR = "${@os.path.dirname(d.getVar('FILE'))}"
COREBASE := "${@os.path.normpath(os.path.dirname(d.getVar('FILE')+'/../../'))}"
-BBFILES = "${COREBASE}/recipes/*.bb"
+EXTRA_BBFILES ?= ""
+BBFILES = "${COREBASE}/recipes/*.bb ${EXTRA_BBFILES}"
PROVIDES = "${PN}"
PN = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[0]}"
PF = "${BB_CURRENT_MC}:${PN}"
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc1.conf b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc1.conf
index ecf23e1c7..f34b8dccc 100644
--- a/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc1.conf
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc1.conf
@@ -1 +1,2 @@
TMPDIR = "${TOPDIR}/mc1/"
+BBMASK += "recipes/fails-mc/fails-mc1.bb"
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc2.conf b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc2.conf
index eef338e4c..c3360fc5c 100644
--- a/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc2.conf
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc2.conf
@@ -1 +1,2 @@
TMPDIR = "${TOPDIR}/mc2/"
+BBMASK += "recipes/fails-mc/fails-mc2.bb"
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/f1.bb b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/f1.bb
new file mode 100644
index 000000000..d45a4cff5
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/f1.bb
@@ -0,0 +1 @@
+do_install[mcdepends] = "mc:mc1:mc2:a1:do_build"
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/fails-mc/fails-mc1.bb b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/fails-mc/fails-mc1.bb
new file mode 100644
index 000000000..17a181fff
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/fails-mc/fails-mc1.bb
@@ -0,0 +1,5 @@
+python () {
+ if d.getVar("BB_CURRENT_MC") == "mc1":
+ bb.fatal("Multiconfig is mc1")
+}
+
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/fails-mc/fails-mc2.bb b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/fails-mc/fails-mc2.bb
new file mode 100644
index 000000000..cc69e7b82
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/fails-mc/fails-mc2.bb
@@ -0,0 +1,4 @@
+python () {
+ if d.getVar("BB_CURRENT_MC") == "mc2":
+ bb.fatal("Multiconfig is mc2")
+}
diff --git a/poky/bitbake/lib/bb/tests/runqueue.py b/poky/bitbake/lib/bb/tests/runqueue.py
index 4ba12a077..d3d62b98f 100644
--- a/poky/bitbake/lib/bb/tests/runqueue.py
+++ b/poky/bitbake/lib/bb/tests/runqueue.py
@@ -232,6 +232,51 @@ class RunQueueTests(unittest.TestCase):
expected.remove(x)
self.assertEqual(set(tasks), set(expected))
+ def test_multiconfig_bbmask(self):
+ # This test validates that multiconfigs can independently mask off
+ # recipes they do not want with BBMASK. It works by having recipes
+ # that will fail to parse for mc1 and mc2, then making each multiconfig
+ # build the one that does parse. This ensures that the recipes are in
+ # each multiconfigs BBFILES, but each is masking only the one that
+ # doesn't parse
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ extraenv = {
+ "BBMULTICONFIG" : "mc1 mc2",
+ "BB_SIGNATURE_HANDLER" : "basic",
+ "EXTRA_BBFILES": "${COREBASE}/recipes/fails-mc/*.bb",
+ }
+ cmd = ["bitbake", "mc:mc1:fails-mc2", "mc:mc2:fails-mc1"]
+ self.run_bitbakecmd(cmd, tempdir, "", extraenv=extraenv)
+
+ def test_multiconfig_mcdepends(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ extraenv = {
+ "BBMULTICONFIG" : "mc1 mc2",
+ "BB_SIGNATURE_HANDLER" : "TestMulticonfigDepends",
+ "EXTRA_BBFILES": "${COREBASE}/recipes/fails-mc/*.bb",
+ }
+ tasks = self.run_bitbakecmd(["bitbake", "mc:mc1:f1"], tempdir, "", extraenv=extraenv, cleanup=True)
+ expected = ["mc1:f1:%s" % t for t in self.alltasks] + \
+ ["mc2:a1:%s" % t for t in self.alltasks]
+ self.assertEqual(set(tasks), set(expected))
+
+ # A rebuild does nothing
+ tasks = self.run_bitbakecmd(["bitbake", "mc:mc1:f1"], tempdir, "", extraenv=extraenv, cleanup=True)
+ self.assertEqual(set(tasks), set())
+
+ # Test that a signature change in the dependent task causes
+ # mcdepends to rebuild
+ tasks = self.run_bitbakecmd(["bitbake", "mc:mc2:a1", "-c", "compile", "-f"], tempdir, "", extraenv=extraenv, cleanup=True)
+ expected = ["mc2:a1:compile"]
+ self.assertEqual(set(tasks), set(expected))
+
+ rerun_tasks = self.alltasks[:]
+ for x in ("fetch", "unpack", "patch", "prepare_recipe_sysroot", "configure", "compile"):
+ rerun_tasks.remove(x)
+ tasks = self.run_bitbakecmd(["bitbake", "mc:mc1:f1"], tempdir, "", extraenv=extraenv, cleanup=True)
+ expected = ["mc1:f1:%s" % t for t in rerun_tasks] + \
+ ["mc2:a1:%s" % t for t in rerun_tasks]
+ self.assertEqual(set(tasks), set(expected))
@unittest.skipIf(sys.version_info < (3, 5, 0), 'Python 3.5 or later required')
def test_hashserv_single(self):
diff --git a/poky/bitbake/lib/bb/tinfoil.py b/poky/bitbake/lib/bb/tinfoil.py
index 8c9b6b8ca..dccbe0ebb 100644
--- a/poky/bitbake/lib/bb/tinfoil.py
+++ b/poky/bitbake/lib/bb/tinfoil.py
@@ -117,15 +117,16 @@ class TinfoilCookerAdapter:
class TinfoilCookerCollectionAdapter:
""" cooker.collection adapter """
- def __init__(self, tinfoil):
+ def __init__(self, tinfoil, mc=''):
self.tinfoil = tinfoil
+ self.mc = mc
def get_file_appends(self, fn):
- return self.tinfoil.get_file_appends(fn)
+ return self.tinfoil.get_file_appends(fn, self.mc)
def __getattr__(self, name):
if name == 'overlayed':
- return self.tinfoil.get_overlayed_recipes()
+ return self.tinfoil.get_overlayed_recipes(self.mc)
elif name == 'bbappends':
- return self.tinfoil.run_command('getAllAppends')
+ return self.tinfoil.run_command('getAllAppends', self.mc)
else:
raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name))
@@ -185,10 +186,11 @@ class TinfoilCookerAdapter:
def __init__(self, tinfoil):
self.tinfoil = tinfoil
- self.collection = self.TinfoilCookerCollectionAdapter(tinfoil)
+ self.multiconfigs = [''] + (tinfoil.config_data.getVar('BBMULTICONFIG') or '').split()
+ self.collections = {}
self.recipecaches = {}
- self.recipecaches[''] = self.TinfoilRecipeCacheAdapter(tinfoil)
- for mc in (tinfoil.config_data.getVar('BBMULTICONFIG') or '').split():
+ for mc in self.multiconfigs:
+ self.collections[mc] = self.TinfoilCookerCollectionAdapter(tinfoil, mc)
self.recipecaches[mc] = self.TinfoilRecipeCacheAdapter(tinfoil, mc)
self._cache = {}
def __getattr__(self, name):
@@ -492,11 +494,11 @@ class Tinfoil:
raise Exception('Not connected to server (did you call .prepare()?)')
return self.server_connection.events.waitEvent(timeout)
- def get_overlayed_recipes(self):
+ def get_overlayed_recipes(self, mc=''):
"""
Find recipes which are overlayed (i.e. where recipes exist in multiple layers)
"""
- return defaultdict(list, self.run_command('getOverlayedRecipes'))
+ return defaultdict(list, self.run_command('getOverlayedRecipes', mc))
def get_skipped_recipes(self):
"""
@@ -534,11 +536,11 @@ class Tinfoil:
raise bb.providers.NoProvider('Unable to find any recipe file matching "%s"' % pn)
return best[3]
- def get_file_appends(self, fn):
+ def get_file_appends(self, fn, mc=''):
"""
Find the bbappends for a recipe file
"""
- return self.run_command('getFileAppends', fn)
+ return self.run_command('getFileAppends', fn, mc)
def all_recipes(self, mc='', sort=True):
"""
diff --git a/poky/bitbake/lib/bblayers/action.py b/poky/bitbake/lib/bblayers/action.py
index d6459d661..5b78195ad 100644
--- a/poky/bitbake/lib/bblayers/action.py
+++ b/poky/bitbake/lib/bblayers/action.py
@@ -143,11 +143,12 @@ build results (as the layer priority order has effectively changed).
applied_appends = []
for layer in layers:
- overlayed = []
- for f in self.tinfoil.cooker.collection.overlayed.keys():
- for of in self.tinfoil.cooker.collection.overlayed[f]:
- if of.startswith(layer):
- overlayed.append(of)
+ overlayed = set()
+ for mc in self.tinfoil.cooker.multiconfigs:
+ for f in self.tinfoil.cooker.collections[mc].overlayed.keys():
+ for of in self.tinfoil.cooker.collections[mc].overlayed[f]:
+ if of.startswith(layer):
+ overlayed.add(of)
logger.plain('Copying files from %s...' % layer )
for root, dirs, files in os.walk(layer):
@@ -174,14 +175,21 @@ build results (as the layer priority order has effectively changed).
logger.warning('Overwriting file %s', fdest)
bb.utils.copyfile(f1full, fdest)
if ext == '.bb':
- for append in self.tinfoil.cooker.collection.get_file_appends(f1full):
+ appends = set()
+ for mc in self.tinfoil.cooker.multiconfigs:
+ appends |= set(self.tinfoil.cooker.collections[mc].get_file_appends(f1full))
+ for append in appends:
if layer_path_match(append):
logger.plain(' Applying append %s to %s' % (append, fdest))
self.apply_append(append, fdest)
applied_appends.append(append)
# Take care of when some layers are excluded and yet we have included bbappends for those recipes
- for b in self.tinfoil.cooker.collection.bbappends:
+ bbappends = set()
+ for mc in self.tinfoil.cooker.multiconfigs:
+ bbappends |= set(self.tinfoil.cooker.collections[mc].bbappends)
+
+ for b in bbappends:
(recipename, appendname) = b
if appendname not in applied_appends:
first_append = None
diff --git a/poky/bitbake/lib/bblayers/query.py b/poky/bitbake/lib/bblayers/query.py
index e2cc31053..ee2db0efe 100644
--- a/poky/bitbake/lib/bblayers/query.py
+++ b/poky/bitbake/lib/bblayers/query.py
@@ -320,12 +320,12 @@ Lists recipes with the bbappends that apply to them as subitems.
def get_appends_for_files(self, filenames):
appended, notappended = [], []
for filename in filenames:
- _, cls, _ = bb.cache.virtualfn2realfn(filename)
+ _, cls, mc = bb.cache.virtualfn2realfn(filename)
if cls:
continue
basename = os.path.basename(filename)
- appends = self.tinfoil.cooker.collection.get_file_appends(basename)
+ appends = self.tinfoil.cooker.collections[mc].get_file_appends(basename)
if appends:
appended.append((basename, list(appends)))
else:
diff --git a/poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb b/poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb
new file mode 100644
index 000000000..08089b418
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Test recipe for fetching git submodules"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+SRC_URI = "gitsm://git.yoctoproject.org/git-submodule-test"
+SRCREV = "a2885dd7d25380d23627e7544b7bbb55014b16ee"
diff --git a/poky/meta-selftest/recipes-test/nopackages/selftest-nopackages.bb b/poky/meta-selftest/recipes-test/nopackages/selftest-nopackages.bb
new file mode 100644
index 000000000..154df910e
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/nopackages/selftest-nopackages.bb
@@ -0,0 +1,6 @@
+SUMMARY = "Test recipe for nopackages bbclass"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+INHIBIT_DEFAULT_DEPS = "1"
+inherit nopackages
diff --git a/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb b/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb
index 8e0d1cdd8..4f713f5c0 100644
--- a/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb
+++ b/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb
@@ -20,3 +20,5 @@ EXTRA_OECONF = "'CC=${CC}' 'CXX=${CXX}' 'CFLAGS=${CFLAGS}' 'CXXFLAGS=${CXXFLAGS}
CONFIGUREOPTS_remove = "--disable-dependency-tracking"
CONFIGUREOPTS_remove = "--disable-silent-rules"
EXTRA_OECONF_remove = "--disable-static"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.14.1.bb b/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.14.1.bb
index 8a2b565ce..08fb415d9 100644
--- a/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.14.1.bb
+++ b/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_1.14.1.bb
@@ -34,3 +34,5 @@ do_install() {
rm -f ${D}${infodir}/dir
fi
}
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass
index 780c562b6..c2c049c34 100644
--- a/poky/meta/classes/archiver.bbclass
+++ b/poky/meta/classes/archiver.bbclass
@@ -345,13 +345,12 @@ python do_ar_mirror() {
fetcher = bb.fetch2.Fetch(src_uri, d)
- for url in fetcher.urls:
- if is_excluded(url):
- bb.note('Skipping excluded url: %s' % (url))
+ for ud in fetcher.expanded_urldata():
+ if is_excluded(ud.url):
+ bb.note('Skipping excluded url: %s' % (ud.url))
continue
- bb.note('Archiving url: %s' % (url))
- ud = fetcher.ud[url]
+ bb.note('Archiving url: %s' % (ud.url))
ud.setup_localpath(d)
localpath = None
@@ -367,7 +366,7 @@ python do_ar_mirror() {
if len(ud.mirrortarballs) and not localpath:
bb.warn('Mirror tarballs are listed for a source but none are present. ' \
'Falling back to original download.\n' \
- 'SRC_URI = %s' % (url))
+ 'SRC_URI = %s' % (ud.url))
# Check original download
if not localpath:
@@ -376,7 +375,7 @@ python do_ar_mirror() {
if not localpath or not os.path.exists(localpath):
bb.fatal('Original download is missing for a source.\n' \
- 'SRC_URI = %s' % (url))
+ 'SRC_URI = %s' % (ud.url))
# We now have an appropriate localpath
bb.note('Copying source mirror')
diff --git a/poky/meta/classes/features_check.bbclass b/poky/meta/classes/features_check.bbclass
index 876d32e31..b3c804786 100644
--- a/poky/meta/classes/features_check.bbclass
+++ b/poky/meta/classes/features_check.bbclass
@@ -1,23 +1,13 @@
-# Allow checking of required and conflicting DISTRO_FEATURES
+# Allow checking of required and conflicting features
#
-# ANY_OF_DISTRO_FEATURES: ensure at least one item on this list is included
-# in DISTRO_FEATURES.
-# REQUIRED_DISTRO_FEATURES: ensure every item on this list is included
-# in DISTRO_FEATURES.
-# CONFLICT_DISTRO_FEATURES: ensure no item in this list is included in
-# DISTRO_FEATURES.
-# ANY_OF_MACHINE_FEATURES: ensure at least one item on this list is included
-# in MACHINE_FEATURES.
-# REQUIRED_MACHINE_FEATURES: ensure every item on this list is included
-# in MACHINE_FEATURES.
-# CONFLICT_MACHINE_FEATURES: ensure no item in this list is included in
-# MACHINE_FEATURES.
-# ANY_OF_COMBINED_FEATURES: ensure at least one item on this list is included
-# in COMBINED_FEATURES.
-# REQUIRED_COMBINED_FEATURES: ensure every item on this list is included
-# in COMBINED_FEATURES.
-# CONFLICT_COMBINED_FEATURES: ensure no item in this list is included in
-# COMBINED_FEATURES.
+# xxx = [DISTRO,MACHINE,COMBINED]
+#
+# ANY_OF_xxx_FEATURES: ensure at least one item on this list is included
+# in xxx_FEATURES.
+# REQUIRED_xxx_FEATURES: ensure every item on this list is included
+# in xxx_FEATURES.
+# CONFLICT_xxx_FEATURES: ensure no item in this list is included in
+# xxx_FEATURES.
#
# Copyright 2019 (C) Texas Instruments Inc.
# Copyright 2013 (C) O.S. Systems Software LTDA.
@@ -26,63 +16,42 @@ python () {
if d.getVar('PARSE_ALL_RECIPES', False):
return
- # Assume at least one var is set.
- distro_features = set((d.getVar('DISTRO_FEATURES') or '').split())
-
- any_of_distro_features = set((d.getVar('ANY_OF_DISTRO_FEATURES') or '').split())
- if any_of_distro_features:
- if set.isdisjoint(any_of_distro_features, distro_features):
- raise bb.parse.SkipRecipe("one of '%s' needs to be in DISTRO_FEATURES" % ' '.join(any_of_distro_features))
-
- required_distro_features = set((d.getVar('REQUIRED_DISTRO_FEATURES') or '').split())
- if required_distro_features:
- missing = set.difference(required_distro_features, distro_features)
- if missing:
- raise bb.parse.SkipRecipe("missing required distro feature%s '%s' (not in DISTRO_FEATURES)" % ('s' if len(missing) > 1 else '', ' '.join(missing)))
-
- conflict_distro_features = set((d.getVar('CONFLICT_DISTRO_FEATURES') or '').split())
- if conflict_distro_features:
- conflicts = set.intersection(conflict_distro_features, distro_features)
- if conflicts:
- raise bb.parse.SkipRecipe("conflicting distro feature%s '%s' (in DISTRO_FEATURES)" % ('s' if len(conflicts) > 1 else '', ' '.join(conflicts)))
-
- # Assume at least one var is set.
- machine_features = set((d.getVar('MACHINE_FEATURES') or '').split())
-
- any_of_machine_features = set((d.getVar('ANY_OF_MACHINE_FEATURES') or '').split())
- if any_of_machine_features:
- if set.isdisjoint(any_of_machine_features, machine_features):
- raise bb.parse.SkipRecipe("one of '%s' needs to be in MACHINE_FEATURES" % ' '.join(any_of_machine_features))
-
- required_machine_features = set((d.getVar('REQUIRED_MACHINE_FEATURES') or '').split())
- if required_machine_features:
- missing = set.difference(required_machine_features, machine_features)
- if missing:
- raise bb.parse.SkipRecipe("missing required machine feature%s '%s' (not in MACHINE_FEATURES)" % ('s' if len(missing) > 1 else '', ' '.join(missing)))
-
- conflict_machine_features = set((d.getVar('CONFLICT_MACHINE_FEATURES') or '').split())
- if conflict_machine_features:
- conflicts = set.intersection(conflict_machine_features, machine_features)
- if conflicts:
- raise bb.parse.SkipRecipe("conflicting machine feature%s '%s' (in MACHINE_FEATURES)" % ('s' if len(conflicts) > 1 else '', ' '.join(conflicts)))
-
- # Assume at least one var is set.
- combined_features = set((d.getVar('COMBINED_FEATURES') or '').split())
-
- any_of_combined_features = set((d.getVar('ANY_OF_COMBINED_FEATURES') or '').split())
- if any_of_combined_features:
- if set.isdisjoint(any_of_combined_features, combined_features):
- raise bb.parse.SkipRecipe("one of '%s' needs to be in COMBINED_FEATURES" % ' '.join(any_of_combined_features))
-
- required_combined_features = set((d.getVar('REQUIRED_COMBINED_FEATURES') or '').split())
- if required_combined_features:
- missing = set.difference(required_combined_features, combined_features)
- if missing:
- raise bb.parse.SkipRecipe("missing required machine feature%s '%s' (not in COMBINED_FEATURES)" % ('s' if len(missing) > 1 else '', ' '.join(missing)))
-
- conflict_combined_features = set((d.getVar('CONFLICT_COMBINED_FEATURES') or '').split())
- if conflict_combined_features:
- conflicts = set.intersection(conflict_combined_features, combined_features)
- if conflicts:
- raise bb.parse.SkipRecipe("conflicting machine feature%s '%s' (in COMBINED_FEATURES)" % ('s' if len(conflicts) > 1 else '', ' '.join(conflicts)))
+ unused = True
+
+ for kind in ['DISTRO', 'MACHINE', 'COMBINED']:
+ if d.getVar('ANY_OF_' + kind + '_FEATURES') is None and \
+ d.overridedata.get('ANY_OF_' + kind + '_FEATURES') is None and \
+ d.getVar('REQUIRED_' + kind + '_FEATURES') is None and \
+ d.overridedata.get('REQUIRED_' + kind + '_FEATURES') is None and \
+ d.getVar('CONFLICT_' + kind + '_FEATURES') is None and \
+ d.overridedata.get('CONFLICT_' + kind + '_FEATURES') is None:
+ continue
+
+ unused = False
+
+ # Assume at least one var is set.
+ features = set((d.getVar(kind + '_FEATURES') or '').split())
+
+ any_of_features = set((d.getVar('ANY_OF_' + kind + '_FEATURES') or '').split())
+ if any_of_features:
+ if set.isdisjoint(any_of_features, features):
+ raise bb.parse.SkipRecipe("one of '%s' needs to be in %s_FEATURES"
+ % (' '.join(any_of_features), kind))
+
+ required_features = set((d.getVar('REQUIRED_' + kind + '_FEATURES') or '').split())
+ if required_features:
+ missing = set.difference(required_features, features)
+ if missing:
+ raise bb.parse.SkipRecipe("missing required %s feature%s '%s' (not in %s_FEATURES)"
+ % (kind.lower(), 's' if len(missing) > 1 else '', ' '.join(missing), kind))
+
+ conflict_features = set((d.getVar('CONFLICT_' + kind + '_FEATURES') or '').split())
+ if conflict_features:
+ conflicts = set.intersection(conflict_features, features)
+ if conflicts:
+ raise bb.parse.SkipRecipe("conflicting %s feature%s '%s' (in %s_FEATURES)"
+ % (kind.lower(), 's' if len(conflicts) > 1 else '', ' '.join(conflicts), kind))
+
+ if unused:
+ bb.warn("Recipe inherits features_check but doesn't use it")
}
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index b7c613880..649aea1da 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -26,7 +26,7 @@ WARN_QA ?= " libdir xorg-driver-abi \
textrel incompatible-license files-invalid \
infodir build-deps src-uri-bad symlink-to-sysroot multilib \
invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \
- mime mime-xdg unlisted-pkg-lics \
+ mime mime-xdg unlisted-pkg-lics unhandled-features-check \
"
ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
@@ -980,6 +980,16 @@ def package_qa_check_src_uri(pn, d, messages):
if re.search(r"github\.com/.+/.+/archive/.+", url):
package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub archives" % pn, d)
+QARECIPETEST[unhandled-features-check] = "package_qa_check_unhandled_features_check"
+def package_qa_check_unhandled_features_check(pn, d, messages):
+ if not bb.data.inherits_class('features_check', d):
+ var_set = False
+ for kind in ['DISTRO', 'MACHINE', 'COMBINED']:
+ for var in ['ANY_OF_' + kind + '_FEATURES', 'REQUIRED_' + kind + '_FEATURES', 'CONFLICT_' + kind + '_FEATURES']:
+ if d.getVar(var) is not None or d.overridedata.get(var) is not None:
+ var_set = True
+ if var_set:
+ package_qa_handle_error("unhandled-features-check", "%s: recipe doesn't inherit features_check" % pn, d)
# The PACKAGE FUNC to scan each package
python do_package_qa () {
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 9336c244b..f7700f119 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -410,6 +410,7 @@ DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb"
DEPLOY_DIR_IMAGE ?= "${DEPLOY_DIR}/images/${MACHINE}"
+DEPLOY_DIR_TOOLS = "${DEPLOY_DIR}/tools"
PKGDATA_DIR = "${TMPDIR}/pkgdata/${MACHINE}"
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index cd65e6203..a0ac33ada 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -297,7 +297,7 @@ class Rootfs(object, metaclass=ABCMeta):
def _run_ldconfig(self):
if self.d.getVar('LDCONFIGDEPEND'):
- bb.note("Executing: ldconfig -r" + self.image_rootfs + "-c new -v")
+ bb.note("Executing: ldconfig -r " + self.image_rootfs + " -c new -v")
self._exec_shell_cmd(['ldconfig', '-r', self.image_rootfs, '-c',
'new', '-v'])
diff --git a/poky/meta/lib/oeqa/selftest/cases/archiver.py b/poky/meta/lib/oeqa/selftest/cases/archiver.py
index bc5447d2a..ddd08ecf8 100644
--- a/poky/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/poky/meta/lib/oeqa/selftest/cases/archiver.py
@@ -19,8 +19,8 @@ class Archiver(OESelftestTestCase):
AutomatedBy: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
"""
- include_recipe = 'busybox'
- exclude_recipe = 'zlib'
+ include_recipe = 'selftest-ed'
+ exclude_recipe = 'initscripts'
features = 'INHERIT += "archiver"\n'
features += 'ARCHIVER_MODE[src] = "original"\n'
@@ -51,8 +51,8 @@ class Archiver(OESelftestTestCase):
Author: André Draszik <adraszik@tycoint.com>
"""
- target_recipe = 'initscripts'
- native_recipe = 'zlib-native'
+ target_recipe = 'selftest-ed'
+ native_recipe = 'selftest-ed-native'
features = 'INHERIT += "archiver"\n'
features += 'ARCHIVER_MODE[src] = "original"\n'
@@ -86,8 +86,8 @@ class Archiver(OESelftestTestCase):
Author: André Draszik <adraszik@tycoint.com>
"""
- target_recipes = [ 'initscripts', 'zlib' ]
- native_recipes = [ 'update-rc.d-native', 'zlib-native' ]
+ target_recipes = [ 'initscripts', 'selftest-ed' ]
+ native_recipes = [ 'update-rc.d-native', 'selftest-ed-native' ]
features = 'INHERIT += "archiver"\n'
features += 'ARCHIVER_MODE[src] = "original"\n'
@@ -129,10 +129,10 @@ class Archiver(OESelftestTestCase):
features += 'PACKAGE_CLASSES = "package_rpm"\n'
self.write_config(features)
- bitbake('-n core-image-sato')
+ bitbake('-n selftest-nopackages selftest-ed')
def _test_archiver_mode(self, mode, target_file_name, extra_config=None):
- target = "selftest-ed"
+ target = 'selftest-ed-native'
features = 'INHERIT += "archiver"\n'
features += 'ARCHIVER_MODE[src] = "%s"\n' % (mode)
@@ -143,8 +143,8 @@ class Archiver(OESelftestTestCase):
bitbake('-c clean %s' % (target))
bitbake('-c deploy_archives %s' % (target))
- bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS'])
- glob_str = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'], '%s-*' % (target))
+ bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'BUILD_SYS'])
+ glob_str = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS'], '%s-*' % (target))
glob_result = glob.glob(glob_str)
self.assertTrue(glob_result, 'Missing archiver directory for %s' % (target))
@@ -163,21 +163,21 @@ class Archiver(OESelftestTestCase):
Test that the archiver works with `ARCHIVER_MODE[src] = "patched"`.
"""
- self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-patched.tar.gz')
+ self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-patched.tar.gz')
def test_archiver_mode_configured(self):
"""
Test that the archiver works with `ARCHIVER_MODE[src] = "configured"`.
"""
- self._test_archiver_mode('configured', 'selftest-ed-1.14.1-r0-configured.tar.gz')
+ self._test_archiver_mode('configured', 'selftest-ed-native-1.14.1-r0-configured.tar.gz')
def test_archiver_mode_recipe(self):
"""
Test that the archiver works with `ARCHIVER_MODE[recipe] = "1"`.
"""
- self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-recipe.tar.gz',
+ self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-recipe.tar.gz',
'ARCHIVER_MODE[recipe] = "1"\n')
def test_archiver_mode_diff(self):
@@ -186,7 +186,7 @@ class Archiver(OESelftestTestCase):
Exclusions controlled by `ARCHIVER_MODE[diff-exclude]` are not yet tested.
"""
- self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-diff.gz',
+ self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-diff.gz',
'ARCHIVER_MODE[diff] = "1"\n')
def test_archiver_mode_dumpdata(self):
@@ -194,7 +194,7 @@ class Archiver(OESelftestTestCase):
Test that the archiver works with `ARCHIVER_MODE[dumpdata] = "1"`.
"""
- self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-showdata.dump',
+ self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-showdata.dump',
'ARCHIVER_MODE[dumpdata] = "1"\n')
def test_archiver_mode_mirror(self):
@@ -255,3 +255,57 @@ class Archiver(OESelftestTestCase):
glob_str = os.path.join(bb_vars['DEPLOY_DIR_SRC'], 'mirror', target_file_name)
glob_result = glob.glob(glob_str)
self.assertTrue(glob_result, 'Missing archive file %s' % (target_file_name))
+
+ def test_archiver_mode_mirror_gitsm(self):
+ """
+ Test that the archiver correctly handles git submodules with
+ `ARCHIVER_MODE[src] = "mirror"`.
+ """
+ features = 'INHERIT += "archiver"\n'
+ features += 'ARCHIVER_MODE[src] = "mirror"\n'
+ features += 'ARCHIVER_MODE[mirror] = "combined"\n'
+ features += 'BB_GENERATE_MIRROR_TARBALLS = "1"\n'
+ features += 'COPYLEFT_LICENSE_INCLUDE = "*"\n'
+ self.write_config(features)
+
+ bitbake('-c clean git-submodule-test')
+ bitbake('-c deploy_archives -f git-submodule-test')
+
+ bb_vars = get_bb_vars(['DEPLOY_DIR_SRC'])
+ for target_file_name in [
+ 'git2_git.yoctoproject.org.git-submodule-test.tar.gz',
+ 'git2_git.yoctoproject.org.bitbake-gitsm-test1.tar.gz',
+ 'git2_git.yoctoproject.org.bitbake-gitsm-test2.tar.gz',
+ 'git2_git.openembedded.org.bitbake.tar.gz'
+ ]:
+ target_path = os.path.join(bb_vars['DEPLOY_DIR_SRC'], 'mirror', target_file_name)
+ self.assertTrue(os.path.exists(target_path))
+
+ def test_archiver_mode_mirror_gitsm_shallow(self):
+ """
+ Test that the archiver correctly handles git submodules with
+ `ARCHIVER_MODE[src] = "mirror"`.
+ """
+ features = 'INHERIT += "archiver"\n'
+ features += 'ARCHIVER_MODE[src] = "mirror"\n'
+ features += 'ARCHIVER_MODE[mirror] = "combined"\n'
+ features += 'BB_GENERATE_MIRROR_TARBALLS = "1"\n'
+ features += 'COPYLEFT_LICENSE_INCLUDE = "*"\n'
+ features += 'BB_GIT_SHALLOW = "1"\n'
+ features += 'BB_GENERATE_SHALLOW_TARBALLS = "1"\n'
+ features += 'DL_DIR = "${TOPDIR}/downloads-shallow"\n'
+ self.write_config(features)
+
+ bitbake('-c clean git-submodule-test')
+ bitbake('-c deploy_archives -f git-submodule-test')
+
+ bb_vars = get_bb_vars(['DEPLOY_DIR_SRC'])
+ for target_file_name in [
+ 'gitsmshallow_git.yoctoproject.org.git-submodule-test_a2885dd-1_master.tar.gz',
+ 'gitsmshallow_git.yoctoproject.org.bitbake-gitsm-test1_bare_120f4c7-1.tar.gz',
+ 'gitsmshallow_git.yoctoproject.org.bitbake-gitsm-test2_bare_f66699e-1.tar.gz',
+ 'gitsmshallow_git.openembedded.org.bitbake_bare_52a144a-1.tar.gz',
+ 'gitsmshallow_git.openembedded.org.bitbake_bare_c39b997-1.tar.gz'
+ ]:
+ target_path = os.path.join(bb_vars['DEPLOY_DIR_SRC'], 'mirror', target_file_name)
+ self.assertTrue(os.path.exists(target_path))
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index 9e7be6168..8b58285c3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -908,6 +908,21 @@ class Wic2(WicTestCase):
p, _ = self._get_wic_partitions(tempf.name, ignore_status=True)
self.assertNotEqual(p.status, 0, "wic exited successfully when an error was expected:\n%s" % p.output)
+ def test_extra_space(self):
+ native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "wic-tools")
+
+ with NamedTemporaryFile("w", suffix=".wks") as tempf:
+ tempf.write("bootloader --ptable gpt\n" \
+ "part / --source rootfs --ondisk hda --extra-space 200M --fstype=ext4\n")
+ tempf.flush()
+
+ _, partlns = self._get_wic_partitions(tempf.name, native_sysroot)
+ self.assertEqual(len(partlns), 1)
+ size = partlns[0].split(':')[3]
+ self.assertRegex(size, r'^[0-9]+kiB$')
+ size = int(size[:-3])
+ self.assertGreaterEqual(size, 204800)
+
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_rawcopy_plugin_qemu(self):
"""Test rawcopy plugin in qemu"""
diff --git a/poky/meta/recipes-bsp/pciutils/pciutils_3.6.4.bb b/poky/meta/recipes-bsp/pciutils/pciutils_3.7.0.bb
index 034bb63dc..4f0edc01e 100644
--- a/poky/meta/recipes-bsp/pciutils/pciutils_3.6.4.bb
+++ b/poky/meta/recipes-bsp/pciutils/pciutils_3.7.0.bb
@@ -11,8 +11,7 @@ DEPENDS = "zlib kmod"
SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz \
file://configure.patch"
-SRC_URI[md5sum] = "4343b37e19f319ce8f3d59c30031790e"
-SRC_URI[sha256sum] = "f67ff732976e2db2a5ccdf3960020796526ba6b05f6b1cdd24b7b206af706055"
+SRC_URI[sha256sum] = "9d40b97be8b6a2cdf96aead5a61881d1f7e4e0da9544a9bac4fba1ae9dcd40eb"
inherit multilib_header pkgconfig
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot.inc b/poky/meta/recipes-bsp/u-boot/u-boot.inc
index 6fa2d0820..f6a68da0f 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot.inc
@@ -81,7 +81,23 @@ def find_cfgs(d):
return sources_list
do_configure () {
- if [ -z "${UBOOT_CONFIG}" ]; then
+ if [ -n "${UBOOT_CONFIG}" ]; then
+ unset i j
+ for config in ${UBOOT_MACHINE}; do
+ i=$(expr $i + 1);
+ for type in ${UBOOT_CONFIG}; do
+ j=$(expr $j + 1);
+ if [ $j -eq $i ]; then
+ oe_runmake -C ${S} O=${B}/${config} ${config}
+ merge_config.sh -m -O ${B}/${config} ${B}/${config}/.config ${@" ".join(find_cfgs(d))}
+ oe_runmake -C ${S} O=${B}/${config} oldconfig
+ fi
+ done
+ unset j
+ done
+ unset i
+ DEVTOOL_DISABLE_MENUCONFIG=true
+ else
if [ -n "${UBOOT_MACHINE}" ]; then
oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
else
@@ -89,8 +105,6 @@ do_configure () {
fi
merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
cml1_do_configure
- else
- DEVTOOL_DISABLE_MENUCONFIG=true
fi
}
@@ -118,7 +132,6 @@ do_compile () {
j=$(expr $j + 1);
if [ $j -eq $i ]
then
- oe_runmake -C ${S} O=${B}/${config} ${config}
oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET}
for binary in ${UBOOT_BINARIES}; do
k=$(expr $k + 1);
diff --git a/poky/meta/recipes-bsp/usbutils/usbutils_012.bb b/poky/meta/recipes-bsp/usbutils/usbutils_012.bb
index b670fa4ab..28031e72a 100644
--- a/poky/meta/recipes-bsp/usbutils/usbutils_012.bb
+++ b/poky/meta/recipes-bsp/usbutils/usbutils_012.bb
@@ -15,7 +15,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \
SRC_URI[md5sum] = "7484445cbcf04b3eacac892fe58f8d9f"
SRC_URI[sha256sum] = "ae2e10aad530d95839b6f4d46cd41715eae6f0f1789310d793e9be21b3e7ae20"
-inherit autotools pkgconfig features_check update-alternatives
+inherit autotools pkgconfig update-alternatives
ALTERNATIVE_${PN} = "lsusb"
ALTERNATIVE_PRIORITY = "100"
diff --git a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
index 2b0c71159..35d0c3ea7 100644
--- a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -144,6 +144,7 @@ FILES_avahi-utils = "${bindir}/avahi-* ${bindir}/b* ${datadir}/applications/b*"
RDEPENDS_${PN}-dev = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPKGV})"
RDEPENDS_${PN}-dev += "${@["", " libavahi-client (= ${EXTENDPKGV})"][bb.utils.contains('PACKAGECONFIG', 'dbus', 1, 0, d)]}"
+RDEPENDS_${PN}-dnsconfd = "${PN}-daemon"
RRECOMMENDS_avahi-daemon_append_libc-glibc = " libnss-mdns"
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
index 150d909d7..eee7a53cd 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -57,7 +57,7 @@ S = "${WORKDIR}/bluez-${PV}"
CVE_PRODUCT = "bluez"
-inherit autotools pkgconfig systemd update-rc.d features_check ptest gobject-introspection-data
+inherit autotools pkgconfig systemd update-rc.d ptest gobject-introspection-data
EXTRA_OECONF = "\
--enable-test \
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
new file mode 100644
index 000000000..f9580b7d4
--- /dev/null
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-devlink.c-add-missing-include.patch
@@ -0,0 +1,23 @@
+From 5df629d825df4ccc4283228bc0739da126326072 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 16602ab..c278e6d 100644
+--- a/devlink/devlink.c
++++ b/devlink/devlink.c
+@@ -26,6 +26,7 @@
+ #include <libmnl/libmnl.h>
+ #include <netinet/ether.h>
+ #include <sys/types.h>
++#include <signal.h>
+
+ #include "SNAPSHOT.h"
+ #include "list.h"
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.6.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.7.0.bb
index 9ab905373..276afeab1 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.6.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.7.0.bb
@@ -2,10 +2,10 @@ require iproute2.inc
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[md5sum] = "9da0c352707c34b8b1fec3bf42fcfd09"
-SRC_URI[sha256sum] = "1b5b0e25ce6e23da7526ea1da044e814ad85ba761b10dd29c2b027c056b04692"
+SRC_URI[sha256sum] = "725dc7ba94aae54c6f8d4223ca055d9fb4fe89d6994b1c03bfb4411c4dd10f21"
# CFLAGS are computed in Makefile and reference CCOPTS
#
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
index 3e92427bb..2936e89ee 100644
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
@@ -15,7 +15,7 @@ PACKAGECONFIG[openssl] = ",,openssl"
inherit pkgconfig systemd
-SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service wpa_supplicant-nl80211@.service wpa_supplicant-wired@.service"
+SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service"
SYSTEMD_AUTO_ENABLE = "disable"
SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \
@@ -37,13 +37,13 @@ S = "${WORKDIR}/wpa_supplicant-${PV}"
PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
FILES_wpa-supplicant-passphrase = "${bindir}/wpa_passphrase"
FILES_wpa-supplicant-cli = "${sbindir}/wpa_cli"
-FILES_${PN} += "${datadir}/dbus-1/system-services/*"
+FILES_${PN} += "${datadir}/dbus-1/system-services/* ${systemd_system_unitdir}/*"
CONFFILES_${PN} += "${sysconfdir}/wpa_supplicant.conf"
do_configure () {
${MAKE} -C wpa_supplicant clean
install -m 0755 ${WORKDIR}/defconfig wpa_supplicant/.config
-
+
if echo "${PACKAGECONFIG}" | grep -qw "openssl"; then
ssl=openssl
elif echo "${PACKAGECONFIG}" | grep -qw "gnutls"; then
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index fb84db83c..a0055d81b 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -28,7 +28,7 @@ PACKAGES += "${PN}-codegen ${PN}-utils"
LEAD_SONAME = "libglib-2.0.*"
-inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages features_check
+inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages
DEPENDS_append_class-target = "${@' gtk-doc' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
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.64.3.bb
index a79e0e498..c34ae508f 100644
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.64.3.bb
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.64.3.bb
@@ -31,4 +31,4 @@ FILES_${PN} += "\
FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la"
FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc
index ff25fd418..5f1ab60dc 100644
--- a/poky/meta/recipes-core/glibc/glibc-package.inc
+++ b/poky/meta/recipes-core/glibc/glibc-package.inc
@@ -23,9 +23,9 @@ ARCH_DYNAMIC_LOADER_aarch64 = "ld-linux-${TARGET_ARCH}.so.1"
libc_baselibs_append = " ${@oe.utils.conditional('ARCH_DYNAMIC_LOADER', '', '', '${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}', d)}"
INSANE_SKIP_${PN}_append_aarch64 = " libdir"
-FILES_${PN} = "${libc_baselibs} ${libexecdir}/*"
+FILES_${PN} = "${libc_baselibs} ${libexecdir}/* ${sysconfdir}/ld.so.conf"
RRECOMMENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}"
-FILES_ldconfig = "${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf"
+FILES_ldconfig = "${base_sbindir}/ldconfig"
FILES_ldd = "${bindir}/ldd"
FILES_libsegfault = "${base_libdir}/libSegFault*"
FILES_libcidn = "${base_libdir}/libcidn-*.so ${base_libdir}/libcidn.so.*"
diff --git a/poky/meta/recipes-core/glibc/glibc.inc b/poky/meta/recipes-core/glibc/glibc.inc
index 23a6ca99a..d2f02ad59 100644
--- a/poky/meta/recipes-core/glibc/glibc.inc
+++ b/poky/meta/recipes-core/glibc/glibc.inc
@@ -5,7 +5,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers"
PROVIDES = "virtual/libc"
PROVIDES += "virtual/libintl virtual/libiconv"
-inherit autotools texinfo features_check systemd
+inherit autotools texinfo systemd
LEAD_SONAME = "libc.so"
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs b/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
index 748c9391c..ee24e82af 100644
--- a/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
@@ -13,7 +13,7 @@ rootfs_run() {
C=0
delay=${bootparam_rootdelay:-1}
timeout=${bootparam_roottimeout:-5}
- while [ ! -d $ROOTFS_DIR/dev ]; do
+ while ! mountpoint -q $ROOTFS_DIR; do
if [ $(( $C * $delay )) -gt $timeout ]; then
fatal "root '$bootparam_root' doesn't exist or does not contain a /dev."
fi
@@ -61,7 +61,7 @@ rootfs_run() {
flags="$flags -t$bootparam_rootfstype"
fi
mount $flags $bootparam_root $ROOTFS_DIR
- if [ -d $ROOTFS_DIR/dev ]; then
+ if mountpoint -q $ROOTFS_DIR; then
break
else
# It is unlikely to change, but keep trying anyway.
diff --git a/poky/meta/recipes-core/initscripts/init-system-helpers_1.57.bb b/poky/meta/recipes-core/initscripts/init-system-helpers_1.57.bb
index 46f5bbf44..e41ac21a2 100644
--- a/poky/meta/recipes-core/initscripts/init-system-helpers_1.57.bb
+++ b/poky/meta/recipes-core/initscripts/init-system-helpers_1.57.bb
@@ -17,7 +17,7 @@ LICENSE = "BSD-3-Clause & GPLv2"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=ee2b1830fcfead84d07bc060ec43e072"
SRCREV = "760c625ec0e1ffebec2e391d891d389da0f65726"
-SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git"
+SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https"
S = "${WORKDIR}/git"
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 097aceb2c..d11b083e8 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb
@@ -37,7 +37,7 @@ PACKAGECONFIG ??= "python \
PACKAGECONFIG[python] = "--with-python=${PYTHON},--without-python,python3"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-inherit autotools pkgconfig binconfig-disabled ptest features_check
+inherit autotools pkgconfig binconfig-disabled ptest
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
diff --git a/poky/meta/recipes-core/meta/build-sysroots.bb b/poky/meta/recipes-core/meta/build-sysroots.bb
index 7a712e2f3..ad22a75eb 100644
--- a/poky/meta/recipes-core/meta/build-sysroots.bb
+++ b/poky/meta/recipes-core/meta/build-sysroots.bb
@@ -20,6 +20,8 @@ deltask populate_sysroot
python do_build_native_sysroot () {
targetsysroot = d.getVar("STANDALONE_SYSROOT")
nativesysroot = d.getVar("STANDALONE_SYSROOT_NATIVE")
+ import os
+ os.environ['PATH'] = "%s/bin:%s/usr/bin:%s" % (nativesysroot, nativesysroot, os.environ['PATH'])
staging_populate_sysroot_dir(targetsysroot, nativesysroot, True, d)
}
do_build_native_sysroot[cleandirs] = "${STANDALONE_SYSROOT_NATIVE}"
@@ -29,6 +31,8 @@ addtask do_build_native_sysroot before do_build
python do_build_target_sysroot () {
targetsysroot = d.getVar("STANDALONE_SYSROOT")
nativesysroot = d.getVar("STANDALONE_SYSROOT_NATIVE")
+ import os
+ os.environ['PATH'] = "%s/bin:%s/usr/bin:%s" % (nativesysroot, nativesysroot, os.environ['PATH'])
staging_populate_sysroot_dir(targetsysroot, nativesysroot, False, d)
}
do_build_target_sysroot[cleandirs] = "${STANDALONE_SYSROOT}"
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index c08962782..91c1b6ba1 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -19,8 +19,8 @@ SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \
file://0001-ovmf-Update-to-latest.patch \
"
-PV = "edk2-stable202002"
-SRCREV = "4c0f6e349d32cf27a7104ddd3e729d6ebc88ea70"
+PV = "edk2-stable202005"
+SRCREV = "ca407c7246bf405da6d9b1b9d93e5e7f17b4b1f9"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>edk2-stable.*)"
inherit deploy
diff --git a/poky/meta/recipes-devtools/bison/bison_3.6.2.bb b/poky/meta/recipes-devtools/bison/bison_3.6.3.bb
index 2ec938123..1d0f5995c 100644
--- a/poky/meta/recipes-devtools/bison/bison_3.6.2.bb
+++ b/poky/meta/recipes-devtools/bison/bison_3.6.3.bb
@@ -13,7 +13,7 @@ SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \
file://add-with-bisonlocaledir.patch \
file://0001-bison-fix-the-parallel-build.patch \
"
-SRC_URI[sha256sum] = "4a164b5cc971b896ce976bf4b624fab7279e0729cf983a5135df7e4df0970f6e"
+SRC_URI[sha256sum] = "06db793651de9dd5f0a85a6fe4bdbca413c0806bf2432377523da96ca0b4b73d"
# 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.6.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.6.1.bb
index 885d79dcd..29f14d907 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.6.1.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.6.1.bb
@@ -49,4 +49,4 @@ do_install_append() {
fi
}
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.10.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.11.bb
index 13bfa2109..969894e44 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.10.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.11.bb
@@ -8,7 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/createrepo_c \
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
"
-SRCREV = "9f3f3be6359d8f9b6b269e28d9ae1f279cc5f3aa"
+SRCREV = "ea3bcf302c1a071040e1a8b6ad77861c12a2ae99"
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 23b883667..97ce44995 100644
--- a/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb
+++ b/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb
@@ -22,7 +22,7 @@ EXTRA_OECONF = "--without-udev --enable-compat-symlinks"
CFLAGS += "-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
# Add codepage437 to avoid error from `dosfsck -l`
RRECOMMENDS_${PN}_append_libc-glibc = " glibc-gconv-ibm437"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch b/poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch
deleted file mode 100644
index ac59dce69..000000000
--- a/poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 48bcc51ce042d1b779b34fae454c52b15bdd9cae Mon Sep 17 00:00:00 2001
-From: Kai Kang <kai.kang@windriver.com>
-Date: Fri, 22 Feb 2019 01:47:16 -0500
-Subject: [PATCH] dpkg: 1.18.25 -> 1.19.4
-
-GNU tar >= 1.27 is required for --owner=NAME:ID and --group=NAME:ID. And fails
-to build .deb packages with error:
-
-| dpkg-deb: building package 'linux-libc-headers-dbg' in '.../tmp/work/i586-poky-linux/linux-libc-headers/4.19-r0/deploy-debs/i586/linux-libc-headers-dbg_ 4.19-r0.0_i386.deb'.
-| tar: root\:0: Invalid owner
-| tar: Error is not recoverable: exiting now
-| dpkg-deb: error: tar -cf subprocess returned error exit status 2
-
-Tweak tar options in dpkg-deb source code to make it work on old machines.
-
-Upstream-Status: Inappropriate [cross build specific]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
----
- dpkg-deb/build.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
-index 8436839..67c0c20 100644
---- a/dpkg-deb/build.c
-+++ b/dpkg-deb/build.c
-@@ -462,7 +462,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
- if (options->mode)
- command_add_args(&cmd, "--mode", options->mode, NULL);
- if (options->root_owner_group)
-- command_add_args(&cmd, "--owner", "root:0", "--group", "root:0", NULL);
-+ command_add_args(&cmd, "--owner", "root", "--group", "root", NULL);
- command_add_args(&cmd, "--null", "--no-unquote", "--no-recursion",
- "-T", "-", NULL);
- command_exec(&cmd);
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.20.0.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.20.0.bb
index 1e822bbdf..d539c5752 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.20.0.bb
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.20.0.bb
@@ -15,9 +15,6 @@ SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz \
file://pager.patch \
file://0001-Add-support-for-riscv32-CPU.patch \
"
-SRC_URI_append_class-native = " \
- file://tweak-options-require-tar-1.27.patch \
-"
SRC_URI[md5sum] = "f88f077236a3ff3decae3b25c989893d"
SRC_URI[sha256sum] = "b633cc2b0e030efb61e11029d8a3fb1123f719864c9992da2e52b471c96d0900"
diff --git a/poky/meta/recipes-devtools/git/git_2.26.2.bb b/poky/meta/recipes-devtools/git/git_2.27.0.bb
index ae7aa267b..8022659ad 100644
--- a/poky/meta/recipes-devtools/git/git_2.26.2.bb
+++ b/poky/meta/recipes-devtools/git/git_2.27.0.bb
@@ -5,6 +5,6 @@ EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
"
EXTRA_OEMAKE += "NO_GETTEXT=1"
-SRC_URI[tarball.sha256sum] = "e1c17777528f55696815ef33587b1d20f5eec246669f3b839d15dbfffad9c121"
-SRC_URI[manpages.sha256sum] = "b3c6cfc980f3c593d0cd0c63e0c97d6f1cafe7b72321fc3a94948758b9529c5b"
+SRC_URI[tarball.sha256sum] = "77ded85cbe42b1ffdc2578b460a1ef5d23bcbc6683eabcafbb0d394dffe2e787"
+SRC_URI[manpages.sha256sum] = "414e4b17133e54d846f6bfa2479f9757c50e16c013eb76167a492ae5409b8947"
diff --git a/poky/meta/recipes-devtools/go/go-1.14.inc b/poky/meta/recipes-devtools/go/go-1.14.inc
index d729b6526..105011695 100644
--- a/poky/meta/recipes-devtools/go/go-1.14.inc
+++ b/poky/meta/recipes-devtools/go/go-1.14.inc
@@ -1,7 +1,7 @@
require go-common.inc
GO_BASEVERSION = "1.14"
-GO_MINOR = ".3"
+GO_MINOR = ".4"
PV .= "${GO_MINOR}"
FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
@@ -18,4 +18,4 @@ SRC_URI += "\
file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
"
SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch"
-SRC_URI[main.sha256sum] = "93023778d4d1797b7bc6a53e86c3a9b150c923953225f8a48a2d5fabc971af56"
+SRC_URI[main.sha256sum] = "7011af3bbc2ac108d1b82ea8abb87b2e63f78844f0259be20cde4d42c5c40584"
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.11.3.bb b/poky/meta/recipes-devtools/librepo/librepo_1.12.0.bb
index 3e745314a..2d9cac830 100644
--- a/poky/meta/recipes-devtools/librepo/librepo_1.11.3.bb
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.12.0.bb
@@ -8,7 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/librepo.git \
file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
"
-SRCREV = "59b3f76ca6e79786a213cda72ecafa232d30553f"
+SRCREV = "9c173f1110bb30f4ae842a8e3532b275966c2d83"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb
index d7cc72d17..f11cdad37 100644
--- a/poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb
+++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb
@@ -35,7 +35,7 @@ SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
SRC_URI_append_class-native = " file://disable-hardcoded-configs.patch"
-inherit autotools texinfo features_check
+inherit autotools texinfo
EXTRA_OECONF = "--without-x"
diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb
index 732ca2a03..12496c384 100644
--- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb
+++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb
@@ -20,8 +20,7 @@ SRC_URI = "\
file://pkg-config-native.in \
file://pkg-config-esdk.in \
"
-SRC_URI[md5sum] = "f93fb1be95a5cb62e43c219c82b5791a"
-SRC_URI[sha256sum] = "61f0b31b0d5ea0e862b454a80c170f57bad47879c0c42bd8de89200ff62ea210"
+SRC_URI[sha256sum] = "b846aea51cf696c3392a0ae58bef93e2e72f8e7073ca6ad1ed8b01c85871f9c0"
inherit autotools
diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
index 6a437e7c3..75309e308 100644
--- a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
+++ b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
@@ -9,8 +9,7 @@ SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${S
file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \
file://0001-convert-shebang-from-python-to-python3.patch \
"
-SRC_URI[md5sum] = "70e6c294f8dffa8d630eda1b0d42ae4d"
-SRC_URI[sha256sum] = "e0781ec6627e85f2a618478ee278893343fb8b40577b4c74b2ec15c7a5b8f698"
+SRC_URI[sha256sum] = "2c095bd1c5290966cceee8b6ef5cd66f13cd0e9d6d0e8d6fc8961abd64a8e51f"
UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.4.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.5.bb
index d388e88d2..d388e88d2 100644
--- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.4.bb
+++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.5.bb
diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc
index c91cca9f0..032d33742 100644
--- a/poky/meta/recipes-devtools/python/python-setuptools.inc
+++ b/poky/meta/recipes-devtools/python/python-setuptools.inc
@@ -48,6 +48,12 @@ BBCLASSEXTEND = "native nativesdk"
# minimal distributions.
PACKAGES =+ "${PYTHON_PN}-pkg-resources "
FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
+RDEPENDS_${PYTHON_PN}-pkg-resources = "\
+ ${PYTHON_PN}-compression \
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-plistlib \
+ ${PYTHON_PN}-pprint \
+"
# Due to the way OE-Core implemented native recipes, the native class cannot
# have a dependency on something that is not a recipe name. Work around that by
# manually setting RPROVIDES.
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.2.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.3.bb
index 72280ec30..064868d85 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.1.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.3.bb
@@ -12,8 +12,7 @@ PYPI_PACKAGE = "GitPython"
inherit pypi setuptools3
-SRC_URI[md5sum] = "2397bea2d7c36ef9f874ab6355abae59"
-SRC_URI[sha256sum] = "864a47472548f3ba716ca202e034c1900f197c0fb3a08f641c20c3cafd15ed94"
+SRC_URI[sha256sum] = "e107af4d873daed64648b4f4beb89f89f0cfbe3ef558fc7821ed2331c2f8da1a"
DEPENDS += " ${PYTHON_PN}-gitdb"
diff --git a/poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb b/poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb
index be423adac..101b96d31 100644
--- a/poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb
+++ b/poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb
@@ -14,6 +14,9 @@ inherit pypi setuptools3
SRC_URI[md5sum] = "5edc6caa39cc62641850f6b1b6f284ba"
SRC_URI[sha256sum] = "b757db2a5289ea3f1ced9e60f072965243ea43a2221430048fd8cacab17be0ce"
-RDEPENDS_${PN} += "file"
+RDEPENDS_${PN} += "file \
+ ${PYTHON_PN}-ctypes \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-shell"
BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index 126e7d442..3e5006937 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -38,6 +38,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://0001-qemu-Do-not-include-file-if-not-exists.patch \
file://CVE-2020-11102.patch \
file://CVE-2020-11869.patch \
+ file://CVE-2020-13361.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-13361.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-13361.patch
new file mode 100644
index 000000000..e0acc70f3
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-13361.patch
@@ -0,0 +1,61 @@
+From 369ff955a8497988d079c4e3fa1e93c2570c1c69 Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Fri, 15 May 2020 01:36:08 +0530
+Subject: [PATCH] es1370: check total frame count against current frame
+
+A guest user may set channel frame count via es1370_write()
+such that, in es1370_transfer_audio(), total frame count
+'size' is lesser than the number of frames that are processed
+'cnt'.
+
+ int cnt = d->frame_cnt >> 16;
+ int size = d->frame_cnt & 0xffff;
+
+if (size < cnt), it results in incorrect calculations leading
+to OOB access issue(s). Add check to avoid it.
+
+Reported-by: Ren Ding <rding@gatech.edu>
+Reported-by: Hanqing Zhao <hanqing@gatech.edu>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Message-id: 20200514200608.1744203-1-ppandit@redhat.com
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+
+Upstream-Status: Backport [https://lists.gnu.org/archive/html/qemu-devel/2020-05/msg03983.html]
+CVE: CVE-2020-13361
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+---
+ hw/audio/es1370.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/hw/audio/es1370.c b/hw/audio/es1370.c
+index 89c4dabcd44..5f8a83ff562 100644
+--- a/hw/audio/es1370.c
++++ b/hw/audio/es1370.c
+@@ -643,6 +643,9 @@ static void es1370_transfer_audio (ES1370State *s, struct chan *d, int loop_sel,
+ int csc_bytes = (csc + 1) << d->shift;
+ int cnt = d->frame_cnt >> 16;
+ int size = d->frame_cnt & 0xffff;
++ if (size < cnt) {
++ return;
++ }
+ int left = ((size - cnt + 1) << 2) + d->leftover;
+ int transferred = 0;
+ int temp = MIN (max, MIN (left, csc_bytes));
+@@ -651,7 +654,7 @@ static void es1370_transfer_audio (ES1370State *s, struct chan *d, int loop_sel,
+ addr += (cnt << 2) + d->leftover;
+
+ if (index == ADC_CHANNEL) {
+- while (temp) {
++ while (temp > 0) {
+ int acquired, to_copy;
+
+ to_copy = MIN ((size_t) temp, sizeof (tmpbuf));
+@@ -669,7 +672,7 @@ static void es1370_transfer_audio (ES1370State *s, struct chan *d, int loop_sel,
+ else {
+ SWVoiceOut *voice = s->dac_voice[index];
+
+- while (temp) {
++ while (temp > 0) {
+ int copied, to_copy;
+
+ to_copy = MIN ((size_t) temp, sizeof (tmpbuf));
diff --git a/poky/meta/recipes-devtools/qemu/qemu_4.2.0.bb b/poky/meta/recipes-devtools/qemu/qemu_4.2.0.bb
index a4018cc44..9b0949026 100644
--- a/poky/meta/recipes-devtools/qemu/qemu_4.2.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu_4.2.0.bb
@@ -10,6 +10,11 @@ DEPENDS = "glib-2.0 zlib pixman bison-native"
RDEPENDS_${PN}_class-target += "bash"
+# Does not compile for -Og because that level does not clean up dead-code.
+# See lockable.h.
+#
+DEBUG_BUILD = "0"
+
EXTRA_OECONF_append_class-target = " --target-list=${@get_qemu_target_list(d)}"
EXTRA_OECONF_append_class-target_mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
EXTRA_OECONF_append_class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
diff --git a/poky/meta/recipes-devtools/strace/strace_5.6.bb b/poky/meta/recipes-devtools/strace/strace_5.7.bb
index 53679cd0d..c184d035a 100644
--- a/poky/meta/recipes-devtools/strace/strace_5.6.bb
+++ b/poky/meta/recipes-devtools/strace/strace_5.7.bb
@@ -15,8 +15,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
file://uintptr_t.patch \
file://0001-strace-fix-reproducibilty-issues.patch \
"
-SRC_URI[md5sum] = "f8e0394d4e537b3faadf0a72f5d1d17e"
-SRC_URI[sha256sum] = "189968eeae06ed9e20166ec55a830943c84374676a457c9fe010edc7541f1b01"
+SRC_URI[sha256sum] = "b284b59f9bcd95b9728cea5bd5c0edc5ebe360af73dc76fbf6334f11c777ccd8"
inherit autotools ptest
diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.13.0.bb b/poky/meta/recipes-devtools/subversion/subversion_1.14.0.bb
index 6879f1249..b9884151c 100644
--- a/poky/meta/recipes-devtools/subversion/subversion_1.13.0.bb
+++ b/poky/meta/recipes-devtools/subversion/subversion_1.14.0.bb
@@ -13,10 +13,9 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
file://serfmacro.patch \
"
-SRC_URI[md5sum] = "3004b4dae18bf45a0b6ea4ef8820064d"
-SRC_URI[sha256sum] = "bc50ce2c3faa7b1ae9103c432017df98dfd989c4239f9f8270bb3a314ed9e5bd"
+SRC_URI[sha256sum] = "6ba8e218f9f97a83a799e58a3c6da1221d034b18d9d8cbbcb6ec52ab11722102"
-inherit autotools pkgconfig gettext
+inherit autotools pkgconfig gettext python3native
CVE_PRODUCT = "apache:subversion"
diff --git a/poky/meta/recipes-extended/acpica/acpica_20200430.bb b/poky/meta/recipes-extended/acpica/acpica_20200528.bb
index 478be7f56..d68afd815 100644
--- a/poky/meta/recipes-extended/acpica/acpica_20200430.bb
+++ b/poky/meta/recipes-extended/acpica/acpica_20200528.bb
@@ -17,7 +17,7 @@ COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
DEPENDS = "m4-native flex-native bison-native"
SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix-${PV}.tar.gz"
-SRC_URI[sha256sum] = "fb807f1dec31664f972af37d213abf72987afe33abf68c83051e298da35d297c"
+SRC_URI[sha256sum] = "e69f81c6924c8d30f9b9005bb002307f07b5a1538e13c909bea2f8a44e0d8610"
UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_8.6.10.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.0.bb
index 751bf0f19..63e02ce5f 100644
--- a/poky/meta/recipes-extended/asciidoc/asciidoc_8.6.10.bb
+++ b/poky/meta/recipes-extended/asciidoc/asciidoc_9.0.0.bb
@@ -5,13 +5,12 @@ articles, books and UNIX man pages."
HOMEPAGE = "http://asciidoc.org/"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
- file://COPYRIGHT;md5=029ad5428ba5efa20176b396222d4069"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4e5d1baf6f20559e3bec172226a47e4e \
+ file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 "
SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https \
file://auto-catalogs.patch"
-SRCREV = "618f6e6f6b558ed1e5f2588cd60a5a6b4f881ca0"
-PV .= "+py3-git${SRCPV}"
+SRCREV = "c44cb22b0cb110b69e4909c93c1cc6e2be5470cc"
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 e389d8a2d..176594456 100644
--- a/poky/meta/recipes-extended/cups/cups.inc
+++ b/poky/meta/recipes-extended/cups/cups.inc
@@ -29,7 +29,7 @@ inherit autotools-brokensep binconfig useradd systemd pkgconfig multilib_script
USERADD_PACKAGES = "${PN}"
GROUPADD_PARAM_${PN} = "--system lpadmin"
-SYSTEMD_SERVICE_${PN} = "org.cups.cupsd.socket org.cups.cupsd.path org.cups.cupsd.service org.cups.cups-lpd.socket org.cups.cups-lpd@.service"
+SYSTEMD_SERVICE_${PN} = "org.cups.cupsd.socket org.cups.cupsd.path org.cups.cupsd.service org.cups.cups-lpd.socket"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}"
diff --git a/poky/meta/recipes-extended/iptables/iptables_1.8.4.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.5.bb
index cf1388ce9..fa1e5c229 100644
--- a/poky/meta/recipes-extended/iptables/iptables_1.8.4.bb
+++ b/poky/meta/recipes-extended/iptables/iptables_1.8.5.bb
@@ -16,8 +16,7 @@ SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
file://ip6tables.service \
file://ip6tables.rules \
"
-SRC_URI[md5sum] = "9b201107957fbf62709c3d8226239b0d"
-SRC_URI[sha256sum] = "993a3a5490a544c2cbf2ef15cf7e7ed21af1845baf228318d5c36ef8827e157c"
+SRC_URI[sha256sum] = "d457d74512e63aa3f50336e0597d4023c0e3c6845594d38532efb6ebcb294309"
SYSTEMD_SERVICE_${PN} = "\
iptables.service \
diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.4.2.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.4.3.bb
index 0ab40fc09..dbfc067b9 100644
--- a/poky/meta/recipes-extended/libarchive/libarchive_3.4.2.bb
+++ b/poky/meta/recipes-extended/libarchive/libarchive_3.4.3.bb
@@ -34,8 +34,7 @@ EXTRA_OECONF += "--enable-largefile"
SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz"
-SRC_URI[md5sum] = "d953ed6b47694dadf0e6042f8f9ff451"
-SRC_URI[sha256sum] = "b60d58d12632ecf1e8fad7316dc82c6b9738a35625746b47ecdcaf4aed176176"
+SRC_URI[sha256sum] = "ee1e749213c108cb60d53147f18c31a73d6717d7e3d2481c157e1b34c881ea39"
inherit autotools update-alternatives pkgconfig
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.9.1.bb b/poky/meta/recipes-extended/man-db/man-db_2.9.2.bb
index 87149dcb2..53ebc8592 100644
--- a/poky/meta/recipes-extended/man-db/man-db_2.9.1.bb
+++ b/poky/meta/recipes-extended/man-db/man-db_2.9.2.bb
@@ -7,8 +7,7 @@ LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343
SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
file://99_mandb \
file://man_db.conf-avoid-multilib-install-file-conflict.patch"
-SRC_URI[md5sum] = "593f4f0a26ab4f66f5b81cf6c0c7364c"
-SRC_URI[sha256sum] = "ba3d8afc5c09a7265a8dabfa0e7c1f4b3ab97df9abf1f6810faa8f301056c74f"
+SRC_URI[sha256sum] = "7b383f26c67525205f96a4a3bfb27993396992794adda6fe05ad565f369f047c"
DEPENDS = "libpipeline gdbm groff-native base-passwd"
RDEPENDS_${PN} += "base-passwd"
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
index 40c5273e0..001d3331a 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
@@ -19,8 +19,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
file://0001-fix-gcc-8-format-truncation-warning.patch \
file://debian-no-Werror.patch \
file://0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch \
- file://mdadm.init \
- file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \
+ file://mdadm.init \
+ file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \
file://include_sysmacros.patch \
file://0001-mdadm-skip-test-11spare-migration.patch \
"
@@ -30,7 +30,7 @@ SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1
inherit autotools-brokensep ptest systemd
-SYSTEMD_SERVICE_${PN} = "mdmonitor.service mdmon@.service"
+SYSTEMD_SERVICE_${PN} = "mdmonitor.service"
SYSTEMD_AUTO_ENABLE = "disable"
CFLAGS_append_toolchain-clang = " -Wno-error=address-of-packed-member"
diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.10.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.11.bb
index 42cf6309e..804ed59b4 100644
--- a/poky/meta/recipes-extended/msmtp/msmtp_1.8.10.bb
+++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.11.bb
@@ -11,8 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
-SRC_URI[md5sum] = "168430e48f351b5a157ad930d7db3ecc"
-SRC_URI[sha256sum] = "caba7f39d19df7a31782fe7336dd640c61ea33b92f987bd5423bca9683482f10"
+SRC_URI[sha256sum] = "f25f0fa177ce9e0ad65c127e790a37f35fb64fee9e33d90345844c5c86780e60"
inherit gettext autotools update-alternatives pkgconfig
diff --git a/poky/meta/recipes-extended/parted/parted_3.3.bb b/poky/meta/recipes-extended/parted/parted_3.3.bb
index 1cfd9ec26..aa4d8042c 100644
--- a/poky/meta/recipes-extended/parted/parted_3.3.bb
+++ b/poky/meta/recipes-extended/parted/parted_3.3.bb
@@ -22,7 +22,7 @@ EXTRA_OECONF = "--disable-device-mapper"
inherit autotools pkgconfig gettext texinfo ptest
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
do_compile_ptest() {
oe_runmake -C tests print-align print-max dup-clobber duplicate fs-resize print-flags
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch
new file mode 100644
index 000000000..877f4f062
--- /dev/null
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch
@@ -0,0 +1,22 @@
+Define daddr_t if __DADDR_T_TYPE is not defined
+
+glibc defined daddr_t but musl does not, ideally it should not be used
+and simple int type is enough. However, its better to leave glibc behavior
+as it is and only define it to int if daddr_t is not provided by libc
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/stress-ng.h
++++ b/stress-ng.h
+@@ -3750,6 +3750,10 @@ struct shim_statx {
+ uint64_t __spare2[14];
+ };
+
++#ifndef __DADDR_T_TYPE
++typedef int daddr_t;
++#endif
++
+ /* old ustat struct */
+ struct shim_ustat {
+ daddr_t f_tfree;
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.12.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.12.bb
index 45f4bb41a..c00086c09 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.12.bb
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.11.12.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \
+ file://no_daddr_t.patch \
"
SRC_URI[sha256sum] = "0ccf437ca1876a3e8a55986c6481697045203a17f5994cb2f5096cd461d18031"
@@ -23,4 +24,3 @@ do_install() {
oe_runmake DESTDIR=${D} install
}
-COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/poky/meta/recipes-extended/xinetd/xinetd/0001-configure-Use-HAVE_SYS_RESOURCE_H-to-guard-sys-resou.patch b/poky/meta/recipes-extended/xinetd/xinetd/0001-configure-Use-HAVE_SYS_RESOURCE_H-to-guard-sys-resou.patch
deleted file mode 100644
index 3c1b2f6f0..000000000
--- a/poky/meta/recipes-extended/xinetd/xinetd/0001-configure-Use-HAVE_SYS_RESOURCE_H-to-guard-sys-resou.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From e8b0ffc7ea04cc71dba97a38e1a134aaf2285c2d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 30 Dec 2015 07:14:50 +0000
-Subject: [PATCH] configure: Use HAVE_SYS_RESOURCE_H to guard sys/resource.h
- inclusion
-
-HAVE_RLIM_T check will not let sys/resource.h to be checked and
-rlim_t is defined in sys/resource.h so the check would fail.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- aclocal.m4 | 2 +-
- configure | 14 +++++++-------
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/aclocal.m4 b/aclocal.m4
-index 6e6f32c..70e7076 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -11,7 +11,7 @@ AC_CACHE_VAL(xinetd_cv_type_$1,
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-diff --git a/configure b/configure
-index b507d38..bec56ea 100755
---- a/configure
-+++ b/configure
-@@ -7640,7 +7640,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7686,7 +7686,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7732,7 +7732,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7778,7 +7778,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7824,7 +7824,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7870,7 +7870,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
-@@ -7916,7 +7916,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- #if HAVE_NETDB_H
- #include <netdb.h>
- #endif
--#if HAVE_RLIM_T
-+#if HAVE_SYS_RESOURCE_H
- #include <sys/resource.h>
- #endif
- #if HAVE_STDINT_H
---
-2.6.4
-
diff --git a/poky/meta/recipes-extended/xinetd/xinetd/Disable-services-from-inetd.conf-if-a-service-with-t.patch b/poky/meta/recipes-extended/xinetd/xinetd/Disable-services-from-inetd.conf-if-a-service-with-t.patch
deleted file mode 100644
index cd6e6c107..000000000
--- a/poky/meta/recipes-extended/xinetd/xinetd/Disable-services-from-inetd.conf-if-a-service-with-t.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-Upstream-Status: Pending [from other distro Debian]
-
-From d588b6530e1382a624898b3f4307f636c72c80a9 Mon Sep 17 00:00:00 2001
-From: Pierre Habouzit <madcoder@debian.org>
-Date: Wed, 28 Nov 2007 10:13:08 +0100
-Subject: [PATCH] Disable services from inetd.conf if a service with the same id exists.
-
- This way, if a service is enabled in /etc/xinetd* _and_ in
-/etc/inetd.conf, the one (even if disabled) from /etc/xinetd* takes
-precedence.
-
-Signed-off-by: Pierre Habouzit <madcoder@debian.org>
----
- xinetd/inet.c | 22 +++++++++++++++++++---
- 1 files changed, 19 insertions(+), 3 deletions(-)
-
-diff --git a/xinetd/inet.c b/xinetd/inet.c
-index 1cb2ba2..8caab45 100644
---- a/xinetd/inet.c
-+++ b/xinetd/inet.c
-@@ -23,6 +23,8 @@
- #include "parsesup.h"
- #include "nvlists.h"
-
-+static psi_h iter ;
-+
- static int get_next_inet_entry( int fd, pset_h sconfs,
- struct service_config *defaults);
-
-@@ -32,12 +34,15 @@ void parse_inet_conf_file( int fd, struct configuration *confp )
- struct service_config *default_config = CNF_DEFAULTS( confp );
-
- line_count = 0;
-+ iter = psi_create (sconfs);
-
- for( ;; )
- {
- if (get_next_inet_entry(fd, sconfs, default_config) == -2)
- break;
- }
-+
-+ psi_destroy(iter);
- }
-
- static int get_next_inet_entry( int fd, pset_h sconfs,
-@@ -46,7 +51,7 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
- char *p;
- str_h strp;
- char *line = next_line(fd);
-- struct service_config *scp;
-+ struct service_config *scp, *tmp;
- unsigned u, i;
- const char *func = "get_next_inet_entry";
- char *name = NULL, *rpcvers = NULL, *rpcproto = NULL;
-@@ -405,7 +410,16 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
- SC_SPECIFY( scp, A_SOCKET_TYPE );
- SC_SPECIFY( scp, A_WAIT );
-
-- if( ! pset_add(sconfs, scp) )
-+ for ( tmp = SCP( psi_start( iter ) ) ; tmp ; tmp = SCP( psi_next(iter)) ){
-+ if (EQ(SC_ID(scp), SC_ID(tmp))) {
-+ parsemsg(LOG_DEBUG, func, "removing duplicate service %s", SC_NAME(scp));
-+ sc_free(scp);
-+ scp = NULL;
-+ break;
-+ }
-+ }
-+
-+ if( scp && ! pset_add(sconfs, scp) )
- {
- out_of_memory( func );
- pset_destroy(args);
-@@ -414,7 +428,9 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
- }
-
- pset_destroy(args);
-- parsemsg( LOG_DEBUG, func, "added service %s", SC_NAME(scp));
-+ if (scp) {
-+ parsemsg( LOG_DEBUG, func, "added service %s", SC_NAME(scp));
-+ }
- return 0;
- }
-
---
-1.5.3.6.2040.g15e6
-
diff --git a/poky/meta/recipes-extended/xinetd/xinetd/Various-fixes-from-the-previous-maintainer.patch b/poky/meta/recipes-extended/xinetd/xinetd/Various-fixes-from-the-previous-maintainer.patch
deleted file mode 100644
index 8e59cdcaa..000000000
--- a/poky/meta/recipes-extended/xinetd/xinetd/Various-fixes-from-the-previous-maintainer.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-Upstream-Status: Pending [from other distro Debian]
-
-From a3410b0bc81ab03a889d9ffc14e351badf8372f1 Mon Sep 17 00:00:00 2001
-From: Pierre Habouzit <madcoder@debian.org>
-Date: Mon, 26 Nov 2007 16:02:04 +0100
-Subject: [PATCH] Various fixes from the previous maintainer.
-
----
- xinetd/child.c | 20 +++++++++++++++++---
- xinetd/service.c | 8 ++++----
- 2 files changed, 21 insertions(+), 7 deletions(-)
-
-diff --git a/xinetd/child.c b/xinetd/child.c
-index 89ee54c..48e9615 100644
---- a/xinetd/child.c
-+++ b/xinetd/child.c
-@@ -284,6 +284,7 @@ void child_process( struct server *serp )
- connection_s *cp = SERVER_CONNECTION( serp ) ;
- struct service_config *scp = SVC_CONF( sp ) ;
- const char *func = "child_process" ;
-+ int fd, null_fd;
-
- signal_default_state();
-
-@@ -296,9 +297,22 @@ void child_process( struct server *serp )
- signals_pending[0] = -1;
- signals_pending[1] = -1;
-
-- Sclose(0);
-- Sclose(1);
-- Sclose(2);
-+ if ( ( null_fd = open( "/dev/null", O_RDONLY ) ) == -1 )
-+ {
-+ msg( LOG_ERR, func, "open('/dev/null') failed: %m") ;
-+ _exit( 1 ) ;
-+ }
-+
-+ for ( fd = 0 ; fd <= MAX_PASS_FD ; fd++ )
-+ {
-+ if ( fd != null_fd && dup2( null_fd, fd ) == -1 )
-+ {
-+ msg( LOG_ERR, func, "dup2(%d, %d) failed: %m") ;
-+ _exit( 1 ) ;
-+ }
-+ }
-+ if ( null_fd > MAX_PASS_FD )
-+ (void) Sclose( null_fd ) ;
-
-
- #ifdef DEBUG_SERVER
-diff --git a/xinetd/service.c b/xinetd/service.c
-index 3d68d78..0132d6c 100644
---- a/xinetd/service.c
-+++ b/xinetd/service.c
-@@ -745,8 +745,8 @@ static status_e failed_service(struct service *sp,
- return FAILED;
-
- if ( last == NULL ) {
-- last = SAIN( calloc( 1, sizeof(union xsockaddr) ) );
-- SVC_LAST_DGRAM_ADDR(sp) = (union xsockaddr *)last;
-+ SVC_LAST_DGRAM_ADDR(sp) = SAIN( calloc( 1, sizeof(union xsockaddr) ) );
-+ last = SAIN( SVC_LAST_DGRAM_ADDR(sp) );
- }
-
- (void) time( &current_time ) ;
-@@ -772,8 +772,8 @@ static status_e failed_service(struct service *sp,
- return FAILED;
-
- if( last == NULL ) {
-- last = SAIN6(calloc( 1, sizeof(union xsockaddr) ) );
-- SVC_LAST_DGRAM_ADDR( sp ) = (union xsockaddr *)last;
-+ SVC_LAST_DGRAM_ADDR(sp) = SAIN6(calloc( 1, sizeof(union xsockaddr) ) );
-+ last = SAIN6(SVC_LAST_DGRAM_ADDR(sp));
- }
-
- (void) time( &current_time ) ;
---
-1.5.3.6.2040.g15e6
-
diff --git a/poky/meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch b/poky/meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch
deleted file mode 100644
index 852a43f2d..000000000
--- a/poky/meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-xinetd: CVE-2013-4342
-
-xinetd does not enforce the user and group configuration directives
-for TCPMUX services, which causes these services to be run as root
-and makes it easier for remote attackers to gain privileges by
-leveraging another vulnerability in a service.
-http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4342
-
-the patch come from:
-https://bugzilla.redhat.com/attachment.cgi?id=799732&action=diff
-
-CVE: CVE-2013-4342
-Signed-off-by: Li Wang <li.wang@windriver.com>
-Upstream-Status: Backport
----
- xinetd/builtins.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/xinetd/builtins.c b/xinetd/builtins.c
-index 3b85579..34a5bac 100644
---- a/xinetd/builtins.c
-+++ b/xinetd/builtins.c
-@@ -617,7 +617,7 @@ static void tcpmux_handler( const struct server *serp )
- if( SC_IS_INTERNAL( scp ) ) {
- SC_INTERNAL(scp, nserp);
- } else {
-- exec_server(nserp);
-+ child_process(nserp);
- }
- }
-
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-extended/xinetd/xinetd/xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch b/poky/meta/recipes-extended/xinetd/xinetd/xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch
deleted file mode 100644
index 2365ca123..000000000
--- a/poky/meta/recipes-extended/xinetd/xinetd/xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-Upstream-Status: Pending [from other distro Debian]
-
-From f44b218ccc779ab3f4aed072390ccf129d94b58d Mon Sep 17 00:00:00 2001
-From: David Madore <david@pleiades.stars>
-Date: Mon, 24 Mar 2008 12:45:36 +0100
-Subject: [PATCH] xinetd should be able to listen on IPv6 even in -inetd_compat mode
-
-xinetd does not bind to IPv6 addresses (and does not seem to have an
-option to do so) when used in -inetd_compat mode. As current inetd's
-are IPv6-aware, this is a problem: this means xinetd cannot be used as
-a drop-in inetd replacement.
-
-The attached patch is a suggestion: it adds a -inetd_ipv6 global
-option that, if used, causes inetd-compatibility lines to have an
-implicit "IPv6" option. Perhaps this is not the best solution, but
-there should definitely be a way to get inetd.conf to be read in
-IPv6-aware mode.
----
- xinetd/confparse.c | 1 +
- xinetd/inet.c | 17 +++++++++++++++++
- xinetd/options.c | 3 +++
- xinetd/xinetd.man | 6 ++++++
- 4 files changed, 27 insertions(+), 0 deletions(-)
-
-diff --git a/xinetd/confparse.c b/xinetd/confparse.c
-index db9f431..d7b0bcc 100644
---- a/xinetd/confparse.c
-+++ b/xinetd/confparse.c
-@@ -40,6 +40,7 @@
- #include "inet.h"
- #include "main.h"
-
-+extern int inetd_ipv6;
- extern int inetd_compat;
-
- /*
-diff --git a/xinetd/inet.c b/xinetd/inet.c
-index 8caab45..2e617ae 100644
---- a/xinetd/inet.c
-+++ b/xinetd/inet.c
-@@ -25,6 +25,8 @@
-
- static psi_h iter ;
-
-+extern int inetd_ipv6;
-+
- static int get_next_inet_entry( int fd, pset_h sconfs,
- struct service_config *defaults);
-
-@@ -360,6 +362,21 @@ static int get_next_inet_entry( int fd, pset_h sconfs,
- }
- SC_SERVER_ARGV(scp)[u] = p;
- }
-+
-+ /* Set the IPv6 flag if we were passed the -inetd_ipv6 option */
-+ if ( inetd_ipv6 )
-+ {
-+ nvp = nv_find_value( service_flags, "IPv6" );
-+ if ( nvp == NULL )
-+ {
-+ parsemsg( LOG_WARNING, func, "inetd.conf - Bad foo %s", name ) ;
-+ pset_destroy(args);
-+ sc_free(scp);
-+ return -1;
-+ }
-+ M_SET(SC_XFLAGS(scp), nvp->value);
-+ }
-+
- /* Set the reuse flag, as this is the default for inetd */
- nvp = nv_find_value( service_flags, "REUSE" );
- if ( nvp == NULL )
-diff --git a/xinetd/options.c b/xinetd/options.c
-index b058b6a..dc2f3a0 100644
---- a/xinetd/options.c
-+++ b/xinetd/options.c
-@@ -30,6 +30,7 @@ int logprocs_option ;
- unsigned logprocs_option_arg ;
- int stayalive_option=0;
- char *program_name ;
-+int inetd_ipv6 = 0 ;
- int inetd_compat = 0 ;
- int dont_fork = 0;
-
-@@ -128,6 +129,8 @@ int opt_recognize( int argc, char *argv[] )
- fprintf(stderr, "\n");
- exit(0);
- }
-+ else if ( strcmp ( &argv[ arg ][ 1 ], "inetd_ipv6" ) == 0 )
-+ inetd_ipv6 = 1;
- else if ( strcmp ( &argv[ arg ][ 1 ], "inetd_compat" ) == 0 )
- inetd_compat = 1;
- }
-diff --git a/xinetd/xinetd.man b/xinetd/xinetd.man
-index c76c3c6..c9dd803 100644
---- a/xinetd/xinetd.man
-+++ b/xinetd/xinetd.man
-@@ -106,6 +106,12 @@ This option causes xinetd to read /etc/inetd.conf in addition to the
- standard xinetd config files. /etc/inetd.conf is read after the
- standard xinetd config files.
- .TP
-+.BI \-inetd_ipv6
-+This option causes xinetd to bind to IPv6 (AF_INET6) addresses for
-+inetd compatibility lines (see previous option). This only affects
-+how /etc/inetd.conf is interpreted and thus only has any effect if
-+the \-inetd_compat option is also used.
-+.TP
- .BI \-cc " interval"
- This option instructs
- .B xinetd
---
-1.5.5.rc0.127.gb4337
-
diff --git a/poky/meta/recipes-extended/xinetd/xinetd/xinetd.conf b/poky/meta/recipes-extended/xinetd/xinetd/xinetd.conf
deleted file mode 100644
index 9e6ea2577..000000000
--- a/poky/meta/recipes-extended/xinetd/xinetd/xinetd.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-# Simple configuration file for xinetd
-#
-# Some defaults, and include /etc/xinetd.d/
-
-defaults
-{
-
-
-}
-
-includedir /etc/xinetd.d
diff --git a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
new file mode 100644
index 000000000..4f0f9531a
--- /dev/null
+++ b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Socket-based service activation daemon"
+HOMEPAGE = "https://github.com/xinetd-org/xinetd"
+
+# xinetd is a BSD-like license
+# Apple and Gentoo say BSD here.
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=55c5fdf02cfcca3fc9621b6f2ceae10f"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+SRC_URI = "git://github.com/openSUSE/xinetd.git;protocol=https \
+ file://xinetd.init \
+ file://xinetd.default \
+ file://xinetd.service \
+ "
+
+SRCREV = "6a4af7786630ce48747d9687e2f18f45ea6684c4"
+
+S = "${WORKDIR}/git"
+
+inherit autotools update-rc.d systemd pkgconfig
+
+SYSTEMD_SERVICE_${PN} = "xinetd.service"
+
+INITSCRIPT_NAME = "xinetd"
+INITSCRIPT_PARAMS = "defaults"
+
+PACKAGECONFIG ??= "tcp-wrappers"
+PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers"
+
+CONFFILES_${PN} = "${sysconfdir}/xinetd.conf"
+
+do_install_append() {
+ install -d "${D}${sysconfdir}/init.d"
+ install -d "${D}${sysconfdir}/default"
+ install -m 755 "${WORKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd"
+ install -m 644 "${WORKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd"
+
+ # Install systemd unit files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ ${D}${systemd_unitdir}/system/xinetd.service
+}
+
+RDEPENDS_${PN} += "perl"
diff --git a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.bb b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
deleted file mode 100644
index 8f8f846bf..000000000
--- a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
+++ /dev/null
@@ -1,75 +0,0 @@
-SUMMARY = "Socket-based service activation daemon"
-HOMEPAGE = "https://github.com/xinetd-org/xinetd"
-
-# xinetd is a BSD-like license
-# Apple and Gentoo say BSD here.
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=8ad8615198542444f84d28a6cf226dd8"
-
-DEPENDS += "libtirpc"
-PR = "r2"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-SRC_URI = "git://github.com/openSUSE/xinetd.git;protocol=https \
- file://xinetd.init \
- file://xinetd.conf \
- file://xinetd.default \
- file://Various-fixes-from-the-previous-maintainer.patch \
- file://Disable-services-from-inetd.conf-if-a-service-with-t.patch \
- file://xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch \
- file://xinetd-CVE-2013-4342.patch \
- file://0001-configure-Use-HAVE_SYS_RESOURCE_H-to-guard-sys-resou.patch \
- file://xinetd.service \
- "
-
-SRCREV = "68bb9ab9e9f214ad8a2322f28ac1d6733e70bc24"
-
-S = "${WORKDIR}/git"
-
-inherit autotools update-rc.d systemd
-
-SYSTEMD_SERVICE_${PN} = "xinetd.service"
-
-INITSCRIPT_NAME = "xinetd"
-INITSCRIPT_PARAMS = "defaults"
-
-EXTRA_OECONF="--disable-nls"
-
-PACKAGECONFIG ??= "tcp-wrappers"
-PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers"
-
-CFLAGS += "-I${STAGING_INCDIR}/tirpc"
-LDFLAGS += "-ltirpc"
-
-do_configure() {
- # Looks like configure.in is broken, so we are skipping
- # rebuilding configure and are just using the shipped one
- ( cd ${S}; gnu-configize --force )
- oe_runconf
-}
-
-do_install() {
- # Same here, the Makefile does some really stupid things,
- # but since we only want two files why not override
- # do_install from autotools and doing it ourselfs?
- install -d "${D}${sbindir}"
- install -d "${D}${sysconfdir}/init.d"
- install -d "${D}${sysconfdir}/xinetd.d"
- install -d "${D}${sysconfdir}/default"
- install -m 644 "${WORKDIR}/xinetd.conf" "${D}${sysconfdir}"
- install -m 755 "${WORKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd"
- install -m 644 "${WORKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd"
- install -m 755 "${B}/xinetd/xinetd" "${D}${sbindir}"
- install -m 755 "${B}/xinetd/itox" "${D}${sbindir}"
- install -m 664 ${S}/contrib/xinetd.d/* ${D}${sysconfdir}/xinetd.d
-
- # Install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/xinetd.service
-}
-
-CONFFILES_${PN} = "${sysconfdir}/xinetd.conf"
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.36.1.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.36.2.bb
index 8146983ae..8ac318b0d 100644
--- a/poky/meta/recipes-gnome/epiphany/epiphany_3.36.1.bb
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.36.2.bb
@@ -14,8 +14,7 @@ REQUIRED_DISTRO_FEATURES = "x11 opengl"
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.md5sum] = "d66416d0be97ec7789564473337bfe57"
-SRC_URI[archive.sha256sum] = "f6f233fb43c6318476d4594707b3fdd5b4127b5e35263e73fbcad8895db8efb6"
+SRC_URI[archive.sha256sum] = "c2e676aa0fe211809a5e7e8a7e461d182890f253c53f4610f2610094b6fbfb5e"
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-graphics/cogl/cogl-1.0_1.22.6.bb b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.6.bb
deleted file mode 100644
index 86bbdbff6..000000000
--- a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.6.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require cogl-1.0.inc
-
-SRC_URI[archive.md5sum] = "7bcc01edb5462d4d08d01bf893feddb0"
-SRC_URI[archive.sha256sum] = "6d134bd3e48c067507167c001200b275997fb9c68b08b48ff038211c8c251b75"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84"
diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb
new file mode 100644
index 000000000..78f6b0e7a
--- /dev/null
+++ b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb
@@ -0,0 +1,5 @@
+require cogl-1.0.inc
+
+SRC_URI[archive.sha256sum] = "a805b2b019184710ff53d0496f9f0ce6dcca420c141a0f4f6fcc02131581d759"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84"
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.101.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.102.bb
index 8ec566faa..fb9a94207 100644
--- a/poky/meta/recipes-graphics/drm/libdrm_2.4.101.bb
+++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.102.bb
@@ -11,8 +11,7 @@ PROVIDES = "drm"
DEPENDS = "libpthread-stubs"
SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz"
-SRC_URI[md5sum] = "e6a6f1b88963210b3d62acd7310a1cc7"
-SRC_URI[sha256sum] = "ddf31baa8e49473624860bd166ce654dc349873f7a6c7b3305964249315c78a7"
+SRC_URI[sha256sum] = "8bcbf9336c28e393d76c1f16d7e79e394a7fce8a2e929d52d3ad7ad8525ba05b"
inherit meson pkgconfig manpages
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.4.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.7.bb
index ee08c12be..4f79da417 100644
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.4.bb
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.7.bb
@@ -4,12 +4,15 @@ HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz"
BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz"
SECTION = "libs"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e11f5c3149cdec4bb309babb020b32b9 \
+LIC_FILES_CHKSUM = "file://COPYING;md5=8f787620b7d3866d9552fd1924c07572 \
file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc"
-SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.xz"
-SRC_URI[md5sum] = "2b3a4dfdb3e5e50055f941978944da9f"
-SRC_URI[sha256sum] = "9413b8d96132d699687ef914ebb8c50440efc87b3f775d25856d7ec347c03c12"
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "3b884586a09328c5fae76d8c200b0e1c"
+SRC_URI[sha256sum] = "49e481d06cdff97bf68d99fa26bdf785331f411614485d892ea4c78eb479b218"
inherit autotools pkgconfig lib_package gtk-doc
diff --git a/poky/meta/recipes-graphics/libva/libva.inc b/poky/meta/recipes-graphics/libva/libva.inc
index ac39e92de..e7bec80c1 100644
--- a/poky/meta/recipes-graphics/libva/libva.inc
+++ b/poky/meta/recipes-graphics/libva/libva.inc
@@ -24,4 +24,4 @@ UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases"
DEPENDS = "libdrm"
-inherit meson pkgconfig features_check
+inherit meson pkgconfig
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb
index 9d7cb2b1e..9484f010c 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb
@@ -14,7 +14,7 @@ SRC_URI = "git://github.com/SaschaWillems/Vulkan.git \
file://0001-Don-t-build-demos-with-questionably-licensed-data.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "10a1ecaf7bbcbc316c83f7c52742baaba0ae2f45"
+SRCREV = "4818f85916bf88c1ca8c2ed1a46e0e758651489e"
UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb b/poky/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb
index 4d61aed18..713fcfb93 100644
--- a/poky/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb
+++ b/poky/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb
@@ -19,3 +19,7 @@ SRC_URI[sha256sum] = "bd96e16143a044b19e87f217cf6a3763a70c561d1076aad6f6d862ec41
inherit allarch
EXTRA_OECONF += "--with-encodingsdir=${datadir}/fonts/X11/encodings"
+
+# postinst from .inc doesn't apply to this recipe
+pkg_postinst_${PN} () {
+}
diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config/0001-fix-python3-support.patch b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config/0001-fix-python3-support.patch
deleted file mode 100644
index f723f7033..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config/0001-fix-python3-support.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 168ac446cdd9a1b59d6b708360a9556515ba56b9 Mon Sep 17 00:00:00 2001
-From: MilhouseVH <milhouseVH.github@nmacleod.com>
-Date: Sun, 16 Feb 2020 09:41:43 +0000
-Subject: [PATCH] fix python3 support
-
-https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/issues/197
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- rules/compat/map-variants.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/rules/compat/map-variants.py b/rules/compat/map-variants.py
-index ebbfec9..979ba43 100755
---- a/rules/compat/map-variants.py
-+++ b/rules/compat/map-variants.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python3
-+#!/usr/bin/env python3
-
- import argparse
- import re
-@@ -12,8 +12,8 @@ class Layout(object):
- assert variant is None
- # parse a layout(variant) string
- match = re.match(r'([^(]+)\(([^)]+)\)', layout)
-- self.layout = match[1]
-- self.variant = match[2]
-+ self.layout = match.groups()[0]
-+ self.variant = match.groups()[1]
-
- def __str__(self):
- if self.variant:
diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.29.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.30.bb
index 598b58478..a4d67cd2c 100644
--- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.29.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.30.bb
@@ -12,11 +12,8 @@ BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-confi
LICENSE = "MIT & MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
-SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2 \
- file://0001-fix-python3-support.patch \
- "
-SRC_URI[md5sum] = "b5980bdc6c7d79f6dcccba8c76bb6c5d"
-SRC_URI[sha256sum] = "1d4175278bf06000683656763a8b1d3282c61a314b6db41260c8efe92d621802"
+SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "095a524f7b633ed257617202d06c9c71fe020c8897b106cf0dcdd0c6e8b797d4"
SECTION = "x11/libs"
DEPENDS = "util-macros libxslt-native"
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200421.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200519.bb
index fa0507a88..fcad7df62 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200421.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200519.bb
@@ -125,7 +125,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
- file://WHENCE;md5=cb9a66eff0464b55335d3a7374fbc51c \
+ file://WHENCE;md5=c15cee50b1a59d27106a37c2929d5291 \
"
# These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -196,8 +196,7 @@ PE = "1"
SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "229a93395f4033da68429f165a62b952"
-SRC_URI[sha256sum] = "6dd7cba25d694c031f65529b9027cc8faaffaddfae70a4e3b58c2e4a0af3bfa8"
+SRC_URI[sha256sum] = "584c49c58291136b966ceffb0a456a672c23d4d759bab8bf86cbbe28061e415e"
inherit allarch
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
index 4481aa430..20139a849 100644
--- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
@@ -32,6 +32,8 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+RECIPE_NO_UPDATE_REASON = "Recipe is updated through a separate process"
+
python __anonymous () {
major = d.getVar("PV").split('.')[0]
if major == "3":
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto.inc b/poky/meta/recipes-kernel/linux/linux-yocto.inc
index f560dec58..bd37006f8 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/poky/meta/recipes-kernel/linux/linux-yocto.inc
@@ -6,6 +6,8 @@ LIC_FILES_CHKSUM ?= "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
+RECIPE_NO_UPDATE_REASON = "Recipe is updated through a separate process"
+
# Skip processing of this recipe if it is not explicitly specified as the
# PREFERRED_PROVIDER for virtual/kernel. This avoids network access required
# by the use of AUTOREV SRCREVs, which are the default for this recipe.
diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2/0001-fs.c-initialize-other_entry.patch b/poky/meta/recipes-kernel/lttng/babeltrace2/0001-fs.c-initialize-other_entry.patch
deleted file mode 100644
index b56b3bd6e..000000000
--- a/poky/meta/recipes-kernel/lttng/babeltrace2/0001-fs.c-initialize-other_entry.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 42dae692b9057d03ce9a0651f061472e9dd90130 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Wed, 11 Mar 2020 08:44:42 +0000
-Subject: [PATCH] fs.c: initialize the other_entry variable
-
-Initialize the pointer other_entry to fix the below error:
-| ../../../../../git/src/plugins/ctf/fs-src/fs.c: In function 'ds_index_insert_ds_index_entry_sorted':
-| ../../../../../git/src/plugins/ctf/fs-src/fs.c:702:5: error: 'other_entry' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-| 702 | !ds_index_entries_equal(entry, other_entry)) {
-
-Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2020-March/029549.html]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- src/plugins/ctf/fs-src/fs.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/plugins/ctf/fs-src/fs.c b/src/plugins/ctf/fs-src/fs.c
-index e87523a3..a6b5315f 100644
---- a/src/plugins/ctf/fs-src/fs.c
-+++ b/src/plugins/ctf/fs-src/fs.c
-@@ -680,7 +680,7 @@ void ds_index_insert_ds_index_entry_sorted(
- struct ctf_fs_ds_index_entry *entry)
- {
- guint i;
-- struct ctf_fs_ds_index_entry *other_entry;
-+ struct ctf_fs_ds_index_entry *other_entry = NULL;
-
- /* Find the spot where to insert this index entry. */
- for (i = 0; i < index->entries->len; i++) {
---
-2.24.1
-
diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.2.bb b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.3.bb
index 7777f9b39..c65882581 100644
--- a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.2.bb
+++ b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.3.bb
@@ -8,12 +8,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a458c13f18385b7bc5069a6d7b176e"
DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-2.0 \
- file://run-ptest \
- file://0001-tests-do-not-run-test-applications-from-.libs.patch \
+ file://run-ptest \
+ file://0001-tests-do-not-run-test-applications-from-.libs.patch \
file://0001-Make-manpages-multilib-identical.patch \
- file://0001-fs.c-initialize-other_entry.patch \
- "
-SRCREV = "33003c352ed56aa49e0b3df272bbab6fac36cae8"
+ "
+SRCREV = "91d154476e66735d705adda9ca5cbf5b5eea5940"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Update-for-kernel-5.7-use-vmalloc_sync_mappings-on-k.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Update-for-kernel-5.7-use-vmalloc_sync_mappings-on-k.patch
deleted file mode 100644
index 58f4d2919..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Update-for-kernel-5.7-use-vmalloc_sync_mappings-on-k.patch
+++ /dev/null
@@ -1,853 +0,0 @@
-From a2cc0e06330e55eefe668f7d6370de6d3177a907 Mon Sep 17 00:00:00 2001
-From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Date: Tue, 5 May 2020 13:38:31 -0400
-Subject: [PATCH] Update for kernel 5.7: use vmalloc_sync_mappings on kernels
- >= 5.7
-
-Upstream-Status: Backport [https://github.com/lttng/lttng-modules/commit/da0fcb1497ff2437407883647a8a0bba12bd0f91]
-
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- lib/ringbuffer/ring_buffer_backend.c | 4 +--
- lttng-abi.c | 4 +--
- lttng-context-callstack.c | 2 +-
- lttng-context-cgroup-ns.c | 2 +-
- lttng-context-cpu-id.c | 2 +-
- lttng-context-egid.c | 2 +-
- lttng-context-euid.c | 2 +-
- lttng-context-gid.c | 2 +-
- lttng-context-hostname.c | 2 +-
- lttng-context-interruptible.c | 2 +-
- lttng-context-ipc-ns.c | 2 +-
- lttng-context-migratable.c | 2 +-
- lttng-context-mnt-ns.c | 2 +-
- lttng-context-need-reschedule.c | 2 +-
- lttng-context-net-ns.c | 2 +-
- lttng-context-nice.c | 2 +-
- lttng-context-perf-counters.c | 2 +-
- lttng-context-pid-ns.c | 2 +-
- lttng-context-pid.c | 2 +-
- lttng-context-ppid.c | 2 +-
- lttng-context-preemptible.c | 2 +-
- lttng-context-prio.c | 2 +-
- lttng-context-procname.c | 2 +-
- lttng-context-sgid.c | 2 +-
- lttng-context-suid.c | 2 +-
- lttng-context-tid.c | 2 +-
- lttng-context-uid.c | 2 +-
- lttng-context-user-ns.c | 2 +-
- lttng-context-uts-ns.c | 2 +-
- lttng-context-vegid.c | 2 +-
- lttng-context-veuid.c | 2 +-
- lttng-context-vgid.c | 2 +-
- lttng-context-vpid.c | 2 +-
- lttng-context-vppid.c | 2 +-
- lttng-context-vsgid.c | 2 +-
- lttng-context-vsuid.c | 2 +-
- lttng-context-vtid.c | 2 +-
- lttng-context-vuid.c | 2 +-
- lttng-context.c | 2 +-
- lttng-events.c | 10 +++---
- lttng-ring-buffer-client.h | 4 +--
- lttng-ring-buffer-metadata-client.h | 4 +--
- lttng-syscalls.c | 2 +-
- probes/lttng-kprobes.c | 2 +-
- probes/lttng-kretprobes.c | 2 +-
- probes/lttng-tracepoint-event-impl.h | 4 +--
- probes/lttng-uprobes.c | 2 +-
- probes/lttng.c | 2 +-
- tests/probes/lttng-test.c | 2 +-
- wrapper/vmalloc.h | 49 ++++++++++++++++++++++++++--
- 50 files changed, 104 insertions(+), 61 deletions(-)
-
-diff --git a/lib/ringbuffer/ring_buffer_backend.c b/lib/ringbuffer/ring_buffer_backend.c
-index d4bec25..d232b7f 100644
---- a/lib/ringbuffer/ring_buffer_backend.c
-+++ b/lib/ringbuffer/ring_buffer_backend.c
-@@ -17,7 +17,7 @@
- #include <linux/vmalloc.h>
-
- #include <wrapper/mm.h>
--#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */
-+#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */
- #include <wrapper/ringbuffer/config.h>
- #include <wrapper/ringbuffer/backend.h>
- #include <wrapper/ringbuffer/frontend.h>
-@@ -156,7 +156,7 @@ int lib_ring_buffer_backend_allocate(const struct lib_ring_buffer_config *config
- * If kmalloc ever uses vmalloc underneath, make sure the buffer pages
- * will not fault.
- */
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- wrapper_clear_current_oom_origin();
- vfree(pages);
- return 0;
-diff --git a/lttng-abi.c b/lttng-abi.c
-index b63e376..826ecab 100644
---- a/lttng-abi.c
-+++ b/lttng-abi.c
-@@ -30,7 +30,7 @@
- #include <linux/uaccess.h>
- #include <linux/slab.h>
- #include <linux/err.h>
--#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */
-+#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */
- #include <wrapper/ringbuffer/vfs.h>
- #include <wrapper/ringbuffer/backend.h>
- #include <wrapper/ringbuffer/frontend.h>
-@@ -1938,7 +1938,7 @@ int __init lttng_abi_init(void)
- {
- int ret = 0;
-
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- lttng_clock_ref();
-
- ret = lttng_tp_mempool_init();
-diff --git a/lttng-context-callstack.c b/lttng-context-callstack.c
-index 195990a..ba35a39 100644
---- a/lttng-context-callstack.c
-+++ b/lttng-context-callstack.c
-@@ -141,7 +141,7 @@ int __lttng_add_callstack_generic(struct lttng_ctx **ctx,
- field->record = lttng_callstack_record;
- field->priv = fdata;
- field->destroy = lttng_callstack_destroy;
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
-
- error_create:
-diff --git a/lttng-context-cgroup-ns.c b/lttng-context-cgroup-ns.c
-index 81486e5..f324b7e 100644
---- a/lttng-context-cgroup-ns.c
-+++ b/lttng-context-cgroup-ns.c
-@@ -97,7 +97,7 @@ int lttng_add_cgroup_ns_to_ctx(struct lttng_ctx **ctx)
- field->record = cgroup_ns_record;
- field->get_value = cgroup_ns_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_cgroup_ns_to_ctx);
-diff --git a/lttng-context-cpu-id.c b/lttng-context-cpu-id.c
-index 3778225..6e2f3f4 100644
---- a/lttng-context-cpu-id.c
-+++ b/lttng-context-cpu-id.c
-@@ -68,7 +68,7 @@ int lttng_add_cpu_id_to_ctx(struct lttng_ctx **ctx)
- field->record = cpu_id_record;
- field->get_value = cpu_id_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_cpu_id_to_ctx);
-diff --git a/lttng-context-egid.c b/lttng-context-egid.c
-index 51536e2..bdcebb9 100644
---- a/lttng-context-egid.c
-+++ b/lttng-context-egid.c
-@@ -70,7 +70,7 @@ int lttng_add_egid_to_ctx(struct lttng_ctx **ctx)
- field->record = egid_record;
- field->get_value = egid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_egid_to_ctx);
-diff --git a/lttng-context-euid.c b/lttng-context-euid.c
-index 1bcd53f..c2b8dcd 100644
---- a/lttng-context-euid.c
-+++ b/lttng-context-euid.c
-@@ -70,7 +70,7 @@ int lttng_add_euid_to_ctx(struct lttng_ctx **ctx)
- field->record = euid_record;
- field->get_value = euid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_euid_to_ctx);
-diff --git a/lttng-context-gid.c b/lttng-context-gid.c
-index da54207..c355e8c 100644
---- a/lttng-context-gid.c
-+++ b/lttng-context-gid.c
-@@ -70,7 +70,7 @@ int lttng_add_gid_to_ctx(struct lttng_ctx **ctx)
- field->record = gid_record;
- field->get_value = gid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_gid_to_ctx);
-diff --git a/lttng-context-hostname.c b/lttng-context-hostname.c
-index e485aa9..17dbd57 100644
---- a/lttng-context-hostname.c
-+++ b/lttng-context-hostname.c
-@@ -101,7 +101,7 @@ int lttng_add_hostname_to_ctx(struct lttng_ctx **ctx)
- field->record = hostname_record;
- field->get_value = hostname_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_hostname_to_ctx);
-diff --git a/lttng-context-interruptible.c b/lttng-context-interruptible.c
-index f3da199..8bd279a 100644
---- a/lttng-context-interruptible.c
-+++ b/lttng-context-interruptible.c
-@@ -75,7 +75,7 @@ int lttng_add_interruptible_to_ctx(struct lttng_ctx **ctx)
- field->record = interruptible_record;
- field->get_value = interruptible_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_interruptible_to_ctx);
-diff --git a/lttng-context-ipc-ns.c b/lttng-context-ipc-ns.c
-index 78d5966..40b901b 100644
---- a/lttng-context-ipc-ns.c
-+++ b/lttng-context-ipc-ns.c
-@@ -96,7 +96,7 @@ int lttng_add_ipc_ns_to_ctx(struct lttng_ctx **ctx)
- field->record = ipc_ns_record;
- field->get_value = ipc_ns_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_ipc_ns_to_ctx);
-diff --git a/lttng-context-migratable.c b/lttng-context-migratable.c
-index e3d8ede..65154b8 100644
---- a/lttng-context-migratable.c
-+++ b/lttng-context-migratable.c
-@@ -68,7 +68,7 @@ int lttng_add_migratable_to_ctx(struct lttng_ctx **ctx)
- field->record = migratable_record;
- field->get_value = migratable_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_migratable_to_ctx);
-diff --git a/lttng-context-mnt-ns.c b/lttng-context-mnt-ns.c
-index b5bb955..cb59776 100644
---- a/lttng-context-mnt-ns.c
-+++ b/lttng-context-mnt-ns.c
-@@ -98,7 +98,7 @@ int lttng_add_mnt_ns_to_ctx(struct lttng_ctx **ctx)
- field->record = mnt_ns_record;
- field->get_value = mnt_ns_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_mnt_ns_to_ctx);
-diff --git a/lttng-context-need-reschedule.c b/lttng-context-need-reschedule.c
-index f29fb28..94efaa5 100644
---- a/lttng-context-need-reschedule.c
-+++ b/lttng-context-need-reschedule.c
-@@ -68,7 +68,7 @@ int lttng_add_need_reschedule_to_ctx(struct lttng_ctx **ctx)
- field->record = need_reschedule_record;
- field->get_value = need_reschedule_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_need_reschedule_to_ctx);
-diff --git a/lttng-context-net-ns.c b/lttng-context-net-ns.c
-index 6694037..37de09f 100644
---- a/lttng-context-net-ns.c
-+++ b/lttng-context-net-ns.c
-@@ -97,7 +97,7 @@ int lttng_add_net_ns_to_ctx(struct lttng_ctx **ctx)
- field->record = net_ns_record;
- field->get_value = net_ns_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_net_ns_to_ctx);
-diff --git a/lttng-context-nice.c b/lttng-context-nice.c
-index 563e805..acaba85 100644
---- a/lttng-context-nice.c
-+++ b/lttng-context-nice.c
-@@ -68,7 +68,7 @@ int lttng_add_nice_to_ctx(struct lttng_ctx **ctx)
- field->record = nice_record;
- field->get_value = nice_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_nice_to_ctx);
-diff --git a/lttng-context-perf-counters.c b/lttng-context-perf-counters.c
-index 43c4077..6b04d12 100644
---- a/lttng-context-perf-counters.c
-+++ b/lttng-context-perf-counters.c
-@@ -321,7 +321,7 @@ int lttng_add_perf_counter_to_ctx(uint32_t type,
- field->u.perf_counter = perf_field;
- lttng_context_update(*ctx);
-
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
-
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
-diff --git a/lttng-context-pid-ns.c b/lttng-context-pid-ns.c
-index f039f26..ccf629d 100644
---- a/lttng-context-pid-ns.c
-+++ b/lttng-context-pid-ns.c
-@@ -98,7 +98,7 @@ int lttng_add_pid_ns_to_ctx(struct lttng_ctx **ctx)
- field->record = pid_ns_record;
- field->get_value = pid_ns_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_pid_ns_to_ctx);
-diff --git a/lttng-context-pid.c b/lttng-context-pid.c
-index b3caabb..326eabe 100644
---- a/lttng-context-pid.c
-+++ b/lttng-context-pid.c
-@@ -68,7 +68,7 @@ int lttng_add_pid_to_ctx(struct lttng_ctx **ctx)
- field->record = pid_record;
- field->get_value = pid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_pid_to_ctx);
-diff --git a/lttng-context-ppid.c b/lttng-context-ppid.c
-index ef84ad1..ff25288 100644
---- a/lttng-context-ppid.c
-+++ b/lttng-context-ppid.c
-@@ -90,7 +90,7 @@ int lttng_add_ppid_to_ctx(struct lttng_ctx **ctx)
- field->record = ppid_record;
- field->get_value = ppid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_ppid_to_ctx);
-diff --git a/lttng-context-preemptible.c b/lttng-context-preemptible.c
-index 328f2a4..867805b 100644
---- a/lttng-context-preemptible.c
-+++ b/lttng-context-preemptible.c
-@@ -86,7 +86,7 @@ int lttng_add_preemptible_to_ctx(struct lttng_ctx **ctx)
- field->record = preemptible_record;
- field->get_value = preemptible_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_preemptible_to_ctx);
-diff --git a/lttng-context-prio.c b/lttng-context-prio.c
-index b5d21e7..367f7bd 100644
---- a/lttng-context-prio.c
-+++ b/lttng-context-prio.c
-@@ -89,7 +89,7 @@ int lttng_add_prio_to_ctx(struct lttng_ctx **ctx)
- field->record = prio_record;
- field->get_value = prio_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_prio_to_ctx);
-diff --git a/lttng-context-procname.c b/lttng-context-procname.c
-index 54007d1..8f18ca2 100644
---- a/lttng-context-procname.c
-+++ b/lttng-context-procname.c
-@@ -72,7 +72,7 @@ int lttng_add_procname_to_ctx(struct lttng_ctx **ctx)
- field->record = procname_record;
- field->get_value = procname_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_procname_to_ctx);
-diff --git a/lttng-context-sgid.c b/lttng-context-sgid.c
-index 61c8d53..2a58cbd 100644
---- a/lttng-context-sgid.c
-+++ b/lttng-context-sgid.c
-@@ -70,7 +70,7 @@ int lttng_add_sgid_to_ctx(struct lttng_ctx **ctx)
- field->record = sgid_record;
- field->get_value = sgid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_sgid_to_ctx);
-diff --git a/lttng-context-suid.c b/lttng-context-suid.c
-index 66d3ef5..ab3e2a9 100644
---- a/lttng-context-suid.c
-+++ b/lttng-context-suid.c
-@@ -70,7 +70,7 @@ int lttng_add_suid_to_ctx(struct lttng_ctx **ctx)
- field->record = suid_record;
- field->get_value = suid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_suid_to_ctx);
-diff --git a/lttng-context-tid.c b/lttng-context-tid.c
-index d2a20e6..f6defc4 100644
---- a/lttng-context-tid.c
-+++ b/lttng-context-tid.c
-@@ -71,7 +71,7 @@ int lttng_add_tid_to_ctx(struct lttng_ctx **ctx)
- field->record = tid_record;
- field->get_value = tid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_tid_to_ctx);
-diff --git a/lttng-context-uid.c b/lttng-context-uid.c
-index 5f11de2..5593852 100644
---- a/lttng-context-uid.c
-+++ b/lttng-context-uid.c
-@@ -70,7 +70,7 @@ int lttng_add_uid_to_ctx(struct lttng_ctx **ctx)
- field->record = uid_record;
- field->get_value = uid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_uid_to_ctx);
-diff --git a/lttng-context-user-ns.c b/lttng-context-user-ns.c
-index 746e4d9..0ed62e3 100644
---- a/lttng-context-user-ns.c
-+++ b/lttng-context-user-ns.c
-@@ -82,7 +82,7 @@ int lttng_add_user_ns_to_ctx(struct lttng_ctx **ctx)
- field->record = user_ns_record;
- field->get_value = user_ns_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_user_ns_to_ctx);
-diff --git a/lttng-context-uts-ns.c b/lttng-context-uts-ns.c
-index 7352a3d..283bc73 100644
---- a/lttng-context-uts-ns.c
-+++ b/lttng-context-uts-ns.c
-@@ -96,7 +96,7 @@ int lttng_add_uts_ns_to_ctx(struct lttng_ctx **ctx)
- field->record = uts_ns_record;
- field->get_value = uts_ns_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_uts_ns_to_ctx);
-diff --git a/lttng-context-vegid.c b/lttng-context-vegid.c
-index 604da2a..1431dac 100644
---- a/lttng-context-vegid.c
-+++ b/lttng-context-vegid.c
-@@ -70,7 +70,7 @@ int lttng_add_vegid_to_ctx(struct lttng_ctx **ctx)
- field->record = vegid_record;
- field->get_value = vegid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_vegid_to_ctx);
-diff --git a/lttng-context-veuid.c b/lttng-context-veuid.c
-index 983ae6a..a1b5b70 100644
---- a/lttng-context-veuid.c
-+++ b/lttng-context-veuid.c
-@@ -70,7 +70,7 @@ int lttng_add_veuid_to_ctx(struct lttng_ctx **ctx)
- field->record = veuid_record;
- field->get_value = veuid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_veuid_to_ctx);
-diff --git a/lttng-context-vgid.c b/lttng-context-vgid.c
-index e08c77d..0eed24e 100644
---- a/lttng-context-vgid.c
-+++ b/lttng-context-vgid.c
-@@ -70,7 +70,7 @@ int lttng_add_vgid_to_ctx(struct lttng_ctx **ctx)
- field->record = vgid_record;
- field->get_value = vgid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_vgid_to_ctx);
-diff --git a/lttng-context-vpid.c b/lttng-context-vpid.c
-index 982ce55..b5b6ce0 100644
---- a/lttng-context-vpid.c
-+++ b/lttng-context-vpid.c
-@@ -83,7 +83,7 @@ int lttng_add_vpid_to_ctx(struct lttng_ctx **ctx)
- field->record = vpid_record;
- field->get_value = vpid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_vpid_to_ctx);
-diff --git a/lttng-context-vppid.c b/lttng-context-vppid.c
-index 66d6382..347ac63 100644
---- a/lttng-context-vppid.c
-+++ b/lttng-context-vppid.c
-@@ -112,7 +112,7 @@ int lttng_add_vppid_to_ctx(struct lttng_ctx **ctx)
- field->record = vppid_record;
- field->get_value = vppid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_vppid_to_ctx);
-diff --git a/lttng-context-vsgid.c b/lttng-context-vsgid.c
-index aca5eda..3daf889 100644
---- a/lttng-context-vsgid.c
-+++ b/lttng-context-vsgid.c
-@@ -70,7 +70,7 @@ int lttng_add_vsgid_to_ctx(struct lttng_ctx **ctx)
- field->record = vsgid_record;
- field->get_value = vsgid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_vsgid_to_ctx);
-diff --git a/lttng-context-vsuid.c b/lttng-context-vsuid.c
-index 66c1300..d7fb0db 100644
---- a/lttng-context-vsuid.c
-+++ b/lttng-context-vsuid.c
-@@ -70,7 +70,7 @@ int lttng_add_vsuid_to_ctx(struct lttng_ctx **ctx)
- field->record = vsuid_record;
- field->get_value = vsuid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_vsuid_to_ctx);
-diff --git a/lttng-context-vtid.c b/lttng-context-vtid.c
-index 8fd68a8..e81ba0e 100644
---- a/lttng-context-vtid.c
-+++ b/lttng-context-vtid.c
-@@ -83,7 +83,7 @@ int lttng_add_vtid_to_ctx(struct lttng_ctx **ctx)
- field->record = vtid_record;
- field->get_value = vtid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_vtid_to_ctx);
-diff --git a/lttng-context-vuid.c b/lttng-context-vuid.c
-index 6ae575f..33e22d3 100644
---- a/lttng-context-vuid.c
-+++ b/lttng-context-vuid.c
-@@ -70,7 +70,7 @@ int lttng_add_vuid_to_ctx(struct lttng_ctx **ctx)
- field->record = vuid_record;
- field->get_value = vuid_get_value;
- lttng_context_update(*ctx);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return 0;
- }
- EXPORT_SYMBOL_GPL(lttng_add_vuid_to_ctx);
-diff --git a/lttng-context.c b/lttng-context.c
-index eb4534c..a6d4ee6 100644
---- a/lttng-context.c
-+++ b/lttng-context.c
-@@ -11,7 +11,7 @@
- #include <linux/list.h>
- #include <linux/mutex.h>
- #include <linux/slab.h>
--#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */
-+#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */
- #include <lttng-events.h>
- #include <lttng-tracer.h>
-
-diff --git a/lttng-events.c b/lttng-events.c
-index a1c8445..401f646 100644
---- a/lttng-events.c
-+++ b/lttng-events.c
-@@ -30,7 +30,7 @@
- #include <linux/uuid.h>
- #include <linux/dmi.h>
-
--#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */
-+#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */
- #include <wrapper/random.h>
- #include <wrapper/tracepoint.h>
- #include <wrapper/list.h>
-@@ -2753,9 +2753,9 @@ end:
- * Registers a transport which can be used as output to extract the data out of
- * LTTng. The module calling this registration function must ensure that no
- * trap-inducing code will be executed by the transport functions. E.g.
-- * vmalloc_sync_all() must be called between a vmalloc and the moment the memory
-+ * vmalloc_sync_mappings() must be called between a vmalloc and the moment the memory
- * is made visible to the transport function. This registration acts as a
-- * vmalloc_sync_all. Therefore, only if the module allocates virtual memory
-+ * vmalloc_sync_mappings. Therefore, only if the module allocates virtual memory
- * after its registration must it synchronize the TLBs.
- */
- void lttng_transport_register(struct lttng_transport *transport)
-@@ -2763,9 +2763,9 @@ void lttng_transport_register(struct lttng_transport *transport)
- /*
- * Make sure no page fault can be triggered by the module about to be
- * registered. We deal with this here so we don't have to call
-- * vmalloc_sync_all() in each module's init.
-+ * vmalloc_sync_mappings() in each module's init.
- */
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
-
- mutex_lock(&sessions_mutex);
- list_add_tail(&transport->node, &lttng_transport_list);
-diff --git a/lttng-ring-buffer-client.h b/lttng-ring-buffer-client.h
-index d5c512c..ff62830 100644
---- a/lttng-ring-buffer-client.h
-+++ b/lttng-ring-buffer-client.h
-@@ -10,7 +10,7 @@
- #include <linux/module.h>
- #include <linux/types.h>
- #include <lib/bitfield.h>
--#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */
-+#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */
- #include <wrapper/trace-clock.h>
- #include <lttng-events.h>
- #include <lttng-tracer.h>
-@@ -766,7 +766,7 @@ static int __init lttng_ring_buffer_client_init(void)
- * This vmalloc sync all also takes care of the lib ring buffer
- * vmalloc'd module pages when it is built as a module into LTTng.
- */
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- lttng_transport_register(&lttng_relay_transport);
- return 0;
- }
-diff --git a/lttng-ring-buffer-metadata-client.h b/lttng-ring-buffer-metadata-client.h
-index 17ffd75..a098b8d 100644
---- a/lttng-ring-buffer-metadata-client.h
-+++ b/lttng-ring-buffer-metadata-client.h
-@@ -9,7 +9,7 @@
-
- #include <linux/module.h>
- #include <linux/types.h>
--#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */
-+#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */
- #include <lttng-events.h>
- #include <lttng-tracer.h>
-
-@@ -428,7 +428,7 @@ static int __init lttng_ring_buffer_client_init(void)
- * This vmalloc sync all also takes care of the lib ring buffer
- * vmalloc'd module pages when it is built as a module into LTTng.
- */
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- lttng_transport_register(&lttng_relay_transport);
- return 0;
- }
-diff --git a/lttng-syscalls.c b/lttng-syscalls.c
-index fb14f6b..97f1ba9 100644
---- a/lttng-syscalls.c
-+++ b/lttng-syscalls.c
-@@ -760,7 +760,7 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
- struct lttng_kernel_event ev;
- int ret;
-
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
-
- if (!chan->sc_table) {
- /* create syscall table mapping syscall to events */
-diff --git a/probes/lttng-kprobes.c b/probes/lttng-kprobes.c
-index c0a15e4..a44eaa1 100644
---- a/probes/lttng-kprobes.c
-+++ b/probes/lttng-kprobes.c
-@@ -132,7 +132,7 @@ int lttng_kprobes_register(const char *name,
- * Well.. kprobes itself puts the page fault handler on the blacklist,
- * but we can never be too careful.
- */
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
-
- ret = register_kprobe(&event->u.kprobe.kp);
- if (ret)
-diff --git a/probes/lttng-kretprobes.c b/probes/lttng-kretprobes.c
-index 4b18d46..ab98ff2 100644
---- a/probes/lttng-kretprobes.c
-+++ b/probes/lttng-kretprobes.c
-@@ -221,7 +221,7 @@ int lttng_kretprobes_register(const char *name,
- * Well.. kprobes itself puts the page fault handler on the blacklist,
- * but we can never be too careful.
- */
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
-
- ret = register_kretprobe(&lttng_krp->krp);
- if (ret)
-diff --git a/probes/lttng-tracepoint-event-impl.h b/probes/lttng-tracepoint-event-impl.h
-index 321cdfa..77b8638 100644
---- a/probes/lttng-tracepoint-event-impl.h
-+++ b/probes/lttng-tracepoint-event-impl.h
-@@ -15,7 +15,7 @@
- #include <probes/lttng.h>
- #include <probes/lttng-types.h>
- #include <probes/lttng-probe-user.h>
--#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */
-+#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */
- #include <wrapper/ringbuffer/frontend_types.h>
- #include <wrapper/ringbuffer/backend.h>
- #include <wrapper/rcu.h>
-@@ -1391,7 +1391,7 @@ static __used struct lttng_probe_desc TP_ID(__probe_desc___, TRACE_SYSTEM) = {
- #ifndef TP_MODULE_NOINIT
- static int TP_ID(__lttng_events_init__, TRACE_SYSTEM)(void)
- {
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- return lttng_probe_register(&TP_ID(__probe_desc___, TRACE_SYSTEM));
- }
-
-diff --git a/probes/lttng-uprobes.c b/probes/lttng-uprobes.c
-index 64d8237..bc10128 100644
---- a/probes/lttng-uprobes.c
-+++ b/probes/lttng-uprobes.c
-@@ -161,7 +161,7 @@ int lttng_uprobes_add_callsite(struct lttng_event *event,
- }
-
- /* Ensure the memory we just allocated don't trigger page faults. */
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
-
- uprobe_handler->event = event;
- uprobe_handler->up_consumer.handler = lttng_uprobes_handler_pre;
-diff --git a/probes/lttng.c b/probes/lttng.c
-index 383202c..05bc138 100644
---- a/probes/lttng.c
-+++ b/probes/lttng.c
-@@ -116,7 +116,7 @@ int __init lttng_logger_init(void)
- {
- int ret = 0;
-
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
-
- /* /dev/lttng-logger */
- ret = misc_register(&logger_dev);
-diff --git a/tests/probes/lttng-test.c b/tests/probes/lttng-test.c
-index e347639..b450e7d 100644
---- a/tests/probes/lttng-test.c
-+++ b/tests/probes/lttng-test.c
-@@ -97,7 +97,7 @@ int __init lttng_test_init(void)
- int ret = 0;
-
- (void) wrapper_lttng_fixup_sig(THIS_MODULE);
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- lttng_test_filter_event_dentry =
- proc_create_data(LTTNG_TEST_FILTER_EVENT_FILE,
- S_IRUGO | S_IWUGO, NULL,
-diff --git a/wrapper/vmalloc.h b/wrapper/vmalloc.h
-index 0c3eb86..54715b5 100644
---- a/wrapper/vmalloc.h
-+++ b/wrapper/vmalloc.h
-@@ -21,8 +21,35 @@
- #include <linux/kallsyms.h>
- #include <wrapper/kallsyms.h>
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0))
-+
-+static inline
-+void wrapper_vmalloc_sync_mappings(void)
-+{
-+ void (*vmalloc_sync_mappings_sym)(void);
-+
-+ vmalloc_sync_mappings_sym = (void *) kallsyms_lookup_funcptr("vmalloc_sync_mappings");
-+ if (vmalloc_sync_mappings_sym) {
-+ vmalloc_sync_mappings_sym();
-+ } else {
-+#ifdef CONFIG_X86
-+ /*
-+ * Only x86 needs vmalloc_sync_mappings to make sure LTTng does not
-+ * trigger recursive page faults.
-+ */
-+ printk_once(KERN_WARNING "LTTng: vmalloc_sync_mappings symbol lookup failed.\n");
-+ printk_once(KERN_WARNING "Page fault handler and NMI tracing might trigger faults.\n");
-+#endif
-+ }
-+}
-+
-+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */
-+
-+/*
-+ * Map vmalloc_sync_mappings to vmalloc_sync_all() on kernels before 5.7.
-+ */
- static inline
--void wrapper_vmalloc_sync_all(void)
-+void wrapper_vmalloc_sync_mappings(void)
- {
- void (*vmalloc_sync_all_sym)(void);
-
-@@ -40,13 +67,29 @@ void wrapper_vmalloc_sync_all(void)
- #endif
- }
- }
-+
-+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */
-+
- #else
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0))
-+
-+static inline
-+void wrapper_vmalloc_sync_mappings(void)
-+{
-+ return vmalloc_sync_mappings();
-+}
-+
-+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */
-+
- static inline
--void wrapper_vmalloc_sync_all(void)
-+void wrapper_vmalloc_sync_mappings(void)
- {
- return vmalloc_sync_all();
- }
-+
-+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */
-+
- #endif
-
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0))
-@@ -61,7 +104,7 @@ void *lttng_kvmalloc_node(unsigned long size, gfp_t flags, int node)
- * Make sure we don't trigger recursive page faults in the
- * tracing fast path.
- */
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- }
- return ret;
- }
---
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-missing-wrapper-rename-to-wrapper_vmalloc_sync_m.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-missing-wrapper-rename-to-wrapper_vmalloc_sync_m.patch
deleted file mode 100644
index 807fe933c..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-missing-wrapper-rename-to-wrapper_vmalloc_sync_m.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4d1817c129310945bf0b8227ebc0fbb4f6299dc7 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 6 May 2020 11:03:32 -0400
-Subject: [PATCH 2/4] Fix: missing wrapper rename to
- wrapper_vmalloc_sync_mappings
-
-Upstream-Status: Backport [https://github.com/lttng/lttng-modules/commit/c1ba644f2edf6a5bc030111ce4167a8798cc1053]
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Change-Id: Idf7082a980c5a604bfef5c69906678b5083a9bbf
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- wrapper/vmalloc.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/wrapper/vmalloc.h b/wrapper/vmalloc.h
-index 54715b5..5d0b389 100644
---- a/wrapper/vmalloc.h
-+++ b/wrapper/vmalloc.h
-@@ -216,7 +216,7 @@ void *lttng_kvmalloc_node(unsigned long size, gfp_t flags, int node)
- * Make sure we don't trigger recursive page faults in the
- * tracing fast path.
- */
-- wrapper_vmalloc_sync_all();
-+ wrapper_vmalloc_sync_mappings();
- }
- return ret;
- }
---
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-Use-vmalloc_sync_mappings-on-kernel-5.6-as-well.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-Use-vmalloc_sync_mappings-on-kernel-5.6-as-well.patch
deleted file mode 100644
index 48d7e2f00..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-Use-vmalloc_sync_mappings-on-kernel-5.6-as-well.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 23cfd7b53ec1521d3c23ceddfda49352c2d349dc Mon Sep 17 00:00:00 2001
-From: Ovidiu Panait <ovidiu.panait@windriver.com>
-Date: Thu, 14 May 2020 13:05:24 +0300
-Subject: [PATCH 3/4] Fix: Use vmalloc_sync_mappings on kernel 5.6 as well
-
-Upstream commit [1], that got rid of vmalloc_sync_all and introduced
-vmalloc_sync_mappings, is a v5.6 commit:
-$ git tag --contains 763802b53a427ed3cbd419dbba255c414fdd9e7c
-v5.6
-v5.6-rc7
-v5.7-rc1
-v5.7-rc2
-v5.7-rc3
-
-Extend the LINUX_VERSION_CODE check to v5.6 to fix the following warnings:
-...
-[ 483.242037] LTTng: vmalloc_sync_all symbol lookup failed.
-[ 483.257056] Page fault handler and NMI tracing might trigger faults.
-...
-
-[1] https://github.com/torvalds/linux/commit/763802b53a427ed3cbd419dbba255c414fdd9e7c
-
-Upstream-Status: Backport [https://github.com/lttng/lttng-modules/commit/da356b324dfc160e09b8966b691792037badf455]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- wrapper/vmalloc.h | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/wrapper/vmalloc.h b/wrapper/vmalloc.h
-index 5d0b389..d905f60 100644
---- a/wrapper/vmalloc.h
-+++ b/wrapper/vmalloc.h
-@@ -21,7 +21,7 @@
- #include <linux/kallsyms.h>
- #include <wrapper/kallsyms.h>
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
-
- static inline
- void wrapper_vmalloc_sync_mappings(void)
-@@ -43,7 +43,7 @@ void wrapper_vmalloc_sync_mappings(void)
- }
- }
-
--#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */
-+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */
-
- /*
- * Map vmalloc_sync_mappings to vmalloc_sync_all() on kernels before 5.7.
-@@ -68,11 +68,11 @@ void wrapper_vmalloc_sync_mappings(void)
- }
- }
-
--#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */
-+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */
-
- #else
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
-
- static inline
- void wrapper_vmalloc_sync_mappings(void)
-@@ -80,7 +80,7 @@ void wrapper_vmalloc_sync_mappings(void)
- return vmalloc_sync_mappings();
- }
-
--#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */
-+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */
-
- static inline
- void wrapper_vmalloc_sync_mappings(void)
-@@ -88,7 +88,7 @@ void wrapper_vmalloc_sync_mappings(void)
- return vmalloc_sync_all();
- }
-
--#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */
-+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */
-
- #endif
-
---
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Update-Use-vmalloc_sync_mappings-for-stable-kernels.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Update-Use-vmalloc_sync_mappings-for-stable-kernels.patch
deleted file mode 100644
index a0b870486..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Update-Use-vmalloc_sync_mappings-for-stable-kernels.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From f419315f28a1da656c4faa8a852a2928ce38c72d Mon Sep 17 00:00:00 2001
-From: Ovidiu Panait <ovidiu.panait@windriver.com>
-Date: Thu, 14 May 2020 14:27:17 +0300
-Subject: [PATCH 4/4] Update: Use vmalloc_sync_mappings for stable kernels
-
-Starting from v5.4.28/v5.2.37/v4.19.113/v4.14.175/v4.9.218/v4.4.218, stable
-kernel branches backported v5.6 upstream commit [1], causing the following
-warnings:
-...
-[ 483.242037] LTTng: vmalloc_sync_all symbol lookup failed.
-[ 483.257056] Page fault handler and NMI tracing might trigger faults.
-...
-
-Extend check for vmalloc_sync_mappings for stable kernels as well.
-
-[1] https://github.com/torvalds/linux/commit/763802b53a427ed3cbd419dbba255c414fdd9e7c
-
-[ Edit: minor coding style fix by Mathieu Desnoyers. ]
-
-Upstream-Status: Backport [https://github.com/lttng/lttng-modules/commit/5939591f87dc291bc858caf72decfb8569d802e3]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- wrapper/vmalloc.h | 17 +++++++++++++++--
- 1 file changed, 15 insertions(+), 2 deletions(-)
-
-diff --git a/wrapper/vmalloc.h b/wrapper/vmalloc.h
-index d905f60..c7538ae 100644
---- a/wrapper/vmalloc.h
-+++ b/wrapper/vmalloc.h
-@@ -20,8 +20,15 @@
-
- #include <linux/kallsyms.h>
- #include <wrapper/kallsyms.h>
-+#include <lttng-kernel-version.h>
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) \
-+ || LTTNG_KERNEL_RANGE(5,4,28, 5,5,0) \
-+ || LTTNG_KERNEL_RANGE(5,2,37, 5,3,0) \
-+ || LTTNG_KERNEL_RANGE(4,19,113, 4,20,0) \
-+ || LTTNG_KERNEL_RANGE(4,14,175, 4,15,0) \
-+ || LTTNG_KERNEL_RANGE(4,9,218, 4,10,0) \
-+ || LTTNG_KERNEL_RANGE(4,4,218, 4,5,0))
-
- static inline
- void wrapper_vmalloc_sync_mappings(void)
-@@ -72,7 +79,13 @@ void wrapper_vmalloc_sync_mappings(void)
-
- #else
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) \
-+ || LTTNG_KERNEL_RANGE(5,4,28, 5,5,0) \
-+ || LTTNG_KERNEL_RANGE(5,2,37, 5,3,0) \
-+ || LTTNG_KERNEL_RANGE(4,19,113, 4,20,0) \
-+ || LTTNG_KERNEL_RANGE(4,14,175, 4,15,0) \
-+ || LTTNG_KERNEL_RANGE(4,9,218, 4,10,0) \
-+ || LTTNG_KERNEL_RANGE(4,4,218, 4,5,0))
-
- static inline
- void wrapper_vmalloc_sync_mappings(void)
---
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.0.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.1.bb
index 4a6c42e3b..8d3fb475c 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.0.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.1.bb
@@ -11,14 +11,9 @@ COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux'
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-Update-for-kernel-5.7-use-vmalloc_sync_mappings-on-k.patch \
- file://0002-Fix-missing-wrapper-rename-to-wrapper_vmalloc_sync_m.patch \
- file://0003-Fix-Use-vmalloc_sync_mappings-on-kernel-5.6-as-well.patch \
- file://0004-Update-Use-vmalloc_sync_mappings-for-stable-kernels.patch \
"
-SRC_URI[md5sum] = "be252df5013ea03894921d0b493c7b6c"
-SRC_URI[sha256sum] = "efeb2ae60e96dbe9a9b342d3a80dfc7642f06a8c09686089d491ad696bb98f4d"
+SRC_URI[sha256sum] = "639c03bf8f0e920567f45c96cc7ef749a8fc29ff7fb3fb97263d67f66fb71aef"
export INSTALL_MOD_DIR="kernel/lttng-modules"
@@ -37,11 +32,11 @@ python do_package_prepend() {
BBCLASSEXTEND = "devupstream:target"
LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"
DEFAULT_PREFERENCE_class-devupstream = "-1"
-SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.12 \
+SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.11 \
file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
"
SRCREV_class-devupstream = "17c413953603f063f2a9d6c3788bec914ce6f955"
-PV_class-devupstream = "2.12.0+git${SRCPV}"
+PV_class-devupstream = "2.11.2+git${SRCPV}"
S_class-devupstream = "${WORKDIR}/git"
SRCREV_FORMAT ?= "lttng_git"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.0.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.1.bb
index 148a7928d..094e33db7 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.0.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.1.bb
@@ -36,8 +36,7 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
file://0001-tests-gen-ust-events-ns-tp.h-Fix-build-with-musl-lib.patch \
"
-SRC_URI[md5sum] = "4592201ea981f0722438345fb1f009d2"
-SRC_URI[sha256sum] = "405661d27617dc79a42712174a051a45c7ca12d167576c0d93f2de708ed29445"
+SRC_URI[sha256sum] = "0de7afc1f40a5acbede933cdfd6cf47b32ff84d02e170a1321f7fc86141585b8"
inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.2.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.3.bb
index d7b064105..e837a05d4 100644
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.2.bb
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.3.bb
@@ -26,8 +26,7 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
file://mips64_cpu_detection.patch \
"
-SRC_URI[md5sum] = "348956fc2faa57a2f79bbb84ded9fbc3"
-SRC_URI[sha256sum] = "cb754255ab0ee2ea5f66f8850e1bd6ad5cac1cd855d0a2f4990fb8c668b0d29c"
+SRC_URI[sha256sum] = "9df6c90aed1337634c1fb026fb01c154c29c82a64ea71291ff2da9aacb9aad31"
# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
ARM_INSTRUCTION_SET_armv4 = "arm"
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123/sdl2.patch b/poky/meta/recipes-multimedia/mpg123/mpg123/sdl2.patch
deleted file mode 100644
index 9dc9b923d..000000000
--- a/poky/meta/recipes-multimedia/mpg123/mpg123/sdl2.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Use libsdl2 instead of libsdl 1.2, which is dead upstream.
-
-Luckily the API that mpg123 use didn't change so this is a trivial change.
-
-Upstream-Status: Submitted [https://sourceforge.net/p/mpg123/bugs/268/]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/configure.ac b/configure.ac
-index 6216d4f..b8d3344 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1694 +1694 @@ do
-- PKG_CHECK_MODULES(SDL, sdl, output_modules="$output_modules sdl" HAVE_SDL="yes", HAVE_SDL="no" check_failed=yes)
-+ PKG_CHECK_MODULES(SDL, sdl2, output_modules="$output_modules sdl" HAVE_SDL="yes", HAVE_SDL="no" check_failed=yes)
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.13.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.1.bb
index 6c7b6fa8c..affbac491 100644
--- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.13.bb
+++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.1.bb
@@ -9,10 +9,8 @@ SECTION = "multimedia"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3"
-SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2 \
- file://sdl2.patch"
-SRC_URI[md5sum] = "294a6c30546504ec3d0deac2b2ea22be"
-SRC_URI[sha256sum] = "90306848359c793fd43b9906e52201df18775742dc3c81c06ab67a806509890a"
+SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "74d6629ab7f3dd9a588b0931528ba7ecfa989a2cad6bf53ffeef9de31b0fe032"
UPSTREAM_CHECK_REGEX = "mpg123-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.6.0.bb b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.6.1.bb
index 3b1dbf1e0..2fdab42c3 100644
--- a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.6.0.bb
+++ b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.6.1.bb
@@ -12,7 +12,6 @@ inherit cmake features_check
REQUIRED_DISTRO_FEATURES = "opengl"
-SRC_URI[md5sum] = "456afeed22f6749f7b2a97c11660835d"
SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "7f5bd7b9d8f97b1655f4dcd39fad92719d0fb3985b251da5802df13aaa09f567"
+SRC_URI[sha256sum] = "740eee3327acfb462b8460519a219e30dc0a870326e88e2ddc4fe2c8de20b1c9"
diff --git a/poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb b/poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb
index 694c5f09b..fd57f8f7f 100644
--- a/poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb
+++ b/poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb
@@ -22,4 +22,4 @@ RDEPENDS_${PN} = "python3-core python3-compression python3-mmap python3-setuptoo
inherit python3native
inherit setuptools3
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates_20200601.bb b/poky/meta/recipes-support/ca-certificates/ca-certificates_20200601.bb
index 37ba51ce6..6f39df798 100644
--- a/poky/meta/recipes-support/ca-certificates/ca-certificates_20200601.bb
+++ b/poky/meta/recipes-support/ca-certificates/ca-certificates_20200601.bb
@@ -25,6 +25,7 @@ SRC_URI = "git://salsa.debian.org/debian/ca-certificates.git;protocol=https \
file://0003-update-ca-certificates-use-relative-symlinks-from-ET.patch \
file://0001-certdata2pem.py-use-python3.patch \
"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+)"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-support/db/db_5.3.28.bb b/poky/meta/recipes-support/db/db_5.3.28.bb
index 3a0923ae3..318efcb61 100644
--- a/poky/meta/recipes-support/db/db_5.3.28.bb
+++ b/poky/meta/recipes-support/db/db_5.3.28.bb
@@ -109,6 +109,9 @@ do_install_append() {
fi
chown -R root:root ${D}
+ if ${@bb.utils.contains('PACKAGECONFIG', 'verify', 'false', 'true', d)}; then
+ rm -f ${D}${bindir}/db_verify
+ fi
}
INSANE_SKIP_${PN} = "dev-so"
diff --git a/poky/meta/recipes-support/debianutils/debianutils_4.9.1.bb b/poky/meta/recipes-support/debianutils/debianutils_4.11.bb
index 768f28906..ac3d5b026 100644
--- a/poky/meta/recipes-support/debianutils/debianutils_4.9.1.bb
+++ b/poky/meta/recipes-support/debianutils/debianutils_4.11.bb
@@ -1,15 +1,14 @@
SUMMARY = "Miscellaneous utilities specific to Debian"
SECTION = "base"
LICENSE = "GPLv2 & SMAIL_GPL"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=9b912cd0cc654134c0ef3424a0705b94"
-SRC_URI = "http://snapshot.debian.org/archive/debian/20191212T145612Z/pool/main/d/${BPN}/${BPN}_${PV}.tar.xz"
+SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz"
# the package is taken from snapshots.debian.org; that source is static and goes stale
# so we check the latest upstream from a directory that does get updated
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/"
-SRC_URI[md5sum] = "95633416680bfd249b7cb07d94137048"
-SRC_URI[sha256sum] = "af826685d9c56abfa873e84cd392539cd363cb0ba04a09d21187377e1b764091"
+SRC_URI[sha256sum] = "bb5ce6290696b0d623377521ed217f484aa98f7346c5f7c48f9ae3e1acfb7151"
inherit autotools update-alternatives
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.13.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.14.bb
index f56d42a61..a285e5a1f 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.6.13.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.14.bb
@@ -21,8 +21,7 @@ SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar
file://arm_eabi.patch \
"
-SRC_URI[md5sum] = "bb1fe696a11543433785b4fc70ca225f"
-SRC_URI[sha256sum] = "32041df447d9f4644570cf573c9f60358e865637d69b7e59d1159b7240b52f38"
+SRC_URI[sha256sum] = "5630751adec7025b8ef955af4d141d00d252a985769f51b4059e5affa3d39d63"
inherit autotools texinfo pkgconfig gettext lib_package gtk-doc
diff --git a/poky/meta/recipes-support/libcap/libcap_2.34.bb b/poky/meta/recipes-support/libcap/libcap_2.36.bb
index a3bd969d2..2c98db6ee 100644
--- a/poky/meta/recipes-support/libcap/libcap_2.34.bb
+++ b/poky/meta/recipes-support/libcap/libcap_2.36.bb
@@ -12,8 +12,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${
file://0002-tests-do-not-run-target-executables.patch \
file://0001-tests-do-not-statically-link-a-test.patch \
"
-SRC_URI[md5sum] = "66028a8080a0891c54b202bb5e749035"
-SRC_URI[sha256sum] = "aecdd42015955068d3d94b7caa9590fcb2de5df53ce53c61a21b912bfc0b1611"
+SRC_URI[sha256sum] = "5048c849bdbbe24d2ca59463142cb279abec5edf3ab6731ab35a596bcf538a49"
UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/"
diff --git a/poky/meta/recipes-support/libksba/libksba/ksba-add-pkgconfig-support.patch b/poky/meta/recipes-support/libksba/libksba/ksba-add-pkgconfig-support.patch
index 5afe6de92..ebb7fa588 100644
--- a/poky/meta/recipes-support/libksba/libksba/ksba-add-pkgconfig-support.patch
+++ b/poky/meta/recipes-support/libksba/libksba/ksba-add-pkgconfig-support.patch
@@ -1,3 +1,8 @@
+From 7bd2b060e9ea3e2ff11e67d1e98ab882819b28b7 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 3 Dec 2012 18:17:31 +0800
+Subject: [PATCH] libksba: add pkgconfig support
+
Upstream-Status: Denied
Add pkgconfig support to libksba.
@@ -6,78 +11,49 @@ They think pkgconfig adds no portability and maintaining them is not worthwhile.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-Index: libksba-1.3.5/Makefile.am
-===================================================================
---- libksba-1.3.5.orig/Makefile.am
-+++ libksba-1.3.5/Makefile.am
-@@ -20,6 +20,9 @@
-
- ACLOCAL_AMFLAGS = -I m4 -I gl/m4
-
-+pkgconfigdir = ${libdir}/pkgconfig
-+pkgconfig_DATA = ksba.pc
-+
- # (A suitable gitlog-to-changelog script can be found in GnuPG master.)
- GITLOG_TO_CHANGELOG=gitlog-to-changelog
-
-Index: libksba-1.3.5/configure.ac
-===================================================================
---- libksba-1.3.5.orig/configure.ac
-+++ libksba-1.3.5/configure.ac
-@@ -414,6 +414,7 @@ gl/Makefile
- src/Makefile
- src/ksba-config
- src/versioninfo.rc
-+ksba.pc
- tests/Makefile
- doc/Makefile
- ])
-Index: libksba-1.3.5/ksba.pc.in
-===================================================================
---- /dev/null
-+++ libksba-1.3.5/ksba.pc.in
-@@ -0,0 +1,17 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+# API info
-+api_version=@KSBA_CONFIG_API_VERSION@
-+host=@KSBA_CONFIG_HOST@
-+
-+Name: ksba
-+Description: Libksba provides an easy API to create and parse X.509 and CMS related objects
-+Requires:
-+Version: @VERSION@
-+Libs: -L${libdir} -lksba
-+Libs.private: -L${libdir} -lgpg-error
-+Cflags: -I${includedir}
-+
-Index: libksba-1.3.5/src/ksba.m4
-===================================================================
---- libksba-1.3.5.orig/src/ksba.m4
-+++ libksba-1.3.5/src/ksba.m4
-@@ -22,18 +22,7 @@ dnl with a changed API.
+diff --git a/src/ksba.m4 b/src/ksba.m4
+index ad8de4f..af903ad 100644
+--- a/src/ksba.m4
++++ b/src/ksba.m4
+@@ -22,37 +22,6 @@ dnl with a changed API.
dnl
AC_DEFUN([AM_PATH_KSBA],
- [AC_REQUIRE([AC_CANONICAL_HOST])
-- AC_ARG_WITH(ksba-prefix,
-- AC_HELP_STRING([--with-ksba-prefix=PFX],
-- [prefix where KSBA is installed (optional)]),
+ [ AC_REQUIRE([AC_CANONICAL_HOST])
+- dnl --with-libksba-prefix=PFX is the preferred name for this option,
+- dnl since that is consistent with how our three siblings use the directory/
+- dnl package name in --with-$dir_name-prefix=PFX.
+- AC_ARG_WITH(libksba-prefix,
+- AC_HELP_STRING([--with-libksba-prefix=PFX],
+- [prefix where KSBA is installed (optional)]),
+- ksba_config_prefix="$withval", ksba_config_prefix="")
+-
+- dnl Accept --with-ksba-prefix and make it work the same as
+- dnl --with-libksba-prefix above, for backwards compatibility,
+- dnl but do not document this old, inconsistently-named option.
+- AC_ARG_WITH(ksba-prefix,,
- ksba_config_prefix="$withval", ksba_config_prefix="")
+-
- if test x$ksba_config_prefix != x ; then
-- ksba_config_args="$ksba_config_args --prefix=$ksba_config_prefix"
-- if test x${KSBA_CONFIG+set} != xset ; then
-- KSBA_CONFIG=$ksba_config_prefix/bin/ksba-config
-- fi
+- if test x${KSBA_CONFIG+set} != xset ; then
+- KSBA_CONFIG=$ksba_config_prefix/bin/ksba-config
+- fi
+- fi
+-
+- use_gpgrt_config=""
+- if test x"$KSBA_CONFIG" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then
+- if $GPGRT_CONFIG ksba --exists; then
+- KSBA_CONFIG="$GPGRT_CONFIG ksba"
+- AC_MSG_NOTICE([Use gpgrt-config as ksba-config])
+- use_gpgrt_config=yes
+- fi
+- fi
+- if test -z "$use_gpgrt_config"; then
+- AC_PATH_PROG(KSBA_CONFIG, ksba-config, no)
- fi
-- AC_PATH_PROG(KSBA_CONFIG, ksba-config, no)
tmp=ifelse([$1], ,1:1.0.0,$1)
if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
- req_ksba_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
-@@ -43,48 +32,13 @@ AC_DEFUN([AM_PATH_KSBA],
+@@ -63,56 +32,13 @@ AC_DEFUN([AM_PATH_KSBA],
min_ksba_version="$tmp"
fi
@@ -90,7 +66,11 @@ Index: libksba-1.3.5/src/ksba.m4
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
- req_micro=`echo $min_ksba_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
-- ksba_config_version=`$KSBA_CONFIG $ksba_config_args --version`
+- if test -z "$use_gpgrt_config"; then
+- ksba_config_version=`$KSBA_CONFIG --version`
+- else
+- ksba_config_version=`$KSBA_CONFIG --modversion`
+- fi
- major=`echo $ksba_config_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
- minor=`echo $ksba_config_version | \
@@ -124,24 +104,32 @@ Index: libksba-1.3.5/src/ksba.m4
# Even if we have a recent libksba, we should check that the
# API is compatible.
if test "$req_ksba_api" -gt 0 ; then
-- tmp=`$KSBA_CONFIG --api-version 2>/dev/null || echo 0`
+- if test -z "$use_gpgrt_config"; then
+- tmp=`$KSBA_CONFIG --api-version 2>/dev/null || echo 0`
+- else
+- tmp=`$KSBA_CONFIG --variable=api_version 2>/dev/null || echo 0`
+- fi
+ tmp=`$PKG_CONFIG --variable=api_version ksba`
if test "$tmp" -gt 0 ; then
AC_MSG_CHECKING([KSBA API version])
if test "$req_ksba_api" -eq "$tmp" ; then
-@@ -97,10 +51,8 @@ AC_DEFUN([AM_PATH_KSBA],
+@@ -125,14 +51,8 @@ AC_DEFUN([AM_PATH_KSBA],
fi
fi
if test $ok = yes; then
-- KSBA_CFLAGS=`$KSBA_CONFIG $ksba_config_args --cflags`
-- KSBA_LIBS=`$KSBA_CONFIG $ksba_config_args --libs`
+- KSBA_CFLAGS=`$KSBA_CONFIG --cflags`
+- KSBA_LIBS=`$KSBA_CONFIG --libs`
ifelse([$2], , :, [$2])
-- libksba_config_host=`$LIBKSBA_CONFIG $ksba_config_args --host 2>/dev/null || echo none`
+- if test -z "$use_gpgrt_config"; then
+- libksba_config_host=`$KSBA_CONFIG --host 2>/dev/null || echo none`
+- else
+- libksba_config_host=`$KSBA_CONFIG --variable=host 2>/dev/null || echo none`
+- fi
+ libksba_config_host=`$PKG_CONFIG --variable=host ksba`
if test x"$libksba_config_host" != xnone ; then
if test x"$libksba_config_host" != x"$host" ; then
AC_MSG_WARN([[
-@@ -114,8 +66,6 @@ AC_DEFUN([AM_PATH_KSBA],
+@@ -146,8 +66,6 @@ AC_DEFUN([AM_PATH_KSBA],
fi
fi
else
diff --git a/poky/meta/recipes-support/libksba/libksba_1.3.5.bb b/poky/meta/recipes-support/libksba/libksba_1.4.0.bb
index 336d7f817..a9daf22d7 100644
--- a/poky/meta/recipes-support/libksba/libksba_1.3.5.bb
+++ b/poky/meta/recipes-support/libksba/libksba_1.4.0.bb
@@ -19,8 +19,7 @@ UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
file://ksba-add-pkgconfig-support.patch"
-SRC_URI[md5sum] = "8302a3e263a7c630aa7dea7d341f07a2"
-SRC_URI[sha256sum] = "41444fd7a6ff73a79ad9728f985e71c9ba8cd3e5e53358e70d5f066d35c1a340"
+SRC_URI[sha256sum] = "bfe6a8e91ff0f54d8a329514db406667000cb207238eded49b599761bfca41b6"
do_configure_prepend () {
# Else these could be used in preference to those in aclocal-copy
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.70.0.bb
index d10db7940..d6425bd94 100644
--- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.70.0.bb
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.70.0.bb
@@ -40,4 +40,4 @@ DEBIAN_NOAUTONAME_${PN} = "1"
# glib-networking is needed for SSL, proxies, etc.
RRECOMMENDS_${PN} = "glib-networking"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libunwind/libunwind/sigset_t.patch b/poky/meta/recipes-support/libunwind/libunwind/sigset_t.patch
new file mode 100644
index 000000000..6baaa77db
--- /dev/null
+++ b/poky/meta/recipes-support/libunwind/libunwind/sigset_t.patch
@@ -0,0 +1,28 @@
+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.4.0.bb
index f50205f1b..34c2249e9 100644
--- a/poky/meta/recipes-support/libunwind/libunwind_1.4.0.bb
+++ b/poky/meta/recipes-support/libunwind/libunwind_1.4.0.bb
@@ -7,6 +7,7 @@ SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV
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 \
"
SRC_URI_append_libc-musl = " file://musl-header-conflict.patch"
diff --git a/poky/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb b/poky/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb
index f0d5bc62e..e82c818e5 100644
--- a/poky/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb
+++ b/poky/meta/recipes-support/shared-mime-info/shared-mime-info_git.bb
@@ -5,19 +5,19 @@ SECTION = "base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "libxml2 itstool-native glib-2.0 shared-mime-info-native"
+DEPENDS = "libxml2 itstool-native glib-2.0 shared-mime-info-native xmlto-native"
SRC_URI = "git://gitlab.freedesktop.org/xdg/shared-mime-info.git;protocol=https"
-SRCREV = "829b26d85e7d89a0caee03046c3bce373f04c80a"
-PV = "1.15"
+SRCREV = "ef58b2b2f7ad4070171c6e45e3b3764daa3ff2c1"
+PV = "2.0"
S = "${WORKDIR}/git"
-inherit autotools pkgconfig gettext python3native mime
+inherit meson pkgconfig gettext python3native mime
-EXTRA_OECONF = "--disable-update-mimedb"
+EXTRA_OEMESON = "-Dupdate-mimedb=true"
FILES_${PN} += "${datadir}/mime"
-FILES_${PN}-dev += "${datadir}/pkgconfig/shared-mime-info.pc"
+FILES_${PN}-dev += "${datadir}/pkgconfig/shared-mime-info.pc ${datadir}/gettext/its"
# freedesktop.org.xml is only required when updating the mime database,
# package it separately
@@ -25,16 +25,4 @@ PACKAGES =+ "shared-mime-info-data"
FILES_shared-mime-info-data = "${datadir}/mime/packages/freedesktop.org.xml"
RDEPENDS_shared-mime-info-data = "shared-mime-info"
-do_install () {
- autotools_do_install
-
- update-mime-database ${D}${datadir}/mime
-}
-
-do_install_class-native () {
- autotools_do_install
-
- ${B}/update-mime-database ${D}${datadir}/mime
-}
-
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.32.1.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.32.2.bb
index d6081f10a..8de74aa22 100644
--- a/poky/meta/recipes-support/sqlite/sqlite3_3.32.1.bb
+++ b/poky/meta/recipes-support/sqlite/sqlite3_3.32.2.bb
@@ -4,8 +4,8 @@ LICENSE = "PD"
LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
SRC_URI = "http://www.sqlite.org/2020/sqlite-autoconf-${SQLITE_PV}.tar.gz"
-SRC_URI[md5sum] = "bc7afc06f1e30b09ac930957af68d723"
-SRC_URI[sha256sum] = "486748abfb16abd8af664e3a5f03b228e5f124682b0c942e157644bf6fff7d10"
+SRC_URI[md5sum] = "eb498918a33159cdf8104997aad29e83"
+SRC_URI[sha256sum] = "2dbef1254c1dbeeb5d13d7722d37e633f18ccbba689806b0a65b68701a5b6084"
# -19242 is only an issue in specific development branch commits
CVE_CHECK_WHITELIST += "CVE-2019-19242"
diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc
index 9f3dc0802..4d2886c19 100644
--- a/poky/meta/recipes-support/vim/vim.inc
+++ b/poky/meta/recipes-support/vim/vim.inc
@@ -83,6 +83,12 @@ EXTRA_OECONF = " \
do_install() {
autotools_do_install
+ # Work around file-rdeps picking up csh, awk, perl or python as a dep
+ chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132
+ chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk
+ chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl
+ chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.py
+
# Install example vimrc from runtime files
install -m 0644 runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
diff --git a/poky/meta/recipes-support/vim/vim_8.2.bb b/poky/meta/recipes-support/vim/vim_8.2.bb
index 60946a181..709b6ddb5 100644
--- a/poky/meta/recipes-support/vim/vim_8.2.bb
+++ b/poky/meta/recipes-support/vim/vim_8.2.bb
@@ -8,3 +8,8 @@ BBCLASSEXTEND = "native"
ALTERNATIVE_${PN}_append = " xxd"
ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd"
ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd"
+
+# We override the default in security_flags.inc because vim (not vim-tiny!) will abort
+# in many places for _FORTIFY_SOURCE=2. Security flags become part of CC.
+#
+lcl_maybe_fortify = "${@oe.utils.conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE=1',d)}"
diff --git a/poky/meta/recipes-support/vte/vte/0002-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 0ffd92b4b..0ffd92b4b 100644
--- a/poky/meta/recipes-support/vte/vte/0002-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
diff --git a/poky/meta/recipes-support/vte/vte_0.60.2.bb b/poky/meta/recipes-support/vte/vte_0.60.3.bb
index 8c7054913..02a886bce 100644
--- a/poky/meta/recipes-support/vte/vte_0.60.2.bb
+++ b/poky/meta/recipes-support/vte/vte_0.60.3.bb
@@ -17,11 +17,9 @@ GIR_MESON_OPTION = 'gir'
inherit gnomebase gtk-doc features_check upstream-version-is-even gobject-introspection
# vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
-SRC_URI += " \
- file://0002-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \
- "
-SRC_URI[archive.md5sum] = "1a0b5395915d2f3c88484511b38cc584"
-SRC_URI[archive.sha256sum] = "35a0280e3f12feeb3096da05699191373c47a4a20c55cb7081e828e6015f8ca5"
+SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
+SRC_URI[archive.md5sum] = "4214712ecab2d50e2a3a07897c3ada49"
+SRC_URI[archive.sha256sum] = "feb76e1181a357d86112d447a08d127e2081438df76ece83243b18609dd9822a"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/poky/scripts/lib/wic/ksparser.py b/poky/scripts/lib/wic/ksparser.py
index 05ae292ef..3453d9cb9 100644
--- a/poky/scripts/lib/wic/ksparser.py
+++ b/poky/scripts/lib/wic/ksparser.py
@@ -145,7 +145,7 @@ class KickStart():
part.add_argument('--exclude-path', nargs='+')
part.add_argument('--include-path', nargs='+', action='append')
part.add_argument('--change-directory')
- part.add_argument("--extra-space", type=sizetype)
+ part.add_argument("--extra-space", type=sizetype("M"))
part.add_argument('--fsoptions', dest='fsopts')
part.add_argument('--fstype', default='vfat',
choices=('ext2', 'ext3', 'ext4', 'btrfs',