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/bitbake/lib/bb/tests/siggen.py b/poky/bitbake/lib/bb/tests/siggen.py
new file mode 100644
index 0000000..c21ab4e
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/siggen.py
@@ -0,0 +1,91 @@
+#
+# BitBake Test for lib/bb/siggen.py
+#
+# Copyright (C) 2020 Jean-François Dagenais
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import unittest
+import logging
+import bb
+import time
+
+logger = logging.getLogger('BitBake.TestSiggen')
+
+import bb.siggen
+
+class SiggenTest(unittest.TestCase):
+
+    def test_clean_basepath_simple_target_basepath(self):
+        basepath = '/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
+        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask'
+
+        actual_cleaned = bb.siggen.clean_basepath(basepath)
+
+        self.assertEqual(actual_cleaned, expected_cleaned)
+
+    def test_clean_basepath_basic_virtual_basepath(self):
+        basepath = 'virtual:something:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
+        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask:virtual:something'
+
+        actual_cleaned = bb.siggen.clean_basepath(basepath)
+
+        self.assertEqual(actual_cleaned, expected_cleaned)
+
+    def test_clean_basepath_mc_basepath(self):
+        basepath = 'mc:somemachine:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
+        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask:mc:somemachine'
+
+        actual_cleaned = bb.siggen.clean_basepath(basepath)
+
+        self.assertEqual(actual_cleaned, expected_cleaned)
+
+    def test_clean_basepath_virtual_long_prefix_basepath(self):
+        basepath = 'virtual:something:A:B:C:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
+        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask:virtual:something:A:B:C'
+
+        actual_cleaned = bb.siggen.clean_basepath(basepath)
+
+        self.assertEqual(actual_cleaned, expected_cleaned)
+
+    def test_clean_basepath_mc_virtual_basepath(self):
+        basepath = 'mc:somemachine:virtual:something:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
+        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask:virtual:something:mc:somemachine'
+
+        actual_cleaned = bb.siggen.clean_basepath(basepath)
+
+        self.assertEqual(actual_cleaned, expected_cleaned)
+
+    def test_clean_basepath_mc_virtual_long_prefix_basepath(self):
+        basepath = 'mc:X:virtual:something:C:B:A:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask'
+        expected_cleaned = 'helloworld/helloworld_1.2.3.bb:do_sometask:virtual:something:C:B:A:mc:X'
+
+        actual_cleaned = bb.siggen.clean_basepath(basepath)
+
+        self.assertEqual(actual_cleaned, expected_cleaned)
+
+
+    # def test_clean_basepath_performance(self):
+    #     input_basepaths = [
+    #         'mc:X:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
+    #         'mc:X:virtual:something:C:B:A:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
+    #         'virtual:something:C:B:A:/different/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
+    #         'virtual:something:A:/full/path/to/poky/meta/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
+    #         '/this/is/most/common/input/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
+    #         '/and/should/be/tested/with/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
+    #         '/more/weight/recipes-whatever/helloworld/helloworld_1.2.3.bb:do_sometask',
+    #     ]
+
+    #     time_start = time.time()
+
+    #     i = 2000000
+    #     while i >= 0:
+    #         for basepath in input_basepaths:
+    #             bb.siggen.clean_basepath(basepath)
+    #         i -= 1
+
+    #     elapsed = time.time() - time_start
+    #     print('{} ({}s)'.format(self.id(), round(elapsed, 3)))
+
+    #     self.assertTrue(False)