diff options
author | Joshua Lock <josh@linux.intel.com> | 2011-01-07 12:57:18 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-02-24 15:54:51 +0000 |
commit | a13304e1c6500db95823961a5a34849db46037e3 (patch) | |
tree | d895bf66c3b3bd656985d4098437b8cbd7bfe1d2 | |
parent | 3c1a3b0724d5175e81ec81cce448d5b618d21958 (diff) | |
download | ast2050-yocto-poky-a13304e1c6500db95823961a5a34849db46037e3.zip ast2050-yocto-poky-a13304e1c6500db95823961a5a34849db46037e3.tar.gz |
bitbake/[cooker|cache]: cache summary, license and group. Add to targets tree
Add summary, license and group metadata to RecipeInfo and the cache.
Unfortunately this impacts parse speed but gives us a much richer set of
metadata to expose through UI's which can be accessed via the
generateTargetsTree command.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
-rw-r--r-- | bitbake/lib/bb/cache.py | 12 | ||||
-rw-r--r-- | bitbake/lib/bb/cooker.py | 6 |
2 files changed, 18 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py index 599f15c..8eea482 100644 --- a/bitbake/lib/bb/cache.py +++ b/bitbake/lib/bb/cache.py @@ -75,6 +75,9 @@ recipe_fields = ( 'basetaskhashes', 'hashfilename', 'inherits', + 'summary', + 'license', + 'section', ) @@ -166,6 +169,9 @@ class RecipeInfo(namedtuple('RecipeInfo', recipe_fields)): rdepends_pkg = cls.pkgvar('RDEPENDS', packages, metadata), rrecommends_pkg = cls.pkgvar('RRECOMMENDS', packages, metadata), inherits = cls.getvar('__inherit_cache', metadata), + summary = cls.getvar('SUMMARY', metadata), + license = cls.getvar('LICENSE', metadata), + section = cls.getvar('SECTION', metadata), ) @@ -575,6 +581,9 @@ class CacheData(object): self.basetaskhash = {} self.hashfn = {} self.inherits = {} + self.summary = {} + self.license = {} + self.section = {} # Indirect Cache variables (set elsewhere) self.ignored_dependencies = [] @@ -635,3 +644,6 @@ class CacheData(object): self.basetaskhash[identifier] = taskhash self.inherits[fn] = info.inherits + self.summary[fn] = info.summary + self.license[fn] = info.license + self.section[fn] = info.section diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index f0d40a0..1a05a31 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -491,10 +491,16 @@ class BBCooker: fn = taskdata.fn_index[fnid] pn = self.status.pkg_fn[fn] version = "%s:%s-%s" % self.status.pkg_pepvpr[fn] + summary = self.status.summary[fn] + license = self.status.license[fn] + section = self.status.section[fn] if pn not in target_tree["pn"]: target_tree["pn"][pn] = {} target_tree["pn"][pn]["filename"] = fn target_tree["pn"][pn]["version"] = version + target_tree["pn"][pn]["summary"] = summary + target_tree["pn"][pn]["license"] = license + target_tree["pn"][pn]["section"] = section if fnid not in seen_fnids: seen_fnids.append(fnid) packages = [] |