| Class | BoxGrinder::FedoraPlugin |
| In: |
lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb
lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb |
| Parent: | RPMBasedOSPlugin |
| SUPPORTED_VERSIONS | = | ["13", "14", "15", "16", "17", "rawhide"] |
| SUPPORTED_VERSIONS | = | ["13", "14", "15", "16", "17", "rawhide"] |
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 31
31: def after_init
32: super
33: register_supported_os('fedora', SUPPORTED_VERSIONS)
34: set_default_config_value('PAE', true)
35: end
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 31
31: def after_init
32: super
33: register_supported_os('fedora', SUPPORTED_VERSIONS)
34: set_default_config_value('PAE', true)
35: end
issues.jboss.org/browse/BGBUILD-204
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 96
96: def change_runlevel(guestfs)
97: @log.debug "Changing runlevel to multi-user non-graphical..."
98: guestfs.rm("/etc/systemd/system/default.target")
99: guestfs.ln_sf("/lib/systemd/system/multi-user.target", "/etc/systemd/system/default.target")
100: @log.debug "Runlevel changed."
101: end
issues.jboss.org/browse/BGBUILD-204
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 96
96: def change_runlevel(guestfs)
97: @log.debug "Changing runlevel to multi-user non-graphical..."
98: guestfs.rm("/etc/systemd/system/default.target")
99: guestfs.ln_sf("/lib/systemd/system/multi-user.target", "/etc/systemd/system/default.target")
100: @log.debug "Runlevel changed."
101: end
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 85
85: def disable_biosdevname(guestfs)
86: @log.debug "Disabling biosdevname..."
87: if guestfs.exists("/boot/grub2/grub.cfg") != 0
88: guestfs.write("/etc/default/grub", "GRUB_CMDLINE_LINUX=\"quiet rhgb biosdevname=0\"\n")
89: guestfs.sh("cd / && grub2-mkconfig -o /boot/grub2/grub.cfg")
90: end
91: guestfs.sh('sed -i "s/kernel\(.*\)/kernel\1 biosdevname=0/g" /boot/grub/grub.conf') if guestfs.exists("/boot/grub/grub.conf") != 0
92: @log.debug "Biosdevname disabled."
93: end
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 85
85: def disable_biosdevname(guestfs)
86: @log.debug "Disabling biosdevname..."
87: if guestfs.exists("/boot/grub2/grub.cfg") != 0
88: guestfs.write("/etc/default/grub", "GRUB_CMDLINE_LINUX=\"quiet rhgb biosdevname=0\"\n")
89: guestfs.sh("cd / && grub2-mkconfig -o /boot/grub2/grub.cfg")
90: end
91: guestfs.sh('sed -i "s/kernel\(.*\)/kernel\1 biosdevname=0/g" /boot/grub/grub.conf') if guestfs.exists("/boot/grub/grub.conf") != 0
92: @log.debug "Biosdevname disabled."
93: end
issues.jboss.org/browse/BGBUILD-204
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 104
104: def disable_netfs(guestfs)
105: @log.debug "Disabling network filesystem mounting..."
106: guestfs.sh("chkconfig netfs off")
107: @log.debug "Network filesystem mounting disabled."
108: end
issues.jboss.org/browse/BGBUILD-204
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 104
104: def disable_netfs(guestfs)
105: @log.debug "Disabling network filesystem mounting..."
106: guestfs.sh("chkconfig netfs off")
107: @log.debug "Network filesystem mounting disabled."
108: end
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 37
37: def execute(appliance_definition_file)
38: normalize_packages(@appliance_config.packages)
39:
40: @repos = {}
41:
42: @plugin_info[:versions].each do |version|
43: if version.match(/\d+/)
44: @repos[version] = {
45: "base" => {"mirrorlist" => "http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-#{version}&arch=#BASE_ARCH#"},
46: "updates" => {"mirrorlist" => "http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f#{version}&arch=#BASE_ARCH#"}
47: }
48: else
49: @repos[version] = {"base" => {"mirrorlist" => "http://mirrors.fedoraproject.org/mirrorlist?repo=#{version}&arch=#BASE_ARCH#"}}
50: end
51: end
52:
53: build_with_appliance_creator(appliance_definition_file, @repos) do |guestfs, guestfs_helper|
54: if @appliance_config.os.version >= "15"
55: disable_biosdevname(guestfs)
56: change_runlevel(guestfs)
57: disable_netfs(guestfs) if @appliance_config.os.version < "17"
58: link_mtab(guestfs)
59: end
60: end
61: end
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 37
37: def execute(appliance_definition_file)
38: normalize_packages(@appliance_config.packages)
39:
40: @repos = {}
41:
42: @plugin_info[:versions].each do |version|
43: if version.match(/\d+/)
44: @repos[version] = {
45: "base" => {"mirrorlist" => "http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-#{version}&arch=#BASE_ARCH#"},
46: "updates" => {"mirrorlist" => "http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f#{version}&arch=#BASE_ARCH#"}
47: }
48: else
49: @repos[version] = {"base" => {"mirrorlist" => "http://mirrors.fedoraproject.org/mirrorlist?repo=#{version}&arch=#BASE_ARCH#"}}
50: end
51: end
52:
53: build_with_appliance_creator(appliance_definition_file, @repos) do |guestfs, guestfs_helper|
54: if @appliance_config.os.version >= "15"
55: disable_biosdevname(guestfs)
56: change_runlevel(guestfs)
57: disable_netfs(guestfs) if @appliance_config.os.version < "17"
58: link_mtab(guestfs)
59: end
60: end
61: end
issues.jboss.org/browse/BGBUILD-209
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 111
111: def link_mtab(guestfs)
112: @log.debug "Linking /etc/mtab to /proc/self/mounts..."
113: guestfs.ln_sf("/proc/self/mounts", "/etc/mtab")
114: @log.debug "/etc/mtab linked."
115: end
issues.jboss.org/browse/BGBUILD-209
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 111
111: def link_mtab(guestfs)
112: @log.debug "Linking /etc/mtab to /proc/self/mounts..."
113: guestfs.ln_sf("/proc/self/mounts", "/etc/mtab")
114: @log.debug "/etc/mtab linked."
115: end
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 63
63: def normalize_packages(packages)
64: # https://issues.jboss.org/browse/BGBUILD-89
65: packages << '@core'
66: packages << "system-config-firewall-base"
67: packages << "dhclient"
68:
69: packages.delete('kernel')
70: packages.delete('kernel-PAE')
71:
72: if @appliance_config.is64bit?
73: packages << "kernel"
74: else
75: @plugin_config['PAE'] ? packages << "kernel-PAE" : packages << "kernel"
76: end
77:
78: if @appliance_config.os.version >= "16"
79: packages << "grub2"
80: else
81: packages << "grub"
82: end
83: end
# File lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb, line 63
63: def normalize_packages(packages)
64: # https://issues.jboss.org/browse/BGBUILD-89
65: packages << '@core'
66: packages << "system-config-firewall-base"
67: packages << "dhclient"
68:
69: packages.delete('kernel')
70: packages.delete('kernel-PAE')
71:
72: if @appliance_config.is64bit?
73: packages << "kernel"
74: else
75: @plugin_config['PAE'] ? packages << "kernel-PAE" : packages << "kernel"
76: end
77:
78: if @appliance_config.os.version >= "16"
79: packages << "grub2"
80: else
81: packages << "grub"
82: end
83: end