[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