[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