[yum-cvs] yum cli.py,1.198,1.199

Seth Vidal skvidal at linux.duke.edu
Tue Dec 13 06:16:05 UTC 2005


Update of /home/groups/yum/cvs/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv15589

Modified Files:
	cli.py 
Log Message:

make yum groupinstall work again
remove unnecessary recreation of comps object


Index: cli.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/cli.py,v
retrieving revision 1.198
retrieving revision 1.199
diff -u -r1.198 -r1.199
--- cli.py	9 Dec 2005 15:31:59 -0000	1.198
+++ cli.py	13 Dec 2005 06:16:03 -0000	1.199
@@ -1336,38 +1336,34 @@
         return 0, []
         
     def installGroups(self, grouplist=None):
-        """for each group requested attempt to install all pkgs/metapkgs of default
-           or mandatory. Also recurse lists of groups to provide for them too."""
+        """for each group requested do 'selectGroup' on them."""
+        
+        self.doRepoSetup()
+        pkgs_used = []
+        
+        
         
         if grouplist is None:
             grouplist = self.extcmds
         
-        self.doRepoSetup()
-        pkgs = [] # package objects to be installed
-        installed = self.rpmdb.getPkgList()
-        availablepackages = {}
-        for po in self.pkgSack.returnPackages():
-            if po.pkgtup not in installed:
-                    availablepackages[po.name] = 1
-
-        for group in grouplist:
-            if not self.groupInfo.groupExists(group):
+        for group_string in grouplist:
+            group = self.comps.return_group(group_string)
+            if not group:
                 self.errorlog(0, _('Warning: Group %s does not exist.') % group)
                 continue
-            pkglist = self.groupInfo.pkgTree(group)
-            for pkg in pkglist:
-                if availablepackages.has_key(pkg):
-                    pkgs.append(pkg)
-                    self.log(4, 'Adding package %s for groupinstall of %s.' % (pkg, group))
-
-        if len(pkgs) > 0:
-            self.log(2, 'Passing package list to Install Process')
-            self.log(4, 'Packages being passed:')
-            for pkg in pkgs:
-                self.log(4, '%s' % pkg)
-            return self.installPkgs(userlist=pkgs)
-        else:
+            
+            try:
+                txmbrs = self.selectGroup(group.groupid)
+            except Errors.GroupsError, e:
+                self.errorlog(0, _('Warning: Group %s does not exist.') % group)
+                continue
+            else:
+                pkgs_used.extend(txmbrs)
+            
+        if not pkgs_used:
             return 0, ['No packages in any requested group available to install']
+        else:
+            return 2, ['Package(s) to Install']
 
     
     def updateGroups(self, grouplist=None):




More information about the Yum-cvs-commits mailing list