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):
"""
Internal stamp helper function
Removes any stamp for the given task
Makes sure the stamp directory exists
Returns the stamp path+filename
@ -392,11 +391,9 @@ def stamp_internal(task, d, file_name):
return
stamp = "%s.%s" % (stamp, task)
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
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)
"""
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:
f = open(stamp, "w")
f.close()
@ -415,6 +416,11 @@ def del_stamp(task, d, file_name = None):
(d can be a data dict or dataCache)
"""
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):
task_deps = data.getVar('_task_deps', d)