bitbake: toaster: show full list of dependents to remove
When a package is to be removed, show the full list of packages that are dependent on that package, telling user that these packages will also be removed. [YOCTO #9121] (Bitbake rev: f5cb59b6b10a714b18b1c00b9a8598dd855c84b5) Signed-off-by: Dave Lerner <dave.lerner@windriver.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
fda94f4e2d
commit
d5a419d628
|
@ -89,7 +89,21 @@ function customRecipePageInit(ctx) {
|
|||
var depsList = modal.find("#package-reverse-dep-list");
|
||||
var deps = pkgData.reverse_dependencies;
|
||||
|
||||
var depsCount = deps.length;
|
||||
var vDepends = "depends";
|
||||
var vPackage = "package";
|
||||
var vThis = "this";
|
||||
if (depsCount > 1) {
|
||||
vDepends = "depend";
|
||||
vPackage = "packages";
|
||||
vThis = "these";
|
||||
}
|
||||
modal.find(".package-to-rm-name").text(targetPkg.name);
|
||||
modal.find(".reverse-deps-count").text(depsCount);
|
||||
modal.find(".reverse-deps-count-plus1").text((depsCount+1) + " packages");
|
||||
modal.find(".reverse-deps-depends").text(vDepends);
|
||||
modal.find(".reverse-deps-package").text(vPackage);
|
||||
modal.find(".reverse-deps-this").text(vThis);
|
||||
|
||||
depsList.text("");
|
||||
|
||||
|
@ -103,6 +117,8 @@ function customRecipePageInit(ctx) {
|
|||
modal.find("#package-reverse-deps-total-size").text(
|
||||
pkgData.reverse_dependencies_size_formatted);
|
||||
|
||||
targetPkg.depsRemoved = deps;
|
||||
|
||||
rmdPkgReverseDepsModalBtn.data(targetPkg);
|
||||
modal.modal('show');
|
||||
}
|
||||
|
@ -121,6 +137,10 @@ function customRecipePageInit(ctx) {
|
|||
var btnCell = $("#package-btn-cell-" + targetPkg.id);
|
||||
var inlineNotify = btnCell.children(".inline-notification");
|
||||
|
||||
var i;
|
||||
var dep;
|
||||
var depBtnCell;
|
||||
|
||||
if (targetPkg.directive === 'add') {
|
||||
method = 'PUT';
|
||||
/* If the package had dependencies also notify that they were added */
|
||||
|
@ -132,15 +152,15 @@ function customRecipePageInit(ctx) {
|
|||
msg += " packages to " + ctx.recipe.name + ": ";
|
||||
msg += "<strong>" + targetPkg.name + "</strong> and its dependencies";
|
||||
|
||||
for (var i in targetPkg.depsAdded){
|
||||
var dep = targetPkg.depsAdded[i];
|
||||
for (i in targetPkg.depsAdded){
|
||||
dep = targetPkg.depsAdded[i];
|
||||
|
||||
msg += " <strong>" + dep.name + "</strong>";
|
||||
|
||||
/* Add any cells currently in view to the list of cells which get
|
||||
* an inline notification inside them and which change add/rm state
|
||||
*/
|
||||
var depBtnCell = $("#package-btn-cell-" + dep.pk);
|
||||
depBtnCell = $("#package-btn-cell-" + dep.pk);
|
||||
btnCell = btnCell.add(depBtnCell);
|
||||
|
||||
inlineNotify = inlineNotify.add(
|
||||
|
@ -159,9 +179,49 @@ function customRecipePageInit(ctx) {
|
|||
|
||||
} else if (targetPkg.directive === 'remove') {
|
||||
method = 'DELETE';
|
||||
msg += "removed 1 package from "+ctx.recipe.name+":";
|
||||
msg += ' <strong>' + targetPkg.name + '<strong>';
|
||||
inlineNotify.text("1 package removed");
|
||||
var numPackageString = "1 package ";
|
||||
var revDepList = "";
|
||||
if (targetPkg.hasOwnProperty('depsRemoved') &&
|
||||
targetPkg.depsRemoved.length > 0) {
|
||||
var depsRemovedLength = targetPkg.depsRemoved.length;
|
||||
var ending = "y: ";
|
||||
var maxRevDepsDisplayed = 5;
|
||||
var d = 0;
|
||||
if (depsRemovedLength > 1) {
|
||||
ending = "ies: ";
|
||||
}
|
||||
numPackageString = (depsRemovedLength + 1) + " packages";
|
||||
revDepList = " and its " + depsRemovedLength + " reverse dependenc" + ending;
|
||||
for (i in targetPkg.depsRemoved){
|
||||
/* include up to maxRevDepsDisplayed rev deps on the page notification */
|
||||
var notShownCount = depsRemovedLength - maxRevDepsDisplayed;
|
||||
dep = targetPkg.depsRemoved[i];
|
||||
if (d < maxRevDepsDisplayed) {
|
||||
if (d > 0) {
|
||||
revDepList += ", ";
|
||||
}
|
||||
revDepList += dep.name;
|
||||
d++;
|
||||
if ((d === maxRevDepsDisplayed) && (notShownCount > 0)) {
|
||||
revDepList += " and " + notShownCount + " more";
|
||||
}
|
||||
}
|
||||
|
||||
/* Add any cells currently in view to the list of cells which get
|
||||
* an inline notification inside them and which change add/rm state
|
||||
*/
|
||||
depBtnCell = $("#package-btn-cell-" + dep.pk);
|
||||
btnCell = btnCell.add(depBtnCell);
|
||||
|
||||
inlineNotify = inlineNotify.add(
|
||||
depBtnCell.children(".inline-notification"));
|
||||
}
|
||||
}
|
||||
msg+= "removed " + numPackageString + " from " + ctx.recipe.name + ":";
|
||||
msg += " <strong>" + targetPkg.name + "</strong>";
|
||||
msg += revDepList;
|
||||
|
||||
inlineNotify.text(numPackageString + " removed");
|
||||
} else {
|
||||
throw("Unknown package directive: should be add or remove");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue