poky: subtree update:c6bc20857c..b23aa6b753

Anatol Belski (1):
      bitbake: bitbake: hashserv: Fix localhost sometimes resolved to a wrong IP

Andrew Geissler (1):
      systemd: Upgrade v246.2 -> v246.6

Anibal Limon (1):
      mesa: update 20.1.6 -> 20.1.8

Bruce Ashfield (2):
      linux-yocto/beaglebone: Switch to sdhci-omap driver
      kernel-yocto: add KBUILD_DEFCONFIG search location to failure message

Changqing Li (1):
      sysklogd: fix parallel build issue

Charlie Davies (2):
      bitbake: bitbake: fetch/git: add support for SRC_URI containing spaces in url
      bitbake: bitbake: tests/fetch: add unit tests for SRC_URI with spaces in url

Chee Yang Lee (1):
      bash : include patch 17 & 18

Chen Qi (2):
      populate_sdk_ext.bbclass: add ESDK_MANIFEST_EXCLUDES
      testsdk.py: remove workspace/sources to avoid failure in case of multilib

Chris Laplante (3):
      bitbake.conf: add name of multiconfig to BUILDCFG_HEADER when multiconfig is active
      cve-check: introduce CVE_CHECK_RECIPE_FILE variable to allow changing of per-recipe check file
      cve-check: add CVE_CHECK_REPORT_PATCHED variable to suppress reporting of patched CVEs

Christian Eggers (1):
      packagegroup: rrecommend perf also for musl on ARM

De Huo (1):
      bash: fix CVE-2019-18276

Jean-Francois Dagenais (2):
      bitbake: bitbake: tests/siggen: introduce clean_basepath testcases
      bitbake: bitbake: siggen: clean_basepath: improve perfo and readability

Jens Rehsack (1):
      image-artifact-names: make variables overridable

Jon Mason (1):
      Space-comma Cleanups

Jonathan Richardson (1):
      cortex-m0.inc: Add tuning for cortex-m0

Kai Kang (2):
      systemd: disable xdg-autostart generator by default
      kea: fix conflict between multilibs

Khairul Rohaizzat Jamaluddin (1):
      sphinx: ref-variables: Added entry for IMAGE_EFI_BOOT_FILES

Khem Raj (6):
      ncurses: Create alternative symlinks for st and st-256color
      packagegroups: remove strace and lttng-tools for rv32/musl
      qemuboot: Add QB_RNG variable
      gettext: Fix ptest failure
      ptest-runner: Backport patch to fix inappropriate ioctl error
      systemd: Drop 0023-Fix-field-efi_loader_entry_one_shot_stat-has-incompl.patch

Konrad Weihmann (1):
      testexport: rename create_tarball method

Leif Middelschulte (2):
      bitbake: fetch2: fix handling of `\` in file:// SRC_URI
      bitbake: tests/fetch: backslash support in file:// URIs

Mark Jonas (2):
      Add license text for PSF-2.0
      Map license names PSF and PSFv2 to PSF-2.0

Mingli Yu (3):
      kea: create /var/lib/kea and /var/run/kea folder
      bind: remove -r option for rndc-confgen
      debianutils: update the debian snapshot version

Nicolas Dechesne (3):
      sphinx: report errors when dependencies are not met
      README: include detailed information about sphinx
      sphinx: fix up some trademark and branding issues

Norman Stetter (1):
      sstate.bbclass: Check file ownership before doing 'touch -a'

Otavio Salvador (1):
      openssh: Allow enable/disable of rng-tools recommendation on sshd

Peter A. Bigot (1):
      go-mod.bbclass: use append to add `modcacherw`

Quentin Schulz (2):
      docs: static: theme_overrides.css: fix responsive design on <640px screens
      docs: fix broken links

Randy MacLeod (1):
      curl: Change SRC_URI from http to https

Rasmus Villemoes (1):
      kernel.bbclass: ensure symlink_kernsrc task gets run even with externalsrc

Richard Purdie (15):
      scripts/oe-build-perf-report: Use python3 from the environment
      dropbear/openssh: Lower priority of key generation
      oeqa/qemurunner: Increase serial timeout
      python3-markupsafe: Import from meta-oe/meta-python
      python3-jinja2: Import from meta-oe/meta-python
      buildtools-tarball: Add python3-jinja2
      buildtools-tarball: Fix conflicts with oe-selftest and other tooling
      oeqa/selftest/incompatible_lib: Fix append usage
      oeqa/selftest/containerimage: Update to match assumptions in configuration
      ssh-pregen-hostkeys: Add a recipe with pregenerated ssh host keys
      build-appliance-image: Update to master head revision
      bitbake: Revert "bitbake-layers: add signal hander to avoid exception"
      staging: Ensure cleaned dependencies are added
      oeqa/selftest/devtool: Add sync call to test teardown
      bitbake: cooker: Avoid tracebacks if data was never setup

Ross Burton (11):
      gettext: no need to depend on bison-native
      meta: add/fix invalid Upstream-Status tags
      bitbake: taskexp: update for GTK API changes
      glibc: make nscd optional
      utils: respect scheduler affinity in cpu_count()
      rpm: disable libarchive use
      sstate: set mode explicitly when creating directories in sstate-cache
      rpm: add PACKAGECONFIG for the systemd inhibit plugin
      boost: move the build directory outside of S
      bitbake: utils: add umask changing context manager
      bitbake: siggen: use correct umask when writing siginfo

Saul Wold (2):
      testimage: Add testimage_dump_target to kwargs
      target/ssh.py: Add dump_target support

Teoh Jay Shen (1):
      oeqa/runtime : add test for RTC(Real Time Clock)

Tim Orling (1):
      oeqa/selftest/cases/devtool.py: avoid .pyc race

Usama Arif (1):
      ref-manual: document authentication key variables

Wang Mingyu (1):
      maintainers.inc: Add Zang Ruochen and Wang Mingyu for several recipes

Yi Zhao (4):
      dhcpcd: pass --dbdir to EXTRA_OECONF to set database directory
      dhcpcd: set --runstatedir to /run
      dhcpcd: add dhcpcd user to support priviledge separation
      dhcpcd: set service to conflict with connman

akuster (1):
      libdrm: fix build failure

zangrc (4):
      bind: upgrade 9.16.5 -> 9.16.7
      stress-ng: upgrade 0.11.19 -> 0.11.21
      pango: upgrade 1.46.1 -> 1.46.2
      sudo: upgrade 1.9.2 -> 1.9.3

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I2c19d3b3793ee5a6f42e04817147d75f315943a5
diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass
index 02fef7c..25cefda 100644
--- a/poky/meta/classes/cve-check.bbclass
+++ b/poky/meta/classes/cve-check.bbclass
@@ -36,18 +36,21 @@
 CVE_CHECK_SUMMARY_FILE ?= "${CVE_CHECK_SUMMARY_DIR}/${CVE_CHECK_SUMMARY_FILE_NAME}"
 
 CVE_CHECK_DIR ??= "${DEPLOY_DIR}/cve"
+CVE_CHECK_RECIPE_FILE ?= "${CVE_CHECK_DIR}/${PN}"
 CVE_CHECK_MANIFEST ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cve"
 CVE_CHECK_COPY_FILES ??= "1"
 CVE_CHECK_CREATE_MANIFEST ??= "1"
 
+CVE_CHECK_REPORT_PATCHED ??= "1"
+
 # Whitelist for packages (PN)
 CVE_CHECK_PN_WHITELIST ?= ""
 
 # Whitelist for CVE. If a CVE is found, then it is considered patched.
 # The value is a string containing space separated CVE values:
-# 
+#
 # CVE_CHECK_WHITELIST = 'CVE-2014-2524 CVE-2018-1234'
-# 
+#
 CVE_CHECK_WHITELIST ?= ""
 
 python cve_save_summary_handler () {
@@ -118,7 +121,7 @@
     import shutil
 
     if d.getVar("CVE_CHECK_COPY_FILES") == "1":
-        deploy_file = os.path.join(d.getVar("CVE_CHECK_DIR"), d.getVar("PN"))
+        deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE")
         if os.path.exists(deploy_file):
             bb.utils.remove(deploy_file)
 
@@ -331,12 +334,15 @@
     bb.utils.mkdirhier(os.path.dirname(cve_file))
 
     for cve in sorted(cve_data):
+        is_patched = cve in patched
+        if is_patched and (d.getVar("CVE_CHECK_REPORT_PATCHED") != "1"):
+            continue
         write_string += "PACKAGE NAME: %s\n" % d.getVar("PN")
         write_string += "PACKAGE VERSION: %s%s\n" % (d.getVar("EXTENDPE"), d.getVar("PV"))
         write_string += "CVE: %s\n" % cve
         if cve in whitelisted:
             write_string += "CVE STATUS: Whitelisted\n"
-        elif cve in patched:
+        elif is_patched:
             write_string += "CVE STATUS: Patched\n"
         else:
             unpatched_cves.append(cve)
@@ -350,20 +356,20 @@
     if unpatched_cves:
         bb.warn("Found unpatched CVE (%s), for more information check %s" % (" ".join(unpatched_cves),cve_file))
 
-    with open(cve_file, "w") as f:
-        bb.note("Writing file %s with CVE information" % cve_file)
-        f.write(write_string)
-
-    if d.getVar("CVE_CHECK_COPY_FILES") == "1":
-        cve_dir = d.getVar("CVE_CHECK_DIR")
-        bb.utils.mkdirhier(cve_dir)
-        deploy_file = os.path.join(cve_dir, d.getVar("PN"))
-        with open(deploy_file, "w") as f:
+    if write_string:
+        with open(cve_file, "w") as f:
+            bb.note("Writing file %s with CVE information" % cve_file)
             f.write(write_string)
 
-    if d.getVar("CVE_CHECK_CREATE_MANIFEST") == "1":
-        cvelogpath = d.getVar("CVE_CHECK_SUMMARY_DIR")
-        bb.utils.mkdirhier(cvelogpath)
+        if d.getVar("CVE_CHECK_COPY_FILES") == "1":
+            deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE")
+            bb.utils.mkdirhier(os.path.dirname(deploy_file))
+            with open(deploy_file, "w") as f:
+                f.write(write_string)
 
-        with open(d.getVar("CVE_CHECK_TMP_FILE"), "a") as f:
-            f.write("%s" % write_string)
+        if d.getVar("CVE_CHECK_CREATE_MANIFEST") == "1":
+            cvelogpath = d.getVar("CVE_CHECK_SUMMARY_DIR")
+            bb.utils.mkdirhier(cvelogpath)
+
+            with open(d.getVar("CVE_CHECK_TMP_FILE"), "a") as f:
+                f.write("%s" % write_string)
diff --git a/poky/meta/classes/go-mod.bbclass b/poky/meta/classes/go-mod.bbclass
index 5871d02..cabb04d 100644
--- a/poky/meta/classes/go-mod.bbclass
+++ b/poky/meta/classes/go-mod.bbclass
@@ -12,7 +12,7 @@
 
 # The '-modcacherw' option ensures we have write access to the cached objects so
 # we avoid errors during clean task as well as when removing the TMPDIR.
-export GOBUILDFLAGS ?= "-v ${GO_LDFLAGS} -modcacherw"
+GOBUILDFLAGS_append = " -modcacherw"
 
 inherit go
 
diff --git a/poky/meta/classes/image-artifact-names.bbclass b/poky/meta/classes/image-artifact-names.bbclass
index 5ab8f1b..3ac8dd7 100644
--- a/poky/meta/classes/image-artifact-names.bbclass
+++ b/poky/meta/classes/image-artifact-names.bbclass
@@ -2,11 +2,11 @@
 # Specific image creation and rootfs population info.
 ##################################################################
 
-IMAGE_BASENAME = "${PN}"
-IMAGE_VERSION_SUFFIX = "-${DATETIME}"
+IMAGE_BASENAME ?= "${PN}"
+IMAGE_VERSION_SUFFIX ?= "-${DATETIME}"
 IMAGE_VERSION_SUFFIX[vardepsexclude] += "DATETIME"
-IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
-IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}"
+IMAGE_NAME ?= "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}-${MACHINE}"
 
 # IMAGE_NAME is the base name for everything produced when building images.
 # The actual image that contains the rootfs has an additional suffix (.rootfs
diff --git a/poky/meta/classes/kernel-yocto.bbclass b/poky/meta/classes/kernel-yocto.bbclass
index a35c592..35587dd 100644
--- a/poky/meta/classes/kernel-yocto.bbclass
+++ b/poky/meta/classes/kernel-yocto.bbclass
@@ -155,7 +155,7 @@
 			fi
 			in_tree_defconfig="${WORKDIR}/defconfig"
 		else
-			bbfatal "A KBUILD_DEFCONFIG '${KBUILD_DEFCONFIG}' was specified, but not present in the source tree"
+			bbfatal "A KBUILD_DEFCONFIG '${KBUILD_DEFCONFIG}' was specified, but not present in the source tree (${S}/arch/${ARCH}/configs/)"
 		fi
 	fi
 
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index 48135b3..78def5b 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -172,7 +172,10 @@
             shutil.move(s, kernsrc)
             os.symlink(kernsrc, s)
 }
-addtask symlink_kernsrc before do_patch after do_unpack
+# do_patch is normally ordered before do_configure, but
+# externalsrc.bbclass deletes do_patch, breaking the dependency of
+# do_configure on do_symlink_kernsrc.
+addtask symlink_kernsrc before do_patch do_configure after do_unpack
 
 inherit kernel-arch deploy
 
diff --git a/poky/meta/classes/linuxloader.bbclass b/poky/meta/classes/linuxloader.bbclass
index 176fd89..720e5df 100644
--- a/poky/meta/classes/linuxloader.bbclass
+++ b/poky/meta/classes/linuxloader.bbclass
@@ -4,7 +4,7 @@
 
     targetarch = d.getVar("TARGET_ARCH")
     if targetarch.startswith("microblaze"):
-        ldso_arch = "microblaze${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '', 'el' ,d)}"
+        ldso_arch = "microblaze${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '', 'el', d)}"
     elif targetarch.startswith("mips"):
         ldso_arch = "mips${ABIEXTENSION}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}${@['', '-sf'][d.getVar('TARGET_FPU') == 'soft']}"
     elif targetarch == "powerpc":
diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass
index d659b69..6f35b61 100644
--- a/poky/meta/classes/populate_sdk_ext.bbclass
+++ b/poky/meta/classes/populate_sdk_ext.bbclass
@@ -522,12 +522,18 @@
     # sdk_ext_postinst() below) thus the checksum we take here would always
     # be different.
     manifest_file_list = ['conf/*']
+    esdk_manifest_excludes = (d.getVar('ESDK_MANIFEST_EXCLUDES') or '').split()
+    esdk_manifest_excludes_list = []
+    for exclude_item in esdk_manifest_excludes:
+        esdk_manifest_excludes_list += glob.glob(os.path.join(baseoutpath, exclude_item))
     manifest_file = os.path.join(baseoutpath, 'conf', 'sdk-conf-manifest')
     with open(manifest_file, 'w') as f:
         for item in manifest_file_list:
             for fn in glob.glob(os.path.join(baseoutpath, item)):
                 if fn == manifest_file:
                     continue
+                if fn in esdk_manifest_excludes_list:
+                    continue
                 chksum = bb.utils.sha256_file(fn)
                 f.write('%s\t%s\n' % (chksum, os.path.relpath(fn, baseoutpath)))
 }
diff --git a/poky/meta/classes/qemuboot.bbclass b/poky/meta/classes/qemuboot.bbclass
index d8f62ef..8246762 100644
--- a/poky/meta/classes/qemuboot.bbclass
+++ b/poky/meta/classes/qemuboot.bbclass
@@ -29,6 +29,9 @@
 # QB_AUDIO_OPT: qemu audio option, e.g., "-soundhw ac97,es1370", used
 #               when QB_AUDIO_DRV is set.
 #
+# QB_RNG: Pass-through for host random number generator, it can speedup boot
+#         in system mode, where system is experiencing entropy starvation
+#
 # QB_KERNEL_ROOT: kernel's root, e.g., /dev/vda
 #
 # QB_NETWORK_DEVICE: network device, e.g., "-device virtio-net-pci,netdev=net0,mac=@MAC@",
@@ -77,6 +80,7 @@
 QB_SERIAL_OPT ?= "-serial mon:stdio -serial null"
 QB_DEFAULT_KERNEL ?= "${KERNEL_IMAGETYPE}"
 QB_DEFAULT_FSTYPE ?= "ext4"
+QB_RNG ?= "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
 QB_OPT_APPEND ?= ""
 QB_NETWORK_DEVICE ?= "-device virtio-net-pci,netdev=net0,mac=@MAC@"
 QB_CMDLINE_IP_SLIRP ?= "ip=dhcp"
diff --git a/poky/meta/classes/rootfs_rpm.bbclass b/poky/meta/classes/rootfs_rpm.bbclass
index 51f89ea..82584f3 100644
--- a/poky/meta/classes/rootfs_rpm.bbclass
+++ b/poky/meta/classes/rootfs_rpm.bbclass
@@ -9,7 +9,7 @@
 export STAGING_LIBDIR
 
 # Add 100Meg of extra space for dnf
-IMAGE_ROOTFS_EXTRA_SPACE_append = "${@bb.utils.contains("PACKAGE_INSTALL", "dnf", " + 102400", "" ,d)}"
+IMAGE_ROOTFS_EXTRA_SPACE_append = "${@bb.utils.contains("PACKAGE_INSTALL", "dnf", " + 102400", "", d)}"
 
 # Dnf is python based, so be sure python3-native is available to us.
 EXTRANATIVEPATH += "python3-native"
diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass
index 375196e..a8ae751 100644
--- a/poky/meta/classes/sstate.bbclass
+++ b/poky/meta/classes/sstate.bbclass
@@ -787,7 +787,7 @@
 		return
 	fi
 
-	mkdir -p `dirname ${SSTATE_PKG}`
+	mkdir --mode=0775 -p `dirname ${SSTATE_PKG}`
 	TFILE=`mktemp ${SSTATE_PKG}.XXXXXXXX`
 
 	# Use pigz if available
@@ -847,7 +847,7 @@
 sstate_unpack_package () {
 	tar -xvzf ${SSTATE_PKG}
 	# update .siginfo atime on local/NFS mirror
-	[ -w ${SSTATE_PKG}.siginfo ] && [ -h ${SSTATE_PKG}.siginfo ] && touch -a ${SSTATE_PKG}.siginfo
+	[ -O ${SSTATE_PKG}.siginfo ] && [ -w ${SSTATE_PKG}.siginfo ] && [ -h ${SSTATE_PKG}.siginfo ] && touch -a ${SSTATE_PKG}.siginfo
 	# Use "! -w ||" to return true for read only files
 	[ ! -w ${SSTATE_PKG} ] || touch --no-dereference ${SSTATE_PKG}
 	[ ! -w ${SSTATE_PKG}.sig ] || [ ! -e ${SSTATE_PKG}.sig ] || touch --no-dereference ${SSTATE_PKG}.sig
diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass
index de3a198..f0a619b 100644
--- a/poky/meta/classes/staging.bbclass
+++ b/poky/meta/classes/staging.bbclass
@@ -614,7 +614,7 @@
     bbtasks = e.tasklist
     for task in bbtasks:
         deps = d.getVarFlag(task, "depends")
-        if deps and "populate_sysroot" in deps:
+        if task == "do_configure" or (deps and "populate_sysroot" in deps):
             d.appendVarFlag(task, "prefuncs", " extend_recipe_sysroot")
 }
 staging_taskhandler[eventmask] = "bb.event.RecipeTaskPreProcess"
diff --git a/poky/meta/classes/testexport.bbclass b/poky/meta/classes/testexport.bbclass
index 59cbaef..1b0fb44 100644
--- a/poky/meta/classes/testexport.bbclass
+++ b/poky/meta/classes/testexport.bbclass
@@ -137,7 +137,7 @@
                 shutil.rmtree(os.path.join(subdir, dir))
 
     # Create tar file for common parts of testexport
-    create_tarball(d, "testexport.tar.gz", d.getVar("TEST_EXPORT_DIR"))
+    testexport_create_tarball(d, "testexport.tar.gz", d.getVar("TEST_EXPORT_DIR"))
 
     # Copy packages needed for runtime testing
     package_extraction(d, tc.suites)
@@ -146,7 +146,7 @@
         export_pkg_dir = os.path.join(d.getVar("TEST_EXPORT_DIR"), "packages")
         oe.path.copytree(test_pkg_dir, export_pkg_dir)
         # Create tar file for packages needed by the DUT
-        create_tarball(d, "testexport_packages_%s.tar.gz" % d.getVar("MACHINE"), export_pkg_dir)
+        testexport_create_tarball(d, "testexport_packages_%s.tar.gz" % d.getVar("MACHINE"), export_pkg_dir)
 
     # Copy SDK
     if d.getVar("TEST_EXPORT_SDK_ENABLED") == "1":
@@ -159,11 +159,11 @@
         shutil.copy2(tarball_path, export_sdk_dir)
 
         # Create tar file for the sdk
-        create_tarball(d, "testexport_sdk_%s.tar.gz" % d.getVar("SDK_ARCH"), export_sdk_dir)
+        testexport_create_tarball(d, "testexport_sdk_%s.tar.gz" % d.getVar("SDK_ARCH"), export_sdk_dir)
 
     bb.plain("Exported tests to: %s" % export_path)
 
-def create_tarball(d, tar_name, src_dir):
+def testexport_create_tarball(d, tar_name, src_dir):
 
     import tarfile
 
diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass
index 6c8bedc..e3feef0 100644
--- a/poky/meta/classes/testimage.bbclass
+++ b/poky/meta/classes/testimage.bbclass
@@ -319,6 +319,7 @@
     target_kwargs['powercontrol_extra_args'] = d.getVar("TEST_POWERCONTROL_EXTRA_ARGS") or ""
     target_kwargs['serialcontrol_cmd'] = d.getVar("TEST_SERIALCONTROL_CMD") or None
     target_kwargs['serialcontrol_extra_args'] = d.getVar("TEST_SERIALCONTROL_EXTRA_ARGS") or ""
+    target_kwargs['testimage_dump_target'] = d.getVar("testimage_dump_target") or ""
 
     def export_ssh_agent(d):
         import os