All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/14] toaster: update saving sstate task data
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 02/14] toaster: fix timezone detection Alex DAMIAN
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel; +Cc: Alexandru DAMIAN

From: Alexandru DAMIAN <alexandru.damian@intel.com>

This is an update on the sstate file saving data.
It saves both found and missed sstate tasks.

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
---
 lib/bb/ui/buildinfohelper.py | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py
index d1d92c8..0a15579 100644
--- a/lib/bb/ui/buildinfohelper.py
+++ b/lib/bb/ui/buildinfohelper.py
@@ -750,7 +750,7 @@ class BuildInfoHelper(object):
 
 
     def store_missed_state_tasks(self, event):
-        for (fn, taskname, taskhash, sstatefile) in event.data:
+        for (fn, taskname, taskhash, sstatefile) in event.data['missed']:
 
             identifier = fn + taskname + "_setscene"
             recipe_information = self._get_recipe_information_from_taskfile(fn)
@@ -769,6 +769,21 @@ class BuildInfoHelper(object):
 
             self.orm_wrapper.get_update_task_object(task_information)
 
+        for (fn, taskname, taskhash, sstatefile) in event.data['found']:
+
+            identifier = fn + taskname + "_setscene"
+            recipe_information = self._get_recipe_information_from_taskfile(fn)
+            recipe = self.orm_wrapper.get_update_recipe_object(recipe_information)
+            class MockEvent: pass
+            event = MockEvent()
+            event.taskname = taskname
+            event.taskhash = taskhash
+            task_information = self._get_task_information(event,recipe)
+
+            task_information['path_to_sstate_obj'] = sstatefile
+
+            self.orm_wrapper.get_update_task_object(task_information)
+
 
     def store_target_package_data(self, event):
         assert 'data' in vars(event)
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 02/14] toaster: fix timezone detection
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 01/14] toaster: update saving sstate task data Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 03/14] toaster: Display task description Alex DAMIAN
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel; +Cc: Alexandru DAMIAN

From: Alexandru DAMIAN <alexandru.damian@intel.com>

This patch replaces faulty timezone detection with a version
that simply reads the TZ environment variable if it is set.

If the TZ is not set, we do a reverse match search among known
timezone definitions and take the first match.

    [YOCTO #5499]

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
---
 lib/toaster/toastermain/settings.py | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/lib/toaster/toastermain/settings.py b/lib/toaster/toastermain/settings.py
index 51fa3cc..e26ee3c 100644
--- a/lib/toaster/toastermain/settings.py
+++ b/lib/toaster/toastermain/settings.py
@@ -50,9 +50,23 @@ ALLOWED_HOSTS = []
 # although not all choices may be available on all operating systems.
 # In a Windows environment this must be set to your system time zone.
 
-# Always use local computer's time zone
-import time
-TIME_ZONE = time.tzname[0]
+# Always use local computer's time zone, find
+import os, hashlib
+if 'TZ' in os.environ:
+    TIME_ZONE = os.environ['TZ']
+else:
+    # need to read the /etc/localtime file which is the libc standard
+    # and do a reverse-mapping to /usr/share/zoneinfo/;
+    # since the timezone may match any number of identical timezone definitions,
+
+    zonefilelist = {}
+    ZONEINFOPATH = '/usr/share/zoneinfo/'
+    for dirpath, dirnames, filenames in os.walk(ZONEINFOPATH):
+        for fn in filenames:
+            filepath = os.path.join(dirpath, fn)
+            zonefilelist[hashlib.md5(open(filepath).read()).hexdigest()] = filepath.lstrip(ZONEINFOPATH).strip()
+
+    TIME_ZONE = zonefilelist[hashlib.md5(open('/etc/localtime').read()).hexdigest()]
 
 # Language code for this installation. All choices can be found here:
 # http://www.i18nguy.com/unicode/language-identifiers.html
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 03/14] toaster: Display task description
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 01/14] toaster: update saving sstate task data Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 02/14] toaster: fix timezone detection Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 04/14] toaster: use deploy_dir var to obtain the license.manifest path Alex DAMIAN
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel; +Cc: Ravi Chintakunta

From: Ravi Chintakunta <ravi.chintakunta@timesys.com>

Display task description as content of help bubble for a task.

[YOCTO #5748]

Signed-off-by: Ravi Chintakunta <ravi.chintakunta@timesys.com>
---
 lib/toaster/orm/models.py                    | 7 +++++++
 lib/toaster/toastergui/templates/recipe.html | 2 +-
 lib/toaster/toastergui/templates/tasks.html  | 2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py
index 4975433..9c15ebf 100644
--- a/lib/toaster/orm/models.py
+++ b/lib/toaster/orm/models.py
@@ -174,6 +174,13 @@ class Task(models.Model):
             return "Executed"
         return "Not Executed"
 
+    def get_description(self):
+        variable = Variable.objects.filter(variable_name=self.task_name, build = self.build)
+        try:
+            return variable[0].description
+        except IndexError:
+            return ''
+
     build = models.ForeignKey(Build, related_name='task_build')
     order = models.IntegerField(null=True)
     task_executed = models.BooleanField(default=False) # True means Executed, False means Not/Executed
diff --git a/lib/toaster/toastergui/templates/recipe.html b/lib/toaster/toastergui/templates/recipe.html
index e367077..b8898d2 100644
--- a/lib/toaster/toastergui/templates/recipe.html
+++ b/lib/toaster/toastergui/templates/recipe.html
@@ -112,7 +112,7 @@
                     <td><a {{ task|task_color }} href="{% url "task" build.pk task.pk %}">{{task.order}}</a></td>
                     <td>
                         <a {{ task|task_color }} href="{% url "task" build.pk task.pk %}">{{task.task_name}}</a>
-                        <i class="icon-question-sign get-help hover-help" title="This task fetches the source code"></i>
+                        {% if task.get_description %}<i class="icon-question-sign get-help hover-help" title="" data-original-title="{{task.get_description}}"></i> {% endif %}
                     </td>
 
                     <td><a {{ task|task_color }} href="{% url "task" build.pk task.pk %}">{{task.get_executed_display}}</a></td>
diff --git a/lib/toaster/toastergui/templates/tasks.html b/lib/toaster/toastergui/templates/tasks.html
index ca7e187..d68a31a 100644
--- a/lib/toaster/toastergui/templates/tasks.html
+++ b/lib/toaster/toastergui/templates/tasks.html
@@ -86,7 +86,7 @@
                 <a href="{% url "recipe" build.pk task.recipe.pk %}">{{task.recipe.version}}</a>
             </td>
             <td class="task_name">
-                <a href="{%url "task" build.pk task.pk%} ">{{task.task_name}}</a>
+                <a href="{%url "task" build.pk task.pk%} ">{{task.task_name}}</a> {% if task.get_description %}<i class="icon-question-sign get-help hover-help" title="" data-original-title="{{task.get_description}}"></i> {% endif %}
             </td>
             <td class="executed">
                 <a href="{%url "task" build.pk task.pk%} ">{{task.get_executed_display}}</a>
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 04/14] toaster: use deploy_dir var to obtain the license.manifest path
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
                   ` (2 preceding siblings ...)
  2014-03-31 16:47 ` [PATCH 03/14] toaster: Display task description Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 05/14] toaster: disable configvar sorts for value and files Alex DAMIAN
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel

From: Cristiana Voicu <cristiana.voicu@intel.com>

[YOCTO #6051]
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
---
 lib/bb/ui/buildinfohelper.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py
index 0a15579..f448c84 100644
--- a/lib/bb/ui/buildinfohelper.py
+++ b/lib/bb/ui/buildinfohelper.py
@@ -629,7 +629,7 @@ class BuildInfoHelper(object):
 
 
     def store_license_manifest_path(self, event):
-        deploy_dir = event.data['deploy_dir_image']
+        deploy_dir = event.data['deploy_dir']
         image_name =  event.data['image_name']
         path = deploy_dir + "/licenses/" + image_name + "/"
         for target in self.internal_state['targets']:
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 05/14] toaster: disable configvar sorts for value and files
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
                   ` (3 preceding siblings ...)
  2014-03-31 16:47 ` [PATCH 04/14] toaster: use deploy_dir var to obtain the license.manifest path Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 06/14] toaster: Show "No builds found" in the builds table Alex DAMIAN
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel; +Cc: David Reyna

From: David Reyna <David.Reyna@windriver.com>

Disable the sort on files because it sorts on the file array's
first (and invisible) element. Disable the sort on values
because the raw ASCII sort looks wrong to the general user,
especially for values with leading spaces.

[YOCTO #6004]

Signed-off-by: David Reyna <David.Reyna@windriver.com>
---
 lib/toaster/toastergui/views.py | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/lib/toaster/toastergui/views.py b/lib/toaster/toastergui/views.py
index 4e412ca..6413c80 100644
--- a/lib/toaster/toastergui/views.py
+++ b/lib/toaster/toastergui/views.py
@@ -1120,15 +1120,11 @@ def configvars(request, build_id):
                 {'name': 'Value ',
                  'qhelp': "The value assigned to the variable",
                  'dclass': "span4",
-                 'orderfield': _get_toggle_order(request, "variable_value"),
-                 'ordericon':_get_toggle_order_icon(request, "variable_value"),
                 },
                 {'name': 'Set in file',
                  'qhelp': "The last configuration file that touched the variable value",
                  'clclass': 'file', 'hidden' : 0,
                  'dclass': "span6",
-                 'orderfield': _get_toggle_order(request, "vhistory__file_name"),
-                 'ordericon':_get_toggle_order_icon(request, "vhistory__file_name"),
                  'filter' : {
                     'class' : 'vhistory__file_name',
                     'label': 'Show:',
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 06/14] toaster: Show "No builds found" in the builds table
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
                   ` (4 preceding siblings ...)
  2014-03-31 16:47 ` [PATCH 05/14] toaster: disable configvar sorts for value and files Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 07/14] toaster: Remove trailing spaces from 'name' Alex DAMIAN
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel

From: Belen Barros Pena <belen.barros.pena@intel.com>

Making sure the h1 of build.html shows "No builds found"
instead of "0 builds found" when a search returns no results.
This matches the builds table to all other Toaster tables.

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
---
 lib/toaster/toastergui/templates/build.html | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/toaster/toastergui/templates/build.html b/lib/toaster/toastergui/templates/build.html
index 7d13cc8..afa390f 100644
--- a/lib/toaster/toastergui/templates/build.html
+++ b/lib/toaster/toastergui/templates/build.html
@@ -85,10 +85,10 @@
   {% else %}
   <div class="page-header top-air">
      <h1>
-      {% if request.GET.filter and objects.count or request.GET.search and objects.count > 0  %}
+      {% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %}
           {{objects.paginator.count}} build{{objects.paginator.count|pluralize}} found
-      {%elif objects.paginator.count == 0%}
-          No builds
+      {%elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %}
+          No builds found
       {%else%}
           All builds
       {%endif%}
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 07/14] toaster: Remove trailing spaces from 'name'
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
                   ` (5 preceding siblings ...)
  2014-03-31 16:47 ` [PATCH 06/14] toaster: Show "No builds found" in the builds table Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 08/14] toaster: Small tweaks to the packages included interface Alex DAMIAN
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel

From: Belen Barros Pena <belen.barros.pena@intel.com>

Remove all trailing spaces from 'name' because they show up
in the filter headings, which I find incredibly annoying.

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
---
 lib/toaster/toastergui/views.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/toaster/toastergui/views.py b/lib/toaster/toastergui/views.py
index 6413c80..6028d4d 100644
--- a/lib/toaster/toastergui/views.py
+++ b/lib/toaster/toastergui/views.py
@@ -1111,13 +1111,13 @@ def configvars(request, build_id):
                 'search_term':search_term,
             # Specifies the display of columns for the table, appearance in "Edit columns" box, toggling default show/hide, and specifying filters for columns
                 'tablecols' : [
-                {'name': 'Variable ',
+                {'name': 'Variable',
                  'qhelp': "BitBake is a generic task executor that considers a list of tasks with dependencies and handles metadata that consists of variables in a certain format that get passed to the tasks",
                  'dclass' : "span3",
                  'orderfield': _get_toggle_order(request, "variable_name"),
                  'ordericon':_get_toggle_order_icon(request, "variable_name"),
                 },
-                {'name': 'Value ',
+                {'name': 'Value',
                  'qhelp': "The value assigned to the variable",
                  'dclass': "span4",
                 },
@@ -1137,7 +1137,7 @@ def configvars(request, build_id):
                                ]
                              },
                 },
-                {'name': 'Description ',
+                {'name': 'Description',
                  'qhelp': "A brief explanation of the variable",
                  'clclass': 'description', 'hidden' : 0,
                  'dclass': "span5",
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 08/14] toaster: Small tweaks to the packages included interface
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
                   ` (6 preceding siblings ...)
  2014-03-31 16:47 ` [PATCH 07/14] toaster: Remove trailing spaces from 'name' Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 09/14] toaster: Fix the fade out animation Alex DAMIAN
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel

From: Belen Barros Pena <belen.barros.pena@intel.com>

* Capitalise correctly the label "Reverse runtime dependencies"

* Change dependency popover labels to match the rest of the
interface

* Make sure that dependency links go to the initial tab
of the installed package details pages

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
---
 lib/toaster/toastergui/templates/package_included_tabs.html | 2 +-
 lib/toaster/toastergui/templates/target.html                | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/toaster/toastergui/templates/package_included_tabs.html b/lib/toaster/toastergui/templates/package_included_tabs.html
index 5a97ba3..3ea4915 100644
--- a/lib/toaster/toastergui/templates/package_included_tabs.html
+++ b/lib/toaster/toastergui/templates/package_included_tabs.html
@@ -27,7 +27,7 @@
     {% endif %}
             <a href="{% url 'package_included_reverse_dependencies' build.id target.id package.id %}">
                 <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>
-                Reverse Runtime dependencies ({{reverse_count}})
+                Reverse runtime dependencies ({{reverse_count}})
             </a>
         </li>
     </ul>
diff --git a/lib/toaster/toastergui/templates/target.html b/lib/toaster/toastergui/templates/target.html
index ceffada..5db0c0c 100644
--- a/lib/toaster/toastergui/templates/target.html
+++ b/lib/toaster/toastergui/templates/target.html
@@ -93,10 +93,10 @@
             {% 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> depends on"
+                title="<a href='{% url "package_included_dependencies" build.id target.id package.id %}'>{{package.name}}</a> dependencies"
                 data-content="<ul class='unstyled'>
                   {% for i in deps|dictsort:'depends_on.name' %}
-                    <li><a href='{% url "package_included_dependencies" build.pk target.id i.depends_on.pk %}'>{{i.depends_on.name}}</a></li>
+                    <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}}
@@ -110,10 +110,10 @@
             {% 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> is brought in by"
+                title="<a href='{% url "package_included_reverse_dependencies" build.id target.id package.id %}'>{{package.name}}</a> reverse dependencies"
                 data-content="<ul class='unstyled'>
                   {% for i in rdeps|dictsort:'package.name' %}
-                    <li><a href='{% url "package_included_dependencies" build.id target.id i.package.id %}'>{{i.package.name}}</a></li>
+                    <li><a href='{% url "package_included_detail" build.id target.id i.package.id %}'>{{i.package.name}}</a></li>
                   {% endfor %}
                 </ul>">
                 {{rdeps_count}}
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 09/14] toaster: Fix the fade out animation
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
                   ` (7 preceding siblings ...)
  2014-03-31 16:47 ` [PATCH 08/14] toaster: Small tweaks to the packages included interface Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 10/14] toaster: Increase animation duration Alex DAMIAN
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel; +Cc: Alexandru DAMIAN

From: Belen Barros Pena <belen.barros.pena@intel.com>

Apply the animation to any element with the class
.highlight

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
---
 lib/toaster/toastergui/static/css/default.css | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/toaster/toastergui/static/css/default.css b/lib/toaster/toastergui/static/css/default.css
index 260f5d4..69e8cad 100644
--- a/lib/toaster/toastergui/static/css/default.css
+++ b/lib/toaster/toastergui/static/css/default.css
@@ -46,8 +46,7 @@ dd p { line-height: 20px; }
 .details { margin-top: 30px; }
 
 /* Required classes for the highlight behaviour in tables */
-.highlight { background-color: #D9EDF7; }
-.flash:target { -webkit-animation: target-fade 7s 1; -moz-animation: target-fade 7s 1; animation: target-fade 7s 1; }
+.highlight { -webkit-animation: target-fade 7s 1; -moz-animation: target-fade 7s 1; animation: target-fade 7s 1; }
 @-webkit-keyframes target-fade { 0% { background-color: #D9EDF7; } 25% { background-color: #D9EDF7; } 100% { background-color: white; } }
 @-moz-keyframes target-fade { 0% { background-color: #D9EDF7; } 25% { background-color: #D9EDF7; } 100% { background-color: white; } }
 @keyframes target-fade { 0% { background-color: #D9EDF7; } 25% { background-color: #D9EDF7; } 100% { background-color: white; } }
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 00/14] Toaster pull request
@ 2014-03-31 16:47 Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 01/14] toaster: update saving sstate task data Alex DAMIAN
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel
  Cc: Dave Lerner, David Reyna, Ravi Chintakunta, Alexandru DAMIAN

From: Alexandru DAMIAN <alexandru.damian@intel.com>

Hello,

This is a Toaster patchset pull request. These patches have been reviewed on the toaster
mailing list.

Can you please pull at your convenience ?

Thank you,
Alex

The following changes since commit f4ebc4de63d64e3b5f87e1d0f51507760c3d82d7:

  user-manual-execution.xml: Added how BB processes curly braces. (2014-03-30 10:19:41 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib adamian/20140331-bb-submission
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=adamian/20140331-bb-submission

Alexandru DAMIAN (2):
  toaster: update saving sstate task data
  toaster: fix timezone detection

Belen Barros Pena (7):
  toaster: Show "No builds found" in the builds table
  toaster: Remove trailing spaces from 'name'
  toaster: Small tweaks to the packages included interface
  toaster: Fix the fade out animation
  toaster: Increase animation duration
  toaster: Match search results form to no results form
  toaster: Update help text in format_vpackage_namehelp tag

Cristiana Voicu (1):
  toaster: use deploy_dir var to obtain the license.manifest path

Dave Lerner (1):
  toaster: unbuilt package dependency formats

David Reyna (2):
  toaster: disable configvar sorts for value and files
  toaster: secondary sort key as table's default order

Ravi Chintakunta (1):
  toaster: Display task description

 lib/bb/ui/buildinfohelper.py                       | 19 +++++-
 lib/toaster/orm/models.py                          |  7 ++
 lib/toaster/toastergui/static/css/default.css      |  3 +-
 .../toastergui/templates/basetable_top.html        |  2 +-
 lib/toaster/toastergui/templates/build.html        |  6 +-
 .../templates/package_built_dependencies.html      | 75 ++++++++++------------
 .../templates/package_included_tabs.html           |  2 +-
 lib/toaster/toastergui/templates/recipe.html       |  2 +-
 lib/toaster/toastergui/templates/target.html       |  8 +--
 lib/toaster/toastergui/templates/tasks.html        |  2 +-
 lib/toaster/toastergui/templatetags/projecttags.py |  2 +-
 lib/toaster/toastergui/views.py                    | 37 +++++------
 lib/toaster/toastermain/settings.py                | 20 +++++-
 13 files changed, 106 insertions(+), 79 deletions(-)

-- 
1.9.1



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 10/14] toaster: Increase animation duration
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
                   ` (8 preceding siblings ...)
  2014-03-31 16:47 ` [PATCH 09/14] toaster: Fix the fade out animation Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 11/14] toaster: Match search results form to no results form Alex DAMIAN
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel

From: Belen Barros Pena <belen.barros.pena@intel.com>

Increase the duration of the blue highlight animation
from 7 to 10 seconds.

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
---
 lib/toaster/toastergui/static/css/default.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/toaster/toastergui/static/css/default.css b/lib/toaster/toastergui/static/css/default.css
index 69e8cad..0b53718 100644
--- a/lib/toaster/toastergui/static/css/default.css
+++ b/lib/toaster/toastergui/static/css/default.css
@@ -46,7 +46,7 @@ dd p { line-height: 20px; }
 .details { margin-top: 30px; }
 
 /* Required classes for the highlight behaviour in tables */
-.highlight { -webkit-animation: target-fade 7s 1; -moz-animation: target-fade 7s 1; animation: target-fade 7s 1; }
+.highlight { -webkit-animation: target-fade 10s 1; -moz-animation: target-fade 10s 1; animation: target-fade 10s 1; }
 @-webkit-keyframes target-fade { 0% { background-color: #D9EDF7; } 25% { background-color: #D9EDF7; } 100% { background-color: white; } }
 @-moz-keyframes target-fade { 0% { background-color: #D9EDF7; } 25% { background-color: #D9EDF7; } 100% { background-color: white; } }
 @keyframes target-fade { 0% { background-color: #D9EDF7; } 25% { background-color: #D9EDF7; } 100% { background-color: white; } }
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 11/14] toaster: Match search results form to no results form
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
                   ` (9 preceding siblings ...)
  2014-03-31 16:47 ` [PATCH 10/14] toaster: Increase animation duration Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 12/14] toaster: Update help text in format_vpackage_namehelp tag Alex DAMIAN
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel

From: Belen Barros Pena <belen.barros.pena@intel.com>

In the search results form, add the btn class to the clear
search button and set its tabindex to -1 so that you don't
accidentally clear the search when you want to search
again.

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
---
 lib/toaster/toastergui/templates/basetable_top.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/toaster/toastergui/templates/basetable_top.html b/lib/toaster/toastergui/templates/basetable_top.html
index 3fc0f31..f625901 100644
--- a/lib/toaster/toastergui/templates/basetable_top.html
+++ b/lib/toaster/toastergui/templates/basetable_top.html
@@ -30,7 +30,7 @@
 <div class="navbar">
     <div class="navbar-inner">
         <form class="navbar-search input-append pull-left" id="searchform">
-            <input class="input-xxlarge" id="search" name="search" type="text" placeholder="Search {%if object_search_display %}{{object_search_display}}{%else%}{{objectname}}{%endif%}" value="{{request.GET.search}}"/>{% if request.GET.search %}<a href="javascript:$('#search').val('');searchform.submit()" class="add-on"><i class="icon-remove"></i></a>{%endif%}
+            <input class="input-xxlarge" id="search" name="search" type="text" placeholder="Search {%if object_search_display %}{{object_search_display}}{%else%}{{objectname}}{%endif%}" value="{{request.GET.search}}"/>{% if request.GET.search %}<a href="javascript:$('#search').val('');searchform.submit()" class="add-on btn" tabindex="-1"><i class="icon-remove"></i></a>{%endif%}
             <input type="hidden" name="orderby" value="{{request.GET.orderby}}">
             <input type="hidden" name="page" value="1">
             <button class="btn" type="submit" value="Search">Search</button>
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 12/14] toaster: Update help text in format_vpackage_namehelp tag
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
                   ` (10 preceding siblings ...)
  2014-03-31 16:47 ` [PATCH 11/14] toaster: Match search results form to no results form Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 13/14] toaster: unbuilt package dependency formats Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 14/14] toaster: secondary sort key as table's default order Alex DAMIAN
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel

From: Belen Barros Pena <belen.barros.pena@intel.com>

The text now says that the package has not been built.

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
---
 lib/toaster/toastergui/templatetags/projecttags.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/toaster/toastergui/templatetags/projecttags.py b/lib/toaster/toastergui/templatetags/projecttags.py
index aa0ba39..3dd0f3d 100644
--- a/lib/toaster/toastergui/templatetags/projecttags.py
+++ b/lib/toaster/toastergui/templatetags/projecttags.py
@@ -237,7 +237,7 @@ def format_vpackage_rowclass(size):
 def format_vpackage_namehelp(name):
     r =  name + '&nbsp;'
     r += '<i class="icon-question-sign get-help hover-help"'
-    r += ' title="' + name + ' only has dependency information available.">'
+    r += ' title = "' + name + ' has not been built">'
     r += '</i>'
     return mark_safe(r)
 
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 13/14] toaster: unbuilt package dependency formats
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
                   ` (11 preceding siblings ...)
  2014-03-31 16:47 ` [PATCH 12/14] toaster: Update help text in format_vpackage_namehelp tag Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  2014-03-31 16:47 ` [PATCH 14/14] toaster: secondary sort key as table's default order Alex DAMIAN
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel; +Cc: Dave Lerner

From: Dave Lerner <dave.lerner@windriver.com>

[YOCTO 6057]

For a package shown on the package build dependency page, the dependent
packages may be unbuilt packages, as indicated with the dependent
package's size set to -1.  This fix changes the build template to use
the same formatting functions for unbuilt dependent packages as the
include package templates use for unbuilt dependent packages.

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
---
 .../templates/package_built_dependencies.html      | 75 ++++++++++------------
 1 file changed, 33 insertions(+), 42 deletions(-)

diff --git a/lib/toaster/toastergui/templates/package_built_dependencies.html b/lib/toaster/toastergui/templates/package_built_dependencies.html
index a2011d6..8613f1e 100644
--- a/lib/toaster/toastergui/templates/package_built_dependencies.html
+++ b/lib/toaster/toastergui/templates/package_built_dependencies.html
@@ -36,24 +36,21 @@
                     </thead>
                     <tbody>
 						{% for runtime_dep in runtime_deps %}
-                            {% ifequal runtime_dep.version '' %}
-                                <tr class="muted">
-                                    <td>{{runtime_dep.name}}</td>
-                                    <td>{{runtime_dep.version}}</td>
-                                    <td></td>
-                                    </div>
-                                </tr>
+                        <tr {{runtime_dep.size|format_vpackage_rowclass}} >
+                            {% if runtime_dep.size != -1 %}
+                            <td>
+                                <a href="{% url 'package_built_detail' build.id runtime_dep.depends_on_id %}">
+                                    {{runtime_dep.name}}
+                                </a>
+                            </td>
                             {% else %}
-                                <tr>
-                                    <td>
-                                        <a href="{% url 'package_built_detail' build.id runtime_dep.depends_on_id %}">
-                                            {{runtime_dep.name}}
-                                        </a>
-                                    </td>
-                                    <td>{{runtime_dep.version}}</td>
-                                    <td>{{runtime_dep.size|filtered_filesizeformat}}</td>
-                                </tr>
-                            {% endifequal %}
+                            <td>
+                                {{runtime_dep.name|format_vpackage_namehelp}}
+                            </td>
+                            {% endif %}
+                            <td>{{runtime_dep.version}}</td>
+                            <td>{{runtime_dep.size|filtered_filesizeformat}}</td>
+                        </tr>
 						{% endfor %}
                     </tbody>
                 </table>
@@ -74,31 +71,25 @@
                     </thead>
                     <tbody>
 						{% for other_dep in other_deps %}
-                        	{% ifequal other_dep.version '' %}
-                            	<tr class="muted">
-                                	<td>{{other_dep.name}}</td>
-                                	<td>{{other_dep.version}}</td>
-                                	<td></td>
-                                	<td>
-                                    	{{other_dep.dep_type_display}}
-                                    	<i class="icon-question-sign get-help hover-help" title="{{other_dep.dep_type_help}}" ></i>
-                                	</td>
-                            	</tr>
-                        	{% else %}
-                            	<tr>
-                                	<td>
-                                    	<a href="{% url 'package_built_detail' build.id other_dep.depends_on_id %}">
-                                        	{{other_dep.name}}
-                                    	</a>
-                                	</td>
-                                	<td>{{other_dep.version}}</td>
-                                	<td>{{other_dep.size|filtered_filesizeformat}}</td>
-                                	<td>
-                                    	{{other_dep.dep_type_display}}
-                                    	<i class="icon-question-sign get-help hover-help" title="{{other_dep.dep_type_help}}" ></i>
-                                	</td>
-                            	</tr>
-                        	{% endifequal %}
+                        <tr {{other_dep.size|format_vpackage_rowclass}} >
+                        {% if other_dep.size != -1 %}
+                            <td>
+                                <a href="{% url 'package_built_detail' build.id other_dep.depends_on_id %}">
+                                    {{other_dep.name}}
+                                </a>
+                            </td>
+                        {% else %}
+                            <td>
+                                {{other_dep.name|format_vpackage_namehelp}}
+                            </td>
+                        {% endif %}
+                            <td>{{other_dep.version}}</td>
+                            <td>{{other_dep.size|filtered_filesizeformat}}</td>
+                            <td>
+                                {{other_dep.dep_type_display}}
+                                <i class="icon-question-sign get-help hover-help" title="{{other_dep.dep_type_help}}" ></i>
+                            </td>
+                        </tr>
                     	{% endfor %}
                     </tbody>
                 </table>
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 14/14] toaster: secondary sort key as table's default order
  2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
                   ` (12 preceding siblings ...)
  2014-03-31 16:47 ` [PATCH 13/14] toaster: unbuilt package dependency formats Alex DAMIAN
@ 2014-03-31 16:47 ` Alex DAMIAN
  13 siblings, 0 replies; 15+ messages in thread
From: Alex DAMIAN @ 2014-03-31 16:47 UTC (permalink / raw)
  To: bitbake-devel; +Cc: David Reyna

From: David Reyna <David.Reyna@windriver.com>

Provide for a secondary sort key based on the table's default
ordering when doing sort on alternate columns.

[YOCTO #5920]

Signed-off-by: David Reyna <David.Reyna@windriver.com>
---
 lib/toaster/toastergui/views.py | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/lib/toaster/toastergui/views.py b/lib/toaster/toastergui/views.py
index 6028d4d..05e24ea 100644
--- a/lib/toaster/toastergui/views.py
+++ b/lib/toaster/toastergui/views.py
@@ -175,7 +175,7 @@ def _search_tuple(request, model):
 
 
 # returns a lazy-evaluated queryset for a filter/search/order combination
-def _get_queryset(model, queryset, filter_string, search_term, ordering_string):
+def _get_queryset(model, queryset, filter_string, search_term, ordering_string, ordering_secondary=''):
     if filter_string:
         filter_query = _get_filtering_query(filter_string)
         queryset = queryset.filter(filter_query)
@@ -187,14 +187,19 @@ def _get_queryset(model, queryset, filter_string, search_term, ordering_string):
 
     if ordering_string and queryset:
         column, order = ordering_string.split(':')
+        if column == re.sub('-','',ordering_secondary):
+            ordering_secondary=''
         if order.lower() == DESCENDING:
-            queryset = queryset.order_by('-' + column)
+            column = '-' + column
+        if ordering_secondary:
+            queryset = queryset.order_by(column, ordering_secondary)
         else:
             queryset = queryset.order_by(column)
 
     # insure only distinct records (e.g. from multiple search hits) are returned 
     return queryset.distinct()
 
+
 # shows the "all builds" page
 def builds(request):
     template = 'build.html'
@@ -210,8 +215,8 @@ def builds(request):
     # for that object type. copypasta for all needed table searches
     (filter_string, search_term, ordering_string) = _search_tuple(request, Build)
     queryset_all = Build.objects.exclude(outcome = Build.IN_PROGRESS)
-    queryset_with_search = _get_queryset(Build, queryset_all, None, search_term, ordering_string)
-    queryset = _get_queryset(Build, queryset_all, filter_string, search_term, ordering_string)
+    queryset_with_search = _get_queryset(Build, queryset_all, None, search_term, ordering_string, '-completed_on')
+    queryset = _get_queryset(Build, queryset_all, filter_string, search_term, ordering_string, '-completed_on')
 
     # retrieve the objects that will be displayed in the table; builds a paginator and gets a page range to display
     build_info = _build_page_range(Paginator(queryset, request.GET.get('count', 10)),request.GET.get('page', 1))
@@ -489,7 +494,7 @@ def target(request, build_id, target_id):
     # FUTURE:  get rid of nested sub-queries replacing with ManyToMany field
     queryset = Package.objects.filter(size__gte=0, id__in=Target_Installed_Package.objects.filter(target_id=target_id).values('package_id'))
     packages_sum =  queryset.aggregate(Sum('installed_size'))
-    queryset = _get_queryset(Package, queryset, filter_string, search_term, ordering_string)
+    queryset = _get_queryset(Package, queryset, filter_string, search_term, ordering_string, 'name')
     packages = _build_page_range(Paginator(queryset, request.GET.get('count', 25)),request.GET.get('page', 1))
 
     # bring in package dependencies
@@ -789,8 +794,8 @@ def tasks_common(request, build_id, variant):
         return _redirect_parameters( variant, request.GET, mandatory_parameters, build_id = build_id)
     (filter_string, search_term, ordering_string) = _search_tuple(request, Task)
     queryset_all = Task.objects.filter(build=build_id, order__gt=0)
-    queryset_with_search = _get_queryset(Task, queryset_all, None , search_term, ordering_string)
-    queryset = _get_queryset(Task, queryset_all, filter_string, search_term, ordering_string)
+    queryset_with_search = _get_queryset(Task, queryset_all, None , search_term, ordering_string, 'order')
+    queryset = _get_queryset(Task, queryset_all, filter_string, search_term, ordering_string, 'order')
 
     tasks = _build_page_range(Paginator(queryset, request.GET.get('count', 100)),request.GET.get('page', 1))
 
@@ -952,7 +957,7 @@ def recipes(request, build_id):
         return _redirect_parameters( 'recipes', request.GET, mandatory_parameters, build_id = build_id)
     (filter_string, search_term, ordering_string) = _search_tuple(request, Recipe)
     queryset = Recipe.objects.filter(layer_version__id__in=Layer_Version.objects.filter(build=build_id))
-    queryset = _get_queryset(Recipe, queryset, filter_string, search_term, ordering_string)
+    queryset = _get_queryset(Recipe, queryset, filter_string, search_term, ordering_string, 'name')
 
     recipes = _build_page_range(Paginator(queryset, request.GET.get('count', 100)),request.GET.get('page', 1))
 
@@ -1081,8 +1086,8 @@ def configvars(request, build_id):
         return _redirect_parameters( 'configvars', request.GET, mandatory_parameters, build_id = build_id)
 
     queryset = Variable.objects.filter(build=build_id).exclude(variable_name__istartswith='B_').exclude(variable_name__istartswith='do_')
-    queryset_with_search =  _get_queryset(Variable, queryset, None, search_term, ordering_string).exclude(variable_value='',vhistory__file_name__isnull=True)
-    queryset = _get_queryset(Variable, queryset, filter_string, search_term, ordering_string)
+    queryset_with_search =  _get_queryset(Variable, queryset, None, search_term, ordering_string, 'variable_name').exclude(variable_value='',vhistory__file_name__isnull=True)
+    queryset = _get_queryset(Variable, queryset, filter_string, search_term, ordering_string, 'variable_name')
     # remove records where the value is empty AND there are no history files
     queryset = queryset.exclude(variable_value='',vhistory__file_name__isnull=True)
 
@@ -1163,7 +1168,7 @@ def bpackage(request, build_id):
         return _redirect_parameters( 'packages', request.GET, mandatory_parameters, build_id = build_id)
     (filter_string, search_term, ordering_string) = _search_tuple(request, Package)
     queryset = Package.objects.filter(build = build_id).filter(size__gte=0)
-    queryset = _get_queryset(Package, queryset, filter_string, search_term, ordering_string)
+    queryset = _get_queryset(Package, queryset, filter_string, search_term, ordering_string, 'name')
 
     packages = _build_page_range(Paginator(queryset, request.GET.get('count', 100)),request.GET.get('page', 1))
 
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2014-03-31 16:47 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-31 16:47 [PATCH 00/14] Toaster pull request Alex DAMIAN
2014-03-31 16:47 ` [PATCH 01/14] toaster: update saving sstate task data Alex DAMIAN
2014-03-31 16:47 ` [PATCH 02/14] toaster: fix timezone detection Alex DAMIAN
2014-03-31 16:47 ` [PATCH 03/14] toaster: Display task description Alex DAMIAN
2014-03-31 16:47 ` [PATCH 04/14] toaster: use deploy_dir var to obtain the license.manifest path Alex DAMIAN
2014-03-31 16:47 ` [PATCH 05/14] toaster: disable configvar sorts for value and files Alex DAMIAN
2014-03-31 16:47 ` [PATCH 06/14] toaster: Show "No builds found" in the builds table Alex DAMIAN
2014-03-31 16:47 ` [PATCH 07/14] toaster: Remove trailing spaces from 'name' Alex DAMIAN
2014-03-31 16:47 ` [PATCH 08/14] toaster: Small tweaks to the packages included interface Alex DAMIAN
2014-03-31 16:47 ` [PATCH 09/14] toaster: Fix the fade out animation Alex DAMIAN
2014-03-31 16:47 ` [PATCH 10/14] toaster: Increase animation duration Alex DAMIAN
2014-03-31 16:47 ` [PATCH 11/14] toaster: Match search results form to no results form Alex DAMIAN
2014-03-31 16:47 ` [PATCH 12/14] toaster: Update help text in format_vpackage_namehelp tag Alex DAMIAN
2014-03-31 16:47 ` [PATCH 13/14] toaster: unbuilt package dependency formats Alex DAMIAN
2014-03-31 16:47 ` [PATCH 14/14] toaster: secondary sort key as table's default order Alex DAMIAN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.