summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/templates
diff options
context:
space:
mode:
authorDave Lerner <dave.lerner@windriver.com>2014-01-23 11:47:41 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-17 15:38:52 +0000
commit620553df864634e7061c9124ea70a90e5c067cde (patch)
treed196d7dbea61da09846e9a645f245ab931889516 /bitbake/lib/toaster/toastergui/templates
parent47634378ac516496bcc155e001983973f241ee61 (diff)
downloadpoky-620553df864634e7061c9124ea70a90e5c067cde.tar.gz
bitbake: toaster: Implementation of package detail views
Adds new package detail views. The views are based on specifications found in attachments to: https://bugzilla.yoctoproject.org/show_bug.cgi?id=4328 specifically: design-1.5.1-package-details.pdf, and design-1.1.1-included-package-details. This patch includes a redefinition of constant numbers for task dependency tasks. This is needed in order to achieve sorting criteria from the design. This change invalidates currently dependency information for currently existing builds, as it breaks compatibility. [YOCTO #4328] (Bitbake rev: 6855925c06e7e5bb15ae9d0c08d77f3a9a2574bc) Signed-off-by: Dave Lerner <dave.lerner@windriver.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/toastergui/templates')
-rw-r--r--bitbake/lib/toaster/toastergui/templates/bpackage.html2
-rw-r--r--bitbake/lib/toaster/toastergui/templates/package_built_dependencies.html112
-rw-r--r--bitbake/lib/toaster/toastergui/templates/package_built_detail.html71
-rw-r--r--bitbake/lib/toaster/toastergui/templates/package_detail_base.html125
-rw-r--r--bitbake/lib/toaster/toastergui/templates/package_included_dependencies.html93
-rw-r--r--bitbake/lib/toaster/toastergui/templates/package_included_detail.html46
-rw-r--r--bitbake/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html47
-rw-r--r--bitbake/lib/toaster/toastergui/templates/package_included_tabs.html33
-rw-r--r--bitbake/lib/toaster/toastergui/templates/recipe.html6
9 files changed, 531 insertions, 4 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/bpackage.html b/bitbake/lib/toaster/toastergui/templates/bpackage.html
index 3329ddae51..b78ae4644f 100644
--- a/bitbake/lib/toaster/toastergui/templates/bpackage.html
+++ b/bitbake/lib/toaster/toastergui/templates/bpackage.html
@@ -26,7 +26,7 @@
26 {% for package in objects %} 26 {% for package in objects %}
27 27
28 <tr class="data"> 28 <tr class="data">
29 <td><a name="#{{package.name}}" href="{% url "package" build.pk package.pk %}">{{package.name}} ({{package.filelist_bpackage.count}} files)</a></td> 29 <td><a name="#{{package.name}}" href="{% url "package_built_detail" build.pk package.pk %}">{{package.name}} ({{package.filelist_bpackage.count}} files)</a></td>
30 <td>{{package.version}}-{{package.revision}}</td> 30 <td>{{package.version}}-{{package.revision}}</td>
31 <td>{%if package.recipe%}<a href="{% url "layer_versions_recipes" package.recipe.layer_version_id %}#{{package.recipe.name}}">{{package.recipe.name}}</a>{{package.package_name}}</a>{%endif%}</td> 31 <td>{%if package.recipe%}<a href="{% url "layer_versions_recipes" package.recipe.layer_version_id %}#{{package.recipe.name}}">{{package.recipe.name}}</a>{{package.package_name}}</a>{%endif%}</td>
32 32
diff --git a/bitbake/lib/toaster/toastergui/templates/package_built_dependencies.html b/bitbake/lib/toaster/toastergui/templates/package_built_dependencies.html
new file mode 100644
index 0000000000..c67f60e20b
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/package_built_dependencies.html
@@ -0,0 +1,112 @@
1{% extends "package_detail_base.html" %}
2{% load projecttags %}
3
4{% block tabcontent %}
5 {% with fullPackageSpec=package.name|add:"-"|add:package.version|add:"-"|add:package.revision|filtered_packagespec %}
6 <ul class="nav nav-pills">
7 <li class="">
8 <a href="{% url 'package_built_detail' build.id package.id %}">
9 <i class="icon-question-sign get-help" data-toggle="tooltip" title="Shows the files produced by this package."></i>
10 Generated files ({{package.buildfilelist_package.count}})
11 </a>
12 </li>
13 <li class="active">
14 <a href="{% url 'package_built_dependencies' build.id package.id %}">
15 <i class="icon-question-sign get-help" data-toggle="tooltip" title="Shows the runtime packages required by this package."></i>
16 Runtime dependencies ({{dependency_count}})
17 </a>
18 </li>
19 </ul>
20 <div class="tab-content">
21 <div class="tab-pane active" id="dependencies">
22 {% ifequal runtime_deps|length 0 %}
23 <div class="alert alert-info">
24 <strong>{{fullPackageSpec}}</strong> has no runtime dependencies.
25 </div>
26 {% else %}
27 <div class="alert alert-info">
28 <strong>{{fullPackageSpec}}</strong> is <strong>not included</strong> in any image. These are its projected runtime dependencies if you were to include it in future builds.
29 </div>
30 <table class="table table-bordered table-hover">
31 <thead>
32 <tr>
33 <th>Package</th>
34 <th>Version</th>
35 <th>Size</th>
36 </tr>
37 </thead>
38 {% for runtime_dep in runtime_deps %}
39 <tbody>
40 {% ifequal runtime_dep.version '' %}
41 <tr class="muted">
42 <td>{{runtime_dep.name}}</td>
43 <td>{{runtime_dep.version}}</td>
44 <td></td>
45 </div>
46 </tr>
47 {% else %}
48 <tr>
49 <td>
50 <a href="{% url 'package_built_detail' build.id runtime_dep.depends_on_id %}">
51 {{runtime_dep.name}}
52 </a>
53 </td>
54 <td>{{runtime_dep.version}}</td>
55 <td>{{runtime_dep.size|filtered_filesizeformat}}</td>
56 </tr>
57 {% endifequal %}
58 </tbody>
59 {% endfor %}
60 </table>
61 {% endifequal %}
62 {% ifnotequal other_deps|length 0 %}
63 <h3>Other runtime relationships</h3>
64 <table class="table table-bordered table-hover">
65 <thead>
66 <tr>
67 <th>Package</th>
68 <th>Version</th>
69 <th>Size</th>
70
71 <th>
72 <i class="icon-question-sign get-help" title="There are 5 relationship types: recommends, suggests, provides, replaces and conflicts"></i>
73 Relationship type
74 </th>
75 </tr>
76 </thead>
77
78 {% for other_dep in other_deps %}
79 <tbody>
80 {% ifequal other_dep.version '' %}
81 <tr class="muted">
82 <td>{{other_dep.name}}</td>
83 <td>{{other_dep.version}}</td>
84 <td></td>
85 <td>
86 {{other_dep.dep_type_display}}
87 <i class="icon-question-sign get-help hover-help" title="{{other_dep.dep_type_help}}" ></i>
88 </td>
89 </tr>
90 {% else %}
91 <tr>
92 <td>
93 <a href="{% url 'package_built_detail' build.id other_dep.depends_on_id %}">
94 {{other_dep.name}}
95 </a>
96 </td>
97 <td>{{other_dep.version}}</td>
98 <td>{{other_dep.size|filtered_filesizeformat}}</td>
99 <td>
100 {{other_dep.dep_type_display}}
101 <i class="icon-question-sign get-help hover-help" title="{{other_dep.dep_type_help}}" ></i>
102 </td>
103 </tr>
104 </tbody>
105 {% endifequal %}
106 {% endfor %}
107 </table>
108 {% endifnotequal %}
109 </div> <!-- tab-pane -->
110 </div> <!-- tab-content -->
111 {% endwith %}
112{% endblock tabcontent %}
diff --git a/bitbake/lib/toaster/toastergui/templates/package_built_detail.html b/bitbake/lib/toaster/toastergui/templates/package_built_detail.html
new file mode 100644
index 0000000000..fe856a3cb6
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/package_built_detail.html
@@ -0,0 +1,71 @@
1{% extends "package_detail_base.html" %}
2{% load projecttags %}
3
4{% block tabcontent %}
5 {% with fullPackageSpec=package.name|add:"-"|add:package.version|add:"-"|add:package.revision|filtered_packagespec packageFileCount=package.buildfilelist_package.count %}
6 <!-- Generated Files -->
7 {% if package.buildtargetlist_package.count == 0 %}
8 {# Not included case #}
9 <ul class="nav nav-pills">
10 <li class="active"> <a href="#">
11 <i class="icon-question-sign get-help" data-toggle="tooltip" title="Shows the files produced by this package."></i>
12 Generated files ({{packageFileCount}})
13 </a></li>
14 <li class=""><a href="{% url 'package_built_dependencies' build.id package.id %}">
15 <i class="icon-question-sign get-help" data-toggle="tooltip" title="Shows the runtime packages required by this package."></i>
16 Runtime dependencies ({{dependency_count}})
17 </a></li>
18 </ul>
19 <div class="tab-content">
20 <div class="tab-pane active" id="files">
21 <!-- Package file list or if empty, alert pane -->
22 {% if packageFileCount > 0 %}
23 <div class="alert alert-info">
24 {{fullPackageSpec}} is <strong>not included</strong> in any image. These are the files that would be added to an image root file system if you were to include it in future builds.
25 </div>
26 <table class="table table-bordered table-hover">
27 <thead>
28 <tr>
29 <th>File</th>
30 <th>Size</th>
31 </tr>
32 </thead>
33 {% for file in package.buildfilelist_package.all|dictsort:"path" %}
34 <tbody>
35 <tr>
36 <td>{{file.path}}</td>
37 <td>{{file.size|filtered_filesizeformat}}</td>
38 </tr>
39 </tbody>
40 {% endfor %}
41 </table>
42
43 {% else %}
44 <div class="alert alert-info">
45 <strong>{{fullPackageSpec}}</strong> does not generate any files.
46 </div>
47 {% endif %}
48
49 </div> <!-- tab-pane active -->
50 </div> <!-- tab-content -->
51 {% else %}
52 {# Included case #}
53 <div class="tab-content">
54 <div class="tab-pane active">
55 <div class="lead well">
56 Package included in:
57 {% for itarget in package.buildtargetlist_package.all|dictsort:"target.target" %}
58 <a href="{% url 'package_included_detail' build.id itarget.target.id package.id %}">
59 {% if forloop.counter0 > 0 %}
60 ,&nbsp;
61 {% endif %}
62 {{itarget.target.target}}
63 </a>
64 {% endfor %}
65 </div>
66 </div> <!-- tab-pane active -->
67 </div> <!-- tab-content -->
68 {% endif %}
69
70 {% endwith %}
71{% endblock tabcontent %}
diff --git a/bitbake/lib/toaster/toastergui/templates/package_detail_base.html b/bitbake/lib/toaster/toastergui/templates/package_detail_base.html
new file mode 100644
index 0000000000..a7aaab6de7
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/package_detail_base.html
@@ -0,0 +1,125 @@
1{% extends "basebuilddetailpage.html" %}
2{% load projecttags %}
3
4{% block localbreadcrumb %}
5{% with fullPackageSpec=package.name|add:"-"|add:package.version|add:"-"|add:package.revision|filtered_packagespec %}
6 {% if target %}
7 <li><a href="{% url "target" build.id target.id %}">{{target.target}}</a></li>
8 {% else %}
9 <li><a href="{% url "packages" build.id %}"> Packages </a></li>
10 {% endif %}
11 <li>{{fullPackageSpec}}</li>
12{% endwith %}
13{% endblock localbreadcrumb %}
14
15{% block pagedetailinfomain %}
16{% with fullPackageSpec=package.name|add:"-"|add:package.version|add:"-"|add:package.revision|filtered_packagespec %}
17
18 <div class="row span11">
19 <div class="page-header">
20 {% block title %}
21 <h1>{{fullPackageSpec}}</h1>
22 {% endblock title %}
23 </div> <!-- page-header -->
24 </div> <!-- row span11 page-header -->
25
26 {% block twocolumns %}
27 <div class="row span7 tabbable">
28 {% block tabcontent %}
29 {% endblock tabcontent %}
30 </div> <!-- row span7 -->
31
32 <div class="row span4 well">
33 <h2>Package information</h2>
34
35 <!-- info presented as definition list -->
36 <dl>
37 <dt>
38 Size
39 <i class="icon-question-sign get-help" data-toggle="tooltip" title="The size of the package"></i>
40 </dt>
41 <dd>
42 {% comment %}
43 if recipe is absent, filesize is not 0
44 {% endcomment %}
45 {% if package.recipe_id > 0 %}
46 {{package.size|filtered_filesizeformat}}
47 {% if target.file_size %}
48 ({{package.size|multiply:100|divide:target.file_size}}% of included package size)
49 {% endif %}
50
51 {% endif %}
52 </dd>
53
54 <dt>
55 License
56 <i class="icon-question-sign get-help" data-toggle="tooltip" title="The license under which this package is distributed"></i>
57 </dt>
58 <dd>{{package.license}}</dd>
59
60 {% comment %}
61 # Removed per review on 1/18/2014 until license data population
62 # problemse are resolved.
63 <dt>
64 License files
65 <i class="icon-question-sign get-help" data-toggle="tooltip" title="Location in disk of the license files that apply to the package"></i>
66 </dt>
67 <dd></dd>
68 {% endcomment %}
69
70 <dt>
71 Recipe
72 <i class="icon-question-sign get-help" data-toggle="tooltip" title="The name of the recipe building this package"></i>
73 </dt>
74 <dd>
75 {% if package.recipe_id > 0 %}
76 <a href="{% url "recipe" build.id package.recipe_id %}"> {{package.recipe.name}} </a>
77 {% else %}
78 {{package.recipe.name}}
79 {% endif %}
80 </dd>
81
82 <dt>
83 Recipe version
84 <i class="icon-question-sign get-help" data-toggle="tooltip" title="The version of the recipe building this package"></i>
85 </dt>
86 <dd>{{package.recipe.version}}</dd>
87
88 <dt>
89 Layer
90 <i class="icon-question-sign get-help" data-toggle="tooltip" title="The name of the layer providing the recipe that builds this package"></i>
91 </dt>
92 <dd>
93 {{package.recipe.layer_version.layer.name}}
94 {% if package.recipe.layer_version.layer.name|format_none_and_zero != "" %}
95 {% comment %}
96 # Removed per team meeting of 1/29/2014 until
97 # decision on index search algorithm
98 <a href="http://layers.openembedded.org" target="_blank">
99 <i class="icon-share get-info"></i>
100 {% endcomment %}
101 </a>
102 {% endif %}
103 </dd>
104
105 <dt>
106 Layer branch
107 <i class="icon-question-sign get-help" data-toggle="tooltip" title="The Git branch of the layer providing the recipe that builds this package"></i>
108 </dt>
109 <dd>{{package.recipe.layer_version.branch}}</dd>
110 <dt>
111 Layer commit
112 <i class="icon-question-sign get-help" data-toggle="tooltip" title="The Git commit of the layer providing the recipe that builds this package"></i>
113 </dt>
114
115 <dd class="iscommit">{{package.recipe.layer_version.commit}}</dd>
116 <dt>
117 Layer directory
118 <i class="icon-question-sign get-help" data-toggle="tooltip" title="Location in disk of the layer providing the recipe that builds this package"></i>
119 </dt>
120 <dd><code>{{package.recipe.layer_version.layer.local_path}}</code></dd>
121 </dl>
122 </div> <!-- row4 well -->
123 {% endblock twocolumns %}
124{% endwith %}
125{% endblock pagedetailinfomain %}
diff --git a/bitbake/lib/toaster/toastergui/templates/package_included_dependencies.html b/bitbake/lib/toaster/toastergui/templates/package_included_dependencies.html
new file mode 100644
index 0000000000..c8c2dddf29
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/package_included_dependencies.html
@@ -0,0 +1,93 @@
1{% extends "package_detail_base.html" %}
2{% load projecttags %}
3
4{% block title %}
5 {% with fullPackageSpec=package.name|add:"-"|add:package.version|add:"-"|add:package.revision|filtered_packagespec %}
6 <h1>{{fullPackageSpec}} <small>({{target.target}})</small></h1>
7 {% endwith %}
8{% endblock title %}
9
10{% block tabcontent %}
11 {% with fullPackageSpec=package.name|add:"-"|add:package.version|add:"-"|add:package.revision|filtered_packagespec packageFileCount=package.buildfilelist_package.count %}
12 {% include "package_included_tabs.html" with active_tab="dependencies" %}
13 <div class="tab-content">
14 <div class="tab-pane active" id="dependencies">
15 {% ifnotequal runtime_deps|length 0 %}
16 <table class="table table-bordered table-hover">
17 <thead>
18 <tr>
19 <th>Package</th>
20 <th>Version</th>
21 <th>Size</th>
22 </tr>
23 </thead>
24 {% for runtime_dep in runtime_deps %}
25 <tbody>
26 <tr>
27 <td>
28 <a href="{% url 'package_included_detail' build.id target.id runtime_dep.depends_on_id %}">
29 {{runtime_dep.name}}
30 </a>
31 </td>
32 <td>{{runtime_dep.version}}</td>
33 <td>{{runtime_dep.size|filtered_filesizeformat}}</td>
34 </tr>
35 </tbody>
36 {% endfor %}
37 </table>
38 {% else %}
39 <div class="alert alert-info">
40 <strong>{{fullPackageSpec}}</strong> has no runtime dependencies.
41 </div>
42 {% endifnotequal %}
43
44 {% ifnotequal other_deps|length 0 %}
45 <h3>Other runtime relationships</h3>
46 <table class="table table-bordered table-hover">
47 <thead>
48 <tr>
49 <th>Package</th>
50 <th>Version</th>
51 <th>Size</th>
52 <th>
53 <i class="icon-question-sign get-help" title="There are 5 relationship types: recommends, suggests, provides, replaces and conflicts"></i>
54 Relationship type
55 </th>
56 </tr>
57 </thead>
58
59 {% for other_dep in other_deps %}
60 <tbody>
61 {% if other_dep.installed %}
62 <tr>
63 <td>
64 <a href="{% url 'package_included_detail' build.id target.id other_dep.depends_on_id %}">
65 {{other_dep.name}}
66 </a>
67 </td>
68 <td>{{other_dep.version}}</td>
69 <td>{{other_dep.size|filtered_filesizeformat}}</td>
70 <td>
71 {{other_dep.dep_type_display}}
72 <i class="icon-question-sign get-help hover-help" title="{{other_dep.dep_type_help}}" ></i>
73 </td>
74 </tr>
75 {% else %}
76 <tr class="muted">
77 <td>{{other_dep.name}}</td>
78 <td>{{other_dep.version}}</td>
79 <td></td>
80 <td>
81 {{other_dep.dep_type_display}}
82 <i class="icon-question-sign get-help hover-help" title="{{other_dep.dep_type_help}}" ></i>
83 </td>
84 </tr>
85 {% endif %}
86 </tbody>
87 {% endfor %}
88 </table>
89 {% endifnotequal %}
90 </div> <!-- end tab-pane -->
91 </div> <!-- end tab content -->
92 {% endwith %}
93{% endblock tabcontent %}
diff --git a/bitbake/lib/toaster/toastergui/templates/package_included_detail.html b/bitbake/lib/toaster/toastergui/templates/package_included_detail.html
new file mode 100644
index 0000000000..018de3eb42
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/package_included_detail.html
@@ -0,0 +1,46 @@
1{% extends "package_detail_base.html" %}
2{% load projecttags %}
3
4{% block title %}
5{% with fullPackageSpec=package.name|add:"-"|add:package.version|add:"-"|add:package.revision|filtered_packagespec %}
6 <h1>{{fullPackageSpec}} <small>({{target.target}})</small></h1>
7{% endwith %}
8{% endblock title %}
9
10{% block tabcontent %}
11{% with fullPackageSpec=package.name|add:"-"|add:package.version|add:"-"|add:package.revision|filtered_packagespec packageFileCount=package.buildfilelist_package.count %}
12 {% include "package_included_tabs.html" with active_tab="detail" %}
13 <div class="tab-content">
14 <div class="tab-pane active" id="files">
15 {% if packageFileCount > 0 %}
16 <table class="table table-bordered table-hover">
17 <thead>
18 <tr>
19 <th>File</th>
20 <th>Size</th>
21 </tr>
22 </thead>
23 {% for file in package.buildfilelist_package.all|dictsort:"path" %}
24 <tbody>
25 <tr>
26 <td>
27 <a href="{% url 'image_information_dir' build.id target.id file.id %}">
28 {{file.path}}
29 </a>
30 </td>
31 <td>{{file.size|filtered_filesizeformat}}</td>
32 </tr>
33 </tbody>
34 {% endfor %}
35 </table>
36
37 {% else %}
38 <div class="alert alert-info">
39 <strong>{{fullPackageSpec}}</strong> does not generate any files.
40 </div>
41 {% endif %}
42 </div> <!-- end tab-pane -->
43 </div> <!-- end tab content -->
44
45{% endwith %}
46{% endblock tabcontent %}
diff --git a/bitbake/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html b/bitbake/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html
new file mode 100644
index 0000000000..9cfc7fe7c2
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/package_included_reverse_dependencies.html
@@ -0,0 +1,47 @@
1{% extends "package_detail_base.html" %}
2{% load projecttags %}
3
4{% block title %}
5 {% with fullPackageSpec=package.name|add:"-"|add:package.version|add:"-"|add:package.revision|filtered_packagespec %}
6 <h1>{{fullPackageSpec}} <small>({{target.target}})</small></h1>
7 {% endwith %}
8{% endblock title %}
9
10{% block tabcontent %}
11 {% with fullPackageSpec=package.name|add:"-"|add:package.version|add:"-"|add:package.revision|filtered_packagespec packageFileCount=package.buildfilelist_package.count %}
12 {% include "package_included_tabs.html" with active_tab="reverse" %}
13 <div class="tab-content">
14 <div class="tab-pane active" id="brought-in-by">
15
16 {% ifequal reverse_deps|length 0 %}
17 <div class="alert alert-info">
18 <strong>{{fullPackageSpec}}</strong> has no reverse runtime dependencies.
19 </div>
20 {% else %}
21 <table class="table table-bordered table-hover">
22 <thead>
23 <tr>
24 <th>Package</th>
25 <th>Package Version</th>
26 <th>Size</th>
27 </tr>
28 </thead>
29 {% for reverse_dep in reverse_deps|dictsort:"name" %}
30 <tbody>
31 <tr>
32 <td>
33 <a href="{% url 'package_included_detail' build.id target.id reverse_dep.dependent_id %}">
34 {{reverse_dep.name}}
35 </a>
36 </td>
37 <td>{{reverse_dep.version}}</td>
38 <td>{{reverse_dep.size|filtered_filesizeformat}}</td>
39 </tr>
40 </tbody>
41 {% endfor %}
42 </table>
43 {% endifequal %}
44 </div> <!-- end tab-pane -->
45 </div> <!-- end tab content -->
46 {% endwith %}
47{% endblock tabcontent %}
diff --git a/bitbake/lib/toaster/toastergui/templates/package_included_tabs.html b/bitbake/lib/toaster/toastergui/templates/package_included_tabs.html
new file mode 100644
index 0000000000..5a97ba36b3
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/templates/package_included_tabs.html
@@ -0,0 +1,33 @@
1
2 <ul class="nav nav-pills">
3 {% if active_tab == "detail" %}
4 <li class="active">
5 {% else %}
6 <li class="">
7 {% endif %}
8 <a href="{% url 'package_included_detail' build.id target.id package.id %}">
9 <i class="icon-question-sign get-help" title="The files this package adds to the image root file system"></i>
10 Files in root file system ({{packageFileCount}})
11 </a>
12 </li>
13 {% if active_tab == "dependencies" %}
14 <li class="active">
15 {% else %}
16 <li class="">
17 {% endif %}
18 <a href="{% url 'package_included_dependencies' build.id target.id package.id %}">
19 <i class="icon-question-sign get-help" data-toggle="tooltip" title="Package runtime dependencies"></i>
20 Runtime dependencies ({{dependency_count}})
21 </a>
22 </li>
23 {% if active_tab == "reverse" %}
24 <li class="active">
25 {% else %}
26 <li class="">
27 {% endif %}
28 <a href="{% url 'package_included_reverse_dependencies' build.id target.id package.id %}">
29 <i class="icon-question-sign get-help" data-toggle="tooltip" title="The package runtime reverse dependencies (i.e. which other packages in this image depend on this package). Reverse dependencies reflect only the 'depends' dependency type"></i>
30 Reverse Runtime dependencies ({{reverse_count}})
31 </a>
32 </li>
33 </ul>
diff --git a/bitbake/lib/toaster/toastergui/templates/recipe.html b/bitbake/lib/toaster/toastergui/templates/recipe.html
index 5dea75382f..eba15baad3 100644
--- a/bitbake/lib/toaster/toastergui/templates/recipe.html
+++ b/bitbake/lib/toaster/toastergui/templates/recipe.html
@@ -161,9 +161,9 @@
161 {% for package in packages %} 161 {% for package in packages %}
162 162
163 <tr> 163 <tr>
164 <td><a href="{% url "package" build.pk package.pk %}">{{package.name}}</a></td> 164 <td><a href="{% url "package_built_detail" build.pk package.pk %}">{{package.name}}</a></td>
165 <td><a href="{% url "package" build.pk package.pk %}">{{package.version}}-{{package.revision}}</a></td> 165 <td><a href="{% url "package_built_detail" build.pk package.pk %}">{{package.version}}_{{package.revision}}</a></td>
166 <td><a href="{% url "package" build.pk package.pk %}">{{package.size}}</a></td> 166 <td><a href="{% url "package_built_detail" build.pk package.pk %}">{{package.size}}</a></td>
167 </tr> 167 </tr>
168 168
169 {% endfor %} 169 {% endfor %}