aboutsummaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2011-01-07 12:57:18 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-24 15:54:51 +0000
commita13304e1c6500db95823961a5a34849db46037e3 (patch)
treed895bf66c3b3bd656985d4098437b8cbd7bfe1d2 /bitbake
parent3c1a3b0724d5175e81ec81cce448d5b618d21958 (diff)
downloadopenembedded-core-contrib-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>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/cache.py12
-rw-r--r--bitbake/lib/bb/cooker.py6
2 files changed, 18 insertions, 0 deletions
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 = []