Invalidate previous depcheck/transaction to ensure the selection has been validated when we arrive in hub 2. --- pyanaconda/packaging/yumpayload.py | 3 +++ pyanaconda/ui/gui/spokes/software.py | 5 ++++- 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py index 3211bdd..30189c3 100644 --- a/pyanaconda/packaging/yumpayload.py +++ b/pyanaconda/packaging/yumpayload.py @@ -182,6 +182,8 @@ class YumPayload(PackagePayload): # we get a base repo set up self._yum.preconf.releasever = self._getReleaseVersion(None) + self.txID = None + def _writeYumConfig(self): """ Write out anaconda's main yum configuration file. """ buf = """ @@ -854,6 +856,7 @@ reposdir=%s def checkSoftwareSelection(self): log.info("checking software selection") + self.txID = time.time() with _yum_lock: self.release() diff --git a/pyanaconda/ui/gui/spokes/software.py b/pyanaconda/ui/gui/spokes/software.py index 72dd32a..d8b630a 100644 --- a/pyanaconda/ui/gui/spokes/software.py +++ b/pyanaconda/ui/gui/spokes/software.py @@ -85,16 +85,19 @@ class SoftwareSelectionSpoke(NormalSpoke): self._error = True communication.send_message(self.__class__.__name__, _("Error checking software dependencies")) + self._tx_id = None else: communication.send_ready(self.__class__.__name__) self._error = False + self._tx_id = self.payload.txID @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 + not self._error and \ + self.payload.txID and self._tx_id == self.payload.txID @property def ready(self): -- 1.7.7.6 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list