bitbake build.py: Stamp handling improvements

* Move stamp file deletion out of the internal stamp helper function
* Add a new function to return the path to a stamp for a given task

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2011-01-06 19:43:41 +00:00
parent 4a10a5b438
commit ec6e4793dc
1 changed files with 11 additions and 5 deletions

View File

@ -376,7 +376,6 @@ def exec_task(fn, task, d):
def stamp_internal(task, d, file_name): def stamp_internal(task, d, file_name):
""" """
Internal stamp helper function Internal stamp helper function
Removes any stamp for the given task
Makes sure the stamp directory exists Makes sure the stamp directory exists
Returns the stamp path+filename Returns the stamp path+filename
@ -392,11 +391,9 @@ def stamp_internal(task, d, file_name):
return return
stamp = "%s.%s" % (stamp, task) stamp = "%s.%s" % (stamp, task)
bb.utils.mkdirhier(os.path.dirname(stamp)) bb.utils.mkdirhier(os.path.dirname(stamp))
# Remove the file and recreate to force timestamp
# change on broken NFS filesystems
if os.access(stamp, os.F_OK):
os.remove(stamp)
return stamp return stamp
def make_stamp(task, d, file_name = None): def make_stamp(task, d, file_name = None):
@ -405,6 +402,10 @@ def make_stamp(task, d, file_name = None):
(d can be a data dict or dataCache) (d can be a data dict or dataCache)
""" """
stamp = stamp_internal(task, d, file_name) stamp = stamp_internal(task, d, file_name)
# Remove the file and recreate to force timestamp
# change on broken NFS filesystems
if os.access(stamp, os.F_OK):
os.remove(stamp)
if stamp: if stamp:
f = open(stamp, "w") f = open(stamp, "w")
f.close() f.close()
@ -415,6 +416,11 @@ def del_stamp(task, d, file_name = None):
(d can be a data dict or dataCache) (d can be a data dict or dataCache)
""" """
stamp_internal(task, d, file_name) stamp_internal(task, d, file_name)
if os.access(stamp, os.F_OK):
os.remove(stamp)
def stampfile(taskname, d):
return stamp_internal(taskname, d, None)
def add_tasks(tasklist, d): def add_tasks(tasklist, d):
task_deps = data.getVar('_task_deps', d) task_deps = data.getVar('_task_deps', d)