poky: subtree update:20946c63c2..c17113f1e2

Adrian Bunk (3):
      shadow: musl now supports secure_getenv
      kmod: Replace dolt hacks with backport of upstream dolt removal
      btrfs-tools: Add a PACKAGECONFIG for zstd

Alexander Kanavin (12):
      linux-yocto: add drm-bochs support
      mesa: fix upstream version check
      conf/conf-notes.txt: add a mention of common tools
      conf/conf-notes.txt: add a mention of common tools
      gtk-doc: upgrade 1.30 -> 1.31
      desktop-file-utils: upgrade 0.23 -> 0.24
      libdazzle: upgrade 3.32.2 -> 3.32.3
      rt-tests: exclude another development version
      vala: upgrade 0.44.5 -> 0.44.7
      epiphany: upgrade 3.32.3 -> 3.32.4
      libmodulemd: depend on target python at build time
      createrepo-c: upgrade 0.14.3 -> 0.15.0

Alistair Francis (3):
      qemu: Upgrade to version 4.1
      scripts/runqemu: Add support for the BIOS variable
      qemuriscv64: Specify the firmware as a bios instead of kernel

Anuj Mittal (2):
      binutils: fix CVE-2019-14250 CVE-2019-14444
      patch: backport fixes

Bruce Ashfield (6):
      kernel-devsrc: tweak for v5.3+
      kern-tools: Add SPDX license headers to source files
      linux-yocto: arch/x86/boot: use prefix map to avoid embedded paths
      kernel-yocto: import security fragments from meta-security
      kconf_check: tweak CONFIG_ regex
      linux-yocto/4.19: make drm-bochs feature available

Changqing Li (2):
      dbus: disable test-bus
      qemumips/qemumips64: move QB_SYSTEM_NAME to corresponding conf

Chen Qi (1):
      target-sdk-provides-dummy: extend packages for multilib case

He Zhe (2):
      ltp: Fix tgkill03 failure
      ltp: Fix ustat02 failure

Hongxu Jia (3):
      nfs-utils: decrease RLIMIT_NOFILE to 4k for systemd
      distcc: upgrade 3.3.2 -> 3.3.3
      ncurses: upgrade 6.1+20181013 -> 6.1+20190803

Jaewon Lee (1):
      devtool: build: Also run deploy for devtool build if applicable

Jason Wessel (2):
      cross-localedef-native: Add hardlink resolver from util-linux
      libc-package.bbclass: Split locale hard link processing into two parts

Jon Mason (1):
      resulttool: Prevent multiple results for the same test

Kai Kang (1):
      webkitgtk: disable gold on mipsn32

Kevin Hao (1):
      psplash: Avoid mount the psplash tmpfs twice

Khem Raj (10):
      musl: Update to latest tip
      systemd: Drop musl __secure_getenv patch
      mesa: Add packageconfigs for vc4 and v3d
      util-linux: Make pam specific logic apply to target recipe alone
      systemd.bbclass: Limit rm_sysvinit_initddir and rm_systemd_unitdir to target alone
      systemd: Refresh patch after removal of __secure_getenv patch
      gcc-9: Upgrade to 9.2
      gcc: Search in OE specific target gcclibdir
      opensbi: Disable SECURITY_CFLAGS since it cant link with libssp
      libffi: Upgrade to 3.3-rc0

Lei Maohui (2):
      nativesdk-qemu: support aarch64_be.
      at: fix a spelling mistake.

Mikko Rapeli (1):
      stress-ng: provide stress

Mingli Yu (1):
      python3: fix the test_locale output format

Oleksandr Kravchuk (8):
      ffmpeg: update to 4.2
      python-setuptools: update to 41.1.0
      python3-scons: update to 3.1.1
      ofono: update to 1.30
      bitbake.conf: fix XORG_MIRROR URL
      cups: update to 2.2.12
      git: update to 2.23.0
      python-setuptools: update to 41.2.0

Otavio Salvador (2):
      linux-firmware: Upgrade 20190618 -> 20190815
      kmscube: Bump revision to f632b23

Philippe Normand (1):
      libtasn1: Enable nativesdk support

Ricardo Ribalda Delgado (1):
      packagegroup-core-base-utils: Make it machine specific

Richard Purdie (7):
      yocto-check-layer: Ensure we use OEBasicHash as the signature handler
      package: Fix race between do_package and do_packagedata
      bitbake: cookerdata: Delay the setup of the siggen slightly to allow metadata defined siggens
      bitbake: runqueue: Small but critical fix
      bitbake: runqueue: Optimise holdoff task handling
      bitbake: runqueue: Further optimise holdoff tasks
      bitbake: runqueue: Optimise build_taskdepdata slightly

Ross Burton (2):
      systemd: add PACKAGECONFIG for gnu-efi
      pango: upgrade to 1.44.5

Trevor Gamblin (2):
      quilt: Export QUILT_PC variable in ptest Makefile
      quilt: added less to RDEPENDS list

Wes Lindauer (5):
      iw: Fix license field to BSD-2-Clause
      openssh: Update LICENSE field with missing values
      shadow: Fix BSD license file checksum
      sudo: Fix BSD license file checksum
      libunwind: Fix MIT license file checksum

Yuan Chao (1):
      libnss-nis: upgrade 3.0 -> 3.1

Zang Ruochen (3):
      acpid: upgrade 2.0.31 -> 2.0.32
      lz4:upgrade 1.9.1 -> 1.9.2
      python3-pip:upgrade 19.2.1 -> 19.2.2

Change-Id: I2068692bfdbbf18f892761a12f85e913b8212f3f
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py
index 144e803..96a8e6b 100644
--- a/poky/bitbake/lib/bb/cookerdata.py
+++ b/poky/bitbake/lib/bb/cookerdata.py
@@ -268,11 +268,11 @@
 
     def parseBaseConfiguration(self):
         try:
-            bb.parse.init_parser(self.basedata)
             self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles)
 
             if self.data.getVar("BB_WORKERCONTEXT", False) is None:
                 bb.fetch.fetcher_init(self.data)
+            bb.parse.init_parser(self.data)
             bb.codeparser.parser_cache_init(self.data)
 
             bb.event.fire(bb.event.ConfigParsed(), self.data)
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index 7fa074f..4f69578 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -1711,6 +1711,7 @@
         self.stampcache = {}
 
         self.holdoff_tasks = set()
+        self.holdoff_need_update = True
         self.sqdone = False
 
         self.stats = RunQueueStats(len(self.rqdata.runtaskentries))
@@ -2039,6 +2040,8 @@
             if self.can_start_task():
                 return True
 
+        self.update_holdofftasks()
+
         if not self.sq_live and not self.sqdone and not self.sq_deferred and not self.updated_taskhash_queue and not self.holdoff_tasks:
             logger.info("Setscene tasks completed")
 
@@ -2157,12 +2160,11 @@
 
         return True
 
-    def filtermcdeps(self, task, deps):
+    def filtermcdeps(self, task, mc, deps):
         ret = set()
-        mainmc = mc_from_tid(task)
         for dep in deps:
-            mc = mc_from_tid(dep)
-            if mc != mainmc:
+            thismc = mc_from_tid(dep)
+            if thismc != mc:
                 continue
             ret.add(dep)
         return ret
@@ -2171,9 +2173,10 @@
     # as most code can't handle them
     def build_taskdepdata(self, task):
         taskdepdata = {}
+        mc = mc_from_tid(task)
         next = self.rqdata.runtaskentries[task].depends.copy()
         next.add(task)
-        next = self.filtermcdeps(task, next)
+        next = self.filtermcdeps(task, mc, next)
         while next:
             additional = []
             for revdep in next:
@@ -2183,7 +2186,7 @@
                 provides = self.rqdata.dataCaches[mc].fn_provides[taskfn]
                 taskhash = self.rqdata.runtaskentries[revdep].hash
                 unihash = self.rqdata.runtaskentries[revdep].unihash
-                deps = self.filtermcdeps(task, deps)
+                deps = self.filtermcdeps(task, mc, deps)
                 taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash]
                 for revdep2 in deps:
                     if revdep2 not in taskdepdata:
@@ -2194,6 +2197,32 @@
         return taskdepdata
 
     def update_holdofftasks(self):
+
+        if not self.holdoff_need_update:
+            return
+
+        notcovered = set(self.scenequeue_notcovered)
+        notcovered |= self.cantskip
+        for tid in self.scenequeue_notcovered:
+            notcovered |= self.sqdata.sq_covered_tasks[tid]
+        notcovered |= self.sqdata.unskippable.difference(self.rqdata.runq_setscene_tids)
+        notcovered.intersection_update(self.tasks_scenequeue_done)
+
+        covered = set(self.scenequeue_covered)
+        for tid in self.scenequeue_covered:
+            covered |= self.sqdata.sq_covered_tasks[tid]
+        covered.difference_update(notcovered)
+        covered.intersection_update(self.tasks_scenequeue_done)
+
+        for tid in notcovered | covered:
+            if len(self.rqdata.runtaskentries[tid].depends) == 0:
+                self.setbuildable(tid)
+            elif self.rqdata.runtaskentries[tid].depends.issubset(self.runq_complete):
+                 self.setbuildable(tid)
+
+        self.tasks_covered = covered
+        self.tasks_notcovered = notcovered
+
         self.holdoff_tasks = set()
 
         for tid in self.rqdata.runq_setscene_tids:
@@ -2205,6 +2234,8 @@
                 if dep not in self.runq_complete:
                     self.holdoff_tasks.add(dep)
 
+        self.holdoff_need_update = False
+
     def process_possible_migrations(self):
 
         changed = set()
@@ -2283,6 +2314,7 @@
                 continue
 
             self.pending_migrations.remove(tid)
+            changed = True
 
             if tid in self.tasks_scenequeue_done:
                 self.tasks_scenequeue_done.remove(tid)
@@ -2323,7 +2355,7 @@
             self.sqdone = False
 
         if changed:
-            self.update_holdofftasks()
+            self.holdoff_need_update = True
 
     def scenequeue_updatecounters(self, task, fail=False):
 
@@ -2350,29 +2382,7 @@
                         new.add(dep)
             next = new
 
-        notcovered = set(self.scenequeue_notcovered)
-        notcovered |= self.cantskip
-        for tid in self.scenequeue_notcovered:
-            notcovered |= self.sqdata.sq_covered_tasks[tid]
-        notcovered |= self.sqdata.unskippable.difference(self.rqdata.runq_setscene_tids)
-        notcovered.intersection_update(self.tasks_scenequeue_done)
-
-        covered = set(self.scenequeue_covered)
-        for tid in self.scenequeue_covered:
-            covered |= self.sqdata.sq_covered_tasks[tid]
-        covered.difference_update(notcovered)
-        covered.intersection_update(self.tasks_scenequeue_done)
-
-        for tid in notcovered | covered:
-            if len(self.rqdata.runtaskentries[tid].depends) == 0:
-                self.setbuildable(tid)
-            elif self.rqdata.runtaskentries[tid].depends.issubset(self.runq_complete):
-                 self.setbuildable(tid)
-
-        self.tasks_covered = covered
-        self.tasks_notcovered = notcovered
-
-        self.update_holdofftasks()
+        self.holdoff_need_update = True
 
     def sq_task_completeoutright(self, task):
         """