diff options
| -rw-r--r-- | bitbake/lib/bb/ui/buildinfohelper.py | 40 | ||||
| -rw-r--r-- | bitbake/lib/bb/ui/toasterui.py | 3 |
2 files changed, 19 insertions, 24 deletions
diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index fbb2620fda..5881d136c2 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/lib/bb/ui/buildinfohelper.py | |||
| @@ -171,7 +171,7 @@ class ORMWrapper(object): | |||
| 171 | return log_object.save() | 171 | return log_object.save() |
| 172 | 172 | ||
| 173 | 173 | ||
| 174 | def save_build_package_information(self, build_obj, package_info, recipes, files): | 174 | def save_build_package_information(self, build_obj, package_info, recipes): |
| 175 | # create and save the object | 175 | # create and save the object |
| 176 | bp_object = Build_Package.objects.create( build = build_obj, | 176 | bp_object = Build_Package.objects.create( build = build_obj, |
| 177 | recipe = recipes[package_info['PN']], | 177 | recipe = recipes[package_info['PN']], |
| @@ -185,35 +185,33 @@ class ORMWrapper(object): | |||
| 185 | license = package_info['LICENSE'], | 185 | license = package_info['LICENSE'], |
| 186 | ) | 186 | ) |
| 187 | # save any attached file information | 187 | # save any attached file information |
| 188 | if bp_object.name in files.keys(): | 188 | for path in package_info['FILES_INFO']: |
| 189 | for path, size in files[bp_object.name]: | ||
| 190 | fo = Build_File.objects.create( bpackage = bp_object, | 189 | fo = Build_File.objects.create( bpackage = bp_object, |
| 191 | path = path, | 190 | path = path, |
| 192 | size = size ) | 191 | size = package_info['FILES_INFO'][path] ) |
| 193 | del files[bp_object.name] | ||
| 194 | 192 | ||
| 195 | # save soft dependency information | 193 | # save soft dependency information |
| 196 | if package_info['RDEPENDS']: | 194 | if 'RDEPENDS' in package_info and package_info['RDEPENDS']: |
| 197 | for p in bb.utils.explode_deps(package_info['RDEPENDS']): | 195 | for p in bb.utils.explode_deps(package_info['RDEPENDS']): |
| 198 | Build_Package_Dependency.objects.get_or_create( package = bp_object, | 196 | Build_Package_Dependency.objects.get_or_create( package = bp_object, |
| 199 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RDEPENDS) | 197 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RDEPENDS) |
| 200 | if package_info['RPROVIDES']: | 198 | if 'RPROVIDES' in package_info and package_info['RPROVIDES']: |
| 201 | for p in bb.utils.explode_deps(package_info['RPROVIDES']): | 199 | for p in bb.utils.explode_deps(package_info['RPROVIDES']): |
| 202 | Build_Package_Dependency.objects.get_or_create( package = bp_object, | 200 | Build_Package_Dependency.objects.get_or_create( package = bp_object, |
| 203 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RPROVIDES) | 201 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RPROVIDES) |
| 204 | if package_info['RRECOMMENDS']: | 202 | if 'RRECOMMENDS' in package_info and package_info['RRECOMMENDS']: |
| 205 | for p in bb.utils.explode_deps(package_info['RRECOMMENDS']): | 203 | for p in bb.utils.explode_deps(package_info['RRECOMMENDS']): |
| 206 | Build_Package_Dependency.objects.get_or_create( package = bp_object, | 204 | Build_Package_Dependency.objects.get_or_create( package = bp_object, |
| 207 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RRECOMMENDS) | 205 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RRECOMMENDS) |
| 208 | if package_info['RSUGGESTS']: | 206 | if 'RSUGGESTS' in package_info and package_info['RSUGGESTS']: |
| 209 | for p in bb.utils.explode_deps(package_info['RSUGGESTS']): | 207 | for p in bb.utils.explode_deps(package_info['RSUGGESTS']): |
| 210 | Build_Package_Dependency.objects.get_or_create( package = bp_object, | 208 | Build_Package_Dependency.objects.get_or_create( package = bp_object, |
| 211 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RSUGGESTS) | 209 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RSUGGESTS) |
| 212 | if package_info['RREPLACES']: | 210 | if 'RREPLACES' in package_info and package_info['RREPLACES']: |
| 213 | for p in bb.utils.explode_deps(package_info['RREPLACES']): | 211 | for p in bb.utils.explode_deps(package_info['RREPLACES']): |
| 214 | Build_Package_Dependency.objects.get_or_create( package = bp_object, | 212 | Build_Package_Dependency.objects.get_or_create( package = bp_object, |
| 215 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RREPLACES) | 213 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RREPLACES) |
| 216 | if package_info['RCONFLICTS']: | 214 | if 'RCONFLICTS' in package_info and package_info['RCONFLICTS']: |
| 217 | for p in bb.utils.explode_deps(package_info['RCONFLICTS']): | 215 | for p in bb.utils.explode_deps(package_info['RCONFLICTS']): |
| 218 | Build_Package_Dependency.objects.get_or_create( package = bp_object, | 216 | Build_Package_Dependency.objects.get_or_create( package = bp_object, |
| 219 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RCONFLICTS) | 217 | depends_on = p, dep_type = Build_Package_Dependency.TYPE_RCONFLICTS) |
| @@ -223,10 +221,16 @@ class ORMWrapper(object): | |||
| 223 | def save_build_variables(self, build_obj, vardump): | 221 | def save_build_variables(self, build_obj, vardump): |
| 224 | for k in vardump: | 222 | for k in vardump: |
| 225 | if not bool(vardump[k]['func']): | 223 | if not bool(vardump[k]['func']): |
| 224 | value = vardump[k]['v']; | ||
| 225 | if value is None: | ||
| 226 | value = '' | ||
| 227 | desc = vardump[k]['doc']; | ||
| 228 | if desc is None: | ||
| 229 | desc = '' | ||
| 226 | Variable.objects.create( build = build_obj, | 230 | Variable.objects.create( build = build_obj, |
| 227 | variable_name = k, | 231 | variable_name = k, |
| 228 | variable_value = vardump[k]['v'], | 232 | variable_value = value, |
| 229 | description = vardump[k]['doc']) | 233 | description = desc) |
| 230 | 234 | ||
| 231 | 235 | ||
| 232 | class BuildInfoHelper(object): | 236 | class BuildInfoHelper(object): |
| @@ -668,15 +672,7 @@ class BuildInfoHelper(object): | |||
| 668 | self.orm_wrapper.save_build_package_information(self.internal_state['build'], | 672 | self.orm_wrapper.save_build_package_information(self.internal_state['build'], |
| 669 | package_info, | 673 | package_info, |
| 670 | self.internal_state['recipes'], | 674 | self.internal_state['recipes'], |
| 671 | self.internal_state['package_files']) | 675 | ) |
| 672 | |||
| 673 | |||
| 674 | def store_package_file_information(self, event): | ||
| 675 | if not 'package_files' in self.internal_state.keys(): | ||
| 676 | self.internal_state['package_files'] = {} | ||
| 677 | |||
| 678 | data = event.data | ||
| 679 | self.internal_state['package_files'][data['PKG']] = data['FILES'] | ||
| 680 | 676 | ||
| 681 | def _store_log_information(self, level, text): | 677 | def _store_log_information(self, level, text): |
| 682 | log_information = {} | 678 | log_information = {} |
diff --git a/bitbake/lib/bb/ui/toasterui.py b/bitbake/lib/bb/ui/toasterui.py index ab87092e63..6c5b1529df 100644 --- a/bitbake/lib/bb/ui/toasterui.py +++ b/bitbake/lib/bb/ui/toasterui.py | |||
| @@ -140,6 +140,7 @@ def main(server, eventHandler, params ): | |||
| 140 | logfile = event.logfile | 140 | logfile = event.logfile |
| 141 | if logfile and os.path.exists(logfile): | 141 | if logfile and os.path.exists(logfile): |
| 142 | bb.error("Logfile of failure stored in: %s" % logfile) | 142 | bb.error("Logfile of failure stored in: %s" % logfile) |
| 143 | continue | ||
| 143 | 144 | ||
| 144 | # these events are unprocessed now, but may be used in the future to log | 145 | # these events are unprocessed now, but may be used in the future to log |
| 145 | # timing and error informations from the parsing phase in Toaster | 146 | # timing and error informations from the parsing phase in Toaster |
| @@ -230,8 +231,6 @@ def main(server, eventHandler, params ): | |||
| 230 | if isinstance(event, bb.event.MetadataEvent): | 231 | if isinstance(event, bb.event.MetadataEvent): |
| 231 | if event.type == "SinglePackageInfo": | 232 | if event.type == "SinglePackageInfo": |
| 232 | buildinfohelper.store_build_package_information(event) | 233 | buildinfohelper.store_build_package_information(event) |
| 233 | elif event.type == "PackageFileSize": | ||
| 234 | buildinfohelper.store_package_file_information(event) | ||
| 235 | continue | 234 | continue |
| 236 | 235 | ||
| 237 | # ignore | 236 | # ignore |
