From 6fc246232aeacfacdf5e873e84be1485ce2c22e0 Mon Sep 17 00:00:00 2001 From: Alexandru DAMIAN Date: Mon, 10 Feb 2014 14:26:12 +0000 Subject: [PATCH] bitbake: toaster: mark dependency packages We need to mark the package entries that are created solely for dependency tracking purposes. In order to avoid altering the database schema, we mark the dependency targets with size = -1, since this is not a valid size anyway and makes for easy filtering. [YOCTO #5803] (Bitbake rev: d11ed273dd6c520b16e9ccfe79476f340006a55d) Signed-off-by: Alexandru DAMIAN Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/buildinfohelper.py | 6 +++++- bitbake/lib/toaster/toastergui/views.py | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index 4c9c96b1bc..a0f10952f0 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/lib/bb/ui/buildinfohelper.py @@ -239,7 +239,11 @@ class ORMWrapper(object): size = package_info['FILES_INFO'][path] ) def _po_byname(p): - return Package.objects.get_or_create(build = build_obj, name = p)[0] + pkg, created = Package.objects.get_or_create(build = build_obj, name = p) + if created: + pkg.size = -1 + pkg.save() + return pkg # save soft dependency information if 'RDEPENDS' in package_info and package_info['RDEPENDS']: diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py index 2b06e2136b..c786df41fc 100644 --- a/bitbake/lib/toaster/toastergui/views.py +++ b/bitbake/lib/toaster/toastergui/views.py @@ -366,7 +366,7 @@ def recipe(request, build_id, recipe_id): layer_version = Layer_Version.objects.filter(pk=object.layer_version_id)[0] layer = Layer.objects.filter(pk=layer_version.layer_id)[0] tasks = Task.objects.filter(recipe_id = recipe_id).filter(build_id = build_id) - packages = Package.objects.filter(recipe_id = recipe_id).filter(build_id = build_id) + packages = Package.objects.filter(recipe_id = recipe_id).filter(build_id = build_id).filter(size__gte=0) context = { 'build' : Build.objects.filter(pk=build_id)[0], @@ -725,7 +725,7 @@ def bpackage(request, build_id): if retval: return _redirect_parameters( 'packages', request.GET, mandatory_parameters, build_id = build_id) (filter_string, search_term, ordering_string) = _search_tuple(request, Package) - queryset = Package.objects.filter(build = build_id) + queryset = Package.objects.filter(build = build_id).filter(size__gte=0) queryset = _get_queryset(Package, queryset, filter_string, search_term, ordering_string) packages = _build_page_range(Paginator(queryset, request.GET.get('count', 100)),request.GET.get('page', 1))