[PATCH] Only show groups in the UI if they have members that install by default (default or mandatory packages).

Bill Nottingham notting at redhat.com
Wed Aug 29 17:34:35 UTC 2012


---
 pyanaconda/packaging/yumpayload.py   | 15 +++++++++++++++
 pyanaconda/ui/gui/spokes/software.py |  2 +-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py
index 28f728d..44b5b6e 100644
--- a/pyanaconda/packaging/yumpayload.py
+++ b/pyanaconda/packaging/yumpayload.py
@@ -876,6 +876,21 @@ reposdir=%s
             group = groups.return_group(groupid)
             return group.user_visible
 
+    def _groupHasInstallableMembers(self, groupid):
+        groups = self._yumGroups
+        if not groups:
+            return False
+
+        with _yum_lock:
+            if not groups.has_group(groupid):
+                return False
+
+            group = groups.return_group(groupid)
+            pkgs = group.mandatory_packages.keys() + group.default_packages.keys()
+            if pkgs:
+                return True
+            return False
+
     def _selectYumGroup(self, groupid, default=True, optional=False):
         # select the group in comps
         pkg_types = ['mandatory']
diff --git a/pyanaconda/ui/gui/spokes/software.py b/pyanaconda/ui/gui/spokes/software.py
index 5e24f90..bbcfd19 100644
--- a/pyanaconda/ui/gui/spokes/software.py
+++ b/pyanaconda/ui/gui/spokes/software.py
@@ -211,7 +211,7 @@ class SoftwareSelectionSpoke(NormalSpoke):
         self._addonStore.clear()
         if self.environment:
             for grp in self.payload.groups:
-                if self.payload.environmentHasOption(self.environment, grp) or self.payload._isGroupVisible(grp):
+                if self.payload.environmentHasOption(self.environment, grp) or (self.payload._isGroupVisible(grp) and self.payload._groupHasInstallableMembers(grp)):
                     (name, desc) = self.payload.groupDescription(grp)
                     selected = self.payload.groupSelected(grp)
 
-- 
1.7.11.4



More information about the anaconda-patches mailing list