class ToplevelInstallerMulti
Attributes
packages[R]
Public Class Methods
new(ardir_root, config)
click to toggle source
Calls superclass method
ToplevelInstaller::new
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1054 def initialize(ardir_root, config) super @packages = directories_of("#{@ardir}/packages") raise 'no package exists' if @packages.empty? @root_installer = Installer.new(@config, @ardir, File.expand_path('.')) end
Public Instance Methods
each_selected_installers() { |installers| ... }
click to toggle source
lib
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1156 def each_selected_installers Dir.mkdir 'packages' unless File.dir?('packages') @selected.each do |pack| $stderr.puts "Processing the package `#{pack}' ..." if verbose? Dir.mkdir "packages/#{pack}" unless File.dir?("packages/#{pack}") Dir.chdir "packages/#{pack}" yield @installers[pack] Dir.chdir '../..' end end
exec_clean()
click to toggle source
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1138 def exec_clean rm_f @config.savefile run_hook 'pre-clean' each_selected_installers {|inst| inst.exec_clean } run_hook 'post-clean' end
exec_config()
click to toggle source
Task Handlers
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1113 def exec_config run_hook 'pre-config' each_selected_installers {|inst| inst.exec_config } run_hook 'post-config' @config.save # must be final end
exec_distclean()
click to toggle source
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1145 def exec_distclean rm_f @config.savefile run_hook 'pre-distclean' each_selected_installers {|inst| inst.exec_distclean } run_hook 'post-distclean' end
exec_install()
click to toggle source
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1126 def exec_install run_hook 'pre-install' each_selected_installers {|inst| inst.exec_install } run_hook 'post-install' end
exec_setup()
click to toggle source
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1120 def exec_setup run_hook 'pre-setup' each_selected_installers {|inst| inst.exec_setup } run_hook 'post-setup' end
exec_test()
click to toggle source
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1132 def exec_test run_hook 'pre-test' each_selected_installers {|inst| inst.exec_test } run_hook 'post-test' end
extract_selection(list)
click to toggle source
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1094 def extract_selection(list) a = list.split(/,/) a.each do |name| setup_rb_error "no such package: #{name}" unless @installers.key?(name) end a end
init_installers()
click to toggle source
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1079 def init_installers @installers = {} @packages.each do |pack| @installers[pack] = Installer.new(@config, "#{@ardir}/packages/#{pack}", "packages/#{pack}") end with = extract_selection(config('with')) without = extract_selection(config('without')) @selected = @installers.keys.select {|name| (with.empty? or with.include?(name)) \ and not without.include?(name) } end
no_harm?()
click to toggle source
module FileOperations
requires this
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1177 def no_harm? @config.no_harm? end
packages=(list)
click to toggle source
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1070 def packages=(list) raise 'package list is empty' if list.empty? list.each do |name| raise "directory packages/#{name} does not exist"\ unless File.dir?("#{@ardir}/packages/#{name}") end @packages = list end
print_usage(f)
click to toggle source
Calls superclass method
ToplevelInstaller#print_usage
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1102 def print_usage(f) super f.puts 'Inluded packages:' f.puts ' ' + @packages.sort.join(' ') f.puts end
run_hook(id)
click to toggle source
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1167 def run_hook(id) @root_installer.run_hook id end
run_metaconfigs()
click to toggle source
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1061 def run_metaconfigs @config.load_script "#{@ardir}/metaconfig", self @packages.each do |name| @config.load_script "#{@ardir}/packages/#{name}/metaconfig" end end
verbose?()
click to toggle source
module FileOperations
requires this
# File lib/rbt/yaml/individual_cookbooks/setup.rb, line 1172 def verbose? @config.verbose? end