[yum-commits] repoclosure.py
James Antill
james at osuosl.org
Tue Aug 3 16:36:10 UTC 2010
repoclosure.py | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
New commits:
commit 4b49760d35b49a4a6bea6abcc64e2e7ce7303a92
Author: Dennis Gregorovic <dgregor at redhat.com>
Date: Tue Aug 3 11:42:55 2010 -0400
add --lookaside switch for depsolving against a repo without depsolving the repo itself
diff --git a/repoclosure.py b/repoclosure.py
index 88a6adb..df80559 100755
--- a/repoclosure.py
+++ b/repoclosure.py
@@ -39,7 +39,7 @@ def parseArgs():
dependencies in all packages for resolution. Print out the list of
packages with unresolved dependencies
- %s [-c <config file>] [-a <arch>] [-r <repoid>] [-r <repoid2>]
+ %s [-c <config file>] [-a <arch>] [-l <lookaside>] [-r <repoid>] [-r <repoid2>]
""" % sys.argv[0]
parser = OptionParser(usage=usage)
parser.add_option("-c", "--config", default='/etc/yum.conf',
@@ -51,6 +51,8 @@ def parseArgs():
help="set the basearch for yum to run as")
parser.add_option("-b", "--builddeps", default=False, action="store_true",
help='check build dependencies only (needs source repos enabled)')
+ parser.add_option("-l", "--lookaside", default=[], action='append',
+ help="specify a lookaside repo id to query, can be specified multiple times")
parser.add_option("-r", "--repoid", default=[], action='append',
help="specify repo ids to query, can be specified multiple times (default is all enabled)")
parser.add_option("-t", "--tempcache", default=False, action="store_true",
@@ -77,6 +79,7 @@ class RepoClosure(yum.YumBase):
if basearch:
self.preconf.arch = basearch
self.logger = logging.getLogger("yum.verbose.repoclosure")
+ self.lookaside = []
self.builddeps = builddeps
self.pkgonly = pkgonly
self.grouponly = grouponly
@@ -162,6 +165,10 @@ class RepoClosure(yum.YumBase):
pkgs = filter(lambda x: x.name in pkglist, pkgs)
for pkg in pkgs:
+ if pkg.repoid in self.lookaside:
+ # don't attempt to resolve dependancy issues for
+ # packages from lookaside repositories
+ continue
for (req, flags, (reqe, reqv, reqr)) in pkg.returnPrco('requires'):
if req.startswith('rpmlib'): continue # ignore rpmlib deps
@@ -191,7 +198,7 @@ class RepoClosure(yum.YumBase):
else:
if pkg not in unresolved:
unresolved[pkg] = []
- unresolved[pkg].append((req, flags, ver))
+ unresolved[pkg].append((req, flags, ver))
return unresolved
@@ -227,11 +234,15 @@ def main():
if opts.repoid:
for repo in my.repos.repos.values():
- if repo.id not in opts.repoid:
+ if ((repo.id not in opts.repoid) and
+ (repo.id not in opts.lookaside)):
repo.disable()
else:
repo.enable()
+ if opts.lookaside:
+ my.lookaside = opts.lookaside
+
if os.geteuid() != 0 or opts.tempcache:
cachedir = getCacheDir()
if cachedir is None:
More information about the Yum-commits
mailing list