diff options
Diffstat (limited to 'src/pacman/callback.c')
| -rw-r--r-- | src/pacman/callback.c | 44 | 
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;  	} | 
