diff options
-rw-r--r-- | lib/bb/runqueue.py | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 60ef5ea97..e1e8ff041 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -781,100 +781,6 @@ class RunQueue: self.rqexe = None - def check_stamps(self): - unchecked = {} - current = [] - notcurrent = [] - buildable = [] - - if self.stamppolicy == "perfile": - fulldeptree = False - else: - fulldeptree = True - stampwhitelist = [] - if self.stamppolicy == "whitelist": - stampwhitelist = self.rqdata.stampfnwhitelist - - for task in xrange(len(self.rqdata.runq_fnid)): - unchecked[task] = "" - if len(self.rqdata.runq_depends[task]) == 0: - buildable.append(task) - - def check_buildable(self, task, buildable): - for revdep in self.rqdata.runq_revdeps[task]: - alldeps = 1 - for dep in self.rqdata.runq_depends[revdep]: - if dep in unchecked: - alldeps = 0 - if alldeps == 1: - if revdep in unchecked: - buildable.append(revdep) - - for task in xrange(len(self.rqdata.runq_fnid)): - if task not in unchecked: - continue - fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]] - taskname = self.rqdata.runq_task[task] - stampfile = bb.build.stampfile(taskname, self.rqdata.dataCache, fn) - # If the stamp is missing its not current - if not os.access(stampfile, os.F_OK): - del unchecked[task] - notcurrent.append(task) - check_buildable(self, task, buildable) - continue - # If its a 'nostamp' task, it's not current - taskdep = self.rqdata.dataCache.task_deps[fn] - if 'nostamp' in taskdep and task in taskdep['nostamp']: - del unchecked[task] - notcurrent.append(task) - check_buildable(self, task, buildable) - continue - - while (len(buildable) > 0): - nextbuildable = [] - for task in buildable: - if task in unchecked: - fn = self.taskData.fn_index[self.rqdata.runq_fnid[task]] - taskname = self.rqdata.runq_task[task] - stampfile = bb.build.stampfile(taskname, self.rqdata.dataCache, fn) - iscurrent = True - - t1 = os.stat(stampfile)[stat.ST_MTIME] - for dep in self.rqdata.runq_depends[task]: - if iscurrent: - fn2 = self.taskData.fn_index[self.rqdata.runq_fnid[dep]] - taskname2 = self.rqdata.runq_task[dep] - stampfile2 = bb.build.stampfile(taskname2, self.rqdata.dataCache, fn2) - if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist): - if dep in notcurrent: - iscurrent = False - else: - t2 = os.stat(stampfile2)[stat.ST_MTIME] - if t1 < t2: - iscurrent = False - del unchecked[task] - if iscurrent: - current.append(task) - else: - notcurrent.append(task) - - check_buildable(self, task, nextbuildable) - - buildable = nextbuildable - - #for task in range(len(self.runq_fnid)): - # fn = self.taskData.fn_index[self.runq_fnid[task]] - # taskname = self.runq_task[task] - # print "%s %s.%s" % (task, taskname, fn) - - #print "Unchecked: %s" % unchecked - #print "Current: %s" % current - #print "Not current: %s" % notcurrent - - if len(unchecked) > 0: - bb.msg.fatal("RunQueue", "check_stamps fatal internal error") - return current - def check_stamp_task(self, task, taskname = None, recurse = False, cache = None): def get_timestamp(f): try: |