[Toaster] [review-request v3] [Patch 1/1] toaster: add rev dep column to image detail pages

Smith, Elliot elliot.smith at intel.com
Wed Apr 6 06:45:43 PDT 2016


Tested again. I still sometimes see the duplicates, but haven't narrowed
down why.

I am convinced the duplication is not due to this patch, so I submitted it
upstream to bitbake-devel and added it to toaster-next.

Elliot

On 4 April 2016 at 14:55, Lerner, David M (Wind River) <
dave.lerner at windriver.com> wrote:

> 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
>



-- 
Elliot Smith
Software Engineer
Intel Open Source Technology Centre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/toaster/attachments/20160406/dcb1b4c2/attachment-0001.html>


More information about the toaster mailing list