summaryrefslogtreecommitdiff
path: root/classes/base.bbclass
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2006-09-14 21:14:12 +0000
committerKoen Kooi <koen@openembedded.org>2006-09-14 21:14:12 +0000
commit189eeba1948c7e4def33a113ceffdeb4f5567e1f (patch)
treeeefca2a57c1c3e8ee8f8712448644b60363eaec0 /classes/base.bbclass
parent267cf1fed093319afbc1f3d47e4efaca83d83149 (diff)
parent21a20a6d6cc8f87061d3e4fa557971447fa64adb (diff)
merge of 'a1d864e39820a6d83791681ce836e11ac38a89b6'
and 'db2f843f48cece5e25cf2e654db269ba3dba5192'
Diffstat (limited to 'classes/base.bbclass')
-rw-r--r--classes/base.bbclass48
1 files changed, 42 insertions, 6 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index bb4abb9571..0a28194719 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -631,24 +631,60 @@ python read_shlibdeps () {
bb.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d)
}
-python read_subpackage_metadata () {
- import re
+def read_pkgdatafile(fn):
+ pkgdata = {}
def decode(str):
import codecs
c = codecs.getdecoder("string_escape")
return c(str)[0]
- data_file = bb.data.expand("${WORKDIR}/install/${PN}.package", d)
- if os.access(data_file, os.R_OK):
- f = file(data_file, 'r')
+ import os
+ if os.access(fn, os.R_OK):
+ import re
+ f = file(fn, 'r')
lines = f.readlines()
f.close()
r = re.compile("([^:]+):\s*(.*)")
for l in lines:
m = r.match(l)
if m:
- bb.data.setVar(m.group(1), decode(m.group(2)), d)
+ pkgdata[m.group(1)] = decode(m.group(2))
+
+ return pkgdata
+
+def has_subpkgdata(pkg, d):
+ import bb, os
+ fn = bb.data.expand('${STAGING_DIR}/pkgdata/runtime/%s' % pkg, d)
+ return os.access(fn, os.R_OK)
+
+def read_subpkgdata(pkg, d):
+ import bb, os
+ fn = bb.data.expand('${STAGING_DIR}/pkgdata/runtime/%s' % pkg, d)
+ return read_pkgdatafile(fn)
+
+
+def has_pkgdata(pn, d):
+ import bb, os
+ fn = bb.data.expand('${STAGING_DIR}/pkgdata/%s' % pn, d)
+ return os.access(fn, os.R_OK)
+
+def read_pkgdata(pn, d):
+ import bb, os
+ fn = bb.data.expand('${STAGING_DIR}/pkgdata/%s' % pn, d)
+ return read_pkgdatafile(fn)
+
+python read_subpackage_metadata () {
+ import bb
+ data = read_pkgdata(bb.data.getVar('PN', d, 1), d)
+
+ for key in data.keys():
+ bb.data.setVar(key, data[key], d)
+
+ for pkg in bb.data.getVar('PACKAGES', d, 1).split():
+ sdata = read_subpkgdata(pkg, d)
+ for key in sdata.keys():
+ bb.data.setVar(key, sdata[key], d)
}
python __anonymous () {