diff options
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 33 |
1 files changed, 3 insertions, 30 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index b19b524e77..19af73cb3c 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -1194,7 +1194,6 @@ class RunQueue: | |||
1194 | 1194 | ||
1195 | self.stamppolicy = cfgData.getVar("BB_STAMP_POLICY") or "perfile" | 1195 | self.stamppolicy = cfgData.getVar("BB_STAMP_POLICY") or "perfile" |
1196 | self.hashvalidate = cfgData.getVar("BB_HASHCHECK_FUNCTION") or None | 1196 | self.hashvalidate = cfgData.getVar("BB_HASHCHECK_FUNCTION") or None |
1197 | self.setsceneverify = cfgData.getVar("BB_SETSCENE_VERIFY_FUNCTION2") or None | ||
1198 | self.depvalidate = cfgData.getVar("BB_SETSCENE_DEPVALID") or None | 1197 | self.depvalidate = cfgData.getVar("BB_SETSCENE_DEPVALID") or None |
1199 | 1198 | ||
1200 | self.state = runQueuePrepare | 1199 | self.state = runQueuePrepare |
@@ -1819,32 +1818,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1819 | found = True | 1818 | found = True |
1820 | self.rq.scenequeue_covered.add(tid) | 1819 | self.rq.scenequeue_covered.add(tid) |
1821 | 1820 | ||
1822 | logger.debug(1, 'Skip list (pre setsceneverify) %s', sorted(self.rq.scenequeue_covered)) | 1821 | logger.debug(1, 'Skip list %s', sorted(self.rq.scenequeue_covered)) |
1823 | |||
1824 | # Allow the metadata to elect for setscene tasks to run anyway | ||
1825 | covered_remove = set() | ||
1826 | if self.rq.setsceneverify: | ||
1827 | invalidtasks = [] | ||
1828 | tasknames = {} | ||
1829 | fns = {} | ||
1830 | for tid in self.rqdata.runtaskentries: | ||
1831 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) | ||
1832 | taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn] | ||
1833 | fns[tid] = taskfn | ||
1834 | tasknames[tid] = taskname | ||
1835 | if 'noexec' in taskdep and taskname in taskdep['noexec']: | ||
1836 | continue | ||
1837 | if self.rq.check_stamp_task(tid, taskname + "_setscene", cache=self.stampcache): | ||
1838 | logger.debug(2, 'Setscene stamp current for task %s', tid) | ||
1839 | continue | ||
1840 | if self.rq.check_stamp_task(tid, taskname, recurse = True, cache=self.stampcache): | ||
1841 | logger.debug(2, 'Normal stamp current for task %s', tid) | ||
1842 | continue | ||
1843 | invalidtasks.append(tid) | ||
1844 | |||
1845 | call = self.rq.setsceneverify + "(covered, tasknames, fns, d, invalidtasks=invalidtasks)" | ||
1846 | locs = { "covered" : self.rq.scenequeue_covered, "tasknames" : tasknames, "fns" : fns, "d" : self.cooker.data, "invalidtasks" : invalidtasks } | ||
1847 | covered_remove = bb.utils.better_eval(call, locs) | ||
1848 | 1822 | ||
1849 | def removecoveredtask(tid): | 1823 | def removecoveredtask(tid): |
1850 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) | 1824 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) |
@@ -1852,9 +1826,9 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1852 | bb.build.del_stamp(taskname, self.rqdata.dataCaches[mc], taskfn) | 1826 | bb.build.del_stamp(taskname, self.rqdata.dataCaches[mc], taskfn) |
1853 | self.rq.scenequeue_covered.remove(tid) | 1827 | self.rq.scenequeue_covered.remove(tid) |
1854 | 1828 | ||
1855 | toremove = covered_remove | self.rq.scenequeue_notcovered | 1829 | toremove = self.rq.scenequeue_notcovered |
1856 | for task in toremove: | 1830 | for task in toremove: |
1857 | logger.debug(1, 'Not skipping task %s due to setsceneverify', task) | 1831 | logger.debug(1, 'Not skipping task %s', task) |
1858 | while toremove: | 1832 | while toremove: |
1859 | covered_remove = [] | 1833 | covered_remove = [] |
1860 | for task in toremove: | 1834 | for task in toremove: |
@@ -1871,7 +1845,6 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1871 | 1845 | ||
1872 | logger.debug(1, 'Full skip list %s', self.rq.scenequeue_covered) | 1846 | logger.debug(1, 'Full skip list %s', self.rq.scenequeue_covered) |
1873 | 1847 | ||
1874 | |||
1875 | for mc in self.rqdata.dataCaches: | 1848 | for mc in self.rqdata.dataCaches: |
1876 | target_pairs = [] | 1849 | target_pairs = [] |
1877 | for tid in self.rqdata.target_tids: | 1850 | for tid in self.rqdata.target_tids: |