class ToplevelInstallerMulti

Attributes

packages[R]

Public Class Methods

new(ardir_root, config) click to toggle source
Calls superclass method ToplevelInstaller.new
# File pkg/statsample-1.4.0/setup.rb, line 1028
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 pkg/statsample-1.4.0/setup.rb, line 1130
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 pkg/statsample-1.4.0/setup.rb, line 1112
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 pkg/statsample-1.4.0/setup.rb, line 1087
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 pkg/statsample-1.4.0/setup.rb, line 1119
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 pkg/statsample-1.4.0/setup.rb, line 1100
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 pkg/statsample-1.4.0/setup.rb, line 1094
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 pkg/statsample-1.4.0/setup.rb, line 1106
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 pkg/statsample-1.4.0/setup.rb, line 1068
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 pkg/statsample-1.4.0/setup.rb, line 1053
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 pkg/statsample-1.4.0/setup.rb, line 1151
def no_harm?
  @config.no_harm?
end
packages=(list) click to toggle source
# File pkg/statsample-1.4.0/setup.rb, line 1044
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
run_hook(id) click to toggle source
# File pkg/statsample-1.4.0/setup.rb, line 1141
def run_hook(id)
  @root_installer.run_hook id
end
run_metaconfigs() click to toggle source
# File pkg/statsample-1.4.0/setup.rb, line 1035
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 pkg/statsample-1.4.0/setup.rb, line 1146
def verbose?
  @config.verbose?
end