]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
toaster: mark dependency packages
authorAlexandru DAMIAN <alexandru.damian@intel.com>
Mon, 10 Feb 2014 14:26:12 +0000 (14:26 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 9 Mar 2014 19:22:34 +0000 (12:22 -0700)
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 <alexandru.damian@intel.com>
lib/bb/ui/buildinfohelper.py
lib/toaster/toastergui/views.py

index 4c9c96b1bc71e679ba780f1c0b9c53fb850a6165..a0f10952f0192736250abaed8cd1ef77819a6d9a 100644 (file)
@@ -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']:
index 2b06e2136bc7bd8d879465b2fd16b7e26fb3a0fe..c786df41fcfee91fa1f1048f22a5e112d0cfa5e3 100644 (file)
@@ -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))