summaryrefslogtreecommitdiffstats
path: root/bin/portageq
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-12-21 11:14:44 +0000
committerZac Medico <zmedico@gentoo.org>2007-12-21 11:14:44 +0000
commit7562a56b7a5a762f4b958eda8c4464127bfb21e2 (patch)
tree8a8c6e2f8a1ba3480455c1f1ae2e143fe9d66e67 /bin/portageq
parentb5ed924f64389b78b534ceaeea545510e3bdce89 (diff)
downloadportage-7562a56b7a5a762f4b958eda8c4464127bfb21e2.tar.gz
portage-7562a56b7a5a762f4b958eda8c4464127bfb21e2.tar.bz2
portage-7562a56b7a5a762f4b958eda8c4464127bfb21e2.zip
Enhance the portageq match command to list all installed packages
when given an empty string. svn path=/main/trunk/; revision=9033
Diffstat (limited to 'bin/portageq')
-rwxr-xr-xbin/portageq23
1 files changed, 14 insertions, 9 deletions
diff --git a/bin/portageq b/bin/portageq
index f23598f75..bf1852f55 100755
--- a/bin/portageq
+++ b/bin/portageq
@@ -238,17 +238,22 @@ all_best_visible.uses_root = True
def match(argv):
- """<root> <category/package>
- Returns \n seperated list of category/package-version
+ """<root> <atom>
+ Returns a \\n separated list of category/package-version.
+ When given an empty string, all installed packages will
+ be listed.
"""
- if (len(argv) < 2):
- print "ERROR: insufficient parameters!"
+ if len(argv) != 2:
+ print "ERROR: expected 2 parameters, got %d!" % len(argv)
sys.exit(2)
- try:
- print "\n".join(portage.db[argv[0]]["vartree"].dbapi.match(argv[1]))
- except KeyError, e:
- portage.writemsg("%s\n" % str(e), noiselevel=-1)
- sys.exit(1)
+ root, atom = argv
+ if atom:
+ results = portage.db[root]["vartree"].dbapi.match(atom)
+ else:
+ results = portage.db[root]["vartree"].dbapi.cpv_all(atom)
+ results.sort()
+ for cpv in results:
+ print cpv
match.uses_root = True