[yum-cvs] yum-utils yumdownloader.py,1.7,1.8
Seth Vidal
skvidal at linux.duke.edu
Tue Apr 11 06:25:53 UTC 2006
Update of /home/groups/yum/cvs/yum-utils
In directory login1.linux.duke.edu:/tmp/cvs-serv3745
Modified Files:
yumdownloader.py
Log Message:
add --enablerepo to yumdownloader - similar to patch from Miroslav Prymek -
thanks!
Index: yumdownloader.py
===================================================================
RCS file: /home/groups/yum/cvs/yum-utils/yumdownloader.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- yumdownloader.py 16 Feb 2006 23:24:15 -0000 1.7
+++ yumdownloader.py 11 Apr 2006 06:25:51 -0000 1.8
@@ -29,28 +29,21 @@
from optparse import OptionParser
from urlparse import urljoin
-def initYum(source=False):
+def initYum():
my = yum.YumBase()
my.doConfigSetup()
- my.conf.setConfigOption('uid', os.geteuid())
- if my.conf.getConfigOption('uid') != 0:
+ my.conf.uid = os.geteuid()
+ if my.conf.uid != 0:
cachedir = getCacheDir()
if cachedir is None:
print "Error: Could not make cachedir, exiting"
sys.exit(50)
my.repos.setCacheDir(cachedir)
my.repos.setProgressBar(TextMeter(fo=sys.stdout))
- my.log = Logger(threshold=my.conf.getConfigOption('debuglevel'),
- file_object =sys.stdout)
+ my.log = Logger(threshold=my.conf.debuglevel, file_object =sys.stdout)
my.repos.callback = output.CacheProgressCallback(my.log,
my.errorlog, my.filelog)
- my.doRepoSetup()
- archlist = None
- if source:
- archlist = ['src']
-
- my.doSackSetup(archlist=archlist)
return my
def parseArgs():
@@ -64,6 +57,9 @@
help='resolve dependencies and download required packages')
parser.add_option("--source", default=False, dest="source", action="store_true",
help='operate on source packages')
+ parser.add_option("-e","--enablerepo", default=[], action="append", dest="repo",
+ help='enable repository')
+
(opts, args) = parser.parse_args()
if len(args) < 1:
parser.print_help()
@@ -72,7 +68,30 @@
def main():
(opts, args) = parseArgs()
- my = initYum(opts.source)
+ my = initYum()
+
+ if len(opts.repo) > 0:
+ myrepos = []
+
+ # find the ones we want
+ for glob in opts.repo:
+ myrepos.extend(my.repos.findRepos(glob))
+
+ # disable them all
+ for repo in my.repos.repos.values():
+ repo.disable()
+
+ # enable the ones we like
+ for repo in myrepos:
+ repo.enable()
+
+ my.doRepoSetup()
+ archlist = None
+ if opts.source:
+ archlist = ['src']
+
+ my.doSackSetup(archlist=archlist)
+
avail = my.pkgSack.returnPackages()
toDownload = []
More information about the Yum-cvs-commits
mailing list