xbps-bin: print the list of pkgs when removing a pkg with reverse-deps.
This commit also removes the printf for -F, it seems that it's confusing so I simply removed it and it won't proceed unless -F is specified.
This commit is contained in:
parent
b62f1f0396
commit
c163801fd0
@ -176,21 +176,34 @@ xbps_remove_installed_pkgs(int argc,
|
|||||||
* other installed packages.
|
* other installed packages.
|
||||||
*/
|
*/
|
||||||
prop_array_add(sorted_pkgs, dict);
|
prop_array_add(sorted_pkgs, dict);
|
||||||
prop_dictionary_get_cstring_nocopy(dict, "pkgver", &pkgver);
|
|
||||||
found = true;
|
found = true;
|
||||||
|
prop_dictionary_get_cstring_nocopy(dict, "pkgver", &pkgver);
|
||||||
reqby = prop_dictionary_get(dict, "requiredby");
|
reqby = prop_dictionary_get(dict, "requiredby");
|
||||||
if (reqby != NULL && prop_array_count(reqby) > 0) {
|
if (reqby == NULL || prop_array_count(reqby) == 0) {
|
||||||
xbps_printf("WARNING: %s IS REQUIRED BY %u "
|
prop_object_release(dict);
|
||||||
"PACKAGE%s!\n", pkgver, prop_array_count(reqby),
|
continue;
|
||||||
prop_array_count(reqby) > 1 ? "S" : "");
|
|
||||||
reqby_force = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xbps_printf("WARNING: %s IS REQUIRED BY %u PACKAGE%s:\n\n",
|
||||||
|
pkgver, prop_array_count(reqby),
|
||||||
|
prop_array_count(reqby) > 1 ? "S" : "");
|
||||||
|
for (x = 0; x < prop_array_count(reqby); x++) {
|
||||||
|
prop_array_get_cstring_nocopy(reqby, x, &pkgver);
|
||||||
|
print_package_line(pkgver, false);
|
||||||
|
}
|
||||||
|
printf("\n\n");
|
||||||
|
print_package_line(NULL, true);
|
||||||
|
reqby_force = true;
|
||||||
prop_object_release(dict);
|
prop_object_release(dict);
|
||||||
}
|
}
|
||||||
if (!found) {
|
if (!found) {
|
||||||
prop_object_release(sorted_pkgs);
|
prop_object_release(sorted_pkgs);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (reqby_force && !force_rm_with_deps) {
|
||||||
|
prop_object_release(sorted_pkgs);
|
||||||
|
return EINVAL;
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Show the list of going-to-be removed packages.
|
* Show the list of going-to-be removed packages.
|
||||||
*/
|
*/
|
||||||
@ -211,15 +224,6 @@ xbps_remove_installed_pkgs(int argc,
|
|||||||
prop_object_release(sorted_pkgs);
|
prop_object_release(sorted_pkgs);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (reqby_force && !force_rm_with_deps) {
|
|
||||||
printf("\nYou haven't specified the -F flag to force removal with dependencies. The package(s)\n"
|
|
||||||
"you are going to remove are required by other installed packages, therefore\n"
|
|
||||||
"it might break packages that currently depend on them. If you are entirely sure\n"
|
|
||||||
"that's what you want, use 'xbps-bin -F remove ...' to continue with the operation.\n");
|
|
||||||
prop_object_release(sorted_pkgs);
|
|
||||||
return 0;
|
|
||||||
} else if (reqby_force && force_rm_with_deps)
|
|
||||||
xbps_warn_printf("Forcing removal! you've been alerted.\n");
|
|
||||||
|
|
||||||
for (x = 0; x < prop_array_count(sorted_pkgs); x++) {
|
for (x = 0; x < prop_array_count(sorted_pkgs); x++) {
|
||||||
dict = prop_array_get(sorted_pkgs, x);
|
dict = prop_array_get(sorted_pkgs, x);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user