diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index 113631def0..1803de60e5 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -209,6 +209,7 @@ class Package_File(models.Model):
size = models.IntegerField()
class Recipe(models.Model):
+ search_allowed_fields = ['name', 'version', 'file_path', 'license', 'layer_version__layer__name', 'layer_version__branch', 'layer_version__commit', 'layer_version__layer__local_path']
name = models.CharField(max_length=100, blank=True)
version = models.CharField(max_length=100, blank=True)
layer_version = models.ForeignKey('Layer_Version', related_name='recipe_layer_version')
diff --git a/bitbake/lib/toaster/toastergui/templates/recipes.html b/bitbake/lib/toaster/toastergui/templates/recipes.html
index 2e0c2d1c6d..aa0610434f 100755
--- a/bitbake/lib/toaster/toastergui/templates/recipes.html
+++ b/bitbake/lib/toaster/toastergui/templates/recipes.html
@@ -1,51 +1,83 @@
{% extends "basebuildpage.html" %}
+{% load projecttags %}
+
{% block localbreadcrumb %}
+
+
{% include "basetable_top.html" %}
-
-
-
Name |
-
Version |
-
Summary |
-
Description |
-
Section |
-
License |
-
License file |
-
Homepage |
-
Bugtracker |
-
File_path |
-
Recipe Dependency |
+ {% for recipe in objects %}
+
+ | {{recipe.name}} |
+ {{recipe.version}} |
+
+
+ {% if recipe.r_dependencies_recipe.all.count %}
+ {{recipe.name}} depends on"
+ data-content="
+ {% for i in recipe.r_dependencies_recipe.all|dictsort:"depends_on.name"%}
+ - {{i.depends_on.name}}
+ {% endfor %}
+ ">
+ {{recipe.r_dependencies_recipe.all.count}}
+
+ {% endif %}
+ |
+
+
+ {% if recipe.r_dependencies_depends.all.count %}
+ {{recipe.name}} is brought in by"
+ data-content="
+ {% for i in recipe.r_dependencies_depends.all|dictsort:"recipe.name"%}
+ - {{i.recipe.name}}
+ {% endfor %}
+ ">
+ {{recipe.r_dependencies_depends.all.count}}
+
+ {% endif %}
+ |
+
+ {{recipe.file_path}} |
+
+ {{recipe.section}} |
+
+ {{recipe.license}} |
+
+ {{recipe.layer_version.layer.name}} |
+
+ {{recipe.layer_version.branch}} |
+
+
+
+ {{recipe.layer_version.commit|truncatechars:13}}
+
+ |
+
+ {{recipe.layer_version.layer.local_path}} |
+
- {% for recipe in objects %}
-
-
- | {{recipe.name}} |
- {{recipe.version}} |
- {{recipe.summary}} |
- {{recipe.description}} |
- {{recipe.section}} |
- {{recipe.license}} |
- {{recipe.licensing_info}} |
- {{recipe.homepage}} |
- {{recipe.bugtracker}} |
- {{recipe.file_path}} |
-
-
- |
-
-
- {% endfor %}
+ {% endfor %}
{% include "basetable_bottom.html" %}
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 37e2af2574..1105829d96 100644
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -540,7 +540,7 @@ def tasks(request, build_id):
def recipes(request, build_id):
template = 'recipes.html'
- mandatory_parameters = { 'count': 100, 'page' : 1};
+ mandatory_parameters = { 'count': 100, 'page' : 1, 'orderby':'name:+'};
retval = _verify_parameters( request.GET, mandatory_parameters )
if retval:
return _redirect_parameters( 'recipes', request.GET, mandatory_parameters, build_id = build_id)
@@ -550,7 +550,80 @@ def recipes(request, build_id):
recipes = _build_page_range(Paginator(queryset, request.GET.get('count', 100)),request.GET.get('page', 1))
- context = {'build': Build.objects.filter(pk=build_id)[0], 'objects': recipes, }
+ context = {
+ 'objectname': 'recipes',
+ 'build': Build.objects.filter(pk=build_id)[0],
+ 'objects': recipes,
+ 'tablecols':[
+ {
+ 'name':'Recipe',
+ 'qhelp':'Information about a single piece of software, including where to download the source, configuration options, how to compile the source files and how to package the compiled output',
+ 'orderfield': _get_toggle_order(request, "name"),
+ 'ordericon':_get_toggle_order_icon(request, "name"),
+ },
+ {
+ 'name':'Recipe version',
+ 'qhelp':'The recipe version and revision',
+ },
+ {
+ 'name':'Dependencies',
+ 'qhelp':'Recipe build-time dependencies (other recipes)',
+ 'clclass': 'depends_on', 'hidden': 1,
+ },
+ {
+ 'name':'Reverse dependencies',
+ 'qhelp':'Recipe build-time reverse dependencies (i.e. which other recipes depend on this recipe)',
+ 'clclass': 'depends_by', 'hidden': 1,
+ },
+ {
+ 'name':'Recipe file',
+ 'qhelp':'Location in disk of the recipe .bb file',
+ 'orderfield': _get_toggle_order(request, "file_path"),
+ 'ordericon':_get_toggle_order_icon(request, "file_path"),
+ 'clclass': 'recipe_file', 'hidden': 0,
+ },
+ {
+ 'name':'Section',
+ 'qhelp':'The section in which packages should be categorised. There are 5 sections: base, console, utils, devel and libs',
+ 'orderfield': _get_toggle_order(request, "section"),
+ 'ordericon':_get_toggle_order_icon(request, "section"),
+ 'clclass': 'recipe_section', 'hidden': 0,
+ },
+ {
+ 'name':'License',
+ 'qhelp':'The list of source licenses for the recipe. Separate license names using | (pipe) means there is a choice between licenses. Separate license names using & (ampersand) means multiple licenses exist that cover different parts of the source',
+ 'orderfield': _get_toggle_order(request, "license"),
+ 'ordericon':_get_toggle_order_icon(request, "license"),
+ 'clclass': 'recipe_license', 'hidden': 0,
+ },
+ {
+ 'name':'Layer',
+ 'qhelp':'The name of the layer prodiving the recipe',
+ 'orderfield': _get_toggle_order(request, "layer_version__layer__name"),
+ 'ordericon':_get_toggle_order_icon(request, "layer_version__layer__name"),
+ 'clclass': 'layer_version__layer__name', 'hidden': 0,
+ },
+ {
+ 'name':'Layer branch',
+ 'qhelp':'The Git branch of the layer prodiving the recipe',
+ 'orderfield': _get_toggle_order(request, "layer_version__branch"),
+ 'ordericon':_get_toggle_order_icon(request, "layer_version__branch"),
+ 'clclass': 'layer_version__branch', 'hidden': 1,
+ },
+ {
+ 'name':'Layer commit',
+ 'qhelp':'The Git commit of the layer prodiving the recipe',
+ 'clclass': 'layer_version__layer__commit', 'hidden': 1,
+ },
+ {
+ 'name':'Layer directory',
+ 'qhelp':'Location in disk of the layer prodiving the recipe',
+ 'orderfield': _get_toggle_order(request, "layer_version__layer__local_path"),
+ 'ordericon':_get_toggle_order_icon(request, "layer_version__layer__local_path"),
+ 'clclass': 'layer_version__layer__local_path', 'hidden': 1,
+ },
+ ]
+ }
return render(request, template, context)