From d11ed273dd6c520b16e9ccfe79476f340006a55d Mon Sep 17 00:00:00 2001 From: Alexandru DAMIAN Date: Mon, 10 Feb 2014 14:26:12 +0000 Subject: [PATCH] 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] Signed-off-by: Alexandru DAMIAN --- lib/bb/ui/buildinfohelper.py | 6 +++++- lib/toaster/toastergui/views.py | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py index 4c9c96b1bc7..a0f10952f01 100644 --- a/lib/bb/ui/buildinfohelper.py +++ b/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/lib/toaster/toastergui/views.py b/lib/toaster/toastergui/views.py index 2b06e2136bc..c786df41fcf 100644 --- a/lib/toaster/toastergui/views.py +++ b/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)) -- 2.47.3