diff options
author | Chris Lumens <clumens@redhat.com> | 2012-07-11 13:48:56 -0400 |
---|---|---|
committer | Chris Lumens <clumens@redhat.com> | 2012-07-12 13:28:05 -0400 |
commit | 5b95011fa5370142a145b2874910831f53db0712 (patch) | |
tree | dadd14cca5ebbe10fdce5ed01009fc497fc96d85 /pyanaconda | |
parent | 99ae2decf54a4d407d6b50095db589fa09d67eb8 (diff) | |
download | anaconda-5b95011fa5370142a145b2874910831f53db0712.tar.gz anaconda-5b95011fa5370142a145b2874910831f53db0712.tar.xz anaconda-5b95011fa5370142a145b2874910831f53db0712.zip |
Fix software spoke completion and status for certain kickstart installs.
If you're doing an install with just Core, or with some special set of groups
that somehow doesn't include one of our desktop environments (even though Base
is currently a DE), make sure to set the spoke to complete and give a useful
status message.
Diffstat (limited to 'pyanaconda')
-rw-r--r-- | pyanaconda/ui/gui/spokes/software.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/pyanaconda/ui/gui/spokes/software.py b/pyanaconda/ui/gui/spokes/software.py index 239db3f9c..9e56a4bab 100644 --- a/pyanaconda/ui/gui/spokes/software.py +++ b/pyanaconda/ui/gui/spokes/software.py @@ -23,6 +23,8 @@ import gettext _ = lambda x: gettext.ldgettext("anaconda", x) N_ = lambda x: x +from pyanaconda.flags import flags + from pyanaconda.ui.gui import communication from pyanaconda.ui.gui.spokes import NormalSpoke from pyanaconda.ui.gui.utils import gdk_threaded @@ -100,10 +102,16 @@ class SoftwareSelectionSpoke(NormalSpoke): @property def completed(self): from pyanaconda.threads import threadMgr - return self._get_selected_desktop() is not None and \ - not threadMgr.get("AnaCheckSoftwareThread") and \ - not self._error and \ - self.payload.txID and self._tx_id == self.payload.txID + from pyanaconda.kickstart import packagesSeen + + processingDone = not threadMgr.get("AnaCheckSoftwareThread") and \ + not self._error and \ + self._tx_id == self.payload.txID + + if flags.automatedInstall: + return packagesSeen and processingDone + else: + return self._get_selected_desktop() is not None and processingDone @property def ready(self): @@ -119,7 +127,9 @@ class SoftwareSelectionSpoke(NormalSpoke): @property def status(self): + from pyanaconda.kickstart import packagesSeen from pyanaconda.threads import threadMgr + if self._error: return _("Error checking software selection") @@ -128,6 +138,12 @@ class SoftwareSelectionSpoke(NormalSpoke): row = self._get_selected_desktop() if not row: + # Kickstart installs with %packages will have a row selected, unless + # they did an install without a desktop environment. This should + # catch that one case. + if flags.automatedInstall and packagesSeen: + return _("Custom software selected") + return _("Nothing selected") return self.payload.description(row[2])[0] |