Linear output is especially useful when piped to other commands, e.g.
$ pacman -Qi $(pactree -l pacman) >/dev/null
The above command would previously show errors on packages with provisions.
Signed-off-by: Pierre Neidhardt
---
src/util/pactree.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/util/pactree.c b/src/util/pactree.c
index 4192999..6c620aa 100644
--- a/src/util/pactree.c
+++ b/src/util/pactree.c
@@ -363,10 +363,13 @@ static void print_text(const char *pkg, const char *provision,
}
/* print tip */
+ /* If style->provides is empty (e.g. when using linear style), we do not
+ * want to print the provided package. This makes output easier to parse and
+ * to reuse. */
if(!pkg && provision) {
printf("%s%s%s%s [unresolvable]%s\n", tip, color->leaf1,
provision, color->branch1, color->off);
- } else if(provision && strcmp(pkg, provision) != 0) {
+ } else if(provision && strcmp(pkg, provision) != 0 && *(style->provides) != '\0') {
printf("%s%s%s%s%s %s%s%s\n", tip, color->leaf1, pkg,
color->leaf2, style->provides, color->leaf1, provision,
color->off);
--
1.8.5.3