summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBryan Ischo <bryan@ischo.com>2009-02-22 23:25:31 +1300
committerDan McGee <dan@archlinux.org>2009-02-23 20:33:56 -0600
commit02685504012a4880e599b15f1060f6bd0bf48797 (patch)
tree0d227fbfa8a2c58a7e23e6d23365e4b802e2e637 /src
parentc8a41b7d6da7f820754a07cb085687ea5e110f85 (diff)
Enabled new interactive prompt and updated some tests
Enabled a new prompt to ask the user if they'd like to remove unresolvable packages from the transaction rather than failing it. Many pactest tests that used to fail now return success codes, because pacman now issues a prompt allowing the user to cancel rather than failing many transactions, and the pactest scripts always choose to cancel with no error rather than failing. The only net effect is that the return status of pacman is now 0 in cases where it used to be nonzero. Signed-off-by: Bryan Ischo <bryan@ischo.com> Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'src')
-rw-r--r--src/pacman/callback.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index 6e7930cb..10e26188 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -270,6 +270,22 @@ void cb_trans_conv(pmtransconv_t event, void *data1, void *data2,
(char *)data2,
(char *)data2);
break;
+ case PM_TRANS_CONV_REMOVE_PKGS:
+ {
+ alpm_list_t *unresolved = (alpm_list_t *) data1;
+ alpm_list_t *namelist = NULL, *i;
+ for (i = unresolved; i; i = i->next) {
+ namelist = alpm_list_add(namelist,
+ (char *)alpm_pkg_get_name(i->data));
+ }
+ printf(":: the following package(s) cannot be upgraded due to "
+ "unresolvable dependencies:\n");
+ list_display(" ", namelist);
+ *response = yesno(_("\nDo you want to skip the above "
+ "package(s) for this upgrade?"));
+ alpm_list_free(namelist);
+ }
+ break;
case PM_TRANS_CONV_LOCAL_NEWER:
if(!config->op_s_downloadonly) {
*response = yesno(_(":: %s-%s: local version is newer. Upgrade anyway?"),