Sha256: 0f68288c40fb52d2c7bc11da5c44df6b70d7ecb82938931baaae445c0b2fe857

Contents?: true

Size: 1.73 KB

Versions: 1

Compression:

Stored size: 1.73 KB

Contents

# frozen_string_literal: true

require_relative 'gentoo/stage'
require_relative 'gentoo/config'
require_relative 'gentoo/chroot'
require_relative 'gentoo/bootloader'
require_relative 'gentoo/sources'
require_relative 'gentoo/boot'
require_relative 'gentoo/use'
require_relative 'gentoo/use_flag'

module Getch
  module Gentoo
    class Main
      def initialize
        @state = Getch::States.new
      end

      def stage3
        return if STATES[:gentoo_base]

        stage = Getch::Gentoo::Stage.new
        stage.get_stage3
        stage.control_files
        stage.checksum
        @state.stage3
      end

      def config
        return if STATES[:gentoo_config]

        config = Getch::Gentoo::Config.new
        config.portage
        config.portage_fs
        config.portage_bashrc
        config.repo
        config.network
        config.systemd
        config.hostname
        @state.config
      end

      def chroot
        return if STATES[:gentoo_update]

        chroot = Getch::Gentoo::Chroot.new
        chroot.update
        chroot.cpuflags
        chroot.systemd

        flags = Getch::Gentoo::UseFlag.new
        flags.apply

        chroot.world
        chroot.kernel_license
        chroot.install_pkgs
        @state.update
      end

      def bootloader
        return if STATES[:gentoo_bootloader]

        bootloader = Getch::Gentoo::Bootloader.new
        bootloader.start
        @state.bootloader
      end

      def kernel
        return if STATES[:gentoo_kernel]

        source = Getch::Gentoo::Sources.new
        source.bask
        source.configs
        source.make
        source.load_modules
        @state.kernel
      end

      def boot
        boot = Getch::Gentoo::Boot.new
        boot.start
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
getch-0.1.9 lib/getch/gentoo.rb