aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/packageinfo.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-12 16:31:57 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-14 12:55:22 +0100
commitbff73743280f9eafebe4591f7368ead91a4eb74d (patch)
tree59ebd0fa20f3e0345951c097ea69d6a485249190 /meta/classes/packageinfo.bbclass
parent8b90f1becd40a7f857d2fbe30eaffe218a976419 (diff)
downloadopenembedded-core-contrib-bff73743280f9eafebe4591f7368ead91a4eb74d.tar.gz
classes/conf: Add eventmasks for event handlers
Now that bitbake supports masking events for event handlers, lets use this so event handlers are only called for events they care about. This lets us simplify the code indentation a bit at least as well as mildly improving the event handling performance. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/packageinfo.bbclass')
-rw-r--r--meta/classes/packageinfo.bbclass50
1 files changed, 25 insertions, 25 deletions
diff --git a/meta/classes/packageinfo.bbclass b/meta/classes/packageinfo.bbclass
index 4709bea359..42fcd04150 100644
--- a/meta/classes/packageinfo.bbclass
+++ b/meta/classes/packageinfo.bbclass
@@ -1,29 +1,29 @@
python packageinfo_handler () {
- if isinstance(e, bb.event.RequestPackageInfo):
- import oe.packagedata
- pkginfolist = []
- tmpdir = e.data.getVar('TMPDIR', True)
- target_vendor = e.data.getVar('TARGET_VENDOR', True)
- target_os = e.data.getVar('TARGET_OS', True)
- package_archs = e.data.getVar('PACKAGE_ARCHS', True)
- packaging = e.data.getVar('PACKAGE_CLASSES', True).split()[0].split('_')[1]
- deploy_dir = e.data.getVar('DEPLOY_DIR', True) + '/' + packaging
-
- for arch in package_archs.split():
- pkgdata_dir = tmpdir + '/pkgdata/' + arch + target_vendor + '-' + target_os + '/runtime/'
- if os.path.exists(pkgdata_dir):
- for root, dirs, files in os.walk(pkgdata_dir):
- for pkgname in files:
- if pkgname.endswith('.packaged'):
- pkgname = pkgname[:-9]
- pkgdatafile = root + pkgname
- try:
- sdata = oe.packagedata.read_pkgdatafile(pkgdatafile)
- sdata['PKG'] = pkgname
- pkginfolist.append(sdata)
- except Exception as e:
- bb.warn("Failed to read pkgdata file %s: %s: %s" % (pkgdatafile, e.__class__, str(e)))
- bb.event.fire(bb.event.PackageInfo(pkginfolist), e.data)
+ import oe.packagedata
+ pkginfolist = []
+ tmpdir = e.data.getVar('TMPDIR', True)
+ target_vendor = e.data.getVar('TARGET_VENDOR', True)
+ target_os = e.data.getVar('TARGET_OS', True)
+ package_archs = e.data.getVar('PACKAGE_ARCHS', True)
+ packaging = e.data.getVar('PACKAGE_CLASSES', True).split()[0].split('_')[1]
+ deploy_dir = e.data.getVar('DEPLOY_DIR', True) + '/' + packaging
+
+ for arch in package_archs.split():
+ pkgdata_dir = tmpdir + '/pkgdata/' + arch + target_vendor + '-' + target_os + '/runtime/'
+ if os.path.exists(pkgdata_dir):
+ for root, dirs, files in os.walk(pkgdata_dir):
+ for pkgname in files:
+ if pkgname.endswith('.packaged'):
+ pkgname = pkgname[:-9]
+ pkgdatafile = root + pkgname
+ try:
+ sdata = oe.packagedata.read_pkgdatafile(pkgdatafile)
+ sdata['PKG'] = pkgname
+ pkginfolist.append(sdata)
+ except Exception as e:
+ bb.warn("Failed to read pkgdata file %s: %s: %s" % (pkgdatafile, e.__class__, str(e)))
+ bb.event.fire(bb.event.PackageInfo(pkginfolist), e.data)
}
addhandler packageinfo_handler
+packageinfo_handler[eventmask] = "bb.event.RequestPackageInfo"