[yum-git] Branch 'yum-3_2_X' - yum/__init__.py
Seth Vidal
skvidal at linux.duke.edu
Tue Jul 22 14:57:30 UTC 2008
yum/__init__.py | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
New commits:
commit d151197fa2243115f1ca029d2670d6abf36e6863
Author: Seth Vidal <skvidal at fedoraproject.org>
Date: Tue Jul 22 10:55:05 2008 -0400
Add parameters to selectGroup()
group_package_types=List - overrides self.conf.group_package_types
enable_group_conditionals=Bool - overrides self.conf.enable_group_conditionals
diff --git a/yum/__init__.py b/yum/__init__.py
index 02a0279..d6c2d76 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -1808,10 +1808,14 @@ class YumBase(depsolve.Depsolve):
self.tsInfo.remove(txmbr.po.pkgtup)
- def selectGroup(self, grpid):
+ def selectGroup(self, grpid, group_package_types=[], enable_group_conditionals=None):
"""mark all the packages in the group to be installed
returns a list of transaction members it added to the transaction
- set"""
+ set
+ Optionally take:
+ group_package_types=List - overrides self.conf.group_package_types
+ enable_group_conditionals=Bool - overrides self.conf.enable_group_conditionals
+ """
if not self.comps.has_group(grpid):
raise Errors.GroupsError, _("No Group named %s exists") % grpid
@@ -1822,6 +1826,10 @@ class YumBase(depsolve.Depsolve):
if not thesegroups:
raise Errors.GroupsError, _("No Group named %s exists") % grpid
+ package_types = self.conf.group_package_types
+ if group_package_types:
+ package_types = group_package_types
+
for thisgroup in thesegroups:
if thisgroup.selected:
continue
@@ -1829,11 +1837,11 @@ class YumBase(depsolve.Depsolve):
thisgroup.selected = True
pkgs = []
- if 'mandatory' in self.conf.group_package_types:
+ if 'mandatory' in package_types:
pkgs.extend(thisgroup.mandatory_packages)
- if 'default' in self.conf.group_package_types:
+ if 'default' in package_types:
pkgs.extend(thisgroup.default_packages)
- if 'optional' in self.conf.group_package_types:
+ if 'optional' in package_types:
pkgs.extend(thisgroup.optional_packages)
for pkg in pkgs:
@@ -1849,7 +1857,11 @@ class YumBase(depsolve.Depsolve):
for txmbr in txmbrs:
txmbr.groups.append(thisgroup.groupid)
- if self.conf.enable_group_conditionals:
+ group_conditionals = self.conf.enable_group_conditionals
+ if enable_group_conditionals is not None: # has to be this way so we can set it to False
+ group_conditionals = enable_group_conditionals
+
+ if group_conditionals:
for condreq, cond in thisgroup.conditional_packages.iteritems():
if self.isPackageInstalled(cond):
try:
More information about the Yum-cvs-commits
mailing list