diff --git a/lib/vagrant-cachier/bucket.rb b/lib/vagrant-cachier/bucket.rb index 4d392a6..cce7099 100644 --- a/lib/vagrant-cachier/bucket.rb +++ b/lib/vagrant-cachier/bucket.rb @@ -101,4 +101,4 @@ require_relative "bucket/bower" require_relative "bucket/npm" require_relative "bucket/zypper" require_relative "bucket/generic" -require_relative "bucket/pip" +require_relative "bucket/slackpkg" diff --git a/lib/vagrant-cachier/bucket/slackpkg.rb b/lib/vagrant-cachier/bucket/slackpkg.rb new file mode 100644 index 0000000..74aca21 --- /dev/null +++ b/lib/vagrant-cachier/bucket/slackpkg.rb @@ -0,0 +1,25 @@ +module VagrantPlugins + module Cachier + class Bucket + class SlackPkg < Bucket + def self.capability + :slackpkg_cache_dir + end + + def install + if guest.capability?(:slackpkg_cache_dir) + guest_path = guest.capability(:slackpkg_cache_dir) + return if @env[:cache_dirs].include?(guest_path) + + # Ensure caching is enabled + comm.sudo("sed -i 's/DELALL=on/DELALL=off/g' /etc/slackpkg/slackpkg.conf") + + symlink(guest_path) + else + @env[:ui].info I18n.t('vagrant_cachier.skipping_bucket', bucket: 'Yum') + end + end + end + end + end +end \ No newline at end of file diff --git a/lib/vagrant-cachier/cap/linux/slackpkg_cache_dir.rb b/lib/vagrant-cachier/cap/linux/slackpkg_cache_dir.rb new file mode 100644 index 0000000..add1cfa --- /dev/null +++ b/lib/vagrant-cachier/cap/linux/slackpkg_cache_dir.rb @@ -0,0 +1,13 @@ +module VagrantPlugins + module Cachier + module Cap + module Linux + module SlackPkgCacheDir + def self.slackpkg_cache_dir(machine) + '/var/cache/packages' + end + end + end + end + end +end \ No newline at end of file diff --git a/lib/vagrant-cachier/capabilities.rb b/lib/vagrant-cachier/capabilities.rb index fab48c2..1663f28 100644 --- a/lib/vagrant-cachier/capabilities.rb +++ b/lib/vagrant-cachier/capabilities.rb @@ -36,11 +36,11 @@ module VagrantPlugins Cap::Linux::NpmCacheDir end - guest_capability 'linux', 'pip_cache_dir' do - require_relative 'cap/linux/pip_cache_dir' - Cap::Linux::PipCacheDir + guest_capability 'linux', 'slackpkg_cache_dir' do + require_relative 'cap/linux/slackpkg_cache_dir' + Cap::Linux::SlackPkgCacheDir end - + guest_capability 'debian', 'apt_cache_dir' do require_relative 'cap/debian/apt_cache_dir' Cap::Debian::AptCacheDir