mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-22 15:58:50 -05:00
Display optdep install status in package query output
Indicate which optional dependencies are installed when viewing local package information (-Qi). Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
eb9e74ecc7
commit
63a2874fe4
@ -54,15 +54,22 @@ static void deplist_display(const char *title,
|
|||||||
/** Turn a optdepends list into a text list.
|
/** Turn a optdepends list into a text list.
|
||||||
* @param optdeps a list with items of type alpm_depend_t
|
* @param optdeps a list with items of type alpm_depend_t
|
||||||
*/
|
*/
|
||||||
static void optdeplist_display(const char *title,
|
static void optdeplist_display(alpm_pkg_t *pkg, unsigned short cols)
|
||||||
alpm_list_t *optdeps, unsigned short cols)
|
|
||||||
{
|
{
|
||||||
alpm_list_t *i, *text = NULL;
|
alpm_list_t *i, *text = NULL;
|
||||||
for(i = optdeps; i; i = alpm_list_next(i)) {
|
for(i = alpm_pkg_get_optdepends(pkg); i; i = alpm_list_next(i)) {
|
||||||
alpm_depend_t *optdep = i->data;
|
alpm_depend_t *optdep = i->data;
|
||||||
text = alpm_list_add(text, alpm_dep_compute_string(optdep));
|
char *depstring = alpm_dep_compute_string(optdep);
|
||||||
|
if(alpm_pkg_get_origin(pkg) == ALPM_PKG_FROM_LOCALDB) {
|
||||||
|
if(alpm_db_get_pkg(alpm_get_localdb(config->handle), optdep->name)) {
|
||||||
|
const char *installed = _(" [installed]");
|
||||||
|
depstring = realloc(depstring, strlen(depstring) + strlen(installed) + 1);
|
||||||
|
strcpy(depstring + strlen(depstring), installed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
text = alpm_list_add(text, depstring);
|
||||||
}
|
}
|
||||||
list_display_linebreak(title, text, cols);
|
list_display_linebreak(_("Optional Deps :"), text, cols);
|
||||||
FREELIST(text);
|
FREELIST(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,7 +155,8 @@ void dump_pkg_full(alpm_pkg_t *pkg, int extra)
|
|||||||
list_display(_("Groups :"), alpm_pkg_get_groups(pkg), cols);
|
list_display(_("Groups :"), alpm_pkg_get_groups(pkg), cols);
|
||||||
deplist_display(_("Provides :"), alpm_pkg_get_provides(pkg), cols);
|
deplist_display(_("Provides :"), alpm_pkg_get_provides(pkg), cols);
|
||||||
deplist_display(_("Depends On :"), alpm_pkg_get_depends(pkg), cols);
|
deplist_display(_("Depends On :"), alpm_pkg_get_depends(pkg), cols);
|
||||||
optdeplist_display(_("Optional Deps :"), alpm_pkg_get_optdepends(pkg), cols);
|
optdeplist_display(pkg, cols);
|
||||||
|
|
||||||
if(extra || from == ALPM_PKG_FROM_LOCALDB) {
|
if(extra || from == ALPM_PKG_FROM_LOCALDB) {
|
||||||
list_display(_("Required By :"), requiredby, cols);
|
list_display(_("Required By :"), requiredby, cols);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user