From: Richard Purdie Date: Thu, 4 Jan 2007 22:55:21 +0000 (+0000) Subject: runqueue.py: Don't create recurisve tasks if they don't exist but still follow depend... X-Git-Tag: 1.8.0~34 X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_bitbake;a=commitdiff_plain;h=d25bfb5029f00523b38fea216def0c466d244bad runqueue.py: Don't create recurisve tasks if they don't exist but still follow dependencies. Also allow multiple recrdeptask entries. --- diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index d69d916..a682b54 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -107,9 +107,13 @@ class RunQueue: depdata = taskData.build_targets[depid][0] if depdata: dep = taskData.fn_index[depdata] - taskid = taskData.gettask_id(dep, taskname) - depends.append(taskid) - fnid = taskData.tasks_fnid[taskid] + # Need to avoid creating new tasks here + taskid = taskData.gettask_id(dep, taskname, False) + if taskid: + depends.append(taskid) + fnid = taskData.tasks_fnid[taskid] + else: + fnid = taskData.getfn_id(dep) for nextdepid in taskData.depids[fnid]: if nextdepid not in dep_seen: add_recursive_build(nextdepid) @@ -130,9 +134,13 @@ class RunQueue: depdata = taskData.run_targets[rdepid][0] if depdata: dep = taskData.fn_index[depdata] - taskid = taskData.gettask_id(dep, taskname) - depends.append(taskid) - fnid = taskData.tasks_fnid[taskid] + # Need to avoid creating new tasks here + taskid = taskData.gettask_id(dep, taskname, False) + if taskid: + depends.append(taskid) + fnid = taskData.tasks_fnid[taskid] + else: + fnid = taskData.getfn_id(dep) for nextdepid in taskData.depids[fnid]: if nextdepid not in dep_seen: add_recursive_build(nextdepid) @@ -146,11 +154,11 @@ class RunQueue: if 'recrdeptask' in task_deps and taskData.tasks_name[task] in task_deps['recrdeptask']: dep_seen = [] rdep_seen = [] - taskname = task_deps['recrdeptask'][taskData.tasks_name[task]] - for depid in taskData.depids[fnid]: - add_recursive_build(depid) - for rdepid in taskData.rdepids[fnid]: - add_recursive_run(rdepid) + for taskname in task_deps['recrdeptask'][taskData.tasks_name[task]].split(): + for depid in taskData.depids[fnid]: + add_recursive_build(depid) + for rdepid in taskData.rdepids[fnid]: + add_recursive_run(rdepid) #Prune self references if task in depends: