summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cache.py
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2011-06-28 17:05:19 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-28 13:44:38 +0100
commit671e580111c3f37f3c7835956db17e0425f9f937 (patch)
tree042cdc41190ccbe14e5be5e616bb57d375283f23 /bitbake/lib/bb/cache.py
parenta1f79a7896b6411669b3ccada6204d2695e80fc5 (diff)
downloadpoky-671e580111c3f37f3c7835956db17e0425f9f937.tar.gz
bitbake: Add task specific stamp file support
This patch, based on proof of concept code from Richard adds code to bitbake to allow individual tasks to optionally specify their stamp file using the stamp-base flag. This takes the same form as the STAMP variable but can be specified on a per task basis. Code is also added to runqueue to ensure that if two tasks share the same stamp file, only one will be executed at once. A significant usecase for this code is to share source code (${S}) between recipes where separate build directories (${B}) are used. (Bitbake rev: 41bef02bef8379590ba012319aebe05068a8081e) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cache.py')
-rw-r--r--bitbake/lib/bb/cache.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index 6c92a9363a..99d7395f86 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -124,6 +124,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
124 self.broken = self.getvar('BROKEN', metadata) 124 self.broken = self.getvar('BROKEN', metadata)
125 self.not_world = self.getvar('EXCLUDE_FROM_WORLD', metadata) 125 self.not_world = self.getvar('EXCLUDE_FROM_WORLD', metadata)
126 self.stamp = self.getvar('STAMP', metadata) 126 self.stamp = self.getvar('STAMP', metadata)
127 self.stamp_base = self.flaglist('stamp-base', self.tasks, metadata)
127 self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata) 128 self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata)
128 self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata) 129 self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
129 self.depends = self.depvar('DEPENDS', metadata) 130 self.depends = self.depvar('DEPENDS', metadata)
@@ -151,6 +152,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
151 cachedata.pkg_dp = {} 152 cachedata.pkg_dp = {}
152 153
153 cachedata.stamp = {} 154 cachedata.stamp = {}
155 cachedata.stamp_base = {}
154 cachedata.stamp_extrainfo = {} 156 cachedata.stamp_extrainfo = {}
155 cachedata.fn_provides = {} 157 cachedata.fn_provides = {}
156 cachedata.pn_provides = defaultdict(list) 158 cachedata.pn_provides = defaultdict(list)
@@ -183,6 +185,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
183 cachedata.pkg_pepvpr[fn] = (self.pe, self.pv, self.pr) 185 cachedata.pkg_pepvpr[fn] = (self.pe, self.pv, self.pr)
184 cachedata.pkg_dp[fn] = self.defaultpref 186 cachedata.pkg_dp[fn] = self.defaultpref
185 cachedata.stamp[fn] = self.stamp 187 cachedata.stamp[fn] = self.stamp
188 cachedata.stamp_base[fn] = self.stamp_base
186 cachedata.stamp_extrainfo[fn] = self.stamp_extrainfo 189 cachedata.stamp_extrainfo[fn] = self.stamp_extrainfo
187 190
188 provides = [self.pn] 191 provides = [self.pn]