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:[email protected]]
> Sent: Monday, April 04, 2016 3:31 AM
> To: Lerner, Dave
> Cc: [email protected]; 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 <[email protected]> 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 <[email protected]>
>       ---
>        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
-- 
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster

Reply via email to