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 depsList = modal.find("#package-reverse-dep-list");
|
||||||
var deps = pkgData.reverse_dependencies;
|
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(".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("");
|
depsList.text("");
|
||||||
|
|
||||||
|
@ -103,6 +117,8 @@ function customRecipePageInit(ctx) {
|
||||||
modal.find("#package-reverse-deps-total-size").text(
|
modal.find("#package-reverse-deps-total-size").text(
|
||||||
pkgData.reverse_dependencies_size_formatted);
|
pkgData.reverse_dependencies_size_formatted);
|
||||||
|
|
||||||
|
targetPkg.depsRemoved = deps;
|
||||||
|
|
||||||
rmdPkgReverseDepsModalBtn.data(targetPkg);
|
rmdPkgReverseDepsModalBtn.data(targetPkg);
|
||||||
modal.modal('show');
|
modal.modal('show');
|
||||||
}
|
}
|
||||||
|
@ -121,6 +137,10 @@ function customRecipePageInit(ctx) {
|
||||||
var btnCell = $("#package-btn-cell-" + targetPkg.id);
|
var btnCell = $("#package-btn-cell-" + targetPkg.id);
|
||||||
var inlineNotify = btnCell.children(".inline-notification");
|
var inlineNotify = btnCell.children(".inline-notification");
|
||||||
|
|
||||||
|
var i;
|
||||||
|
var dep;
|
||||||
|
var depBtnCell;
|
||||||
|
|
||||||
if (targetPkg.directive === 'add') {
|
if (targetPkg.directive === 'add') {
|
||||||
method = 'PUT';
|
method = 'PUT';
|
||||||
/* If the package had dependencies also notify that they were added */
|
/* 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 += " packages to " + ctx.recipe.name + ": ";
|
||||||
msg += "<strong>" + targetPkg.name + "</strong> and its dependencies";
|
msg += "<strong>" + targetPkg.name + "</strong> and its dependencies";
|
||||||
|
|
||||||
for (var i in targetPkg.depsAdded){
|
for (i in targetPkg.depsAdded){
|
||||||
var dep = targetPkg.depsAdded[i];
|
dep = targetPkg.depsAdded[i];
|
||||||
|
|
||||||
msg += " <strong>" + dep.name + "</strong>";
|
msg += " <strong>" + dep.name + "</strong>";
|
||||||
|
|
||||||
/* Add any cells currently in view to the list of cells which get
|
/* Add any cells currently in view to the list of cells which get
|
||||||
* an inline notification inside them and which change add/rm state
|
* 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);
|
btnCell = btnCell.add(depBtnCell);
|
||||||
|
|
||||||
inlineNotify = inlineNotify.add(
|
inlineNotify = inlineNotify.add(
|
||||||
|
@ -159,9 +179,49 @@ function customRecipePageInit(ctx) {
|
||||||
|
|
||||||
} else if (targetPkg.directive === 'remove') {
|
} else if (targetPkg.directive === 'remove') {
|
||||||
method = 'DELETE';
|
method = 'DELETE';
|
||||||
msg += "removed 1 package from "+ctx.recipe.name+":";
|
var numPackageString = "1 package ";
|
||||||
msg += ' <strong>' + targetPkg.name + '<strong>';
|
var revDepList = "";
|
||||||
inlineNotify.text("1 package removed");
|
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 {
|
} else {
|
||||||
throw("Unknown package directive: should be add or remove");
|
throw("Unknown package directive: should be add or remove");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue