[pacman-dev] [PATCH] Ask user confirmation for -R operation, too
Nagy Gabor
ngaba at bibl.u-szeged.hu
Tue Sep 15 06:47:30 EDT 2009
After commit 0da96abc, pacman always asks user confirmation for -U, so it is
more coherent for doing that for -R, too.
Btw, most users use -Rs always, so they won't notice any change. In the old
code the -Ru operation was forgotten: Though it is not "dangerous", but the
target list can be changed by that operation too.
Non-interactive scripts should use --noconfirm always (unexpected questions
can be asked by all transactions). [That's we should always default to the
safest answers.]
I also added a pkglist != NULL sanity check (because -Ru can empty target
list in trans_prepare part).
Signed-off-by: Nagy Gabor <ngaba at bibl.u-szeged.hu>
---
src/pacman/remove.c | 26 +++++++++++---------------
1 files changed, 11 insertions(+), 15 deletions(-)
diff --git a/src/pacman/remove.c b/src/pacman/remove.c
index ced4e12..6d44350 100644
--- a/src/pacman/remove.c
+++ b/src/pacman/remove.c
@@ -115,23 +115,19 @@ int pacman_remove(alpm_list_t *targets)
goto cleanup;
}
- /* Warn user in case of dangerous operation */
- if(config->flags & PM_TRANS_FLAG_RECURSE ||
- config->flags & PM_TRANS_FLAG_CASCADE) {
- /* list transaction targets */
- alpm_list_t *pkglist = alpm_trans_get_remove();
-
- display_targets(pkglist, 0);
- printf("\n");
-
- /* get confirmation */
- if(yesno(_("Do you want to remove these packages?")) == 0) {
- retval = 1;
- goto cleanup;
- }
+ /* Step 3: actually perform the removal */
+ alpm_list_t *pkglist = alpm_trans_get_remove();
+ if(pkglist == NULL) {
+ goto cleanup; /* we are done */
+ }
+ /* print targets and ask user confirmation */
+ display_targets(pkglist, 0);
+ printf("\n");
+ if(yesno(_("Do you want to remove these packages?")) == 0) {
+ retval = 1;
+ goto cleanup;
}
- /* Step 3: actually perform the removal */
if(alpm_trans_commit(NULL) == -1) {
pm_fprintf(stderr, PM_LOG_ERROR, _("failed to commit transaction (%s)\n"),
alpm_strerrorlast());
--
1.6.4.3
More information about the pacman-dev
mailing list