[yum-cvs] yum-utils repoquery.py,1.34,1.35
Panu Matilainen
pmatilai at linux.duke.edu
Thu Jun 29 11:24:32 UTC 2006
- Previous message: [yum-cvs] yum-utils repoquery.py,1.33,1.34
- Next message: [yum-cvs] yum-utils repoclosure.py, 1.11, 1.12 reposync.py, 1.8, 1.9 repotrack.py, 1.8, 1.9 yum-builddep.py, 1.5, 1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /home/groups/yum/cvs/yum-utils
In directory login1.linux.duke.edu:/tmp/cvs-serv2485
Modified Files:
repoquery.py
Log Message:
- new --srpm option for automatically locating the source rpm of a given
package and operating on it
Index: repoquery.py
===================================================================
RCS file: /home/groups/yum/cvs/yum-utils/repoquery.py,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- repoquery.py 29 Jun 2006 09:54:12 -0000 1.34
+++ repoquery.py 29 Jun 2006 11:24:30 -0000 1.35
@@ -351,7 +351,7 @@
self.errorlog(1, "Unknown pkgnarrow method: %s" % what)
return pkgs
-
+
def returnPackagesByDep(self, depstring):
provider = []
try:
@@ -388,11 +388,22 @@
return self.queryPkgFactory(pkgs)
+ def matchSrcPkgs(self, items):
+ srpms = []
+ for name in items:
+ for pkg in self.returnByName(name):
+ src = pkg["sourcerpm"][:-4]
+ srpms.extend(self.returnByName(src))
+ return srpms
+
def runQuery(self, items):
if self.options.group:
pkgs = self.matchGroups(items)
else:
- pkgs = self.matchPkgs(items)
+ if self.options.srpm:
+ pkgs = self.matchSrcPkgs(items)
+ else:
+ pkgs = self.matchPkgs(items)
for pkg in pkgs:
for oper in self.pkgops:
@@ -470,6 +481,7 @@
needfiles = 0
needother = 0
needgroup = 0
+ needsource = 0
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
signal.signal(signal.SIGINT, signal.SIG_DFL)
@@ -511,6 +523,8 @@
help="show name, version, release info of package")
parser.add_option("-s", "--source", default=0, action="store_true",
help="show package source RPM name")
+ parser.add_option("--srpm", default=0, action="store_true",
+ help="operate on corresponding source RPM")
parser.add_option("--resolve", default=0, action="store_true",
help="resolve capabilities to originating package(s)")
parser.add_option("--alldeps", default=0, action="store_true",
@@ -598,6 +612,8 @@
pkgops.append("nvr")
if opts.source:
pkgops.append("source")
+ if opts.srpm:
+ needsource = 1
if opts.whatrequires:
sackops.append("whatrequires")
if opts.whatprovides:
@@ -646,14 +662,16 @@
repoq.doRepoSetup()
+ for exp in regexs:
+ if exp.endswith('.src'):
+ needsource = 1
+ break
+
if opts.archlist:
archlist = opts.archlist.split(',')
- else:
- for exp in regexs:
- if exp.endswith('.src'):
- archlist = getArchList()
- archlist.append('src')
- break
+ elif needsource:
+ archlist = getArchList()
+ archlist.append('src')
try:
repoq.doSackSetup(archlist=archlist)
- Previous message: [yum-cvs] yum-utils repoquery.py,1.33,1.34
- Next message: [yum-cvs] yum-utils repoclosure.py, 1.11, 1.12 reposync.py, 1.8, 1.9 repotrack.py, 1.8, 1.9 yum-builddep.py, 1.5, 1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Yum-cvs-commits
mailing list