23 lines
		
	
	
		
			925 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			925 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| python packageinfo_handler () {
 | |
|     import oe.packagedata
 | |
|     pkginfolist = []
 | |
| 
 | |
|     pkgdata_dir = e.data.getVar("PKGDATA_DIR", True) + '/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"
 | 
