poky: subtree update:26ae42ded7..5951cbcabe

Alex Kiernan (1):
      recipetool: Fix list concatenation when using edit

Alexander Kanavin (4):
      apr-util: make gdbm optional
      gobject-introspection: add a patch to fix a build race
      icu: merge .inc into main recipe
      icu: make filtered data generation optional, serial and off by default

Alexandru N. Onea (3):
      bitbake: perforce: add basic progress handler for perforce
      bitbake: perforce: add local path handling SRC_URI options
      bitbake: bitbake-user-manual: update perforce fetcher docs

Andreas M?ller (1):
      meson.bbclass: avoid unexpected operating-system names

Andreas Müller (6):
      boost: Add upstream patch to fix build on depending projects
      libinput: upgrade 1.15.5 -> 1.15.6
      sqlite3: upgrade 3.32.2 -> 3.32.3
      desktop-file-utils: upgrade 0.24 -> 0.26
      file: upgrade 5.38 -> 5.39
      ffmpeg: upgrade 4.2.3 -> 4.3

Andrej Valek (1):
      oeqa/runtime/cases/ptest: Make output content path absolute

Andrew Geissler (1):
      meson: backport library ordering fix

Armin Kuster (1):
      libuv: move from meta-oe to core for bind update

Arthur She (1):
      igt-gpu-tools: add new package

Changqing Li (1):
      mime.bbclass: fix post install scriptlet error

Chen Qi (1):
      systemd-serialgetty: do not use BindsTo

Daniel McGregor (3):
      sign_rpm.bbclass: ignore thread count
      systemd-conf: Accept MTU from DHCP
      buildhistory-collect-srcrevs: sort directories

He Zhe (1):
      ltp: Fix copy_file_rang02 for 32-bit arches

Hongxu Jia (1):
      libmodulemd: switch branch master -> main

Jacob Kroon (5):
      bitbake: lib/bb/utils.py: Do not preserve TERM in the environment
      bitbake: bitbake-user-manual: Remove TERM from BB_HASHBASE_WHITELIST example
      bitbake.conf: Remove TERM from default BB_HASHBASE_WHITELIST
      grub: Remove native version of grub-efi
      distro_alias: Remove unused grub-efi distro aliases

Jens Rehsack (1):
      u-boot: avoid blind merging all *.cfg

Joe Slater (1):
      systemd: fix CVE-2020-13776

Joshua Watt (5):
      sstatesig: Account for all dataCaches being passed
      bitbake: bitbake: cache: Fix error message with bad multiconfig
      wic: Fix error message when reporting invalid offset
      classes/archiver: Create patched archive before configuring
      bitbake: cache: Bump cache version

Konrad Weihmann (3):
      oeqa/runtime: Add OERequirePackage decorator
      bitbake: cookerdata: Add BBFILES_DYNAMIC inverse mode
      bitbake: bitbake-user-manual: Add BBFILES_DYNAMIC

Mark Morton (2):
      New source files and Makefile update for Test Manual
      test-manual: Fixed codeblock formatting

Martin Jansa (1):
      net-tools: backport a patch from upstream to use the same ifconfig format as debian/ubuntu

Mingli Yu (3):
      python3: add the rdepends for python3-misc
      python3: add rdepends for python3-idle
      python3-dbusmock: add the missing rdepends

Otavio Salvador (2):
      systemd: Sync systemd-serialgetty@.service with upstream
      mtd-utils: Fix return value of ubiformat

Ovidiu Panait (2):
      dbus-test: Remove EXTRA_OECONF_X configs
      dbus,dbus-test: Move common parts to dbus.inc

Paul Barker (2):
      bitbake: fetch2/gitsm: Mark srcrev as fetched once all submodules are processed
      bitbake: fetch2/gitsm: Make need_update() process submodules

Paul Eggleton (5):
      graph-tool: switch to argparse
      graph-tool: add filter subcommand
      dpkg-native: rebase and reinstate fix for "tar: file changed as we read it"
      shadow-sysroot: drop unused SRC_URI checksums
      devtool: fix typo

Peter Kjellerstedt (1):
      relocatable.bbclass: Avoid an exception if an empty pkgconfig dir exist

Pierre-Jean Texier (3):
      diffoscope: upgrade 146 -> 147
      ell: upgrade 0.31 -> 0.32
      curl: upgrade 7.70.0 -> 7.71.0

Rasmus Villemoes (1):
      curl: add debug info

Richard Purdie (15):
      buildhistory: Add simplistic file move detection
      bitbake: bin/bitbake: Update to next series release version
      perl: Fix host specific modules problems
      sanity.conf: Require bitbake 1.47.0 as the minimum version
      patchelf: Upgrade 0.10 -> 0.11
      test-manual: Add SPDX license headers
      Makefile: Drop obsolete edison/denzil branch conditionals
      bitbake: tests/fetch: Switch from git.infradead.org to a YP mirror
      pseudo: Fix attr errors due to incorrect library resolution issues
      oeqa/selftest/runcmd: Add better debug for thread count mismatch failures
      oeqa/utils/command: Improve stdin handling in runCmd
      vulkan-headers: Fix upstream branch deletion issue
      recipes: Fix Upstream-Status Accepted -> Backport
      scripts/install-buildtools: Update to 3.2 M1 buildtools
      scripts/install-buildtools: Handle new format checksum files

Robert P. J. Day (1):
      python: use official "pypi.org" URLs for HOMEPAGE

Ross Burton (8):
      install-buildtools: fail if an error occurs
      install-buildtools: remove hardcoded x86-64 architecture
      install-buildtools: add option to disable checksum validation
      common-licenses: add BSD-2-Clause-Patent
      gstreamer1.0-plugins-bad: add support for vdpau
      go-binary-native: add binary Go to bootstrap
      tcmode-default: use go-binary-native by default
      go-native: merge bb/inc and add comment

Ryan Rowe (1):
      python3: fix PGO for non-reproducible biniaries

Sakib Sajal (1):
      qemu: uprev v4.2.0 -> v5.0.0

Samuli Piippo (2):
      cmake: allow chainloading of the toolchain file
      perl: use relative paths in the perl wrapper

Steve Sakoman (1):
      buildtools-tarball: export OPENSSL_CONF in environment setup

Tanu Kaskinen (1):
      pulseaudio: remove unnecessary libltdl copying

Trevor Gamblin (1):
      python3-setuptools: patch entrypoints for faster initialization

Tuomas Salokanto (1):
      recipetool: create: fix SRCBRANCH not being passed to params

Valentin Longchamp (2):
      tools-profile: disable valgrind for powerpc soft-float
      valgrind: disable it for powerpc soft-float

Wang Mingyu (5):
      powertop: upgrade 2.12 -> 2.13
      man-db: upgrade 2.9.2 -> 2.9.3
      valgrind: upgrade 3.16.0 -> 3.16.1
      man-pages: upgrade 5.06 -> 5.07
      harfbuzz: upgrade 2.6.7 -> 2.6.8

Yi Zhao (2):
      iptables: fix invalid symbolic link for ip6tables-apply
      iptables: split iptables-apply to its own package

Yongxin Liu (1):
      linux-firmware: add ice for Intel E800 series driver

Yuki Hoshino (1):
      sysvinit-inittab: Add support for tty devices with 10 or more number.

akuster (9):
      bind: update to 9.11.19
      adt-manual: Add SPDX license headers
      bsp-guide: Add SPDX license headers
      brief-yoctoprojectsqa: Add SPDX license headers
      dev-manual: Add SPDX License headers
      kernel-dev: Add SPDX license headers
      profile-manual: Add SPDX licence headers
      sdk-manual: Add SPDX license headers
      toaster-manaul: Add SPDX license headers

haiqing (1):
      libpam: Remove option 'obscure' from common-password

hongxu (1):
      kmod: add nativesdk support

zangrc (1):
      ethtool:upgrade 5.6 -> 5.7

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I1190ca17297b1167286cfc06033e8485396c7cce
diff --git a/poky/scripts/buildhistory-collect-srcrevs b/poky/scripts/buildhistory-collect-srcrevs
index c4d203f..340bee7 100755
--- a/poky/scripts/buildhistory-collect-srcrevs
+++ b/poky/scripts/buildhistory-collect-srcrevs
@@ -59,6 +59,7 @@
 
     all_srcrevs = collections.defaultdict(list)
     for root, dirs, files in os.walk(options.buildhistory_dir):
+        dirs.sort()
         if '.git' in dirs:
             dirs.remove('.git')
         for fn in files:
diff --git a/poky/scripts/contrib/graph-tool b/poky/scripts/contrib/graph-tool
index 6d2e68b..2648893 100755
--- a/poky/scripts/contrib/graph-tool
+++ b/poky/scripts/contrib/graph-tool
@@ -11,6 +11,13 @@
 #
 
 import sys
+import os
+import argparse
+
+scripts_lib_path = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..', 'lib'))
+sys.path.insert(0, scripts_lib_path)
+import argparse_oe
+
 
 def get_path_networkx(dotfile, fromnode, tonode):
     try:
@@ -34,47 +41,78 @@
     return networkx.all_simple_paths(graph, source=fromnode, target=tonode)
 
 
-def find_paths(args, usage):
-    if len(args) < 3:
-        usage()
-        sys.exit(1)
-
-    fromnode = args[1]
-    tonode = args[2]
-
+def find_paths(args):
     path = None
-    for path in get_path_networkx(args[0], fromnode, tonode):
+    for path in get_path_networkx(args.dotfile, args.fromnode, args.tonode):
         print(" -> ".join(map(str, path)))
     if not path:
-        print("ERROR: no path from %s to %s in graph" % (fromnode, tonode))
-        sys.exit(1)
+        print("ERROR: no path from %s to %s in graph" % (args.fromnode, args.tonode))
+        return 1
+
+
+def filter_graph(args):
+    import fnmatch
+
+    exclude_tasks = []
+    if args.exclude_tasks:
+        for task in args.exclude_tasks.split(','):
+            if not task.startswith('do_'):
+                task = 'do_%s' % task
+            exclude_tasks.append(task)
+
+    def checkref(strval):
+        strval = strval.strip().strip('"')
+        target, taskname = strval.rsplit('.', 1)
+        if exclude_tasks:
+            for extask in exclude_tasks:
+                if fnmatch.fnmatch(taskname, extask):
+                    return False
+        if strval in args.ref or target in args.ref:
+            return True
+        return False
+
+    with open(args.infile, 'r') as f:
+        for line in f:
+            line = line.rstrip()
+            if line.startswith(('digraph', '}')):
+                print(line)
+            elif '->' in line:
+                linesplit = line.split('->')
+                if checkref(linesplit[0]) and checkref(linesplit[1]):
+                    print(line)
+            elif (not args.no_nodes) and checkref(line.split()[0]):
+                print(line)
+
 
 def main():
-    import optparse
-    parser = optparse.OptionParser(
-        usage = '''%prog [options] <command> <arguments>
+    parser = argparse_oe.ArgumentParser(description='Small utility for working with .dot graph files')
 
-Available commands:
-    find-paths <dotfile> <from> <to>
-        Find all of the paths between two nodes in a dot graph''')
+    subparsers = parser.add_subparsers(title='subcommands', metavar='<subcommand>')
+    subparsers.required = True
 
-    #parser.add_option("-d", "--debug",
-    #        help = "Report all SRCREV values, not just ones where AUTOREV has been used",
-    #        action="store_true", dest="debug", default=False)
+    parser_find_paths = subparsers.add_parser('find-paths',
+                                              help='Find all of the paths between two nodes in a dot graph',
+                                              description='Finds all of the paths between two nodes in a dot graph')
+    parser_find_paths.add_argument('dotfile', help='.dot graph to search in')
+    parser_find_paths.add_argument('fromnode', help='starting node name')
+    parser_find_paths.add_argument('tonode', help='ending node name')
+    parser_find_paths.set_defaults(func=find_paths)
 
-    options, args = parser.parse_args(sys.argv)
-    args = args[1:]
+    parser_filter = subparsers.add_parser('filter',
+                                           help='Pare down a task graph to contain only the specified references',
+                                           description='Pares down a task-depends.dot graph produced by bitbake -g to contain only the specified references')
+    parser_filter.add_argument('infile', help='Input file')
+    parser_filter.add_argument('ref', nargs='+', help='Reference to include (either recipe/target name or full target.taskname specification)')
+    parser_filter.add_argument('-n', '--no-nodes', action='store_true', help='Skip node formatting lines')
+    parser_filter.add_argument('-x', '--exclude-tasks', help='Comma-separated list of tasks to exclude (do_ prefix optional, wildcards allowed)')
+    parser_filter.set_defaults(func=filter_graph)
 
-    if len(args) < 1:
-        parser.print_help()
-        sys.exit(1)
+    args = parser.parse_args()
 
-    if args[0] == "find-paths":
-        find_paths(args[1:], parser.print_help)
-    else:
-        parser.print_help()
-        sys.exit(1)
+    ret = args.func(args)
+    return ret
 
 
 if __name__ == "__main__":
-    main()
+    ret = main()
+    sys.exit(ret)
diff --git a/poky/scripts/install-buildtools b/poky/scripts/install-buildtools
index c6b3a1e..7118f48 100755
--- a/poky/scripts/install-buildtools
+++ b/poky/scripts/install-buildtools
@@ -35,6 +35,7 @@
 import argparse
 import logging
 import os
+import platform
 import re
 import shutil
 import shlex
@@ -56,9 +57,9 @@
 
 DEFAULT_INSTALL_DIR = os.path.join(os.path.split(scripts_path)[0],'buildtools')
 DEFAULT_BASE_URL = 'http://downloads.yoctoproject.org/releases/yocto'
-DEFAULT_RELEASE = 'yocto-3.1'
-DEFAULT_INSTALLER_VERSION = '3.1'
-DEFAULT_BUILDDATE = ''
+DEFAULT_RELEASE = 'yocto-3.2_M1'
+DEFAULT_INSTALLER_VERSION = '3.1+snapshot'
+DEFAULT_BUILDDATE = '20200617'
 
 # Python version sanity check
 if not (sys.version_info.major == 3 and sys.version_info.minor >= 4):
@@ -112,6 +113,7 @@
     release = ""
     buildtools_url = ""
     install_dir = ""
+    arch = platform.machine()
 
     parser = argparse.ArgumentParser(
         description="Buildtools installation helper",
@@ -152,9 +154,11 @@
     group.add_argument('--without-extended-buildtools', action='store_false',
                        dest='with_extended_buildtools',
                        help='disable extended buildtools (traditional buildtools tarball)')
-    parser.add_argument('-c', '--check', help='enable md5 checksum checking',
-                        default=True,
-                        action='store_true')
+    group = parser.add_mutually_exclusive_group()
+    group.add_argument('-c', '--check', help='enable checksum validation',
+                        default=True, action='store_true')
+    group.add_argument('-n', '--no-check', help='disable checksum validation',
+                        dest="check", action='store_false')
     parser.add_argument('-D', '--debug', help='enable debug output',
                         action='store_true')
     parser.add_argument('-q', '--quiet', help='print only errors',
@@ -194,19 +198,19 @@
                     logger.error("Milestone installers require --build-date")
                 else:
                     if args.with_extended_buildtools:
-                        filename = "x86_64-buildtools-extended-nativesdk-standalone-%s-%s.sh" % (
-                            args.installer_version, args.build_date)
+                        filename = "%s-buildtools-extended-nativesdk-standalone-%s-%s.sh" % (
+                            arch, args.installer_version, args.build_date)
                     else:
-                        filename = "x86_64-buildtools-nativesdk-standalone-%s-%s.sh" % (
-                            args.installer_version, args.build_date)
+                        filename = "%s-buildtools-nativesdk-standalone-%s-%s.sh" % (
+                            arch, args.installer_version, args.build_date)
                     safe_filename = quote(filename)
                     buildtools_url = "%s/milestones/%s/buildtools/%s" % (base_url, args.release, safe_filename)
             # regular release SDK
             else:
                 if args.with_extended_buildtools:
-                    filename = "x86_64-buildtools-extended-nativesdk-standalone-%s.sh" % args.installer_version
+                    filename = "%s-buildtools-extended-nativesdk-standalone-%s.sh" % (arch, args.installer_version)
                 else:
-                    filename = "x86_64-buildtools-nativesdk-standalone-%s.sh" % args.installer_version
+                    filename = "%s-buildtools-nativesdk-standalone-%s.sh" % (arch, args.installer_version)
                 safe_filename = quote(filename)
                 buildtools_url = "%s/%s/buildtools/%s" % (base_url, args.release, safe_filename)
 
@@ -225,7 +229,7 @@
         if args.check:
             logger.info("Fetching buildtools installer checksum")
             checksum_type = ""
-            for checksum_type in ["md5sum", "sha256"]:
+            for checksum_type in ["md5sum", "sha256sum"]:
                 check_url = "{}.{}".format(buildtools_url, checksum_type)
                 checksum_filename = "{}.{}".format(filename, checksum_type)
                 tmpbuildtools_checksum = os.path.join(tmpsdk_dir, checksum_filename)
@@ -237,7 +241,7 @@
                 if ret != 0:
                     logger.error("Could not download file from %s" % check_url)
                     return ret
-            regex = re.compile(r"^(?P<checksum>[0-9a-f]+)\s\s(?P<path>.*/)?(?P<filename>.*)$")
+            regex = re.compile(r"^(?P<checksum>[0-9a-f]+)\s+(?P<path>.*/)?(?P<filename>.*)$")
             with open(tmpbuildtools_checksum, 'rb') as f:
                 original = f.read()
                 m = re.search(regex, original.decode("utf-8"))
@@ -258,6 +262,7 @@
             else:
                 logger.error("Checksum %s expected. Actual checksum is %s." %
                              (checksum, checksum_value))
+                return 1
 
         # Make installer executable
         logger.info("Making installer executable")
@@ -273,12 +278,13 @@
             ret = subprocess.call("%s -y" % tmpbuildtools, shell=True)
         if ret != 0:
             logger.error("Could not run buildtools installer")
+            return ret
 
         # Setup the environment
         logger.info("Setting up the environment")
         regex = re.compile(r'^(?P<export>export )?(?P<env_var>[A-Z_]+)=(?P<env_val>.+)$')
-        with open("%s/environment-setup-x86_64-pokysdk-linux" %
-                  install_dir, 'rb') as f:
+        with open("%s/environment-setup-%s-pokysdk-linux" %
+                  (install_dir, arch), 'rb') as f:
             for line in f:
                 match = regex.search(line.decode('utf-8'))
                 logger.debug("export regex: %s" % match)
diff --git a/poky/scripts/lib/devtool/deploy.py b/poky/scripts/lib/devtool/deploy.py
index 6a99773..b1749ce 100644
--- a/poky/scripts/lib/devtool/deploy.py
+++ b/poky/scripts/lib/devtool/deploy.py
@@ -330,7 +330,7 @@
     parser_deploy.add_argument('-e', '--ssh-exec', help='Executable to use in place of ssh')
     parser_deploy.add_argument('-P', '--port', help='Specify port to use for connection to the target')
     parser_deploy.add_argument('-I', '--key',
-                               help='Specifiy ssh private key for connection to the target')
+                               help='Specify ssh private key for connection to the target')
 
     strip_opts = parser_deploy.add_mutually_exclusive_group(required=False)
     strip_opts.add_argument('-S', '--strip',
@@ -355,6 +355,6 @@
     parser_undeploy.add_argument('-e', '--ssh-exec', help='Executable to use in place of ssh')
     parser_undeploy.add_argument('-P', '--port', help='Specify port to use for connection to the target')
     parser_undeploy.add_argument('-I', '--key',
-                               help='Specifiy ssh private key for connection to the target')
+                               help='Specify ssh private key for connection to the target')
 
     parser_undeploy.set_defaults(func=undeploy)
diff --git a/poky/scripts/lib/recipetool/create.py b/poky/scripts/lib/recipetool/create.py
index 6cbf4de..8d78c5b 100644
--- a/poky/scripts/lib/recipetool/create.py
+++ b/poky/scripts/lib/recipetool/create.py
@@ -460,6 +460,7 @@
                 logger.error('branch= parameter and -B/--srcbranch option cannot both be specified - use one or the other')
                 sys.exit(1)
             srcbranch = args.srcbranch
+            params['branch'] = srcbranch
         nobranch = params.get('nobranch')
         if nobranch and srcbranch:
             logger.error('nobranch= cannot be used if you specify a branch')
diff --git a/poky/scripts/lib/recipetool/edit.py b/poky/scripts/lib/recipetool/edit.py
index 94bdf7b..d5b980a 100644
--- a/poky/scripts/lib/recipetool/edit.py
+++ b/poky/scripts/lib/recipetool/edit.py
@@ -34,7 +34,7 @@
     recipe_path = tinfoil.get_recipe_file(args.target)
     appends = tinfoil.get_file_appends(recipe_path)
 
-    return scriptutils.run_editor([recipe_path] + appends, logger)
+    return scriptutils.run_editor([recipe_path] + list(appends), logger)
 
 
 def register_commands(subparsers):
diff --git a/poky/scripts/lib/wic/plugins/imager/direct.py b/poky/scripts/lib/wic/plugins/imager/direct.py
index 1f65a7a..2f01999 100644
--- a/poky/scripts/lib/wic/plugins/imager/direct.py
+++ b/poky/scripts/lib/wic/plugins/imager/direct.py
@@ -436,7 +436,7 @@
 
                 delta = offset - self.offset
                 if delta < 0:
-                    raise WicError("Could not place %s%s at offset %dK: next free sector is %d (delta: %d)" % (part.disk, self.numpart, part.offset, offset, delta))
+                    raise WicError("Could not place %s%s at offset %dK: next free sector is %d (delta: %d)" % (part.disk, self.numpart, part.offset, self.offset, delta))
 
                 logger.debug("Skipping %d sectors to place %s%s at offset %dK",
                              delta, part.disk, self.numpart, part.offset)
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 21680b4..85f323a 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -461,27 +461,27 @@
             elif arg == 'sdl':
                 if 'gl' in sys.argv[1:]:
                     self.set_dri_path()
-                    self.qemu_opt_script += ' -vga virtio -display sdl,gl=on'
+                    self.qemu_opt_script += ' -vga virtio -display sdl,gl=on,show-cursor=on'
                 elif 'gl-es' in sys.argv[1:]:
                     self.set_dri_path()
-                    self.qemu_opt_script += ' -vga virtio -display sdl,gl=es'
+                    self.qemu_opt_script += ' -vga virtio -display sdl,gl=es,show-cursor=on'
                 else:
-                    self.qemu_opt_script += ' -display sdl'
+                    self.qemu_opt_script += ' -display sdl,show-cursor=on'
             elif arg == 'gtk':
                 if 'gl' in sys.argv[1:]:
                     self.set_dri_path()
-                    self.qemu_opt_script += ' -vga virtio -display gtk,gl=on'
+                    self.qemu_opt_script += ' -vga virtio -display gtk,gl=on,show-cursor=on'
                 elif 'gl-es' in sys.argv[1:]:
                     self.set_dri_path()
-                    self.qemu_opt_script += ' -vga virtio -display gtk,gl=es'
+                    self.qemu_opt_script += ' -vga virtio -display gtk,gl=es,show-cursor=on'
                 else:
-                    self.qemu_opt_script += ' -display gtk'
+                    self.qemu_opt_script += ' -display gtk,show-cursor=on'
             elif arg == 'gl' or arg == 'gl-es':
                 # These args are handled inside sdl or gtk blocks above
                 pass
             elif arg == 'egl-headless':
                 self.set_dri_path()
-                self.qemu_opt_script += ' -vga virtio -display egl-headless'
+                self.qemu_opt_script += ' -vga virtio -display egl-headless,show-cursor=on'
             elif arg == 'serial':
                 self.kernel_cmdline_script += ' console=ttyS0'
                 self.serialconsole = True