From d8bfa5c6eff1cff34895304a33be671fb141084e Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 20 Aug 2007 07:48:43 +0000 Subject: bitbake: Sync with 1.8.8 release git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2513 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- bitbake/lib/bb/taskdata.py | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) (limited to 'bitbake/lib/bb/taskdata.py') diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py index f448b5b66..902cc140e 100644 --- a/bitbake/lib/bb/taskdata.py +++ b/bitbake/lib/bb/taskdata.py @@ -450,10 +450,12 @@ class TaskData: self.add_runtime_target(fn, item) self.add_tasks(fn, dataCache) - def fail_fnid(self, fnid): + def fail_fnid(self, fnid, missing_list = []): """ Mark a file as failed (unbuildable) Remove any references from build and runtime provider lists + + missing_list, A list of missing requirements for this target """ if fnid in self.failed_fnids: return @@ -463,14 +465,14 @@ class TaskData: if fnid in self.build_targets[target]: self.build_targets[target].remove(fnid) if len(self.build_targets[target]) == 0: - self.remove_buildtarget(target) + self.remove_buildtarget(target, missing_list) for target in self.run_targets: if fnid in self.run_targets[target]: self.run_targets[target].remove(fnid) if len(self.run_targets[target]) == 0: - self.remove_runtarget(target) + self.remove_runtarget(target, missing_list) - def remove_buildtarget(self, targetid): + def remove_buildtarget(self, targetid, missing_list = []): """ Mark a build target as failed (unbuildable) Trigger removal of any files that have this as a dependency @@ -479,21 +481,21 @@ class TaskData: self.failed_deps.append(targetid) dependees = self.get_dependees(targetid) for fnid in dependees: - self.fail_fnid(fnid) + self.fail_fnid(fnid, [self.build_names_index[targetid]]+missing_list) if self.abort and targetid in self.external_targets: - bb.msg.error(bb.msg.domain.Provider, "No buildable providers available for required build target %s" % self.build_names_index[targetid]) + bb.msg.error(bb.msg.domain.Provider, "No buildable providers available for required build target %s ('%s')" % (self.build_names_index[targetid], missing_list)) raise bb.providers.NoProvider - def remove_runtarget(self, targetid): + def remove_runtarget(self, targetid, missing_list = []): """ Mark a run target as failed (unbuildable) Trigger removal of any files that have this as a dependency """ - bb.msg.note(1, bb.msg.domain.Provider, "Removing failed runtime build target %s" % self.run_names_index[targetid]) + bb.msg.note(1, bb.msg.domain.Provider, "Removing failed runtime build target %s ('%s')" % (self.run_names_index[targetid], missing_list)) self.failed_rdeps.append(targetid) dependees = self.get_rdependees(targetid) for fnid in dependees: - self.fail_fnid(fnid) + self.fail_fnid(fnid, [self.run_names_index[targetid]]+missing_list) def add_unresolved(self, cfgData, dataCache): """ @@ -529,14 +531,26 @@ class TaskData: """ bb.msg.debug(3, bb.msg.domain.TaskData, "build_names:") bb.msg.debug(3, bb.msg.domain.TaskData, ", ".join(self.build_names_index)) + bb.msg.debug(3, bb.msg.domain.TaskData, "run_names:") bb.msg.debug(3, bb.msg.domain.TaskData, ", ".join(self.run_names_index)) + bb.msg.debug(3, bb.msg.domain.TaskData, "build_targets:") - for target in self.build_targets.keys(): - bb.msg.debug(3, bb.msg.domain.TaskData, " %s: %s" % (self.build_names_index[target], self.build_targets[target])) + for buildid in range(len(self.build_names_index)): + target = self.build_names_index[buildid] + targets = "None" + if buildid in self.build_targets: + targets = self.build_targets[buildid] + bb.msg.debug(3, bb.msg.domain.TaskData, " (%s)%s: %s" % (buildid, target, targets)) + bb.msg.debug(3, bb.msg.domain.TaskData, "run_targets:") - for target in self.run_targets.keys(): - bb.msg.debug(3, bb.msg.domain.TaskData, " %s: %s" % (self.run_names_index[target], self.run_targets[target])) + for runid in range(len(self.run_names_index)): + target = self.run_names_index[runid] + targets = "None" + if runid in self.run_targets: + targets = self.run_targets[runid] + bb.msg.debug(3, bb.msg.domain.TaskData, " (%s)%s: %s" % (runid, target, targets)) + bb.msg.debug(3, bb.msg.domain.TaskData, "tasks:") for task in range(len(self.tasks_name)): bb.msg.debug(3, bb.msg.domain.TaskData, " (%s)%s - %s: %s" % ( @@ -544,6 +558,7 @@ class TaskData: self.fn_index[self.tasks_fnid[task]], self.tasks_name[task], self.tasks_tdepends[task])) + bb.msg.debug(3, bb.msg.domain.TaskData, "runtime ids (per fn):") for fnid in self.rdepids: bb.msg.debug(3, bb.msg.domain.TaskData, " %s %s: %s" % (fnid, self.fn_index[fnid], self.rdepids[fnid])) -- cgit v1.2.3