[Toaster] [V2 review-request] show and delete recursive list of reverse dependencies

Dave Lerner dave.lerner at windriver.com
Thu Mar 17 15:01:57 PDT 2016


Target Branch: toaster-next master
Contrib Branch: poky-contrib/dlerner/9121-delete-dependant-package-tree
Defect: 9121
Summary: Show and delete recurive list of reverse dependencies

Comment: Version 2 patch set per comments from Belen and Elliot.
         Only 1/3 and 3/3 patches are changed, but 2/3 is included.

Commit
------
c801079 toaster: get all dependants for pkg for removal
327ada3 toaster: new customise package-remove modal dlg
7542b8a toaster: show full list of dependants to remove
 
 .../toaster/toastergui/static/js/customrecipe.js   | 72 +++++++++++++++--
 .../toaster/toastergui/templates/customrecipe.html |  5 +-
 bitbake/lib/toaster/toastergui/views.py            | 91 +++++++++++++++++++---
 3 files changed, 148 insertions(+), 20 deletions(-)


Test Cases:
[V2] denotes additional test for version 2, changes per Belen's comments.

SETUP:
-----
Start toaster with empty build directory, sstate-cache
Create a new project, 'myproject'
Build core-image-sato

CASE Remove dependant package that was part of original base image
------------------------------------------------------------------
Create new custom image on core-image-sato, named mysato
Remove libcrypto
    Verify that "39 packages will be removed" are reported and that the 
    packages are unique and in alpha order
    [V2] Verify that the notification shows
"You have removed libcrypto and its 39 reverse dependencies: gst-player-bin, gstreamer1.0-plugins-bad-dtls, gstreamer1.0-plugins-bad-meta, gstreamer1.0-plugins-bad-opengl, libegl-mesa and 34 more"

Build  mysato
Click on the All Builds mysato:
    Verify Images : Packages included field shows 40 packages less than if
        you look at All Builds | core-image-sato (eg 567 vs 607)

CASE Add back a root dependency (Issue sent in email Mar9)
----------------------------------------------------------
Open custom image mysato
Add libcrypto back
Build 
Click All Projects | Custom Images | mysato
    Verify libcrypto 'looks' added: that the entry shows "remove package"

CASE Test no interference removing from a 2nd custom image in project
----------------------------------------------------------------------
New custom-image based on core-image-sato 'myminimal'
Build it
Add atk which is dependant on glib-2.0, libffi, libpcre (bash appears but this
is busybox system, so don't think that dependency will apply - maybe bug unrelated to this work).
Build myminimal again.
Verify that atk, libffi, libpcre, glib-2.0 have files in the file system
For custom image myminimal, enter libpcre, remove package
    Verify modal dlg notes libpcre atk and glib-2.0 will be removed Remove
Build
    Verify atk, glib2.0 and libpcre are removed.

CASE Test button notifications and banner on removal for package w/ dependants
------------------------------------------------------------------------------
To minimal, add openssl-staticdev which indirectly will bring in libssl
Build
Verify that libssl, openssl, openssl-dev are added
On minimal, enter "openssl" to see a set of matching packages.
REmove libssl
    Verify modal dialog reports both the direct and indirect dependants
        openssl, openssl-dev, and openssl-staticdev, will be removed.
Click Remove all
    Verify the buttons for openssl (an others that you see on screen) report:
        "4 packages removed"
    Verify that the banner says:
        "You have removed 4 packages from minimal: libssl and it's 3 dependantso    Verify that buttons transition to Add Package.

[V2] CASE Remove package that has only has 1 dependant
------------------------------------------------------
To minimal, add back openssl-staticdev
Build
Select openssl-dev and remove the package.  
    Verify that syntax for 1 rev-dep is appropriate on modal dlg.
    Remove the 2 packages
    Verify that syntax for 1 reverse dependency on main page notifiation.



More information about the toaster mailing list