summaryrefslogtreecommitdiffstats
path: root/bin/portageq
diff options
context:
space:
mode:
Diffstat (limited to 'bin/portageq')
-rwxr-xr-xbin/portageq25
1 files changed, 25 insertions, 0 deletions
diff --git a/bin/portageq b/bin/portageq
index ea97c3e73..a29669a24 100755
--- a/bin/portageq
+++ b/bin/portageq
@@ -123,6 +123,31 @@ def metadata(argv):
metadata.uses_root = True
+def contents(argv):
+ """<root> <category/package>
+ List the files that are installed for a given package, with
+ one file listed on each line. All file names will begin with
+ <root>.
+ """
+ if len(argv) != 2:
+ print "ERROR: expected 2 parameters, got %d!" % len(argv)
+ return 2
+
+ root, cpv = argv
+ vartree = portage.db[root]["vartree"]
+ if not vartree.dbapi.cpv_exists(cpv):
+ sys.stderr.write("Package not found: '%s'\n" % cpv)
+ return 1
+ cat, pkg = portage.catsplit(cpv)
+ db = portage.dblink(cat, pkg, root, vartree.settings,
+ treetype="vartree", vartree=vartree)
+ file_list = db.getcontents().keys()
+ file_list.sort()
+ for f in file_list:
+ sys.stdout.write("%s\n" % f)
+ sys.stdout.flush()
+contents.uses_root = True
+
def owners(argv):
"""<root> [<filename>]+
Given a list of files, print the packages that own the files and which