class Vagrant::LXC::Action::SetupPackageFiles
Public Class Methods
new(app, env)
click to toggle source
# File lib/vagrant-lxc/action/setup_package_files.rb, line 7 def initialize(app, env) @app = app env["package.include"] ||= [] env["package.vagrantfile"] ||= nil end
Public Instance Methods
call(env)
click to toggle source
# File lib/vagrant-lxc/action/setup_package_files.rb, line 14 def call(env) @env = env create_package_temp_dir move_rootfs_to_pkg_dir copy_box_files_to_pkg_dir @app.call env recover # called to cleanup temp directory end
recover(*)
click to toggle source
# File lib/vagrant-lxc/action/setup_package_files.rb, line 26 def recover(*) if @temp_dir && File.exist?(@temp_dir) FileUtils.rm_rf(@temp_dir) end end
Private Instance Methods
copy_box_files_to_pkg_dir()
click to toggle source
# File lib/vagrant-lxc/action/setup_package_files.rb, line 44 def copy_box_files_to_pkg_dir box_dir = @env[:machine].box.directory FileUtils.cp box_dir.join('metadata.json').to_s, @env['package.directory'].to_s if (template = box_dir.join('lxc-template')).exist? FileUtils.cp template.to_s, @env['package.directory'].to_s end if (conf = box_dir.join('lxc.conf')).exist? FileUtils.cp conf.to_s, @env['package.directory'].to_s end if (conf = box_dir.join('lxc-config')).exist? FileUtils.cp conf.to_s, @env['package.directory'].to_s end end
create_package_temp_dir()
click to toggle source
# File lib/vagrant-lxc/action/setup_package_files.rb, line 34 def create_package_temp_dir @env[:ui].info I18n.t("vagrant.actions.vm.export.create_dir") @temp_dir = @env["package.directory"] = @env[:tmp_path].join("container-export-#{Time.now.to_i.to_s}") FileUtils.mkpath(@temp_dir) end
move_rootfs_to_pkg_dir()
click to toggle source
# File lib/vagrant-lxc/action/setup_package_files.rb, line 40 def move_rootfs_to_pkg_dir FileUtils.mv @env['package.rootfs'].to_s, @env['package.directory'].to_s end