diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-06 19:43:41 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-06 19:43:56 +0000 |
commit | ec6e4793dc79c61b780b74571db4cd66c1c04251 (patch) | |
tree | 116fa2753ef2ba81facd490eef6fab8bade1b898 | |
parent | 4a10a5b438f49577fb29f4e277e2300cdce10ab8 (diff) | |
download | openembedded-core-ec6e4793dc79c61b780b74571db4cd66c1c04251.tar.gz openembedded-core-ec6e4793dc79c61b780b74571db4cd66c1c04251.tar.bz2 openembedded-core-ec6e4793dc79c61b780b74571db4cd66c1c04251.zip |
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>
-rw-r--r-- | bitbake/lib/bb/build.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index 967aa21a70..3fc01486ca 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/lib/bb/build.py @@ -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) |