diff options
| author | Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> | 2010-03-21 23:02:56 +0100 |
|---|---|---|
| committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-07-02 15:41:31 +0100 |
| commit | ca9a956abc6b9b20bc7616c9e9bb2341be2bf5bb (patch) | |
| tree | 8173b96cfa9cf35e7c9289511b7ba2600cab8e6b | |
| parent | a7f05ea4af0aab88cdd8699ed8d73ae3cca04044 (diff) | |
| download | poky-ca9a956abc6b9b20bc7616c9e9bb2341be2bf5bb.tar.gz | |
Made '-b' work with BBCLASSEXTEND
When BBCLASSEXTEND is set, '-b' builds usually failed with messages
like
| ERROR: Parsing error data_fn virtual:native:<recipe>.bb and fn
<recipe>.bb don't match
|
| File ".../bb/providers.py", line 47, in sortPriorities
| priority = dataCache.bbfile_priority[f]
| KeyError: 'virtual:native:<recipe>.bb'
This patch fixes it and allows to specify the alternative class in a
way like
| ./bitbake -b virtual:native:<recipe>.bb
This patch was written to be so minimal as possible; variables should be
probably renamed to reflect their new meaning.
(Bitbake rev: f1c7fe9fc12161ceb3fe201cde370b929b208729)
Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
| -rw-r--r-- | bitbake/lib/bb/cache.py | 1 | ||||
| -rw-r--r-- | bitbake/lib/bb/cooker.py | 14 |
2 files changed, 11 insertions, 4 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py index f3ba714d46..30857864dc 100644 --- a/bitbake/lib/bb/cache.py +++ b/bitbake/lib/bb/cache.py | |||
| @@ -137,6 +137,7 @@ class Cache: | |||
| 137 | # If we're a virtual class we need to make sure all our depends are appended | 137 | # If we're a virtual class we need to make sure all our depends are appended |
| 138 | # to the depends of fn. | 138 | # to the depends of fn. |
| 139 | depends = self.getVar("__depends", virtualfn, True) or [] | 139 | depends = self.getVar("__depends", virtualfn, True) or [] |
| 140 | self.depends_cache.setdefault(fn, {}) | ||
| 140 | if "__depends" not in self.depends_cache[fn] or not self.depends_cache[fn]["__depends"]: | 141 | if "__depends" not in self.depends_cache[fn] or not self.depends_cache[fn]["__depends"]: |
| 141 | self.depends_cache[fn]["__depends"] = depends | 142 | self.depends_cache[fn]["__depends"] = depends |
| 142 | for dep in depends: | 143 | for dep in depends: |
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 2406dfe95b..f49e76d04a 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
| @@ -630,13 +630,19 @@ class BBCooker: | |||
| 630 | if (task == None): | 630 | if (task == None): |
| 631 | task = self.configuration.cmd | 631 | task = self.configuration.cmd |
| 632 | 632 | ||
| 633 | fn = self.matchFile(buildfile) | 633 | self.bb_cache = bb.cache.init(self) |
| 634 | self.status = bb.cache.CacheData() | ||
| 635 | |||
| 636 | (fn, cls) = self.bb_cache.virtualfn2realfn(buildfile) | ||
| 637 | buildfile = self.matchFile(fn) | ||
| 638 | fn = self.bb_cache.realfn2virtual(buildfile, cls) | ||
| 639 | |||
| 634 | self.buildSetVars() | 640 | self.buildSetVars() |
| 635 | 641 | ||
| 636 | # Load data into the cache for fn and parse the loaded cache data | 642 | # Load data into the cache for fn and parse the loaded cache data |
| 637 | self.bb_cache = bb.cache.init(self) | 643 | the_data = self.bb_cache.loadDataFull(fn, self.configuration.data) |
| 638 | self.status = bb.cache.CacheData() | 644 | self.bb_cache.setData(fn, buildfile, the_data) |
| 639 | self.bb_cache.loadData(fn, self.configuration.data, self.status) | 645 | self.bb_cache.handle_data(fn, self.status) |
| 640 | 646 | ||
| 641 | # Tweak some variables | 647 | # Tweak some variables |
| 642 | item = self.bb_cache.getVar('PN', fn, True) | 648 | item = self.bb_cache.getVar('PN', fn, True) |
