def package(dir, package, type = :tar)
if File.exists?(package)
@log.info "Package of #{type} type for #{@appliance_config.name} appliance already exists, skipping."
return package
end
@log.info "Packaging #{@appliance_config.name} appliance to #{type}..."
case type
when :tar
package_name = File.basename(package, '.tgz')
symlink = "#{File.dirname(package)}/#{package_name}"
FileUtils.ln_s(File.expand_path(dir), symlink)
@exec_helper.execute "tar -C '#{File.dirname(package)}' -hcvzf '#{package}' '#{package_name}'"
FileUtils.rm(symlink)
else
raise "Specified format: '#{type}' is currently unsupported."
end
@log.info "Appliance #{@appliance_config.name} packaged."
package
end