raise EventException("Missing node in task graph", InvalidTask(task, d))
# check whether this task needs executing..
- if not data.getVarFlag(task, 'force', d):
- if stamp_is_current(task, d):
- return 1
+ if stamp_is_current(task, d):
+ return 1
# follow digraph path up, then execute our way back down
def execute(graph, item):
bb.event.fire(bb.event.PkgStarted(item, the_data))
try:
self.stats.attempt += 1
- if self.configuration.force:
- bb.data.setVarFlag('do_%s' % task, 'force', 1, the_data)
if not build_depends:
bb.data.setVarFlag('do_%s' % task, 'dontrundeps', 1, the_data)
if not self.configuration.dry_run:
item = self.status.pkg_fn[fn]
- if bb.build.stamp_is_current('do_%s' % self.configuration.cmd, the_data) and not self.configuration.force:
+ if bb.build.stamp_is_current('do_%s' % self.configuration.cmd, the_data):
self.build_cache.append(fn)
return True
self.parseConfigurationFile( os.path.join( "conf", "bitbake.conf" ) )
if not self.configuration.cmd:
- self.configuration.cmd = bb.data.getVar("BB_DEFAULT_TASK", self.configuration.data)
-
- # For backwards compatibility - REMOVE ME
- if not self.configuration.cmd:
- self.configuration.cmd = "build"
+ self.configuration.cmd = bb.data.getVar("BB_DEFAULT_TASK", self.configuration.data) or "build"
#
# Special updated configuration we use for firing events
bbfile_data = bb.parse.handle(bf, self.configuration.data)
+ # Remove stamp for target if force mode active
+ if self.configuration.force:
+ bb.msg.note(2, bb.msg.domain.RunQueue, "Remove stamp %s, %s" % (self.configuration.cmd, bf))
+ bb.build.del_stamp('do_%s' % self.configuration.cmd, bbfile_data)
+
item = bb.data.getVar('PN', bbfile_data, 1)
try:
self.tryBuildPackage(bf, item, self.configuration.cmd, bbfile_data, True)
for target in targets:
targetid = taskData.getbuild_id(target[0])
- if targetid in taskData.failed_deps:
- continue
if targetid not in taskData.build_targets:
continue
fnid = taskData.build_targets[targetid][0]
+
+ # Remove stamps for targets if force mode active
+ if cooker.configuration.force:
+ fn = taskData.fn_index[fnid]
+ bb.msg.note(2, bb.msg.domain.RunQueue, "Remove stamp %s, %s" % (target[1], fn))
+ bb.build.del_stamp(target[1], dataCache, fn)
+
+ if targetid in taskData.failed_deps:
+ continue
+
if fnid in taskData.failed_fnids:
continue
taskname = self.runq_task[task]
if bb.build.stamp_is_current(taskname, dataCache, fn):
- targetid = taskData.gettask_id(fn, taskname)
- if not (targetid in taskData.external_targets and cooker.configuration.force):
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Stamp current task %s (%s)" % (task, self.get_user_idstring(task, taskData)))
- runq_running[task] = 1
- task_complete(self, task)
- continue
+ bb.msg.debug(2, bb.msg.domain.RunQueue, "Stamp current task %s (%s)" % (task, self.get_user_idstring(task, taskData)))
+ runq_running[task] = 1
+ task_complete(self, task)
+ continue
bb.msg.debug(1, bb.msg.domain.RunQueue, "Running task %s (%s)" % (task, self.get_user_idstring(task, taskData)))
try: