From a13304e1c6500db95823961a5a34849db46037e3 Mon Sep 17 00:00:00 2001 From: Joshua Lock Date: Fri, 7 Jan 2011 12:57:18 +0000 Subject: 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 --- bitbake/lib/bb/cache.py | 12 ++++++++++++ bitbake/lib/bb/cooker.py | 6 ++++++ 2 files changed, 18 insertions(+) (limited to 'bitbake') diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py index 599f15c00f..8eea482a2d 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 f0d40a0673..1a05a312b4 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 = [] -- cgit 1.2.3-korg