[PATCH] Completely remove the bootloader step from interactive text mode.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---
 text.py                  |    5 -
 textw/bootloader_text.py |  466 ----------------------------------------------
 textw/partition_text.py  |    3 +-
 3 files changed, 1 insertions(+), 473 deletions(-)
 delete mode 100644 textw/bootloader_text.py

diff --git a/text.py b/text.py
index 171d1b1..61c5fb9 100644
--- a/text.py
+++ b/text.py
@@ -55,11 +55,6 @@ stepToClasses = {
     "zfcpconfig": ("zfcp_text", ("ZFCPWindow")),
     "findinstall" : ("upgrade_text", ("UpgradeExamineWindow")),
     "upgbootloader": ("upgrade_bootloader_text", "UpgradeBootloaderWindow"),
-    "bootloader" : ("bootloader_text", ("BootloaderChoiceWindow",
-                                        "BootloaderAppendWindow",
-                                        "BootloaderPasswordWindow",
-                                        "BootloaderImagesWindow",
-                                        "BootloaderLocationWindow")),
     "network" : ("network_text", ("HostnameWindow")),
     "timezone" : ("timezone_text", "TimezoneWindow"),
     "accounts" : ("userauth_text", "RootPasswordWindow"),
diff --git a/textw/bootloader_text.py b/textw/bootloader_text.py
deleted file mode 100644
index ba02c53..0000000
--- a/textw/bootloader_text.py
+++ /dev/null
@@ -1,466 +0,0 @@
-#
-# bootloader_text.py: text mode bootloader setup
-#
-# Copyright (C) 2001, 2002  Red Hat, Inc.  All rights reserved.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-
-from snack import *
-from constants import *
-from constants_text import *
-from flags import flags
-import gettext
-_ = lambda x: gettext.ldgettext("anaconda", x)
-
-class BootloaderChoiceWindow:
-
-    def __call__(self, screen, anaconda):
-        # XXX need more text here
-        t = TextboxReflowed(53,
-                   _("Which boot loader would you like to use?"))
-
-        if anaconda.dispatch.stepInSkipList("instbootloader"):
-            useGrub = 0
-            noBl = 1
-        else:
-            useGrub = 1
-            noBl = 0
-
-        blradio = RadioGroup()
-        grub = blradio.add(_("Use GRUB Boot Loader"), "grub", useGrub)
-        skipbl = blradio.add(_("No Boot Loader"), "nobl", noBl)
-	buttons = ButtonBar(screen, [TEXT_OK_BUTTON, TEXT_BACK_BUTTON ] )
-
-        grid = GridFormHelp(screen, _("Boot Loader Configuration"),
-                            "btloadinstall", 1, 5)
-        grid.add(t, 0, 0, (0,0,0,1))
-        grid.add(grub, 0, 1, (0,0,0,0))
-        grid.add(skipbl, 0, 3, (0,0,0,1))
-        grid.add(buttons, 0, 4, growx = 1)
-
-        while 1:
-            result = grid.run()
-
-            button = buttons.buttonPressed(result)
-        
-            if button == TEXT_BACK_CHECK:
-                screen.popWindow()
-                return INSTALL_BACK        
-
-            if blradio.getSelection() == "nobl":
-                rc = ButtonChoiceWindow(screen, _("Skip Boot Loader"),
-				_("You have elected not to install "
-				  "any boot loader, which is not recommended "
-				  "unless you have an advanced need. Booting "
-             "your system into Linux directly from the "
-             "hard drive almost always requires a boot "
-             "loader.\n\n"
-				  "Are you sure you want to skip boot loader "
-				  "installation?"),
-				[ (_("Yes"), "yes"), (_("No"), "no") ],
-				width = 50)
-                if rc == "no":
-                    continue
-                anaconda.dispatch.skipStep("instbootloader", skip = (rc == "yes"))
-                anaconda.dispatch.skipStep("bootloaderadvanced", skip = (rc == "yes"))
-
-                # kind of a hack...
-                anaconda.id.bootloader.defaultDevice = None
-            else:
-                anaconda.id.bootloader.setUseGrub(1)
-                anaconda.dispatch.skipStep("instbootloader", 0)
-                anaconda.dispatch.skipStep("bootloaderadvanced", 0)                
-
-            screen.popWindow()
-            return INSTALL_OK
-        
-
-class BootloaderAppendWindow:
-
-    def __call__(self, screen, anaconda):
-	if anaconda.dispatch.stepInSkipList("instbootloader"): return INSTALL_NOOP
-        
-	t = TextboxReflowed(53,
-		     _("A few systems need to pass special options "
-		       "to the kernel at boot time to function "
-		       "properly. If you need to pass boot options to the "
-		       "kernel, enter them now. If you don't need any or "
-		       "aren't sure, leave this blank."))
-
-	entry = Entry(48, scroll = 1, returnExit = 1)
-	entry.set(anaconda.id.bootloader.args.get())
-
-        cb = Checkbox(_("Force use of LBA32 (not normally required)"))
-        if anaconda.id.bootloader.forceLBA32:
-            cb.setValue("*")
-
-	buttons = ButtonBar(screen, [TEXT_OK_BUTTON, TEXT_BACK_BUTTON ] )
-
-	grid = GridFormHelp(screen, _("Boot Loader Configuration"), "kernelopts", 1, 5)
-	grid.add(t, 0, 0, padding = (0, 0, 0, 1))
-
-	grid.add(entry, 0, 2, padding = (0, 0, 0, 1))
-        grid.add(cb, 0, 3, padding = (0,0,0,1))
-	grid.add(buttons, 0, 4, growx = 1)
-
-        while 1:
-            result = grid.run()
-            button = buttons.buttonPressed(result)
-
-            if button == TEXT_BACK_CHECK:
-                screen.popWindow()
-                return INSTALL_BACK
-
-            if cb.selected() and not anaconda.id.bootloader.forceLBA32:
-                rc = anaconda.intf.messageWindow(_("Warning"),
-                        _("If LBA32 is not supported by your system's BIOS, "
-                          "forcing its use can prevent your machine from "
-                          "booting.\n\n"
-                          "Would you like to continue and force LBA32 mode?"),
-                                             type = "yesno")
-
-                if rc != 1:
-                    continue
-
-            anaconda.id.bootloader.args.set(entry.value())
-            anaconda.id.bootloader.setForceLBA(cb.selected())
-
-            screen.popWindow()
-            return INSTALL_OK
-
-class BootloaderLocationWindow:
-    def __call__(self, screen, anaconda):
-	if anaconda.dispatch.stepInSkipList("instbootloader"): return INSTALL_NOOP
-
-	choices = anaconda.id.fsset.bootloaderChoices(anaconda.id.diskset, anaconda.id.bootloader)
-	if len(choices.keys()) == 1:
-	    anaconda.id.bootloader.setDevice(choices[choices.keys()[0]][0])
-	    return INSTALL_NOOP
-        if len(choices.keys()) == 0:
-            return INSTALL_NOOP
-
-        format = "/dev/%-11s %s" 
-        locations = []
-        devices = []
-	default = 0
-
-        keys = choices.keys()
-        keys.reverse()
-        for key in keys:
-            (device, desc) = choices[key]
-	    if device == anaconda.id.bootloader.getDevice():
-		default = len(locations)
-            locations.append (format % (device, _(desc)))
-            devices.append(device)
-
-        (rc, sel) = ListboxChoiceWindow (screen, _("Boot Loader Configuration"),
-			 _("Where do you want to install the boot loader?"),
-			 locations, default = default,
-			 buttons = [ TEXT_OK_BUTTON, TEXT_BACK_BUTTON ],
-			 help = "bootloaderlocation")
-
-        if rc == TEXT_BACK_CHECK:
-            return INSTALL_BACK
-
-	anaconda.id.bootloader.setDevice(devices[sel])
-
-        return INSTALL_OK
-
-class BootloaderImagesWindow:
-    def validBootloaderLabel(self, label):
-        i=0
-        while i < len(label):
-            cur = label[i]
-            if cur == '#' or cur == '$' or cur == '=':
-                return 0
-            elif cur == ' ' and not self.bl.useGrub():
-                return 0
-            i = i + 1
-
-        return 1
-
-    
-    def editItem(self, screen, partition, itemLabel, allowNone=0):
-	devLabel = Label(_("Device") + ":")
-	bootLabel = Label(_("Boot label") + ":")
-	device = Label("/dev/" + partition)
-        newLabel = Entry (20, scroll = 1, returnExit = 1, text = itemLabel)
-
-	buttons = ButtonBar(screen, [TEXT_OK_BUTTON, (_("Clear"), "clear"),
-			    (_("Cancel"), "cancel")])
-
-	subgrid = Grid(2, 2)
-	subgrid.setField(devLabel, 0, 0, anchorLeft = 1)
-	subgrid.setField(device, 1, 0, padding = (1, 0, 0, 0), anchorLeft = 1)
-	subgrid.setField(bootLabel, 0, 1, anchorLeft = 1)
-	subgrid.setField(newLabel, 1, 1, padding = (1, 0, 0, 0), anchorLeft = 1)
-	g = GridFormHelp(screen, _("Edit Boot Label"), "bootlabel", 1, 2)
-	g.add(subgrid, 0, 0, padding = (0, 0, 0, 1))
-	g.add(buttons, 0, 1, growx = 1)
-
-	result = ""
-	while (result != TEXT_OK_CHECK and result != TEXT_F12_CHECK and result != newLabel):
-	    result = g.run()
-
-	    if (buttons.buttonPressed(result)):
-		result = buttons.buttonPressed(result)
-
-	    if (result == "cancel"):
-		screen.popWindow ()
-		return itemLabel
-	    elif (result == "clear"):
-		newLabel.set("")
-            elif (result == TEXT_OK_CHECK or result == TEXT_F12_CHECK or result == newLabel):
-		if not allowNone and not newLabel.value():
-                    ButtonChoiceWindow (screen, _("Invalid Boot Label"),
-                                        _("Boot label may not be empty."),
-                                        [ TEXT_OK_BUTTON ])
-                    result = ""
-                elif not self.validBootloaderLabel(newLabel.value()):
-                    ButtonChoiceWindow (screen, _("Invalid Boot Label"),
-                                        _("Boot label contains "
-                                          "illegal characters."),
-                                        [ TEXT_OK_BUTTON ])
-                    result = ""
-
-	screen.popWindow()
-
-	return newLabel.value()
-
-    def formatDevice(self, label, device, default):
-	if default == device:
-	    default = '*'
-	else:
-	    default = ""
-
-        if not label:
-            label = ""
-	    
-	return "   %-4s  %-25s %-25s" % ( default, label, "/dev/" + device)
-
-    def __call__(self, screen, anaconda):
-	if anaconda.dispatch.stepInSkipList("instbootloader"): return INSTALL_NOOP
-        
-        self.bl = anaconda.id.bootloader
-
-	images = self.bl.images.getImages()
-	default = self.bl.images.getDefault()
-
-	listboxLabel = Label(     "%-7s  %-25s %-12s" % 
-		( _("Default"), _("Boot label"), _("Device")))
-	listbox = Listbox(5, scroll = 1, returnExit = 1)
-
-	sortedKeys = images.keys()
-	sortedKeys.sort()
-
-	for dev in sortedKeys:
-	    (label, longlabel, isRoot) = images[dev]
-            if not self.bl.useGrub():
-                listbox.append(self.formatDevice(label, dev, default), dev)
-            else:
-                listbox.append(self.formatDevice(longlabel, dev, default), dev)                
-
-	listbox.setCurrent(dev)
-
-	buttons = ButtonBar(screen, [ TEXT_OK_BUTTON, (_("Edit"), "edit"), 
-				      TEXT_BACK_BUTTON ] )
-
-	text = TextboxReflowed(55,
-		    _("The boot manager %s uses can boot other " 
-		      "operating systems as well.  Please tell me " 
-		      "what partitions you would like to be able to boot " 
-		      "and what label you want to use for each of them.") % (productName,))
-
-	g = GridFormHelp(screen, _("Boot Loader Configuration"), 
-			 "bootloaderlabels", 1, 4)
-	g.add(text, 0, 0, anchorLeft = 1)
-	g.add(listboxLabel, 0, 1, padding = (0, 1, 0, 0), anchorLeft = 1)
-	g.add(listbox, 0, 2, padding = (0, 0, 0, 1), anchorLeft = 1)
-	g.add(buttons, 0, 3, growx = 1)
-        g.addHotKey("F2")
-        g.addHotKey("F4")
-        screen.pushHelpLine(_(" <Space> select | <F2> select default | <F4> delete | <F12> next screen>"))        
-
-	rootdev = anaconda.id.fsset.getEntryByMountPoint("/").device.getDevice()
-
-	result = None
-	while (result != TEXT_OK_CHECK and result != TEXT_BACK_CHECK and result != TEXT_F12_CHECK):
-	    result = g.run()
-	    if (buttons.buttonPressed(result)):
-		result = buttons.buttonPressed(result)
-
-	    if (result == "edit" or result == listbox):
-		item = listbox.current()
-		(label, longlabel, type) = images[item]
-                if self.bl.useGrub():
-                    label = longlabel
-                if label == None:
-                    label = ""
-
-		label = self.editItem(screen, item, label, allowNone = (rootdev != item and item != default))
-		images[item] = (label, label, type)
-		if (default == item and not label):
-		    default = ""
-		listbox.replace(self.formatDevice(label, item, default), item)
-		listbox.setCurrent(item)
-	    elif result == "F2":
-		item = listbox.current()
-		(label, longlabel, isRoot) = images[item]
-                if self.bl.useGrub():
-                    label = longlabel
-                
-		if (label):
-		    if (default):
-			(oldLabel, oldLong, oldIsRoot) = images[default]
-                        if self.bl.useGrub():
-                            oldLabel = oldLong
-			listbox.replace(self.formatDevice(oldLabel, default, 
-					""), default)
-		    default = item
-		    listbox.replace(self.formatDevice(label, item, default), 
-				    item)
-		    listbox.setCurrent(item)
-            elif result == "F4":
-                item = listbox.current()
-                
-                (label, longlabel, isRoot) = images[item]
-                if rootdev != item:
-                    del images[item]
-                    listbox.delete(item)
-                    if default == item:
-                        default = ""
-                else:
-                    anaconda.intf.messageWindow(_("Cannot Delete"),
-                                       _("This boot target cannot be "
-                                         "deleted because it is for "
-                                         "the %s system you are about "
-                                         "to install.")
-                                       %(productName,))
-                    
-
-        screen.popHelpLine()
-	screen.popWindow()
-
-	if (result == TEXT_BACK_CHECK):
-	    return INSTALL_BACK
-
-        if not default:
-            default = rootdev
-
-        # copy our version over
-        self.bl.images.images = {}
-	for (dev, (label, longlabel, isRoot)) in images.items():
-            self.bl.images.images[dev] = (label, longlabel, isRoot)
-	self.bl.images.setDefault(default)
-
-	return INSTALL_OK
-
-class BootloaderPasswordWindow:
-    def usepasscb(self, *args):
-        flag = FLAGS_RESET
-        if not self.checkbox.selected():
-            flag = FLAGS_SET
-        self.entry1.setFlags(FLAG_DISABLED, flag)
-        self.entry2.setFlags(FLAG_DISABLED, flag)        
-        
-    def __call__(self, screen, anaconda):
-	if anaconda.dispatch.stepInSkipList("instbootloader"): return INSTALL_NOOP
-
-        intf = anaconda.intf
-        self.bl = anaconda.id.bootloader
-
-        if not self.bl.useGrub():
-            return INSTALL_NOOP
-
-	buttons = ButtonBar(screen, [TEXT_OK_BUTTON, TEXT_BACK_BUTTON])
-
-	text = TextboxReflowed(55,
-		    _("A boot loader password prevents users from passing arbitrary "
-                      "options to the kernel.  For highest security, you "
-                      "should set a password, but a password is not "
-                      "necessary for more casual users."))
-
-	g = GridFormHelp(screen, _("Boot Loader Configuration"), 
-			 "grubpasswd", 1, 6)
-	g.add(text, 0, 0, (0,0,0,1), anchorLeft = 1)
-
-
-        self.checkbox = Checkbox(_("Use a GRUB Password"))
-        g.add(self.checkbox, 0, 1, (0,0,0,1))
-
-        if self.bl.password:
-            self.checkbox.setValue("*")
-
-        pw = self.bl.pure
-	if not pw: pw = ""
-
-        self.entry1 = Entry (24, password = 1, text = pw)
-        self.entry2 = Entry (24, password = 1, text = pw)
-        passgrid = Grid (2, 2)
-        passgrid.setField (Label (_("Boot Loader Password:")), 0, 0, (0, 0, 1, 0), anchorLeft = 1)
-        passgrid.setField (Label (_("Confirm:")), 0, 1, (0, 0, 1, 0), anchorLeft = 1)
-        passgrid.setField (self.entry1, 1, 0)
-        passgrid.setField (self.entry2, 1, 1)
-        g.add (passgrid, 0, 2, (0, 0, 0, 1))
-
-        self.checkbox.setCallback(self.usepasscb, None)
-        self.usepasscb()
-
-        g.add(buttons, 0, 3, growx=1)
-
-        while 1:
-            result = g.run()
-
-	    if (buttons.buttonPressed(result)):
-		result = buttons.buttonPressed(result)
-
-	    if result == TEXT_BACK_CHECK:
-		screen.popWindow()
-                return INSTALL_BACK
-
-            if not self.checkbox.selected():
-                self.bl.setPassword(None)
-                screen.popWindow()
-                return INSTALL_OK
-
-            pw = self.entry1.value()
-            confirm = self.entry2.value()
-
-            if pw != confirm:
-                anaconda.intf.messageWindow(_("Passwords Do Not Match"),
-                        _("Passwords do not match"))
-                continue
-
-            if len(pw) < 1:
-                anaconda.intf.messageWindow(_("Password Too Short"),
-                        _("Boot loader password is too short"))
-                continue
-
-            if len(pw) < 6:
-                rc = anaconda.intf.messageWindow(_("Warning"),
-                                    _("Your boot loader password is shorter than "
-                                      "six characters.  We recommend a longer "
-                                      "boot loader password."
-                                      "\n\n"
-                                      "Would you like to continue with this "
-                                      "password?"),
-                                    type = "yesno")
-                if rc == 0:
-                    continue
-
-            self.bl.setPassword(pw, isCrypted = 0)            
-
-            screen.popWindow()
-            return INSTALL_OK
diff --git a/textw/partition_text.py b/textw/partition_text.py
index 1944ee1..f11222e 100644
--- a/textw/partition_text.py
+++ b/textw/partition_text.py
@@ -1607,7 +1607,7 @@ class PartitionTypeWindow:
 
         # ask to review autopartition layout - but only if it's not custom partitioning
         anaconda.dispatch.skipStep("partition", skip = 0)
-        anaconda.dispatch.skipStep("bootloader", skip = 0)
+        anaconda.dispatch.skipStep("bootloader", skip = 1)
 
 	if partmethod_ans != -1:
             reviewLayout = anaconda.intf.messageWindow(_("Review Partition Layout"),
@@ -1616,7 +1616,6 @@ class PartitionTypeWindow:
 
             if reviewLayout != 1:
                 anaconda.dispatch.skipStep("partition", skip = 1)
-                anaconda.dispatch.skipStep("bootloader", skip = 1)
 
         return INSTALL_OK
 
-- 
1.6.0.3

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux