Do not attempt to configure apt-cacher-ng bucket if it is not installed on the guest machine
This commit is contained in:
parent
8e40d0c060
commit
7bc70b7d6e
2 changed files with 23 additions and 14 deletions
|
@ -13,21 +13,21 @@ module VagrantPlugins
|
||||||
guest = machine.guest
|
guest = machine.guest
|
||||||
|
|
||||||
if guest.capability?(:apt_cacher_dir)
|
if guest.capability?(:apt_cacher_dir)
|
||||||
if machine.config.cache.enable_nfs
|
if guest_path = guest.capability(:apt_cacher_dir)
|
||||||
guest_path = guest.capability(:apt_cacher_dir)
|
if machine.config.cache.enable_nfs
|
||||||
|
@env[:cache_dirs] << guest_path
|
||||||
|
|
||||||
@env[:cache_dirs] << guest_path
|
machine.communicate.tap do |comm|
|
||||||
|
comm.execute("mkdir -p /tmp/vagrant-cache/#{@name}")
|
||||||
machine.communicate.tap do |comm|
|
unless comm.test("test -L #{guest_path}")
|
||||||
comm.execute("mkdir -p /tmp/vagrant-cache/#{@name}")
|
comm.sudo("rm -rf #{guest_path}")
|
||||||
unless comm.test("test -L #{guest_path}")
|
comm.sudo("mkdir -p `dirname #{guest_path}`")
|
||||||
comm.sudo("rm -rf #{guest_path}")
|
comm.sudo("ln -s /tmp/vagrant-cache/#{@name} #{guest_path}")
|
||||||
comm.sudo("mkdir -p `dirname #{guest_path}`")
|
end
|
||||||
comm.sudo("ln -s /tmp/vagrant-cache/#{@name} #{guest_path}")
|
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
@env[:ui].info I18n.t('vagrant_cachier.nfs_required', bucket: 'apt-cacher')
|
||||||
end
|
end
|
||||||
else
|
|
||||||
@env[:ui].info I18n.t('vagrant_cachier.nfs_required', bucket: 'apt-cacher')
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@env[:ui].info I18n.t('vagrant_cachier.skipping_bucket', bucket: 'apt-cacher')
|
@env[:ui].info I18n.t('vagrant_cachier.skipping_bucket', bucket: 'apt-cacher')
|
||||||
|
|
|
@ -3,9 +3,18 @@ module VagrantPlugins
|
||||||
module Cap
|
module Cap
|
||||||
module Debian
|
module Debian
|
||||||
module AptCacherDir
|
module AptCacherDir
|
||||||
|
CACHER_CONF = '/etc/apt-cacher-ng/acng.conf'
|
||||||
|
CACHER_CACHE_DIR = "$(cat #{CACHER_CONF} | grep CacheDir | cut -d' ' -f 2)"
|
||||||
|
|
||||||
def self.apt_cacher_dir(machine)
|
def self.apt_cacher_dir(machine)
|
||||||
# cat /etc/apt-cacher-ng/acng.conf |grep CacheDir
|
cache_dir = nil
|
||||||
'/var/cache/apt-cacher-ng'
|
machine.communicate.tap do |comm|
|
||||||
|
return unless comm.test("test -f #{CACHER_CONF}")
|
||||||
|
comm.execute "echo #{CACHER_CACHE_DIR}" do |buffer, output|
|
||||||
|
cache_dir = output.chomp if buffer == :stdout
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return cache_dir
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue