diff options
Diffstat (limited to 'bitbake/lib/toaster/toastergui')
| -rw-r--r-- | bitbake/lib/toaster/toastergui/templates/builddashboard.html | 64 | ||||
| -rwxr-xr-x | bitbake/lib/toaster/toastergui/views.py | 19 |
2 files changed, 53 insertions, 30 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/builddashboard.html b/bitbake/lib/toaster/toastergui/templates/builddashboard.html index f6d62b9951..e1bde21e99 100644 --- a/bitbake/lib/toaster/toastergui/templates/builddashboard.html +++ b/bitbake/lib/toaster/toastergui/templates/builddashboard.html | |||
| @@ -80,29 +80,30 @@ | |||
| 80 | <dd><a href="{% url 'target' build.pk target.target.pk %}">{{target.npkg}}</a></dd> | 80 | <dd><a href="{% url 'target' build.pk target.target.pk %}">{{target.npkg}}</a></dd> |
| 81 | <dt>Total package size</dt> | 81 | <dt>Total package size</dt> |
| 82 | <dd>{{target.pkgsz|filtered_filesizeformat}}</dd> | 82 | <dd>{{target.pkgsz|filtered_filesizeformat}}</dd> |
| 83 | {% if target.targetHasNoImages %} | 83 | </dl> |
| 84 | </dl> | 84 | {% if target.targetHasNoImages %} |
| 85 | <div class="row"> | 85 | <div class="row"> |
| 86 | <div class="col-md-7"> | 86 | <div class="col-md-7"> |
| 87 | <div class="alert alert-info"> | 87 | <div class="alert alert-info"> |
| 88 | <p> | 88 | <p> |
| 89 | <strong>This build did not create any image files</strong> | 89 | <strong>This build did not create any image files</strong> |
| 90 | </p> | 90 | </p> |
| 91 | <p> | 91 | <p> |
| 92 | This is probably because valid image and license manifest | 92 | This is probably because valid image and license manifest |
| 93 | files from a previous build already exist in your | 93 | files from a previous build already exist in your |
| 94 | <code>build/tmp/deploy</code> | 94 | <code>build/tmp/deploy</code> |
| 95 | directory. You can | 95 | directory. You can |
| 96 | also <a href="{% url 'target' build.pk target.target.pk %}">view the | 96 | also <a href="{% url 'target' build.pk target.target.pk %}">view the |
| 97 | license manifest information</a> in Toaster. | 97 | license manifest information</a> in Toaster. |
| 98 | </p> | 98 | </p> |
| 99 | </div> | ||
| 100 | </div> | ||
| 101 | </div> | 99 | </div> |
| 102 | {% else %} | 100 | </div> |
| 101 | </div> | ||
| 102 | {% endif %} | ||
| 103 | {% if not target.targetHasNoImages %} | ||
| 104 | <dl class="dl-horizontal"> | ||
| 103 | <dt> | 105 | <dt> |
| 104 | <span class="glyphicon glyphicon-question-sign get-help" title="The location in disk of the license manifest, a document listing all packages installed in your image and their licenses"></span> | 106 | <span class="glyphicon glyphicon-question-sign get-help" title="The location in disk of the license manifest, a document listing all packages installed in your image and their licenses"></span> |
| 105 | |||
| 106 | License manifest | 107 | License manifest |
| 107 | </dt> | 108 | </dt> |
| 108 | <dd> | 109 | <dd> |
| @@ -129,15 +130,32 @@ | |||
| 129 | </dt> | 130 | </dt> |
| 130 | <dd> | 131 | <dd> |
| 131 | <ul class="list-unstyled"> | 132 | <ul class="list-unstyled"> |
| 132 | {% for artifact in target.target_artifacts|dictsort:"basename" %} | 133 | {% for artifact in target.target_kernel_artifacts|dictsort:"basename" %} |
| 133 | <li> | 134 | <li> |
| 134 | <a href="{% url 'build_artifact' build.id 'targetartifactfile' artifact.id %}">{{artifact.basename}}</a> | 135 | <a href="{% url 'build_artifact' build.id 'targetkernelartifact' artifact.id %}">{{artifact.basename}}</a> |
| 135 | ({{artifact.file_size|filtered_filesizeformat}}) | 136 | ({{artifact.file_size|filtered_filesizeformat}}) |
| 136 | </li> | 137 | </li> |
| 137 | {% endfor %} | 138 | {% endfor %} |
| 138 | </ul> | 139 | </ul> |
| 139 | </dd> | 140 | </dd> |
| 140 | </dl> | 141 | </dl> |
| 142 | {% endif %} | ||
| 143 | {% if target.target_sdk_artifacts_count > 0 %} | ||
| 144 | <dl class="dl-horizontal"> | ||
| 145 | <dt> | ||
| 146 | SDK artifacts | ||
| 147 | </dt> | ||
| 148 | <dd> | ||
| 149 | <ul class="list-unstyled"> | ||
| 150 | {% for artifact in target.target_sdk_artifacts|dictsort:"basename" %} | ||
| 151 | <li> | ||
| 152 | <a href="{% url 'build_artifact' build.id 'targetsdkartifact' artifact.id %}">{{artifact.basename}}</a> | ||
| 153 | ({{artifact.file_size|filtered_filesizeformat}}) | ||
| 154 | </li> | ||
| 155 | {% endfor %} | ||
| 156 | </ul> | ||
| 157 | </dd> | ||
| 158 | </dl> | ||
| 141 | {% endif %} | 159 | {% endif %} |
| 142 | </div> | 160 | </div> |
| 143 | {% endif %} | 161 | {% endif %} |
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py index 0ec88d9a77..a82a261e0d 100755 --- a/bitbake/lib/toaster/toastergui/views.py +++ b/bitbake/lib/toaster/toastergui/views.py | |||
| @@ -30,8 +30,8 @@ from django.db import IntegrityError, Error | |||
| 30 | from django.shortcuts import render, redirect, get_object_or_404 | 30 | from django.shortcuts import render, redirect, get_object_or_404 |
| 31 | from orm.models import Build, Target, Task, Layer, Layer_Version, Recipe, LogMessage, Variable | 31 | from orm.models import Build, Target, Task, Layer, Layer_Version, Recipe, LogMessage, Variable |
| 32 | from orm.models import Task_Dependency, Recipe_Dependency, Package, Package_File, Package_Dependency | 32 | from orm.models import Task_Dependency, Recipe_Dependency, Package, Package_File, Package_Dependency |
| 33 | from orm.models import Target_Installed_Package, Target_File, Target_Image_File, BuildArtifact, CustomImagePackage | 33 | from orm.models import Target_Installed_Package, Target_File, Target_Image_File, CustomImagePackage |
| 34 | from orm.models import TargetArtifactFile | 34 | from orm.models import TargetKernelFile, TargetSDKFile |
| 35 | from orm.models import BitbakeVersion, CustomImageRecipe | 35 | from orm.models import BitbakeVersion, CustomImageRecipe |
| 36 | from bldcontrol import bbcontroller | 36 | from bldcontrol import bbcontroller |
| 37 | from django.views.decorators.cache import cache_control | 37 | from django.views.decorators.cache import cache_control |
| @@ -510,7 +510,11 @@ def builddashboard( request, build_id ): | |||
| 510 | targetHasNoImages = True | 510 | targetHasNoImages = True |
| 511 | elem[ 'imageFiles' ] = imageFiles | 511 | elem[ 'imageFiles' ] = imageFiles |
| 512 | elem[ 'targetHasNoImages' ] = targetHasNoImages | 512 | elem[ 'targetHasNoImages' ] = targetHasNoImages |
| 513 | elem['target_artifacts'] = t.targetartifactfile_set.all() | 513 | elem['target_kernel_artifacts'] = t.targetkernelfile_set.all() |
| 514 | |||
| 515 | target_sdk_files = t.targetsdkfile_set.all() | ||
| 516 | elem['target_sdk_artifacts_count'] = target_sdk_files.count() | ||
| 517 | elem['target_sdk_artifacts'] = target_sdk_files | ||
| 514 | 518 | ||
| 515 | targets.append( elem ) | 519 | targets.append( elem ) |
| 516 | 520 | ||
| @@ -2294,11 +2298,12 @@ if True: | |||
| 2294 | elif artifact_type == "imagefile": | 2298 | elif artifact_type == "imagefile": |
| 2295 | file_name = Target_Image_File.objects.get(target__build = build, pk = artifact_id).file_name | 2299 | file_name = Target_Image_File.objects.get(target__build = build, pk = artifact_id).file_name |
| 2296 | 2300 | ||
| 2297 | elif artifact_type == "buildartifact": | 2301 | elif artifact_type == "targetkernelartifact": |
| 2298 | file_name = BuildArtifact.objects.get(build = build, pk = artifact_id).file_name | 2302 | target = TargetKernelFile.objects.get(pk=artifact_id) |
| 2303 | file_name = target.file_name | ||
| 2299 | 2304 | ||
| 2300 | elif artifact_type == "targetartifactfile": | 2305 | elif artifact_type == "targetsdkartifact": |
| 2301 | target = TargetArtifactFile.objects.get(pk=artifact_id) | 2306 | target = TargetSDKFile.objects.get(pk=artifact_id) |
| 2302 | file_name = target.file_name | 2307 | file_name = target.file_name |
| 2303 | 2308 | ||
| 2304 | elif artifact_type == "licensemanifest": | 2309 | elif artifact_type == "licensemanifest": |
