From 182b3cdb8ff77683acb872f5093ecf6ba7df9a3a Mon Sep 17 00:00:00 2001 From: Xavier Chantry Date: Thu, 31 Jul 2008 16:35:21 +0200 Subject: [PATCH] pacman: print optdepends on install and upgrade. This implements FS#10630. Signed-off-by: Xavier Chantry --- src/pacman/callback.c | 2 ++ src/pacman/util.c | 15 +++++++++++++++ src/pacman/util.h | 1 + 3 files changed, 18 insertions(+), 0 deletions(-) diff --git a/src/pacman/callback.c b/src/pacman/callback.c index f968873..30e34a9 100644 --- a/src/pacman/callback.c +++ b/src/pacman/callback.c @@ -181,6 +181,7 @@ void cb_trans_evt(pmtransevt_t event, void *data1, void *data2) alpm_logaction("installed %s (%s)\n", alpm_pkg_get_name(data1), alpm_pkg_get_version(data1)); + display_optdepends(data1); break; case PM_TRANS_EVT_REMOVE_START: if(config->noprogressbar) { @@ -202,6 +203,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); break; case PM_TRANS_EVT_INTEGRITY_START: printf(_("checking package integrity...\n")); diff --git a/src/pacman/util.c b/src/pacman/util.c index 82c460b..e8550ac 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -570,6 +570,21 @@ void display_synctargets(const alpm_list_t *syncpkgs) alpm_list_free(rpkglist); } +void display_optdepends(pmpkg_t *pkg) +{ + alpm_list_t *d; + alpm_list_t *optdeps = alpm_pkg_get_optdepends(pkg); + if (!optdeps) { + return; + } + printf(_("Optional dependencies for %s\n"), alpm_pkg_get_name(pkg)); + for(d = optdeps; d; d = d->next) { + char *optdep = d->data; + printf(" %s\n", optdep); + } + +} + /* presents a prompt and gets a Y/N answer */ int yesno(short preset, char *fmt, ...) { diff --git a/src/pacman/util.h b/src/pacman/util.h index 2ddc1b5..457b9ec 100644 --- a/src/pacman/util.h +++ b/src/pacman/util.h @@ -53,6 +53,7 @@ void string_display(const char *title, const char *string); void list_display(const char *title, const alpm_list_t *list); void display_targets(const alpm_list_t *pkgs, int install); void display_synctargets(const alpm_list_t *syncpkgs); +void display_optdepends(pmpkg_t *pkg); int yesno(short preset, char *fmt, ...); int pm_printf(pmloglevel_t level, const char *format, ...) __attribute__((format(printf,2,3))); int pm_fprintf(FILE *stream, pmloglevel_t level, const char *format, ...) __attribute__((format(printf,3,4))); -- 1.5.6.4