[pacman-dev] [PATCH] Introduce -Qlq

Nagy Gabor ngaba at bibl.u-szeged.hu
Sun May 10 16:04:49 EDT 2009


>From 054eae27537989dee76a06fac882fb38702144d5 Mon Sep 17 00:00:00 2001
From: Nagy Gabor <ngaba at bibl.u-szeged.hu>
Date: Sun, 10 May 2009 22:41:29 +0200
Subject: [PATCH] Introduce -Qlq

With --quiet flag, -Ql doesn't print the package name only lists files.
I made --quiet documentation up-to-date (I also added -Sgq/-Qgq).

Signed-off-by: Nagy Gabor <ngaba at bibl.u-szeged.hu>
---
 doc/pacman.8.txt     |   18 ++++++++++++------
 src/pacman/package.c |    8 ++++++--
 src/pacman/package.h |    2 +-
 src/pacman/query.c   |    2 +-
 4 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/doc/pacman.8.txt b/doc/pacman.8.txt
index 95880a2..cc3d396 100644
--- a/doc/pacman.8.txt
+++ b/doc/pacman.8.txt
@@ -204,9 +204,13 @@ Query Options[[QO]]
 	This is useful in combination with '\--info' and '\--list'.
 
 *-q, \--quiet*::
-	Show less information for certain query operations. Search will only show
-	package names and not version, group, and description information; a bare
-	query will only show package names rather than names and versions.
+	Show less information for certain query operations. (This is useful when
+	pacman's output is processed in a script.) Search will only show package
+	names and not version, group, and description information; owns will
+	only show package names and versions instead of "file is owned by pkg"
+	messages; group will only show package names and omit group names; list
+	will only show files and omit package names; a bare query will only
+	show package names rather than names and versions.
 
 *-s, \--search* <'regexp'>::
 	This will search each locally-installed package for names or
@@ -284,9 +288,11 @@ linkman:pacman.conf[5].
 	downloaded at a later time, using a program like wget.
 
 *-q, \--quiet*::
-	Show less information for certain sync operations. Search will only show
-	package names and not version, group, and description information; list
-	will only show package names and omit databases and versions.
+	Show less information for certain sync operations. (This is useful when
+	pacman's output is processed in a script.) Search will only show package
+	names and not repo, version, group, and description information; list
+	will only show package names and omit databases and versions; group will
+	only show package names and omit group names.
 
 *-s, \--search* <'regexp'>::
 	This will search each package in the sync databases for names or
diff --git a/src/pacman/package.c b/src/pacman/package.c
index b23c577..da2feb5 100644
--- a/src/pacman/package.c
+++ b/src/pacman/package.c
@@ -205,7 +205,7 @@ void dump_pkg_backups(pmpkg_t *pkg)
 
 /* List all files contained in a package
  */
-void dump_pkg_files(pmpkg_t *pkg)
+void dump_pkg_files(pmpkg_t *pkg, int quiet)
 {
 	const char *pkgname, *root, *filestr;
 	alpm_list_t *i, *pkgfiles;
@@ -216,7 +216,11 @@ void dump_pkg_files(pmpkg_t *pkg)
 
 	for(i = pkgfiles; i; i = alpm_list_next(i)) {
 		filestr = alpm_list_getdata(i);
-		fprintf(stdout, "%s %s%s\n", pkgname, root, filestr);
+		if(!quiet){
+			fprintf(stdout, "%s %s%s\n", pkgname, root, filestr);
+		} else {
+			fprintf(stdout, "%s%s\n", root, filestr);
+		}
 	}
 
 	fflush(stdout);
diff --git a/src/pacman/package.h b/src/pacman/package.h
index 14bc7d6..aede2a1 100644
--- a/src/pacman/package.h
+++ b/src/pacman/package.h
@@ -25,7 +25,7 @@ void dump_pkg_full(pmpkg_t *pkg, int level);
 void dump_pkg_sync(pmpkg_t *pkg, const char *treename);
 
 void dump_pkg_backups(pmpkg_t *pkg);
-void dump_pkg_files(pmpkg_t *pkg);
+void dump_pkg_files(pmpkg_t *pkg, int quiet);
 void dump_pkg_changelog(pmpkg_t *pkg);
 
 #endif /* _PM_PACKAGE_H */
diff --git a/src/pacman/query.c b/src/pacman/query.c
index 2cb86a9..0b8406d 100644
--- a/src/pacman/query.c
+++ b/src/pacman/query.c
@@ -320,7 +320,7 @@ static void display(pmpkg_t *pkg)
 		}
 	}
 	if(config->op_q_list) {
-		dump_pkg_files(pkg);
+		dump_pkg_files(pkg, config->quiet);
 	}
 	if(config->op_q_changelog) {
 		dump_pkg_changelog(pkg);
-- 
1.6.0.3







More information about the pacman-dev mailing list