summaryrefslogtreecommitdiff
path: root/src/pacman/callback.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pacman/callback.c')
-rw-r--r--src/pacman/callback.c44
1 files changed, 23 insertions, 21 deletions
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index 6f41df7c..e1cad20f 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -201,7 +201,7 @@ void cb_trans_evt(pmtransevt_t event, void *data1, void *data2)
(char *)alpm_pkg_get_name(data1),
(char *)alpm_pkg_get_version(data2),
(char *)alpm_pkg_get_version(data1));
- display_optdepends(data1);
+ display_new_optdepends(data2,data1);
break;
case PM_TRANS_EVT_INTEGRITY_START:
printf(_("checking package integrity...\n"));
@@ -224,9 +224,6 @@ void cb_trans_evt(pmtransevt_t event, void *data1, void *data2)
case PM_TRANS_EVT_SCRIPTLET_INFO:
printf("%s", (char*)data1);
break;
- case PM_TRANS_EVT_PRINTURI:
- printf("%s/%s\n", (char*)data1, (char*)data2);
- break;
case PM_TRANS_EVT_RETRIEVE_START:
printf(_(":: Retrieving packages from %s...\n"), (char*)data1);
break;
@@ -251,35 +248,40 @@ void cb_trans_conv(pmtransconv_t event, void *data1, void *data2,
{
switch(event) {
case PM_TRANS_CONV_INSTALL_IGNOREPKG:
- if(data2) {
- /* TODO we take this route based on data2 being not null? WTF */
- *response = yesno(1, _(":: %s requires installing %s from IgnorePkg/IgnoreGroup. Install anyway?"),
- alpm_pkg_get_name(data2),
- alpm_pkg_get_name(data1));
- } else {
- *response = yesno(1, _(":: %s is in IgnorePkg/IgnoreGroup. Install anyway?"),
- alpm_pkg_get_name(data1));
- }
- break;
- case PM_TRANS_CONV_REMOVE_HOLDPKG:
- *response = yesno(1, _(":: %s is designated as a HoldPkg. Remove anyway?"),
- alpm_pkg_get_name(data1));
+ *response = yesno(_(":: %s is in IgnorePkg/IgnoreGroup. Install anyway?"),
+ alpm_pkg_get_name(data1));
break;
case PM_TRANS_CONV_REPLACE_PKG:
- *response = yesno(1, _(":: Replace %s with %s/%s?"),
+ *response = yesno(_(":: Replace %s with %s/%s?"),
alpm_pkg_get_name(data1),
(char *)data3,
alpm_pkg_get_name(data2));
break;
case PM_TRANS_CONV_CONFLICT_PKG:
- *response = yesno(1, _(":: %s conflicts with %s. Remove %s?"),
+ *response = yesno(_(":: %s conflicts with %s. Remove %s?"),
(char *)data1,
(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(1, _(":: %s-%s: local version is newer. Upgrade anyway?"),
+ *response = yesno(_(":: %s-%s: local version is newer. Upgrade anyway?"),
alpm_pkg_get_name(data1),
alpm_pkg_get_version(data1));
} else {
@@ -287,7 +289,7 @@ void cb_trans_conv(pmtransconv_t event, void *data1, void *data2,
}
break;
case PM_TRANS_CONV_CORRUPTED_PKG:
- *response = yesno(1, _(":: File %s is corrupted. Do you want to delete it?"),
+ *response = yesno(_(":: File %s is corrupted. Do you want to delete it?"),
(char *)data1);
break;
}