bitbake: toaster logger: refactor recipe and layer file paths

This refactoring brings the "local_path" of the
layer from the Layer object to the Layer_Version object, which
is more appropriate as different checkouts of the same
Layer may live in different directories.

This enables us to store Recipe file paths relative to a Layer_Version
at all times, aleviating the need to store full file paths in the
database. We also turn the prefix of the path (e.g. virtual:native
path name space) into a pathflag field.

In turn, this solves the problem of mis-identification of tasks based
on the recipe file paths, since we can also match the namespace of the
file paths on the recipe files.

[YOCTO #7594]

(Bitbake rev: ec43dc569e370767c709dec225cbee0c99151c19)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexandru DAMIAN
2015-05-14 16:10:50 +01:00
committed by Richard Purdie
parent a5236be47f
commit e3e85bdf71
11 changed files with 427 additions and 58 deletions

View File

@@ -89,7 +89,7 @@
</td>
<!-- Layer directory -->
{% if not MANAGED or not build.project %}
<td class="recipe__layer_version__layer__local_path">{{package.recipe.layer_version.layer.local_path}}</td>
<td class="recipe__layer_version__local_path">{{package.recipe.layer_version.local_path}}</td>
{% endif %}
{%else%}
<td class="recipe__name"></td>
@@ -97,7 +97,7 @@
<td class="recipe__layer_version__layer__name"></td>
<td class="recipe__layer_version__branch"></td>
<td class="recipe__layer_version__layer__commit"></td>
<td class="recipe__layer_version__layer__local_path"></td>
<td class="recipe__layer_version__local_path"></td>
{%endif%}
</tr>

View File

@@ -64,7 +64,7 @@
{{lv.commit|truncatechars:13}}
</a></td>
{% if not MANAGED or not build.project %}
<td>{{lv.layer.local_path}}</td>
<td>{{lv.local_path}}</td>
{% endif %}
</tr>{% endfor %}
</tbody>

View File

@@ -141,7 +141,7 @@
Layer directory
<i class="icon-question-sign get-help" title="Path to the layer providing the recipe that builds this package"></i>
</dt>
<dd><code>{{package.recipe.layer_version.layer.local_path}}</code></dd>
<dd><code>{{package.recipe.layer_version.local_path}}</code></dd>
{% endif %}
</dl>
</div> <!-- row4 well -->

View File

@@ -58,13 +58,13 @@
<i class="icon-question-sign get-help" title="Path to the layer providing the recipe"></i>
Layer directory
</dt>
<dd><code>{{layer.local_path}}</code></dd>
<dd><code>{{object.layer_version.local_path}}</code></dd>
{% endif %}
<dt>
<i class="icon-question-sign get-help" title="Path to the recipe .bb file"></i>
Recipe file
</dt>
<dd><code>{{object.get_local_path}}</code></dd>
<dd><code>{{object.file_path}} {% if object.pathflags %}<i>({{object.pathflags}})</i>{% endif %}</code></dd>
{% if layer_version.branch %}
<dt>
<i class="icon-question-sign get-help" title="The Git branch of the layer providing the recipe"></i>

View File

@@ -84,7 +84,7 @@
{% endwith %}
</td>
<!-- Recipe file -->
<td class="recipe_file">{{recipe.get_local_path}}</td>
<td class="recipe_file">{{recipe.file_path}} {% if recipe.pathflags %}<i>({{recipe.pathflags}})</i>{% endif %}</td>
<!-- Section -->
<td class="recipe_section">{{recipe.section}}</td>
<!-- License -->
@@ -105,7 +105,7 @@
{% if not MANAGED or not build.project %}
<!-- Layer directory -->
<td class="layer_version__layer__local_path">{{recipe.layer_version.layer.local_path}}</td>
<td class="layer_version__local_path">{{recipe.layer_version.local_path}}</td>
{% endif %}
</tr>

View File

@@ -154,7 +154,7 @@
</td>
{% if not MANAGED or not build.project %}
<td class="layer_directory">
{{ package.recipe.layer_version.layer.local_path }}
{{ package.recipe.layer_version.local_path }}
</td>
{% endif %}
</tr>

View File

@@ -725,9 +725,9 @@ eans multiple licenses exist that cover different parts of the source',
tc_layerDir = {
'name':'Layer directory',
'qhelp':'Location in disk of the layer providing the recipe that builds the package',
'orderfield' : _get_toggle_order( request, "recipe__layer_version__layer__local_path" ),
'ordericon' : _get_toggle_order_icon( request, "recipe__layer_version__layer__local_path" ),
'orderkey' : "recipe__layer_version__layer__local_path",
'orderfield' : _get_toggle_order( request, "recipe__layer_version__local_path" ),
'ordericon' : _get_toggle_order_icon( request, "recipe__layer_version__local_path" ),
'orderkey' : "recipe__layer_version__local_path",
'clclass' : 'layer_directory',
'hidden' : 1,
}
@@ -1254,10 +1254,10 @@ def recipes(request, build_id):
{
'name':'Layer directory',
'qhelp':'Path to 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"),
'orderkey' : 'layer_version__layer__local_path',
'clclass': 'layer_version__layer__local_path', 'hidden': 1,
'orderfield': _get_toggle_order(request, "layer_version__local_path"),
'ordericon':_get_toggle_order_icon(request, "layer_version__local_path"),
'orderkey' : 'layer_version__local_path',
'clclass': 'layer_version__local_path', 'hidden': 1,
})
@@ -1464,10 +1464,10 @@ def bpackage(request, build_id):
tc_layerDir = {
'name':'Layer directory',
'qhelp':'Path to the layer providing the recipe that builds the package',
'orderfield': _get_toggle_order(request, "recipe__layer_version__layer__local_path"),
'ordericon':_get_toggle_order_icon(request, "recipe__layer_version__layer__local_path"),
'orderkey' : 'recipe__layer_version__layer__local_path',
'clclass': 'recipe__layer_version__layer__local_path', 'hidden': 1,
'orderfield': _get_toggle_order(request, "recipe__layer_version__local_path"),
'ordericon':_get_toggle_order_icon(request, "recipe__layer_version__local_path"),
'orderkey' : 'recipe__layer_version__local_path',
'clclass': 'recipe__layer_version__local_path', 'hidden': 1,
}
context['tablecols'].append(tc_layerDir)