summaryrefslogtreecommitdiffstats
path: root/textw
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2001-12-27 05:50:12 +0000
committerJeremy Katz <katzj@redhat.com>2001-12-27 05:50:12 +0000
commitffae3d1f2a7eec8c2669bb0431ccb8bb7011a028 (patch)
tree8e0ad6bb6ec41a2612fea774bd9b7456dc9e34a7 /textw
parent345813c57c3fd10b66b10a1b544f7bd0f3950a7a (diff)
downloadanaconda-ffae3d1f2a7eec8c2669bb0431ccb8bb7011a028.tar.gz
anaconda-ffae3d1f2a7eec8c2669bb0431ccb8bb7011a028.tar.xz
anaconda-ffae3d1f2a7eec8c2669bb0431ccb8bb7011a028.zip
files off the 390 branch
Diffstat (limited to 'textw')
-rw-r--r--textw/fdasd_text.py119
-rw-r--r--textw/zipl_text.py70
2 files changed, 189 insertions, 0 deletions
diff --git a/textw/fdasd_text.py b/textw/fdasd_text.py
new file mode 100644
index 000000000..dac27e6ff
--- /dev/null
+++ b/textw/fdasd_text.py
@@ -0,0 +1,119 @@
+#
+# fdasd_text.py: allows the user to partition disks with fdasd utility
+# in text mode
+#
+# Harald Hoyer <harald@redhat.de>
+# Jeremy Katz <katzj@redhat.com>
+#
+# Copyright 2001 Red Hat, Inc.
+#
+# This software may be freely redistributed under the terms of the GNU
+# library public license.
+#
+# You should have received a copy of the GNU Library Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
+import os
+import isys
+import iutil
+from snack import *
+from translate import _, cat, N_
+from constants_text import *
+import partitioning
+
+class fdasdPartitionWindow:
+ def __call__(self, screen, diskset, partrequests, intf):
+ choices = []
+
+ fdisk_name = "fdasd"
+ listboxtext = _("Choose a disk to run fdasd or dasdfmt on")
+ buttons = [ (_("OK"), "done"), (_("Edit Partitions"), "edit"),
+ (_("Format DASD"), "dasdfmt"),
+ TEXT_BACK_BUTTON ]
+ drives = diskset.driveList()
+
+ drives.sort()
+
+ for drive in drives:
+ choices.append("%s" %(drive))
+
+ # close all references we had to the diskset
+ diskset.closeDevices()
+
+ button = None
+
+ while button != "done" and button != TEXT_BACK_CHECK:
+
+ (button, choice) = \
+ ListboxChoiceWindow(screen, _("Disk Setup"),
+ listboxtext, choices,
+ buttons, width = 50, help = "fdasd-s390")
+
+ if button == "edit":
+ device = choices[choice]
+
+ if os.access("/sbin/fdasd", os.X_OK):
+ path = "/sbin/fdasd"
+ else:
+ path = "/usr/sbin/fdasd"
+
+ try:
+ isys.makeDevInode(device, '/tmp/' + device)
+ except:
+ pass
+
+ screen.suspend()
+ rc = iutil.execWithRedirect (path, [ path, "/tmp/" + device ],
+ ignoreTermSigs = 1)
+ screen.resume()
+
+ if rc:
+ intf.messageWindow( _("Error"),
+ _("An error occured while running %s on drive %s.") % (path, device))
+
+ try:
+ os.remove('/tmp/' + device)
+ except:
+ pass
+
+ elif button == "dasdfmt":
+ device = choices[choice]
+
+ rc = intf.messageWindow(_("Warning"),
+ _("Running dasdfmt means the loss of \n"
+ "ALL DATA on drive %s.\n\n"
+ "Do you really want this?")
+ % (device,), type = "yesno")
+ if rc == 0:
+ continue
+
+ diskset.dasdFmt(intf, device)
+
+ elif button == "done" or button == TEXT_BACK_CHECK:
+ diskset.refreshDevices(intf)
+ partitioning.checkNoDisks(diskset, intf)
+ partrequests.setFromDisk(diskset)
+
+ if len(diskset.disks.keys()) == 0:
+ rc = intf.messageWindow(_("No Drives Found"),
+ _("An error has occurred - no valid devices were "
+ "found on which to create new filesystems. "
+ "Please check your hardware for the cause "
+ "of this problem or use dasdfmt.\n\n"
+ "Back to the fdasd screen?"), type = "yesno")
+
+ if rc:
+ button = ""
+
+
+
+
+ if button == TEXT_BACK_CHECK:
+ return INSTALL_BACK
+
+ partitioning.checkNoDisks(diskset, intf)
+ partrequests.setFromDisk(diskset)
+
+ return INSTALL_OK
diff --git a/textw/zipl_text.py b/textw/zipl_text.py
new file mode 100644
index 000000000..f8a15c574
--- /dev/null
+++ b/textw/zipl_text.py
@@ -0,0 +1,70 @@
+#
+# zipl_text.py: text mode z/IPL setup dialog
+#
+# Copyright 2001 Red Hat, Inc.
+#
+# This software may be freely redistributed under the terms of the GNU
+# library public license.
+#
+# You should have received a copy of the GNU Library Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
+import iutil
+from snack import *
+from constants_text import *
+from translate import _
+
+class ZiplWindow:
+ def __call__(self, screen, dispatch, bl, fsset, diskSet):
+ t = TextboxReflowed(53,
+ _("The z/IPL Boot Loader will now be installed "
+ "on your system."
+ "\n"
+ "\n"
+ "The root partition will be the one you "
+ "selected previously in the partition setup."
+ "\n"
+ "\n"
+ "The kernel used to start the machine will be "
+ "the one to be installed by default."
+ "\n"
+ "\n"
+ "If you wish to make changes later after "
+ "the installation feel free to change the "
+ "/etc/zipl.conf configuration file."
+ "\n"
+ "\n"
+ "You can now enter any additional kernel parameters "
+ "which your machine or your setup may require."))
+
+ entry = Entry(48, scroll = 1, returnExit = 1)
+
+ if bl.args and bl.args.get():
+ entry.set(bl.args.get())
+
+ buttons = ButtonBar(screen, [TEXT_OK_BUTTON,
+ TEXT_BACK_BUTTON ] )
+
+ grid = GridFormHelp(screen, _("z/IPL Configuration"),
+ "zipl-s390", 1, 3)
+ grid.add(t, 0, 0)
+ sg = Grid(2, 1)
+ sg.setField(Label(_("Kernel Parameters") + ": "), 0, 0, anchorLeft=1)
+ sg.setField(entry, 1, 0, anchorLeft=1)
+ grid.add(sg, 0, 1, padding = (0, 1, 0, 1))
+ grid.add(buttons, 0, 2, growx = 1)
+
+ result = grid.runOnce ()
+ button = buttons.buttonPressed(result)
+
+ if button == TEXT_BACK_CHECK:
+ return INSTALL_BACK
+
+ if entry.value():
+ bl.args.set(string.strip(entry.value()))
+ else:
+ bl.args.set("")
+
+ return INSTALL_OK