def build_definition
definition = {}
definition['appliance_config'] = @appliance_config
definition['repos'] = []
definition['graphical'] = (@appliance_config.packages.include?( '@base-x' ) or @appliance_config.packages.include?( '@X Window System' )) ? true : false
def definition.method_missing(sym, * args)
self[sym.to_s]
end
def definition.get_binding
binding
end
cost = 40
definition['mount_points'] = @linux_helper.partition_mount_points(@appliance_config.hardware.partitions)
for repo in @appliance_config.repos
if repo.keys.include?('mirrorlist')
urltype = 'mirrorlist'
else
urltype = 'baseurl'
end
substitutions = {
/#ARCH#/ => @appliance_config.hardware.arch,
/#BASE_ARCH#/ => @appliance_config.hardware.base_arch,
/#OS_VERSION#/ => @appliance_config.os.version,
/#OS_NAME#/ => @appliance_config.os.name
}
url = repo[urltype]
name = repo['name']
substitutions.each do |key, value|
url = url.gsub(key, value)
name = name.gsub(key, value)
end
definition['repos'] << "repo --name=#{name} --cost=#{cost} --#{urltype}=#{url}"
cost += 1
end
definition
end