summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Wilson <msw@redhat.com>1999-08-17 20:24:31 +0000
committerMatt Wilson <msw@redhat.com>1999-08-17 20:24:31 +0000
commit0d880bea6222f8229d85a3d1a93f35173613370d (patch)
tree10af2749d3c8dba1b1ae308b2f89ed59c90d9c54
parentef280959c4df949964ec17909908515496578ad8 (diff)
downloadanaconda-0d880bea6222f8229d85a3d1a93f35173613370d.tar.gz
anaconda-0d880bea6222f8229d85a3d1a93f35173613370d.tar.xz
anaconda-0d880bea6222f8229d85a3d1a93f35173613370d.zip
you now just call intf.run () - it calls todo.doInstall (), etc
-rwxr-xr-xanaconda10
-rwxr-xr-xgui.py45
-rw-r--r--iw/congrats.py11
-rw-r--r--iw/progress.py18
-rw-r--r--iw/welcome.py1
-rw-r--r--po/anaconda-text.pot223
-rw-r--r--text.py24
-rw-r--r--todo.py5
8 files changed, 221 insertions, 116 deletions
diff --git a/anaconda b/anaconda
index fada6db8b..bf5975836 100755
--- a/anaconda
+++ b/anaconda
@@ -226,16 +226,6 @@ try:
todo = ToDo(intf, method, rootPath, installSystem = installPackages,
setupFilesystems = setupFilesystems)
intf.run(todo)
- todo.doInstall(intf)
- intf.messageWindow (_("Complete"),
- _("Congratulations, installation is complete.\n\n"
- "Remove the boot media and "
- "press return to reboot. For information on fixes which are "
- "available for this release of Red Hat Linux, consult the "
- "Errata available from http://www.redhat.com.\n\n"
- "Information on configuring your system is available in the post "
- "install chapter of the Official Red Hat Linux User's Guide."))
-
except:
(type, value, tb) = sys.exc_info()
import traceback
diff --git a/gui.py b/gui.py
index f4b2374b1..11c1d5cc2 100755
--- a/gui.py
+++ b/gui.py
@@ -28,31 +28,6 @@ from thread import *
from threading import *
import time
-class NetworkConfigWindow:
- def __init__ (self, ics):
- self.ics = ics
- ics.setTitle ("Network Configuration")
-
- def getScreen (self):
- devices = ["Ethernet Device 0 (eth0)",
- "Ethernet Device 1 (eth1)",
- "Ethernet Device 2 (eth2)"]
- vbox = GtkVBox (FALSE, 10)
- optionmenu = GtkOptionMenu ()
- menu = GtkMenu ()
- for i in devices:
- menuitem = GtkMenuItem (i)
- menu.append (menuitem)
-
- optionmenu.set_menu (menu)
-
- hbox = GtkHBox (FALSE, 10)
- devLabel = GtkLabel ("Device: ")
- hbox.pack_start (devLabel, FALSE)
- hbox.pack_start (optionmenu, TRUE)
- vbox.pack_start (hbox, FALSE, padding=10)
- return vbox
-
class WaitWindow:
def __init__(self, title, text):
threads_enter ()
@@ -88,11 +63,9 @@ class GtkMainThread (Thread):
threads_leave ()
class InstallInterface:
-
def setPackageProgressWindow (self, ppw):
self.ppw = ppw
- self.finishedTODO.set ()
-
+
def waitWindow (self, title, text):
return WaitWindow (title, text)
@@ -105,6 +78,9 @@ class InstallInterface:
# dialog = GnomeOkDialog (text)
# dialog.set_position (WIN_POS_CENTER)
+ def exceptionWindow(self, title, text):
+ print text
+
def getDDruid (self, drives):
return fsedit (1, drives)
@@ -121,7 +97,7 @@ class InstallInterface:
steps = [WelcomeWindow, LanguageWindow, MouseWindow,
KeyboardWindow, NetworkWindow, AutoPartitionWindow, PartitionWindow,
FormatWindow, PackageSelectionWindow, AuthWindow,
- AccountWindow, InstallProgressWindow]
+ AccountWindow, InstallProgressWindow, CongratulationWindow]
windows = [WelcomeWindow, LanguageWindow, MouseWindow,
KeyboardWindow, NetworkWindow, AutoPartitionWindow,
@@ -136,9 +112,6 @@ class InstallInterface:
todo.setLiloLocation("hda")
- def runPostInstall (screens = (CongratulationWindow,)):
- print "post install reached"
-
class InstallControlWindow (Thread):
def prevClicked (self, *args):
@@ -162,7 +135,13 @@ class InstallControlWindow (Thread):
break
else:
self.stateListIndex = self.stateListIndex + 1
- self.currentScreen = self.stateList[self.stateListIndex]
+ if self.stateListIndex < len (self.stateList):
+ self.currentScreen = self.stateList[self.stateListIndex]
+ if self.stateListIndex == len (self.stateList) - 2:
+ print "show finish button here"
+ else:
+ self.ii.finishedTODO.set ()
+ sys.exit (0)
self.setScreen (self.currentScreen, self.nextClicked)
def helpClicked (self, widget, *args):
diff --git a/iw/congrats.py b/iw/congrats.py
index 59e92a71d..a15dab23e 100644
--- a/iw/congrats.py
+++ b/iw/congrats.py
@@ -11,7 +11,16 @@ class CongratulationWindow (InstallWindow):
ics.setNextEnabled (1)
def getScreen (self):
- label = GtkLabel("install done")
+ label = GtkLabel("Congratulations, installation is complete.\n\n"
+ "Remove the boot media and "
+ "press return to reboot. For information on fixes which are "
+ "available for this release of Red Hat Linux, consult the "
+ "Errata available from http://www.redhat.com.\n\n"
+ "Information on configuring your system is available in the post "
+ "install chapter of the Official Red Hat Linux User's Guide.")
+ label.set_line_wrap (TRUE)
+ label.set_line_wrap (TRUE)
+ label.set_alignment (0.0, 0.5)
box = GtkVBox (FALSE, 10)
box.pack_start (label, TRUE, TRUE, 0)
diff --git a/iw/progress.py b/iw/progress.py
index d27e4fcaf..6e3a22010 100644
--- a/iw/progress.py
+++ b/iw/progress.py
@@ -3,7 +3,20 @@ from iw import *
import string
import rpm
import time
+from threading import *
+class DoInstall (Thread):
+ def __init__ (self, icw, todo):
+ self.todo = todo
+ self.icw = icw
+ Thread.__init__ (self)
+
+ def run (self):
+ self.todo.doInstall ()
+ threads_enter ()
+ self.icw.nextClicked ()
+ threads_leave ()
+
class InstallProgressWindow (InstallWindow):
def __init__ (self, ics):
@@ -12,6 +25,7 @@ class InstallProgressWindow (InstallWindow):
ics.setTitle ("Installing Packages")
ics.setPrevEnabled (0)
+ self.todo = ics.getToDo ()
self.numComplete = 0
self.sizeComplete = 0
@@ -143,5 +157,9 @@ class InstallProgressWindow (InstallWindow):
vbox.pack_start (clist, TRUE)
self.ics.getInstallInterface ().setPackageProgressWindow (self)
+ ii = self.ics.getInstallInterface ()
+ icw = ii.icw
+ worker = DoInstall (icw, self.todo)
+ worker.start ()
return vbox
diff --git a/iw/welcome.py b/iw/welcome.py
index f8a1120e0..ba9c87754 100644
--- a/iw/welcome.py
+++ b/iw/welcome.py
@@ -21,7 +21,6 @@ class WelcomeWindow (InstallWindow):
def getScreen (self):
label = GtkLabel("(insert neat logo graphic here)")
- label.set_line_wrap (TRUE)
box = GtkVBox (FALSE, 10)
box.pack_start (label, TRUE, TRUE, 0)
diff --git a/po/anaconda-text.pot b/po/anaconda-text.pot
index 957004cc8..ca6ccfe2a 100644
--- a/po/anaconda-text.pot
+++ b/po/anaconda-text.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1999-08-08 18:23-0400\n"
+"POT-Creation-Date: 1999-08-17 11:05-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -14,78 +14,76 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
-#: ../text.py:26 ../text.py:630
+#: ../text.py:25 ../text.py:794
msgid "Language Selection"
msgstr ""
-#: ../text.py:27
+#: ../text.py:26
msgid "What language would you like to use during the installation process?"
msgstr ""
-#: ../text.py:29 ../text.py:48 ../text.py:115 ../text.py:424 ../text.py:439
-#: ../text.py:607
-msgid "Ok"
+#: ../text.py:28 ../text.py:47 ../text.py:75 ../text.py:91 ../text.py:96
+#: ../text.py:114 ../text.py:136 ../text.py:262 ../text.py:282 ../text.py:350
+#: ../text.py:387 ../text.py:451 ../text.py:502 ../text.py:524 ../text.py:579
+#: ../text.py:596 ../text.py:764 ../text.py:770
+msgid "OK"
msgstr ""
-#: ../text.py:46 ../text.py:631
+#: ../text.py:45 ../text.py:795
msgid "Keyboard Selection"
msgstr ""
-#: ../text.py:47
+#: ../text.py:46
msgid "Which model keyboard is attached to this computer?"
msgstr ""
-#: ../text.py:48 ../text.py:51 ../text.py:76 ../text.py:115 ../text.py:117
-#: ../text.py:137 ../text.py:264 ../text.py:327 ../text.py:391 ../text.py:424
-#: ../text.py:427 ../text.py:439 ../text.py:440
+#: ../text.py:47 ../text.py:50 ../text.py:75 ../text.py:114 ../text.py:116
+#: ../text.py:136 ../text.py:262 ../text.py:350 ../text.py:387 ../text.py:451
+#: ../text.py:502 ../text.py:511 ../text.py:524 ../text.py:527 ../text.py:544
+#: ../text.py:553 ../text.py:579 ../text.py:586 ../text.py:596 ../text.py:597
msgid "Back"
msgstr ""
-#: ../text.py:59 ../text.py:639
+#: ../text.py:58 ../text.py:805
msgid "Root Password"
msgstr ""
-#: ../text.py:61
+#: ../text.py:60
msgid ""
"Pick a root password. You must type it twice to ensure you know what it is "
"and didn't make a mistake in typing. Remember that the root password is a "
"critical part of system security!"
msgstr ""
-#: ../text.py:70
+#: ../text.py:69
msgid "Password:"
msgstr ""
-#: ../text.py:71
+#: ../text.py:70
msgid "Password (again):"
msgstr ""
-#: ../text.py:76 ../text.py:92 ../text.py:97 ../text.py:137 ../text.py:264
-#: ../text.py:327 ../text.py:391
-msgid "OK"
-msgstr ""
-
-#: ../text.py:89
+#: ../text.py:88
msgid "Password Length"
msgstr ""
-#: ../text.py:90
+#: ../text.py:89
msgid "The root password must be at least 6 characters long."
msgstr ""
-#: ../text.py:94
+#: ../text.py:93
msgid "Password Mismatch"
msgstr ""
-#: ../text.py:95
+#: ../text.py:94
msgid "The passwords you entered were different. Please try again."
msgstr ""
-#: ../text.py:106
+#: ../text.py:105
msgid "Red Hat Linux"
msgstr ""
-#: ../text.py:107
+#: ../text.py:106
msgid ""
"Welcome to Red Hat Linux!\n"
"\n"
@@ -97,166 +95,257 @@ msgid ""
"purchase through our web site, http://www.redhat.com/."
msgstr ""
-#: ../text.py:139
+#: ../text.py:138
msgid "Authentication Configuration"
msgstr ""
-#: ../text.py:140
+#: ../text.py:139
msgid "Use Shadow Passwords"
msgstr ""
-#: ../text.py:142
+#: ../text.py:141
msgid "Enable MD5 Passwords"
msgstr ""
-#: ../text.py:144
+#: ../text.py:143
msgid "Enable NIS"
msgstr ""
-#: ../text.py:149
+#: ../text.py:148
msgid "NIS Domain:"
msgstr ""
-#: ../text.py:151
+#: ../text.py:150
msgid "NIS Server:"
msgstr ""
-#: ../text.py:153
+#: ../text.py:152
msgid "or use:"
msgstr ""
-#: ../text.py:156
+#: ../text.py:155
msgid "Request server via broadcast"
msgstr ""
-#: ../text.py:236
+#: ../text.py:234
msgid "Use bootp/dhcp"
msgstr ""
-#: ../text.py:241
+#: ../text.py:239
msgid "IP address:"
msgstr ""
-#: ../text.py:242
+#: ../text.py:240
msgid "Netmask:"
msgstr ""
-#: ../text.py:243
+#: ../text.py:241
msgid "Default gateway (IP):"
msgstr ""
-#: ../text.py:244
+#: ../text.py:242
msgid "Primary nameserver:"
msgstr ""
-#: ../text.py:266
+#: ../text.py:264
msgid "Network Configuration"
msgstr ""
-#: ../text.py:325
+#: ../text.py:280
+msgid "Invalid information"
+msgstr ""
+
+#: ../text.py:281
+msgid "You must enter valid IP information to continue"
+msgstr ""
+
+#: ../text.py:328
+msgid ""
+"What partitions would you like to format? We strongly suggest formatting all "
+"of the system partitions, including /, /usr, and /var. There is no need to "
+"format /home or /usr/local if they have already been configured during a "
+"previous install."
+msgstr ""
+
+#: ../text.py:348
+msgid "Check for bad blocks during format"
+msgstr ""
+
+#: ../text.py:352
+msgid "Choose Partitions to Format"
+msgstr ""
+
+#: ../text.py:385
msgid "Select individual packages"
msgstr ""
-#: ../text.py:329 ../text.py:393
+#: ../text.py:389 ../text.py:453
msgid "Package Group Selection"
msgstr ""
-#: ../text.py:422
+#: ../text.py:480 ../text.py:802
+msgid "Package Dependencies"
+msgstr ""
+
+#: ../text.py:481
+msgid ""
+"Some of the packages you have selected to install require packages you have "
+"not selected. If you just select Ok all of those required packages will be "
+"installed."
+msgstr ""
+
+#: ../text.py:487
+msgid "Package"
+msgstr ""
+
+#: ../text.py:487
+msgid "Requirement"
+msgstr ""
+
+#: ../text.py:499
+msgid "Install packages to satisfy dependencies"
+msgstr ""
+
+#: ../text.py:522
msgid "Mouse Selection"
msgstr ""
-#: ../text.py:423
+#: ../text.py:523
msgid "Which model mouse is attached to this computer?"
msgstr ""
-#: ../text.py:435
+#: ../text.py:534
+msgid "Bootdisk"
+msgstr ""
+
+#: ../text.py:535
+msgid ""
+"A custom bootdisk provides a way of booting into your Linux system without "
+"depending on the normal bootloader. This is useful if you don't want to "
+"install lilo on your system, another operating system removes lilo, or lilo "
+"doesn't work with your hardware configuration. A custom bootdisk can also be "
+"used with the Red Hat rescue image, making it much easier to recover from "
+"severe system failures.\n"
+"\n"
+"Would you like to create a bootdisk for your system?"
+msgstr ""
+
+#: ../text.py:544 ../text.py:547
+msgid "Yes"
+msgstr ""
+
+#: ../text.py:544 ../text.py:550
+msgid "No"
+msgstr ""
+
+#: ../text.py:576 ../text.py:807
+msgid "LILO Configuration"
+msgstr ""
+
+#: ../text.py:577
+msgid "Where do you want to install the bootloader?"
+msgstr ""
+
+#: ../text.py:592
msgid "Installation to begin"
msgstr ""
-#: ../text.py:436
+#: ../text.py:593
msgid ""
"A complete log of your installation will be in /tmp/install.log after "
"rebooting your system. You may want to keep this file for later reference."
msgstr ""
-#: ../text.py:493 ../text.py:494 ../text.py:500 ../text.py:501
+#: ../text.py:650 ../text.py:651 ../text.py:657 ../text.py:658
msgid "Package Installation"
msgstr ""
-#: ../text.py:503
+#: ../text.py:660
msgid "Name : "
msgstr ""
-#: ../text.py:504
+#: ../text.py:661
msgid "Size : "
msgstr ""
-#: ../text.py:505
+#: ../text.py:662
msgid "Summary: "
msgstr ""
-#: ../text.py:531
+#: ../text.py:688
msgid " Packages"
msgstr ""
-#: ../text.py:532
+#: ../text.py:689
msgid " Bytes"
msgstr ""
-#: ../text.py:533
+#: ../text.py:690
msgid " Time"
msgstr ""
-#: ../text.py:535
+#: ../text.py:692
msgid "Total :"
msgstr ""
-#: ../text.py:542
+#: ../text.py:699
msgid "Completed: "
msgstr ""
-#: ../text.py:552
+#: ../text.py:709
msgid "Remaining: "
msgstr ""
-#: ../text.py:619
+#: ../text.py:770 ../text.py:771
+msgid "Debug"
+msgstr ""
+
+#: ../text.py:783
msgid "Red Hat Linux (C) 1999 Red Hat, Inc."
msgstr ""
-#: ../text.py:621
+#: ../text.py:785
msgid ""
" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next "
"screen"
msgstr ""
-#: ../text.py:632
+#: ../text.py:796
msgid "Welcome"
msgstr ""
-#: ../text.py:633
+#: ../text.py:797
+msgid "Network Setup"
+msgstr ""
+
+#: ../text.py:798
msgid "Partition"
msgstr ""
-#: ../text.py:634
-msgid "Network Setup"
+#: ../text.py:799
+msgid "Filesystem Formatting"
msgstr ""
-#: ../text.py:635
+#: ../text.py:800
msgid "Package Groups"
msgstr ""
-#: ../text.py:636
+#: ../text.py:801
msgid "Individual Packages"
msgstr ""
-#: ../text.py:637
+#: ../text.py:803
msgid "Mouse Configuration"
msgstr ""
-#: ../text.py:638
+#: ../text.py:804
msgid "Authentication"
msgstr ""
-#: ../text.py:640
+#: ../text.py:806
+msgid "Boot Disk"
+msgstr ""
+
+#: ../text.py:808
msgid "Installation Begins"
msgstr ""
diff --git a/text.py b/text.py
index 5d4544265..bdf2486c2 100644
--- a/text.py
+++ b/text.py
@@ -502,7 +502,7 @@ class PackageDepWindow:
bb = ButtonBar (screen, ((_("OK"), "ok"), (_("Back"), "back")))
g.add (bb, 0, 4, growx = 1)
- result = g.run ()
+ result = g.runOnce ()
if cb.selected ():
todo.selectDeps (deps)
@@ -589,7 +589,7 @@ class LiloWindow:
class BeginInstallWindow:
def run(self, screen, todo):
- rc = ButtonChoiceWindow(screen, _("Installation to begin"),
+ rc = ButtonChoiceWindow (screen, _("Installation to begin"),
_("A complete log of your installation will be in "
"/tmp/install.log after rebooting your system. You "
"may want to keep this file for later reference."),
@@ -598,6 +598,24 @@ class BeginInstallWindow:
return INSTALL_BACK
return INSTALL_OK
+class InstallWindow:
+ def run(self, screen, todo):
+ todo.doInstall ()
+ return INSTALL_OK
+
+class FinishedWindow:
+ def run(self, screen, todo):
+ rc = ButtonChoiceWindow (screen, _("Complete"),
+ _("Congratulations, installation is complete.\n\n"
+ "Remove the boot media and "
+ "press return to reboot. For information on fixes which are "
+ "available for this release of Red Hat Linux, consult the "
+ "Errata available from http://www.redhat.com.\n\n"
+ "Information on configuring your system is available in the post "
+ "install chapter of the Official Red Hat Linux User's Guide."),
+ [ _("OK") ])
+ return INSTALL_OK
+
class InstallProgressWindow:
def completePackage(self, header):
def formatTime(amt):
@@ -806,6 +824,8 @@ class InstallInterface:
[_("Boot Disk"), BootDiskWindow, (self.screen, todo)],
[_("LILO Configuration"), LiloWindow, (self.screen, todo)],
[_("Installation Begins"), BeginInstallWindow, (self.screen, todo)],
+ [_("Install System"), InstallWindow, (self.screen, todo)],
+ [_("Installation Complete"), FinishedWindow, (self.screen, todo)]
]
step = 0
diff --git a/todo.py b/todo.py
index 1befb9310..002841bbd 100644
--- a/todo.py
+++ b/todo.py
@@ -389,6 +389,7 @@ class ToDo:
self.drives = Drives ()
self.log = LogFile ()
self.bootdisk = 0
+ self.liloDevice = None
def umountFilesystems(self):
if (not self.setupFilesystems): return
@@ -685,7 +686,7 @@ class ToDo:
for (who, dep) in deps:
self.hdList[dep].selected = 1
- def doInstall(self, intf):
+ def doInstall(self):
# make sure we have the header list and comps file
self.getHeaderList()
self.getCompsList()
@@ -705,7 +706,7 @@ class ToDo:
try:
os.mkdir(self.instPath + i)
except os.error, (errno, msg):
- intf.messageWindow("Error", "Error making directory %s: %s" % (i, msg))
+ self.intf.messageWindow("Error", "Error making directory %s: %s" % (i, msg))
db = rpm.opendb(1, self.instPath)
ts = rpm.TransactionSet(self.instPath, db)