blob: 3f76e656fe26ec788e90e9b75d069462eea848e4 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001{% extends "basebuilddetailpage.html" %}
2
3{% load projecttags %}
4
Patrick Williamsf1e5d692016-03-30 15:21:19 -05005{% block title %} {{object.name}}_{{object.version}} - {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster {% endblock %}
Patrick Williamsc124f4f2015-09-15 14:41:29 -05006{% block localbreadcrumb %}
7<li><a href="{% url 'recipes' build.pk %}">Recipes</a></li>
8<li>{{object.name}}_{{object.version}} </li>
9{% endblock %}
10
11{% block pagedetailinfomain %}
12
13<!-- Begin container -->
14
Patrick Williamsc0f7c042017-02-23 20:41:17 -060015<div class="row">
16 <div class="col-md-12">
17 <div class="page-header build-data">
Patrick Williamsc124f4f2015-09-15 14:41:29 -050018 <h1>{{object.name}}_{{object.version}}</h1>
19 </div>
Patrick Williamsc0f7c042017-02-23 20:41:17 -060020 </div>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050021</div>
22
Patrick Williamsc0f7c042017-02-23 20:41:17 -060023<div class="row">
24 <div class="col-md-8 tabbable">
25 <ul class="nav nav-tabs">
Patrick Williamsc124f4f2015-09-15 14:41:29 -050026 <li class="{{tab_states.1}}">
27 <a href="#information" data-toggle="tab">
Patrick Williamsc0f7c042017-02-23 20:41:17 -060028 <span class="glyphicon glyphicon-question-sign get-help" title="Build-related
29 information about the recipe"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050030 Recipe details
31 </a>
32 </li>
33 <li>
34 <a href="{% url "recipe_packages" build.pk object.id %}">
Patrick Williamsc0f7c042017-02-23 20:41:17 -060035 <span class="glyphicon glyphicon-question-sign get-help" title="The packaged
36 output resulting from building the recipe"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050037 Packages ({{package_count}})
38 </a>
39 </li>
40 <li class="{{tab_states.3}}">
41 <a href="#dependencies" data-toggle="tab">
Patrick Williamsc0f7c042017-02-23 20:41:17 -060042 <span class="glyphicon glyphicon-question-sign get-help" title="The recipe
43 build-time dependencies (i.e. other recipes)"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050044 Build dependencies ({{object.r_dependencies_recipe.all.count}})
45 </a>
46 </li>
47 <li class="{{tab_states.4}}">
48 <a href="#brought-in-by" data-toggle="tab">
Patrick Williamsc0f7c042017-02-23 20:41:17 -060049 <span class="glyphicon glyphicon-question-sign get-help" title="The recipe
50 build-time reverse dependencies (i.e. the recipes that
51 depend on this recipe)"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050052 Reverse build dependencies ({{object.r_dependencies_depends.all.count}})
53 </a>
54 </li>
55 </ul>
56 <div class="tab-content">
57 <div class="tab-pane {{tab_states.1}}" id="information">
58 <dl class="dl-horizontal">
59 <dt>
Patrick Williamsc0f7c042017-02-23 20:41:17 -060060 <span class="glyphicon glyphicon-question-sign get-help" title="The name of
61 the layer providing the recipe"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050062 Layer
63 </dt>
64 <dd>{{layer.name}}</dd>
65
66 <dt>
Patrick Williamsc0f7c042017-02-23 20:41:17 -060067 <span class="glyphicon glyphicon-question-sign get-help" title="Path to the
68 recipe .bb file"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050069 Recipe file
70 </dt>
71 <dd><code>{{object.file_path}} {% if object.pathflags %}<i>({{object.pathflags}})</i>{% endif %}</code></dd>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050072 <dt>
Patrick Williamsc0f7c042017-02-23 20:41:17 -060073 <span class="glyphicon glyphicon-question-sign get-help"
74 title="The Git branch of the layer providing the
75 recipe"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050076 Layer branch
77 </dt>
Patrick Williamsc0f7c042017-02-23 20:41:17 -060078 {% if layer_version.layer.local_source_dir %}
79 <dd>
80 <span class="text-muted">Not applicable</span>
81 <span class="glyphicon glyphicon-question-sign get-help" title="The source
82 code of {{layer_version.layer.name}} is not in a git repository
83 so there is no branch associated with it"></span>
84 </dd>
85 {% else %}
Patrick Williamsc124f4f2015-09-15 14:41:29 -050086 <dd>{{layer_version.branch}}</dd>
Patrick Williamsc0f7c042017-02-23 20:41:17 -060087 {% endif %}
Patrick Williamsc124f4f2015-09-15 14:41:29 -050088 <dt>
Patrick Williamsc0f7c042017-02-23 20:41:17 -060089 <span class="glyphicon glyphicon-question-sign get-help" title="The Git
90 commit of the layer providing the recipe"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -050091 Layer commit
92 </dt>
Patrick Williamsc0f7c042017-02-23 20:41:17 -060093 {% if layer_version.layer.local_source_dir %}
94 <dd>
95 <span class="text-muted">Not applicable</span>
96 <span class="glyphicon glyphicon-question-sign get-help" title="The source
97 code of {{layer_version.layer.name}} is not in a git repository
98 so there is no commit associated with it"></span>
99 </dd>
100 {% else %}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500101 <dd class="iscommit">{{layer_version.commit}}</dd>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600102 {% endif %}
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500103 {% if object.provides_set.all %}
104 <dt>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600105 <span class="glyphicon glyphicon-question-sign get-help"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500106 title="A list of aliases by which a particular recipe can be known. The additional aliases are
107 synonyms for the recipe and can be useful satisfying dependencies of other recipes during
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600108 the build"></span>
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500109 PROVIDES
110 </dt>
111 <dd><code>{% for provider in object.provides_set.all %}{{ provider.name }}&nbsp;{% endfor %}</code></dd>
112 {% endif %}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500113 </dl>
114
115 <h2 class="details">Tasks</h2>
116 {% if not tasks %}
117 <div class="alert alert-info">
118 <strong>{{object.name}}_{{object.version}}</strong> does not have any tasks in this build.
119 </div>
120 {% else %}
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600121 <div class="table-responsive">
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500122 <table class="table table-bordered table-hover">
123 <thead>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600124 <tr>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500125 <th>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600126 <span class="glyphicon glyphicon-question-sign
127 get-help" title="The running sequence of each task
128 in the build"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500129 Order
130 </th>
131 <th>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600132 <span class="glyphicon glyphicon-question-sign get-help" title="The name
133 of the task"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500134 Task
135 </th>
136 <th>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600137 <span class="glyphicon glyphicon-question-sign get-help" title="This
138 value tells you if a task had to run (executed) in
139 order to generate the task output, or if the output was
140 provided by another task and therefore the task didn't need
141 to run (not executed)"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500142 Executed
143 </th>
144 <th>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600145 <span class="glyphicon glyphicon-question-sign get-help" title="This
146 column tells you if 'executed' tasks succeeded or
147 failed. The column also tells you why 'not executed'
148 tasks did not need to run"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500149 Outcome
150 </th>
151 <th>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600152 <span class="glyphicon glyphicon-question-sign get-help" title="This
153 column tells you if a task tried to restore output
154 from the <code>sstate-cache</code> directory or
155 mirrors, and reports the result: Succeeded, Failed or File
156 not in cache"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500157 Cache attempt
158 </th>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600159 </tr>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500160 </thead>
161 <tbody>
162
163 {% for task in tasks %}
164
165 <tr {{ task|task_color }} >
166
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600167 <td>{{task.order}}</td>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500168 <td>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600169 <a href="{% url "task" build.pk task.pk %}">{{task.task_name}}</a>
170 {% if task.get_description %}<span class="glyphicon
171 glyphicon-question-sign get-help hover-help"
172 title="{{task.get_description}}"></span>
173 {% endif %}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500174 </td>
175
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600176 <td>{{task.get_executed_display}}</td>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500177
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600178 <td>{{task.get_outcome_display}}
Brad Bishop5dd7cbb2018-09-05 22:26:40 -0700179 {% if task.outcome == task.OUTCOME_FAILED %}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500180 <a href="{% url 'build_artifact' build.pk "tasklogfile" task.pk %}">
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600181 <span class="glyphicon glyphicon-download-alt
182 get-help" title="Download task log
183 file"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500184 </a>
185 {% endif %}
186 <i class="icon-question-sign get-help hover-help" title="{{task.get_outcome_help}}"></i>
187 </td>
188 <td>
189 {% ifnotequal task.sstate_result task.SSTATE_NA %}
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600190 {{task.get_sstate_result_display}}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500191 {% endifnotequal %}
192 </td>
193
194 </tr>
195
196 {% endfor %}
197 </tbody>
198 </table>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600199 </div>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500200 {% endif %}
201 </div>
202 <div class="tab-pane {{tab_states.3}}" id="dependencies">
203
204 {% if not object.r_dependencies_recipe.all %}
205 <div class="alert alert-info">
206 <strong>{{object.name}}_{{object.version}}</strong> has no build dependencies.
207 </div>
208 {% else %}
209 <table class="table table-bordered table-hover">
210 <thead>
211 <tr>
212 <th>
213 Recipe
214 </th>
215 <th>
216 Version
217 </th>
218 </tr>
219 </thead>
220 <tbody>
221
222 {% for rr in object.r_dependencies_recipe.all|dictsort:"depends_on.name" %}
223 <tr>
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500224 <td><a href="{% url "recipe" build.pk rr.depends_on.pk %}">{{rr.depends_on.name}}</a>
225 {% if rr.via %}
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600226 <span class="text-muted">satisfied via <code class="text-muted">{{rr.via.name}}</code></span>
227 <span class="glyphicon glyphicon-question-sign get-help hover-help"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500228 title="This dependency is satisfied by the PROVIDES value
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600229 <code>{{rr.via.name}}</code> in the <code>{{rr.depends_on.name}}</code> recipe"></span>
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500230 {% endif %}
231 </td>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600232 <td>{{rr.depends_on.version}}</td>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500233 </tr>
234 {% endfor %}
235
236 </tbody>
237 </table>
238 {% endif %}
239
240 </div>
241 <div class="tab-pane {{tab_states.4}}" id="brought-in-by">
242
243 {% if not object.r_dependencies_depends.all %}
244 <div class="alert alert-info">
245 <strong>{{object.name}}_{{object.version}}</strong> has no reverse build dependencies.
246 </div>
247 {% else %}
248 <table class="table table-bordered table-hover">
249 <thead>
250 <tr>
251 <th>
252 Recipe
253 </th>
254 <th>
255 Version
256 </th>
257 </tr>
258 </thead>
259 <tbody>
260
261 {% for rr in object.r_dependencies_depends.all|dictsort:"recipe.name" %}
262 <tr>
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500263 <td><a href="{% url "recipe" build.pk rr.recipe.pk %}">{{rr.recipe.name}}</a>
264 {% if rr.via %}
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600265 <span class="text-muted"> satisfied via <code class="text-muted">{{rr.via.name}}</code></span>
266 <span class="glyphicon glyphicon-question-sign get-help hover-help"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500267 title="This dependency is satisfied by the PROVIDES value
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600268 <code>{{rr.via.name}}</code> in the <code>{{rr.depends_on.name}}</code> recipe"></i>
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500269 {% endif %}
270 </td>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600271 <td>{{rr.recipe.version}}</td>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500272 </tr>
273 {% endfor %}
274
275 </tbody>
276 </table>
277 {% endif %}
278
279 </div>
280 </div>
281</div>
282
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600283<div class="col-md-4">
284 <div class="well">
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500285 <h2>About {{object.name}}</h2>
286 <dl class="item-info">
287 {% if object.summary %}
288 <dt>Summary</dt>
289 <dd>{{object.summary}}</dd>
290 {% endif %}
291 {% if object.description %}
292 <dt>Description</dt>
293 <dd>{{object.description}}</dd>
294 {% endif %}
295 {% if object.homepage %}
296 <dt>Homepage</dt>
297 <dd><a href="{{object.homepage}}">{{object.homepage}}</a></dd>
298 {% endif %}
299 {% if object.bugtracker %}
300 <dt>Bugtracker</dt>
301 <dd><a href="{{object.bugtracker}}">{{object.bugtracker}}</a></dd>
302 {% endif %}
303 {% if object.section %}
304 <dt>
305 Section
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600306 <span class="glyphicon glyphicon-question-sign get-help" title="The section in which recipes should be categorized"></span>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500307 </dt>
308 <dd>{{object.section}}</dd>
309 {% endif %}
310 {% if object.license %}
311 <dt>License</dt>
312 <dd>{{object.license}}</dd>
313 {% endif %}
314 </dl>
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600315 </div>
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500316</div>
317
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600318</div> <!-- end row -->
319
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500320{% endblock %}