Skip to content

Commit

Permalink
share same base for grub2
Browse files Browse the repository at this point in the history
  • Loading branch information
jreidinger committed Feb 17, 2014
1 parent d0f38e0 commit 8659279
Show file tree
Hide file tree
Showing 4 changed files with 102 additions and 150 deletions.
4 changes: 4 additions & 0 deletions src/Makefile.am
Expand Up @@ -74,6 +74,10 @@ ynclude5_DATA = \
include/bootloader/ppc/dialogs.rb \
include/bootloader/ppc/helps.rb

ylibdir = "${yast2dir}/lib/bootloader"
ylib_DATA = \
lib/bootloader/grub2base.rb

scrconf_DATA = \
scrconf/cfg_bootloader.scr \
scrconf/cfg_bootsplash.scr \
Expand Down
91 changes: 91 additions & 0 deletions src/lib/bootloader/grub2base.rb
@@ -0,0 +1,91 @@
# encoding: utf-8
require "yast"

module Yast
class GRUB2Base < Module
def main
Yast.import "UI"

textdomain "bootloader"

Yast.import "BootArch"
Yast.import "BootCommon"
Yast.import "BootStorage"
Yast.import "Kernel"
Yast.import "Mode"
Yast.import "Stage"
Yast.import "Storage"
Yast.import "StorageDevices"
Yast.import "Pkg"
Yast.import "HTML"
Yast.import "Initrd"
Yast.import "Product"

# includes
# for simplified widgets than other
Yast.include self, "bootloader/grub2/dialogs.rb"
end

# general functions

# Propose global options of bootloader
def StandardGlobals
{
"timeout" => "8",
"default" => "0",
"vgamode" => "",
"gfxmode" => "auto",
"terminal" => "gfxterm",
"os_prober" => "true"
}
end

# Update read settings to new version of configuration files
def Update
Read(true, true)

#we don't handle sections, grub2 section create them for us
#BootCommon::UpdateSections ();
BootCommon.UpdateGlobals

nil
end

# Reset bootloader settings
# @param [Boolean] init boolean true to repropose also device map
def Reset(init)
return if Mode.autoinst
BootCommon.Reset(init)

nil
end

def Dialogs
Builtins.y2milestone("Called GRUB2 Dialogs")
{
"installation" => fun_ref(
method(:Grub2InstallDetailsDialog),
"symbol ()"
),
"loader" => fun_ref(
method(:Grub2LoaderDetailsDialog),
"symbol ()"
)
}
end

# Initializer of GRUB bootloader
def Initializer
Builtins.y2milestone("Called GRUB2 initializer")
BootCommon.current_bootloader_attribs = {
"propose" => false,
"read" => false,
"scratch" => false,
"restore_mbr" => false,
"bootloader_on_disk" => false
}

nil
end
end
end
67 changes: 3 additions & 64 deletions src/modules/BootGRUB2.rb
Expand Up @@ -19,49 +19,21 @@
# $Id: BootGRUB.ycp 63508 2011-03-04 12:53:27Z jreidinger $
#
require "yast"
require "bootloader/grub2base"

module Yast
class BootGRUB2Class < Module
class BootGRUB2Class < GRUB2Base
def main
Yast.import "UI"

textdomain "bootloader"

Yast.import "BootArch"
Yast.import "BootCommon"
Yast.import "BootStorage"
Yast.import "Kernel"
Yast.import "Mode"
Yast.import "Stage"
Yast.import "Storage"
Yast.import "StorageDevices"
Yast.import "Pkg"
Yast.import "HTML"
Yast.import "Initrd"
Yast.import "Product"
super

# includes
# for shared some routines with grub
Yast.include self, "bootloader/grub2/misc.rb"
# for simplified widgets than other
Yast.include self, "bootloader/grub2/dialogs.rb"
BootGRUB2()
end

# general functions

# Propose global options of bootloader
def StandardGlobals
{
"timeout" => "8",
"default" => "0",
"vgamode" => "",
"gfxmode" => "auto",
"terminal" => "gfxterm",
"os_prober" => "true"
}
end

# Read settings from disk
# @param [Boolean] reread boolean true to force reread settings from system
# @param [Boolean] avoid_reading_device_map do not read new device map from file, use
Expand Down Expand Up @@ -109,16 +81,6 @@ def Read(reread, avoid_reading_device_map)
ret
end

# Update read settings to new version of configuration files
def Update
Read(true, true)

#we don't handle sections, grub2 section create them for us
#BootCommon::UpdateSections ();
BootCommon.UpdateGlobals

nil
end
# Write bootloader settings to disk
# @return [Boolean] true on success
def Write
Expand All @@ -141,15 +103,6 @@ def Write
ret
end

# Reset bootloader settings
# @param [Boolean] init boolean true to repropose also device map
def Reset(init)
return if Mode.autoinst
BootCommon.Reset(init)

nil
end

# Propose bootloader settings

def Propose
Expand Down Expand Up @@ -369,20 +322,6 @@ def GetFunctions
}
end

# Initializer of GRUB bootloader
def Initializer
Builtins.y2milestone("Called GRUB2 initializer")
BootCommon.current_bootloader_attribs = {
"propose" => false,
"read" => false,
"scratch" => false,
"restore_mbr" => false,
"bootloader_on_disk" => false
}

nil
end

# Constructor
def BootGRUB2
Ops.set(
Expand Down
90 changes: 4 additions & 86 deletions src/modules/BootGRUB2EFI.rb
Expand Up @@ -19,49 +19,18 @@
# $Id: BootGRUB2EFI.ycp 63508 2011-03-04 12:53:27Z jreidinger $
#
require "yast"
require "installation/grub2base"

module Yast
class BootGRUB2EFIClass < Module
class BootGRUB2EFIClass < GRUB2Base
def main
Yast.import "UI"
super

textdomain "bootloader"

Yast.import "BootArch"
Yast.import "BootCommon"
Yast.import "BootStorage"
Yast.import "Kernel"
Yast.import "Mode"
Yast.import "Stage"
Yast.import "Storage"
Yast.import "StorageDevices"
Yast.import "Pkg"
Yast.import "HTML"
Yast.import "Initrd"
Yast.import "Product"

# includes
# for shared some routines with grub
# include "bootloader/grub/misc.ycp";
# for simplified widgets than other
Yast.include self, "bootloader/grub2/dialogs.rb"
BootGRUB2EFI()
end

# general functions

# Propose global options of bootloader
def StandardGlobals
{
"timeout" => "8",
"default" => "0",
"vgamode" => "",
"gfxmode" => "auto",
"terminal" => "gfxterm",
"os_prober" => "true"
}
end

# Read settings from disk
# @param [Boolean] reread boolean true to force reread settings from system
# @param [Boolean] avoid_reading_device_map do not read new device map from file, use
Expand All @@ -70,30 +39,7 @@ def StandardGlobals
def Read(reread, avoid_reading_device_map)
BootCommon.InitializeLibrary(reread, "grub2-efi")
BootCommon.ReadFiles(avoid_reading_device_map) if reread
# TODO: check if necessary for grub2efi
# grub_DetectDisks ();
ret = BootCommon.Read(false, avoid_reading_device_map)

# TODO: check if necessary for grub2
# refresh device map if not read
# if (BootStorage::device_mapping == nil
# || size (BootStorage::device_mapping) == 0)
# {
# BootStorage::ProposeDeviceMap ();
# }

ret
end

# Update read settings to new version of configuration files
def Update
Read(true, true)

#we don't handle sections, grub2 section create them for us
#BootCommon::UpdateSections ();
BootCommon.UpdateGlobals

nil
BootCommon.Read(false, avoid_reading_device_map)
end

# Write bootloader settings to disk
Expand All @@ -112,15 +58,6 @@ def Write
ret
end

# Reset bootloader settings
# @param [Boolean] init boolean true to repropose also device map
def Reset(init)
return if Mode.autoinst
BootCommon.Reset(init)

nil
end

# Propose bootloader settings

def Propose
Expand Down Expand Up @@ -214,11 +151,6 @@ def Summary
deep_copy(result)
end

def Dialogs
Builtins.y2milestone("Called GRUB2 Dialogs")
{ "loader" => fun_ref(method(:Grub2LoaderDetailsDialog), "symbol ()") }
end

# Return map of provided functions
# @return a map of functions (eg. $["write":BootGRUB2EFI::Write])
def GetFunctions
Expand All @@ -238,20 +170,6 @@ def GetFunctions
end


# Initializer of GRUB2EFI bootloader
def Initializer
Builtins.y2milestone("Called GRUB2EFI initializer")
BootCommon.current_bootloader_attribs = {
"propose" => false,
"read" => false,
"scratch" => false,
"restore_mbr" => false,
"bootloader_on_disk" => false
}

nil
end

# Constructor
def BootGRUB2EFI
Ops.set(
Expand Down

0 comments on commit 8659279

Please sign in to comment.