163 lines
6.5 KiB
HTML
163 lines
6.5 KiB
HTML
{% extends "basebuildpage.html" %}
|
|
{% block title %} Packages included - {{ target.target }} {{ target.build.machine }} - {{ target.build.project.name }} - Toaster {% endblock %}
|
|
{% block localbreadcrumb %}
|
|
<li>{{target.target}}</li>
|
|
{% endblock localbreadcrumb%}
|
|
|
|
{% load projecttags %}
|
|
|
|
{% block nav-target %}
|
|
{% for t in build.get_sorted_target_list %}
|
|
{% ifequal target.pk t.pk %}
|
|
<li class="active"><a href="{% url 'target' build.pk t.pk %}">{{t.target}}</a><li>
|
|
{% else %}
|
|
<li><a href="{% url 'target' build.pk t.pk %}">{{t.target}}</a><li>
|
|
{% endifequal %}
|
|
{% endfor %}
|
|
{% endblock %}
|
|
|
|
{% block buildinfomain %}
|
|
|
|
<div class="col-md-10">
|
|
|
|
<div class="page-header">
|
|
<h1>
|
|
{% if request.GET.search and objects.paginator.count > 0 %}
|
|
{{objects.paginator.count}} package{{objects.paginator.count|pluralize}} found
|
|
{% elif request.GET.search and objects.paginator.count == 0 %}
|
|
No packages found
|
|
{% else %}
|
|
{{target.target}}
|
|
{% endif %}
|
|
</h1>
|
|
</div>
|
|
|
|
|
|
<div id="navTab">
|
|
<ul class="nav nav-pills">
|
|
<li class="active">
|
|
<a href="#target">
|
|
<i class="icon-question-sign get-help" title="Of all the packages built, the subset installed in the root file system of this image"></i>
|
|
Packages included ({{target.package_count}} - {{packages_sum|filtered_filesizeformat}})
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{% url 'dirinfo' build.id target.id %}">
|
|
<i class="icon-question-sign get-help" title="The directories and files in the root file system of this image"></i>
|
|
Directory structure
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
<div id="image-packages" class="tab-pane">
|
|
|
|
{% if objects.paginator.count == 0 %}
|
|
<div class="alert">
|
|
<form class="no-results input-append" id="searchform">
|
|
<input id="search" name="search" class="input-xxlarge" type="text" value="{% if request.GET.search %}{{request.GET.search}}{% endif %}"/>{% if request.GET.search %}<a href="javascript:$('#search').val('');searchform.submit()" class="input-append-addon btn" tabindex="-1"><i class="glyphicon glyphicon-remove"></i></a>{% endif %}
|
|
<button class="btn" type="submit" value="Search">Search</button>
|
|
<button class="btn btn-link" onclick="javascript:$('#search').val('');searchform.submit()">Show all packages</button>
|
|
</form>
|
|
</div>
|
|
|
|
|
|
{% else %}
|
|
{% include "basetable_top.html" %}
|
|
{% for package in objects %}
|
|
<tr>
|
|
{# order of the table data must match the columns defined in template's context tablecols #}
|
|
<td class="package_name">
|
|
<a href="{% url 'package_included_detail' build.id target.id package.id %}">
|
|
{{package.name}}
|
|
</a>
|
|
{% if package.installed_name and package.name != package.installed_name %}
|
|
<span class="muted"> as {{package.installed_name}}</span>
|
|
<i class="icon-question-sign get-help hover-help" title='{{package.name|add:" was renamed at packaging time and was installed in your image as "|add:package.installed_name}}'></i>
|
|
{% endif %}
|
|
</td>
|
|
<td class="package_version">
|
|
<a href="{% url 'package_included_detail' build.id target.id package.id %}">
|
|
{{package.version|filtered_packageversion:package.revision}}
|
|
</a>
|
|
</td>
|
|
<td class="license">
|
|
{{package.license}}
|
|
</td>
|
|
<td class="size sizecol">
|
|
{{package.size|filtered_installedsize:package.installed_size|filtered_filesizeformat}}
|
|
</td>
|
|
|
|
<td class="size_over_total sizecol">
|
|
{{package|filter_sizeovertotal:packages_sum}}
|
|
</td>
|
|
<td class="depends">
|
|
{% with deps=package.runtime_dependencies %}
|
|
{% with deps_count=deps|length %}
|
|
{% if deps_count > 0 %}
|
|
<a class="btn"
|
|
title="<a href='{% url "package_included_dependencies" build.id target.id package.id %}'>{{package.name}}</a> dependencies"
|
|
data-content="<ul class='list-unstyled'>
|
|
{% for i in deps|dictsort:'depends_on.name' %}
|
|
<li><a href='{% url "package_included_detail" build.pk target.id i.depends_on.pk %}'>{{i.depends_on.name}}</a></li>
|
|
{% endfor %}
|
|
</ul>">
|
|
{{deps_count}}
|
|
</a>
|
|
{% endif %}
|
|
{% endwith %}
|
|
{% endwith %}
|
|
</td>
|
|
<td class="brought_in_by">
|
|
{% with rdeps=package.reverse_runtime_dependencies %}
|
|
{% with rdeps_count=rdeps|length %}
|
|
{% if rdeps_count > 0 %}
|
|
<a class="btn"
|
|
title="<a href='{% url "package_included_reverse_dependencies" build.id target.id package.id %}'>{{package.name}}</a> reverse dependencies"
|
|
data-content="<ul class='list-unstyled'>
|
|
{% for i in rdeps|dictsort:'package.name' %}
|
|
<li><a href='{% url "package_included_detail" build.id target.id i.package.id %}'>{{i.package.name}}</a></li>
|
|
{% endfor %}
|
|
</ul>">
|
|
{{rdeps_count}}
|
|
</a>
|
|
{% endif %}
|
|
{% endwith %}
|
|
{% endwith %}
|
|
</td>
|
|
<td class="recipe_name">
|
|
{% if package.recipe.version %}
|
|
<a href="{% url 'recipe' build.id package.recipe_id %}">
|
|
{{ package.recipe.name }}
|
|
</a>
|
|
{% endif %}
|
|
</td>
|
|
<td class="recipe_version">
|
|
{% if package.recipe.version %}
|
|
<a href="{% url 'recipe' build.id package.recipe_id %}">
|
|
{{ package.recipe.version }}
|
|
</a>
|
|
{% endif %}
|
|
</td>
|
|
<td class="layer_name">
|
|
{{ package.recipe.layer_version.layer.name }}
|
|
</td>
|
|
<td class="layer_branch">
|
|
{{ package.recipe.layer_version.branch}}
|
|
</td>
|
|
<td class="layer_commit">
|
|
<a class="btn"
|
|
data-content="<ul class='list-unstyled'>
|
|
<li>{{package.recipe.layer_version.commit}}</li>
|
|
</ul>">
|
|
{{package.recipe.layer_version.commit|truncatechars:13}}
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
|
|
{% include "basetable_bottom.html" %}
|
|
{% endif %}
|
|
</div> <!-- tabpane -->
|
|
</div> <!--span 10-->
|
|
{% endblock buildinfomain %}
|