summaryrefslogtreecommitdiffstats
path: root/packages.py
diff options
context:
space:
mode:
authorMike Fulbright <msf@redhat.com>2002-03-04 21:08:14 +0000
committerMike Fulbright <msf@redhat.com>2002-03-04 21:08:14 +0000
commitf0212770d4d5d17434c6fff5c682df584b8ce5a8 (patch)
treecc02ede2d21f05a25e7b5ad90d3cd38a90a9c78b /packages.py
parent2a635bf84d86d360f2d3aad4599313f24a433894 (diff)
downloadanaconda-f0212770d4d5d17434c6fff5c682df584b8ce5a8.tar.gz
anaconda-f0212770d4d5d17434c6fff5c682df584b8ce5a8.tar.xz
anaconda-f0212770d4d5d17434c6fff5c682df584b8ce5a8.zip
pop up a dialog during long delay at start of transcation sort that doesnt do callbacks, otherwise machine looks very locked up
Diffstat (limited to 'packages.py')
-rw-r--r--packages.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/packages.py b/packages.py
index a0dd0ffc0..4d7235a7a 100644
--- a/packages.py
+++ b/packages.py
@@ -209,6 +209,12 @@ def checkDependencies(dir, intf, disp, id, instPath):
class InstallCallback:
def cb(self, what, amount, total, h, (param)):
+ # first time here means we should pop the window telling
+ # user to wait until we get here
+ if not self.beenCalled:
+ self.beenCalled = 1
+ self.initWindow.pop()
+
if (what == rpm.RPMCALLBACK_TRANS_START):
# step 6 is the bulk of the transaction set
# processing time
@@ -280,6 +286,8 @@ class InstallCallback:
self.progressWindow = None
self.instLog = instLog
self.modeText = modeText
+ self.beenCalled = 0
+ self.initWindow = None
def sortPackages(first, second):
# install packages in cd order (cd tag is 1000002)
@@ -562,6 +570,8 @@ def doInstall(method, id, intf, instPath):
"%s"
"\n\n") % (id.upgradeDeps,))
+ cb.initWindow = intf.waitWindow(_("Install Starting"),
+ _("Starting install process, may take several minutes..."))
problems = ts.run(0, ~rpm.RPMPROB_FILTER_DISKSPACE, cb.cb, 0)