[yum-cvs] yum-utils repoclosure.py,1.8,1.9

Seth Vidal skvidal at login.linux.duke.edu
Mon Nov 7 18:15:37 UTC 2005


Update of /home/groups/yum/cvs/yum-utils
In directory login:/tmp/cvs-serv31325

Modified Files:
	repoclosure.py 
Log Message:

make repoclosure optionally operate on only the newest packages in the repo


Index: repoclosure.py
===================================================================
RCS file: /home/groups/yum/cvs/yum-utils/repoclosure.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- repoclosure.py	23 Jun 2005 04:53:53 -0000	1.8
+++ repoclosure.py	7 Nov 2005 18:15:34 -0000	1.9
@@ -62,7 +62,8 @@
         help="Use a temp dir for storing/accessing yum-cache")
     parser.add_option("-q", "--quiet", default=0, action="store_true", 
                       help="quiet (no output to stderr)")
-        
+    parser.add_option("-n", "--newest", default=0, action="store_true",
+                      help="check only the newest packages in the repos")
     (opts, args) = parser.parse_args()
     return (opts, args)
 
@@ -100,10 +101,15 @@
         for repo in self.repos.listEnabled():
             self.repos.populateSack(which=[repo.id], with='filelists')
 
-    def getBrokenDeps(self):
+    def getBrokenDeps(self, newest=False):
         unresolved = {}
         resolved = {}
-        for pkg in self.pkgSack:
+        if newest:
+            pkgs = self.pkgSack.returnNewestByNameArch()
+        else:
+            pkgs = self.pkgSack
+        
+        for pkg in pkgs:
             for (req, flags, (reqe, reqv, reqr)) in pkg.returnPrco('requires'):
                 if req.startswith('rpmlib'): continue # ignore rpmlib deps
             
@@ -159,8 +165,12 @@
     if not opts.quiet:
         print 'Checking Dependencies'
 
-    baddeps = my.getBrokenDeps()
-    num = len(my.pkgSack)
+    baddeps = my.getBrokenDeps(opts.newest)
+    if opts.newest:
+        num = len(my.pkgSack.returnNewestByNameArch())
+    else:
+        num = len(my.pkgSack)
+        
     repos = my.repos.listEnabled()
 
     if not opts.quiet:




More information about the Yum-cvs-commits mailing list