Added optional parameter 'prefix' to filter out names that don't start with specified prefix. Changed existing call of get_providermap according to changed API.
Optimized the code: got rid of extra loop and temporary list variable virts. Signed-off-by: Ed Bartosh <[email protected]> --- bitbake/lib/bb/runqueue.py | 2 +- bitbake/lib/bb/taskdata.py | 17 +++++++---------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index ee06f0e..7fd0044 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -808,7 +808,7 @@ class RunQueueData: invalidate_task(fn, st, True) # Create and print to the logs a virtual/xxxx -> PN (fn) table - virtmap = taskData.get_providermap() + virtmap = taskData.get_providermap(prefix="virtual/") virtpnmap = {} for v in virtmap: virtpnmap[v] = self.dataCache.pkg_fn[virtmap[v]] diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py index 4d12b33..b083870 100644 --- a/bitbake/lib/bb/taskdata.py +++ b/bitbake/lib/bb/taskdata.py @@ -612,17 +612,14 @@ class TaskData: break # self.dump_data() - def get_providermap(self): - virts = [] - virtmap = {} - + def get_providermap(self, prefix=None): + provmap = {} for name in self.build_names_index: - if name.startswith("virtual/"): - virts.append(name) - for v in virts: - if self.have_build_target(v): - virtmap[v] = self.fn_index[self.get_provider(v)[0]] - return virtmap + if prefix and not name.startswith(prefix): + continue + if self.have_build_target(name): + provmap[name] = self.fn_index[self.get_provider(name)[0]] + return provmap def dump_data(self): """ -- 2.1.4 -- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
