commit: 5789c1c2d923692f221a17dcfb6a13dcd188d6f1
Author: Göktürk Yüksek <gokturk <AT> binghamton <DOT> edu>
AuthorDate: Sat Mar 5 06:39:11 2016 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sun Mar 6 02:08:34 2016 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=5789c1c2
bin/portageq: add a matcher to match the orphaned (maintainer-needed) packages
Per GLEP 67, orphaned packages do not have a <maintainer> in metadata.xml.
They can't be matched using '--maintainer-email=maintainer-needed <AT>
gentoo.org'
anymore. Add a new command line argument '--orphaned' to match the orphaned
packages.
Signed-off-by: Göktürk Yüksek <gokturk <AT> binghamton.edu>
Signed-off-by: Brian Dolbec <dolsen <AT> gentoo.org>
bin/portageq | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/bin/portageq b/bin/portageq
index 925640b..803e26b 100755
--- a/bin/portageq
+++ b/bin/portageq
@@ -1028,6 +1028,12 @@ class HerdMatcher(object):
herds = self._herds
return any(x in herds for x in metadata_xml.herds())
+# Match if metadata.xml contains no maintainer (orphaned package)
+def match_orphaned(metadata_xml):
+ if not metadata_xml.maintainers():
+ return True
+ else:
+ return False
def pquery(parser, opts, args):
portdb = portage.db[portage.root]['porttree'].dbapi
@@ -1090,6 +1096,8 @@ def pquery(parser, opts, args):
for x in opts.herd:
herds.extend(x.split(","))
xml_matchers.append(HerdMatcher(herds))
+ if opts.orphaned:
+ xml_matchers.append(match_orphaned)
if opts.repo is not None:
repos = [portdb.repositories[opts.repo]]
@@ -1248,6 +1256,11 @@ def add_pquery_arguments(parser):
"longopt": "--maintainer-email",
"action": "append",
"help": "comma-separated list of
maintainer email regexes to search for"
+ },
+ {
+ "longopt": "--orphaned",
+ "action": "store_true",
+ "help": "match only orphaned
(maintainer-needed) packages"
}
)
),