summaryrefslogtreecommitdiffstats
path: root/src/pacman/util.h
diff options
context:
space:
mode:
authorXavier Chantry <chantry.xavier@gmail.com>2010-10-16 12:28:01 +0200
committerXavier Chantry <chantry.xavier@gmail.com>2011-01-29 19:33:15 +0100
commit4097c98c1ee65d6b3a659d042c6c84e0632673bf (patch)
tree2468e89522839b9e2d8f66cddc11c23076c8be0a /src/pacman/util.h
parentba97a22ce10df2966a9e1117b48a84b93eae0538 (diff)
downloadpacman-4097c98c1ee65d6b3a659d042c6c84e0632673bf.tar.gz
pacman-4097c98c1ee65d6b3a659d042c6c84e0632673bf.tar.xz
Add interactive provider selection
If there are multiple providers in one db, pacman used to just stop at the first one (both during dependency resolution or for pacman -S 'provision' which uses the same code). This adds a new conversation callback so that the user can choose which provider to install. By default (user press enter or --noconfirm), the first provider is still chosen, so for example the behavior of sync402 and 403 is preserved. But at least the user now has the possibility to make the right choice in a manual run. If one of the provider is already installed, it is picked for reinstall/upgrade, so that provision 002/003 pactest now pass. $ pacman -S community/smtp-server :: There are 3 providers available for smtp-server: 1) courier-mta 2) esmtp 3) exim Which one do you want to install? Enter a number (default=1): Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Diffstat (limited to 'src/pacman/util.h')
-rw-r--r--src/pacman/util.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/pacman/util.h b/src/pacman/util.h
index 78fe5b59..399f9bc8 100644
--- a/src/pacman/util.h
+++ b/src/pacman/util.h
@@ -59,6 +59,8 @@ int str_cmp(const void *s1, const void *s2);
void display_new_optdepends(pmpkg_t *oldpkg, pmpkg_t *newpkg);
void display_optdepends(pmpkg_t *pkg);
void print_packages(const alpm_list_t *packages);
+void select_display(const alpm_list_t *pkglist);
+int select_question(int count);
int yesno(char *fmt, ...);
int noyes(char *fmt, ...);
int pm_printf(pmloglevel_t level, const char *format, ...) __attribute__((format(printf,2,3)));