diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-12-21 11:36:08 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-12-21 11:36:08 +0000 |
commit | 63afcf175f3f6e15474dffaf77308c475d98141d (patch) | |
tree | 193d1178c543b21ec9fee7a0729d3d03672336d5 | |
parent | 2ccf63bb40ed71fc28805f514636d8d473f3c50b (diff) | |
download | portage-63afcf175f3f6e15474dffaf77308c475d98141d.tar.gz portage-63afcf175f3f6e15474dffaf77308c475d98141d.tar.bz2 portage-63afcf175f3f6e15474dffaf77308c475d98141d.zip |
Implement a `portageq contents <root> <category/package>` command
that lists all the files that are installed for a given package,
with one file listed on each line.
svn path=/main/trunk/; revision=9035
-rwxr-xr-x | bin/portageq | 25 |
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 |