[pacman-dev] [PATCH] pactree: removed 'provision' from linear output

Pierre Neidhardt ambrevar at gmail.com
Mon Feb 3 06:53:10 EST 2014


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 <ambrevar at gmail.com>
---
 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



More information about the pacman-dev mailing list