class BoxGrinder::RHELPlugin

Public Instance Methods

add_packages(packages, package_array) click to toggle source
# File lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb, line 52
def add_packages(packages, package_array)
  package_array.each { |package| packages << package unless packages.include?(package) }
end
after_init() click to toggle source
Calls superclass method
# File lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb, line 25
def after_init
  super
  register_supported_os('rhel', ['5', '6'])
end
build_rhel(appliance_definition_file, repos = {}) click to toggle source
# File lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb, line 30
def build_rhel(appliance_definition_file, repos = {})
  normalize_packages(@appliance_config.packages)

  build_with_appliance_creator(appliance_definition_file, repos) do |guestfs, guestfs_helper|
    # required for VMware and KVM
    @linux_helper.recreate_kernel_image(guestfs, ['mptspi', 'virtio_pci', 'virtio_blk']) if @appliance_config.os.version == '5' and !@appliance_config.packages.include?('kernel-xen')
  end
end
execute(appliance_definition_file) click to toggle source
# File lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb, line 56
def execute(appliance_definition_file)
  build_rhel(appliance_definition_file)
end
normalize_packages(packages) click to toggle source
# File lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb, line 39
def normalize_packages(packages)
  # https://issues.jboss.org/browse/BGBUILD-89
  add_packages(packages, ['@core', 'curl', 'grub'])

  case @appliance_config.os.version
    when '5'
      packages << 'kernel' unless packages.include?('kernel-xen')
      add_packages(packages, ['system-config-securitylevel-tui', 'util-linux', 'setarch', 'sudo'])
    when '6'
      add_packages(packages, ['kernel', 'system-config-firewall-base'])
  end
end