[Toaster] [review-request v3] [Patch 1/1] toaster: add rev dep column to image detail pages
Lerner, Dave
dave.lerner at windriver.com
Mon Apr 4 06:55:53 PDT 2016
Actually I have not seen this duplication with rev dep list, but I did see this with the normal dependency list a few times, that is until I spent some effort trying to reproduce the conditions cleanly, 2 projects, 2 custom-images; but I wasn't able to after a rebase. Note again, this was for the dependency, not the reverse dependency list.
I will be trying to duplicate the 'duplication' symptoms today, dep or rev-dep. Feel free to hold off submitting to give me more time to try and find the steps, and then the root-cause. I will try a systematic approach and publish the positive or negative findings later today.
Dave
> -----Original Message-----
> From: Smith, Elliot [mailto:elliot.smith at intel.com]
> Sent: Monday, April 04, 2016 3:31 AM
> To: Lerner, Dave
> Cc: toaster at yoctoproject.org; Belen Barros Pena (Intel); AVERY, BRIAN
> Subject: Re: [Toaster] [review-request v3] [Patch 1/1] toaster: add rev dep column to
> image detail pages
>
> Hello Dave.
>
> I've had a look at this, but have noticed an issue where there are some repeats of
> packages in the reverse dependencies list (and in the dependencies list). Several other
> team members have seen the same thing.
>
> Consequently, I'm not sure whether to put your patches in for now. I've cc'd Brian for
> his opinion.
>
> However, I am confident that this issue has nothing to do with your patches. I just
> didn't want to muddy the issue further in case anyone is already dealing with this.
>
> Elliot
>
> On 31 March 2016 at 19:56, Dave Lerner <dave.lerner at windriver.com> wrote:
>
>
> Add a column to the custom image pages that shows the reverse
> dependencies in a format matching the dependencies column:
> - either blank or a button showing the count of reverse dependencies,
> - when the button is clicked, a popover appears showing the list
> of reverse dependencies, with each package's size, and the total
> size of all of the reverse dependencies.
>
> The implementation adds a packages table method to retreive the reverse
> dependency total size, and adds a separate 'popover' html template. Both
> of these changes follow the pattern for the dependencies column.
>
> [YOCTO #9163]
>
> Signed-off-by: Dave Lerner <dave.lerner at windriver.com>
> ---
> bitbake/lib/toaster/orm/models.py | 7 +++++++
> bitbake/lib/toaster/toastergui/tables.py | 6 ++++++
> .../templates/snippets/pkg_revdependencies_popover.html | 15 +++++++++++++++
> 3 files changed, 28 insertions(+)
>
> diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
> index 6ae6316..cfab7b7 100644
> --- a/bitbake/lib/toaster/orm/models.py
> +++ b/bitbake/lib/toaster/orm/models.py
> @@ -813,6 +813,13 @@ class Package_DependencyManager(models.Manager):
> """
> return self.all().aggregate(Sum('depends_on__size'))
>
> + def get_total_revdeps_size(self):
> + """ Returns the total file size of all the packages that depend on
> + this package.
> + """
> + return self.all().aggregate(Sum('package_id__size'))
> +
> +
> def all_depends(self):
> """ Returns just the depends packages and not any other dep_type """
> return self.filter(Q(dep_type=Package_Dependency.TYPE_RDEPENDS) |
> diff --git a/bitbake/lib/toaster/toastergui/tables.py
> b/bitbake/lib/toaster/toastergui/tables.py
> index 67a6592..c677ec5 100644
> --- a/bitbake/lib/toaster/toastergui/tables.py
> +++ b/bitbake/lib/toaster/toastergui/tables.py
> @@ -725,6 +725,12 @@ class PackagesTable(ToasterTable):
> static_data_template='\
> {% include "snippets/pkg_dependencies_popover.html" %}')
>
> + self.add_column(title="Reverse dependencies",
> + static_data_name="reverse_dependencies",
> + static_data_template='\
> + {% include "snippets/pkg_revdependencies_popover.html"
> %}',
> + hidden=True)
> +
> self.add_column(title="Recipe",
> field_name="recipe__name",
> orderable=True,
> diff --git
> a/bitbake/lib/toaster/toastergui/templates/snippets/pkg_revdependencies_popover.html
> b/bitbake/lib/toaster/toastergui/templates/snippets/pkg_revdependencies_popover.html
> new file mode 100644
> index 0000000..04fd2d3
> --- /dev/null
> +++
> b/bitbake/lib/toaster/toastergui/templates/snippets/pkg_revdependencies_popover.html
> @@ -0,0 +1,15 @@
> +{# Popover that displays the reverse dependencies and sizes of a package 'data'
> used in the Packages table #}
> +{% with data.package_dependencies_target.all_depends.count as dep_count %}
> +{% load projecttags %}
> +{% if dep_count %}
> + <a data-content="<ul class='unstyled'>
> + {% for dep in
> data.package_dependencies_target.all_depends|dictsort:'package.name' %}
> + <li>{{dep.package.name}} {% if dep.package.size > 0
> %}({{dep.package.size|filtered_filesizeformat}}){% endif %}</li>
> + {% endfor %}
> + </ul>" title="" class="btn" data-original-title="
> + <strong>{{data.name}}</strong> reverse dependencies -
> <strong>{{data.package_dependencies_target.get_total_revdeps_size.package_id__size__sum|
> filtered_filesizeformat}}</strong>">
> + {{dep_count}}
> +</a>
> +{% endif %}
> +{% endwith %}
> +
> --
> 2.7.4
>
>
>
>
>
>
> --
>
> Elliot Smith
> Software Engineer
> Intel Open Source Technology Centre
More information about the toaster
mailing list