vagrant-cachier 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +59 -34
  5. data/LICENSE.txt +1 -1
  6. data/README.md +27 -10
  7. data/development/Cheffile.lock +1 -5
  8. data/development/Vagrantfile +81 -71
  9. data/docs/buckets/apt-lists.md +18 -0
  10. data/docs/how-does-it-work.md +5 -6
  11. data/docs/index.md +24 -5
  12. data/docs/template.html +1 -0
  13. data/docs/usage.md +81 -28
  14. data/lib/vagrant-cachier/action/clean.rb +1 -1
  15. data/lib/vagrant-cachier/action/configure_bucket_root.rb +46 -0
  16. data/lib/vagrant-cachier/action/install_buckets.rb +47 -0
  17. data/lib/vagrant-cachier/bucket.rb +55 -0
  18. data/lib/vagrant-cachier/bucket/apt.rb +3 -12
  19. data/lib/vagrant-cachier/bucket/apt_cacher.rb +1 -13
  20. data/lib/vagrant-cachier/bucket/apt_lists.rb +24 -0
  21. data/lib/vagrant-cachier/bucket/chef.rb +1 -14
  22. data/lib/vagrant-cachier/bucket/composer.rb +1 -14
  23. data/lib/vagrant-cachier/bucket/gem.rb +4 -17
  24. data/lib/vagrant-cachier/bucket/npm.rb +1 -14
  25. data/lib/vagrant-cachier/bucket/pacman.rb +1 -14
  26. data/lib/vagrant-cachier/bucket/rvm.rb +4 -17
  27. data/lib/vagrant-cachier/bucket/yum.rb +4 -15
  28. data/lib/vagrant-cachier/bucket/zypper.rb +4 -15
  29. data/lib/vagrant-cachier/cap/debian/apt_lists_dir.rb +13 -0
  30. data/lib/vagrant-cachier/capabilities.rb +64 -0
  31. data/lib/vagrant-cachier/config.rb +35 -10
  32. data/lib/vagrant-cachier/hooks.rb +27 -0
  33. data/lib/vagrant-cachier/plugin.rb +12 -80
  34. data/lib/vagrant-cachier/version.rb +1 -1
  35. data/locales/en.yml +3 -7
  36. data/vagrant-cachier.gemspec +11 -1
  37. metadata +20 -12
  38. data/lib/vagrant-cachier/action/ensure_single_cache_root.rb +0 -64
  39. data/lib/vagrant-cachier/errors.rb +0 -9
  40. data/lib/vagrant-cachier/provision_ext.rb +0 -74
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6401dbe459feafa1b357a42a6bfa34220d3fa4a0
4
- data.tar.gz: 7bbc8643bfe247c356819fd34476165675555bf3
3
+ metadata.gz: 307983515bc00363631b1742d531e79f2fb24e8e
4
+ data.tar.gz: 6bebf0f7c9e887566d4f1161506d461ae43f3b06
5
5
  SHA512:
6
- metadata.gz: fac081741ef0c1678cdf85e15c30beac681f319444ed2ee14902735866f647a570398fe76b902db7754474cff18a127867995af23d3d565de089d6b743c54494
7
- data.tar.gz: 005f3712fc40ed86c7b0d7509a6d8056dbf47e3f3235d8dd12c83061a2b8cd68cdf3356a044a822132458b2919b595e6d5c0af5f8a2aad1fbbd44a31199fa46d
6
+ metadata.gz: 6677e3fcb6ebb9c699fd3c774250fba801a50c914c32022d53367ad2a2b1fe029f03f8853f84858fe8bf554e982c5763bab24d1f2ed70a140847f587287ad01e
7
+ data.tar.gz: 20574de968aac25e1d2295739a2f97d2876be801f1d966841c631d7524b3186aef29e522952ce7b2c5c3ed2d53cac244826d171db505eab9265e4ab8f4efe583
data/CHANGELOG.md CHANGED
@@ -1,3 +1,36 @@
1
+ ## [0.6.0](https://github.com/fgrehm/vagrant-cachier/compare/v0.5.1...v0.6.0) (Feb 26, 2014)
2
+
3
+ BACKWARDS INCOMPATIBILITY:
4
+
5
+ - Plugin activation is now triggered by the `cache.scope` config and that config
6
+ is now required. Previous versions of the plugin had it set to `:box` but
7
+ there is no consensus whether `:box` and `:machine` is better. This is to
8
+ highlight that you need to think about the caching strategy you are going
9
+ to use. For more information and to discuss this move please check [GH-17](https://github.com/fgrehm/vagrant-cachier/issues/17).
10
+ - Because `cache.scope` is now a requirement and in order to reduce the amount of
11
+ configuration required by the plugin, we enabled automatic bucket detection by
12
+ default. To revert to the old behavior you can disable it globally from your
13
+ `~/.vagrant.d/Vagrantfile`.
14
+ - Support for Vagrant < 1.4 is gone, please use a previous plugin version if
15
+ you are running Vagrant 1.2 / 1.3
16
+ - Automatic handling of multiple machine scoped cache dirs from versions
17
+ prior to 0.3.0 of this plugin was removed.
18
+ - Support for `enable_nfs` has been deprecated and will be removed on 0.7.0,
19
+ please use `cache.synced_folder_opts = {type: :nfs}` instead.
20
+
21
+ FEATURES:
22
+
23
+ - Warm up cache buckets with files available on guest in case bucket is empty
24
+ - Support for offline provisioning of apt-packages by caching `/var/lib/apt/lists` [GH-84]
25
+ - Support for specifying custom cache bucket synced folder opts
26
+ - Support to force disabe the plugin [GH-72]
27
+ - Automatically disable the plugin for cloud providers [GH-45]
28
+ - Skip configuration of buckets that have been configured already [GH-85]
29
+
30
+ BUG FIXES:
31
+
32
+ - Properly fix NFS support for Vagrant 1.4+ [GH-76]
33
+
1
34
  ## [0.5.1](https://github.com/fgrehm/vagrant-cachier/compare/v0.5.0...v0.5.1) (Dec 20, 2013)
2
35
 
3
36
  BUG FIXES:
data/Gemfile CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development do
7
- gem 'vagrant', github: 'mitchellh/vagrant'
7
+ gem 'vagrant', github: 'mitchellh/vagrant', tag: 'v1.4.3'
8
8
  gem 'vagrant-lxc', github: 'fgrehm/vagrant-lxc'
9
9
  gem 'vagrant-pristine', github: 'fgrehm/vagrant-pristine'
10
10
  gem 'vagrant-global-status', github: 'fgrehm/vagrant-global-status'
data/Gemfile.lock CHANGED
@@ -1,104 +1,129 @@
1
1
  GIT
2
2
  remote: git://github.com/fgrehm/vagrant-global-status.git
3
- revision: a0295400a0e47756cbcb8f97ed9f4449b1fb6b56
3
+ revision: 8ae82e2c57b085a030137a40e9b3d232f42e5117
4
4
  specs:
5
- vagrant-global-status (0.1.1)
5
+ vagrant-global-status (0.1.5.dev)
6
6
 
7
7
  GIT
8
8
  remote: git://github.com/fgrehm/vagrant-lxc.git
9
- revision: 225af5622767059708278db29d42941e93d41994
9
+ revision: 1083f100adc4cf1bd20e7eb794ecfda94ef8b365
10
10
  specs:
11
- vagrant-lxc (0.6.4.dev)
11
+ vagrant-lxc (0.7.1.dev)
12
12
 
13
13
  GIT
14
14
  remote: git://github.com/fgrehm/vagrant-pristine.git
15
- revision: 4638491786943bfbf6f115b1fc379f069963fe46
15
+ revision: 503dbc47848c81d0fbfa6840491856f518d244a1
16
16
  specs:
17
17
  vagrant-pristine (0.3.0)
18
18
 
19
19
  GIT
20
20
  remote: git://github.com/mitchellh/vagrant.git
21
- revision: 57e95323b6600b146167f0f14f83b22dd31dd03f
21
+ revision: 4f0eb9504cc786d5a57a43814427e8eb35407a4c
22
+ tag: v1.4.3
22
23
  specs:
23
- vagrant (1.3.6.dev)
24
+ vagrant (1.4.3)
24
25
  childprocess (~> 0.3.7)
25
26
  erubis (~> 2.7.0)
26
27
  i18n (~> 0.6.0)
27
28
  log4r (~> 1.1.9)
28
29
  net-scp (~> 1.1.0)
29
- net-ssh (~> 2.6.6)
30
+ net-ssh (>= 2.6.6, < 2.8.0)
30
31
 
31
32
  PATH
32
33
  remote: .
33
34
  specs:
34
- vagrant-cachier (0.5.1)
35
+ vagrant-cachier (0.6.0)
35
36
 
36
37
  GEM
37
38
  remote: https://rubygems.org/
38
39
  specs:
39
40
  archive-tar-minitar (0.5.2)
40
- chef (11.6.0)
41
- erubis
42
- highline (>= 1.6.9)
41
+ chef (11.8.2)
42
+ chef-zero (~> 1.6, >= 1.6.2)
43
+ diff-lcs (~> 1.2, >= 1.2.4)
44
+ erubis (~> 2.7)
45
+ highline (~> 1.6, >= 1.6.9)
43
46
  json (>= 1.4.4, <= 1.7.7)
44
- mixlib-authentication (>= 1.3.0)
45
- mixlib-cli (~> 1.3.0)
46
- mixlib-config (>= 1.1.2)
47
- mixlib-log (>= 1.3.0)
48
- mixlib-shellout
47
+ mime-types (~> 1.16)
48
+ mixlib-authentication (~> 1.3)
49
+ mixlib-cli (~> 1.3)
50
+ mixlib-config (~> 2.0)
51
+ mixlib-log (~> 1.3)
52
+ mixlib-shellout (~> 1.2)
49
53
  net-ssh (~> 2.6)
50
54
  net-ssh-multi (~> 1.1.0)
51
- ohai (>= 0.6.0)
55
+ ohai (~> 6.0)
56
+ pry (~> 0.9)
57
+ puma (~> 1.6)
52
58
  rest-client (>= 1.0.4, < 1.7.0)
53
59
  yajl-ruby (~> 1.1)
60
+ chef-zero (1.7.2)
61
+ hashie (~> 2.0)
62
+ json
63
+ mixlib-log (~> 1.3)
64
+ moneta (< 0.7.0)
65
+ rack
54
66
  childprocess (0.3.9)
55
67
  ffi (~> 1.0, >= 1.0.11)
68
+ coderay (1.1.0)
69
+ diff-lcs (1.2.5)
56
70
  erubis (2.7.0)
57
- ffi (1.9.0)
58
- highline (1.6.19)
59
- i18n (0.6.5)
71
+ ffi (1.9.3)
72
+ hashie (2.0.5)
73
+ highline (1.6.20)
74
+ i18n (0.6.9)
60
75
  ipaddress (0.8.0)
61
76
  json (1.7.7)
62
- librarian (0.1.0)
77
+ librarian (0.1.1)
63
78
  highline
64
79
  thor (~> 0.15)
65
- librarian-chef (0.0.1)
80
+ librarian-chef (0.0.2)
66
81
  archive-tar-minitar (>= 0.5.2)
67
82
  chef (>= 0.10)
68
83
  librarian (~> 0.1.0)
69
84
  log4r (1.1.10)
70
- mime-types (1.23)
85
+ method_source (0.8.2)
86
+ mime-types (1.25.1)
71
87
  mixlib-authentication (1.3.0)
72
88
  mixlib-log
73
- mixlib-cli (1.3.0)
74
- mixlib-config (1.1.2)
89
+ mixlib-cli (1.4.0)
90
+ mixlib-config (2.1.0)
75
91
  mixlib-log (1.6.0)
76
- mixlib-shellout (1.2.0)
92
+ mixlib-shellout (1.3.0)
93
+ moneta (0.6.0)
77
94
  net-scp (1.1.2)
78
95
  net-ssh (>= 2.6.5)
79
- net-ssh (2.6.8)
96
+ net-ssh (2.7.0)
80
97
  net-ssh-gateway (1.2.0)
81
98
  net-ssh (>= 2.6.5)
82
99
  net-ssh-multi (1.1)
83
100
  net-ssh (>= 2.1.4)
84
101
  net-ssh-gateway (>= 0.99.0)
85
- ohai (6.18.0)
102
+ ohai (6.20.0)
86
103
  ipaddress
87
104
  mixlib-cli
88
105
  mixlib-config
89
106
  mixlib-log
90
107
  mixlib-shellout
91
- systemu
108
+ systemu (~> 2.5.2)
92
109
  yajl-ruby
93
- rake (10.1.0)
110
+ pry (0.9.12.4)
111
+ coderay (~> 1.0)
112
+ method_source (~> 0.8)
113
+ slop (~> 3.4)
114
+ puma (1.6.3)
115
+ rack (~> 1.2)
116
+ rack (1.5.2)
117
+ rake (10.1.1)
94
118
  rest-client (1.6.7)
95
119
  mime-types (>= 1.16)
120
+ slop (3.4.7)
96
121
  systemu (2.5.2)
97
122
  thor (0.18.1)
98
- vagrant-librarian-chef (0.1.2)
123
+ vagrant-librarian-chef (0.1.4)
99
124
  librarian-chef
100
- vagrant-omnibus (1.1.2)
101
- yajl-ruby (1.1.0)
125
+ vagrant-omnibus (1.2.1)
126
+ yajl-ruby (1.2.0)
102
127
 
103
128
  PLATFORMS
104
129
  ruby
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013 Fabio Rehm
1
+ Copyright (c) 2013-2014 Fabio Rehm
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # vagrant-cachier
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/vagrant-cachier.png)](http://badge.fury.io/rb/vagrant-cachier) [![Gittip](http://img.shields.io/gittip/fgrehm.svg)](https://www.gittip.com/fgrehm/)
4
+
3
5
  A [Vagrant](http://www.vagrantup.com/) plugin that helps you reduce the amount of
4
6
  coffee you drink while waiting for boxes to be provisioned by sharing a common
5
7
  package cache among similiar VM instances. Kinda like [vagrant-apt_cache](https://github.com/avit/vagrant-apt_cache)
@@ -9,7 +11,7 @@ multiple package managers and Linux distros.
9
11
 
10
12
  ## Installation
11
13
 
12
- Make sure you have Vagrant 1.2+ and run:
14
+ Make sure you have Vagrant 1.4+ and run:
13
15
 
14
16
  ```
15
17
  vagrant plugin install vagrant-cachier
@@ -17,15 +19,27 @@ vagrant plugin install vagrant-cachier
17
19
 
18
20
  ## Quick start
19
21
 
20
- The easiest way to set things up is just to enable [cache buckets auto detection](http://fgrehm.viewdocs.io/vagrant-cachier/usage)
21
- from within your `Vagrantfile`:
22
-
23
22
  ```ruby
24
23
  Vagrant.configure("2") do |config|
25
24
  config.vm.box = 'your-box'
26
- config.cache.auto_detect = true
27
- # If you are using VirtualBox, you might want to enable NFS for shared folders
28
- # config.cache.enable_nfs = true
25
+ if Vagrant.has_plugin?("vagrant-cachier")
26
+ # Configure cached packages to be shared between instances of the same base box.
27
+ # More info on http://fgrehm.viewdocs.io/vagrant-cachier/usage
28
+ config.cache.scope = :box
29
+
30
+ # If you are using VirtualBox, you might want to use that to enable NFS for
31
+ # shared folders. This is also very useful for vagrant-libvirt if you want
32
+ # bi-directional sync
33
+ config.cache.synced_folder_opts = {
34
+ type: :nfs,
35
+ # The nolock option can be useful for an NFSv3 client that wants to avoid the
36
+ # NLM sideband protocol. Without this option, apt-get might hang if it tries
37
+ # to lock files needed for /var/cache/* operations. All of this can be avoided
38
+ # by using NFSv4 everywhere. Please note that the tcp option is not the default.
39
+ mount_options: ['rw', 'vers=3', 'tcp', 'nolock']
40
+ }
41
+ # For more information please check http://docs.vagrantup.com/v2/synced-folders/basic_usage.html
42
+ end
29
43
  end
30
44
  ```
31
45
 
@@ -33,12 +47,17 @@ For more information please read the documentation available at
33
47
  http://fgrehm.viewdocs.io/vagrant-cachier.
34
48
 
35
49
 
36
- ## Compatible providers
50
+ ## Providers that are known to work
37
51
 
38
52
  * Vagrant's built in VirtualBox provider
39
53
  * [vagrant-lxc](https://github.com/fgrehm/vagrant-lxc)
40
54
  * [VMware providers](http://www.vagrantup.com/vmware) with NFS enabled (See
41
55
  [GH-24](https://github.com/fgrehm/vagrant-cachier/issues/24) for more info)
56
+ * [docker-provider](https://github.com/fgrehm/docker-provider)
57
+ * _[Let me know if it is compatible with other providers!](https://github.com/fgrehm/vagrant-cachier/issues/new)_
58
+
59
+ _Please note that as of v0.6.0 the plugin will automatically disable any
60
+ previously defined configs for [cloud providers](lib/vagrant-cachier/plugin.rb#L19-22)_
42
61
 
43
62
 
44
63
  ## Contributing
@@ -48,5 +67,3 @@ http://fgrehm.viewdocs.io/vagrant-cachier.
48
67
  3. Commit your changes (`git commit -am 'Add some feature'`)
49
68
  4. Push to the branch (`git push origin my-new-feature`)
50
69
  5. Create new Pull Request
51
-
52
- [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/fgrehm/vagrant-cachier/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
@@ -1,11 +1,7 @@
1
1
  SITE
2
2
  remote: http://community.opscode.com/api/v1
3
3
  specs:
4
- chef_handler (1.1.4)
5
- java (1.12.0)
6
- windows (>= 0.0.0)
7
- windows (1.10.0)
8
- chef_handler (>= 0.0.0)
4
+ java (1.19.2)
9
5
 
10
6
  DEPENDENCIES
11
7
  java (>= 0)
@@ -12,116 +12,126 @@ Vagrant.configure("2") do |config|
12
12
 
13
13
  config.cache.scope = :machine
14
14
  config.cache.auto_detect = true
15
- config.cache.enable_nfs = true
16
-
17
- config.omnibus.chef_version = :latest
18
- config.vm.provision :chef_solo do |chef|
19
- chef.add_recipe "java::oracle"
20
- chef.json = {
21
- :java => {
22
- :oracle => {
23
- :accept_oracle_download_terms => true
24
- }
25
- }
26
- }
27
- end
15
+ config.cache.synced_folder_opts = { type: :nfs }
28
16
 
29
- # Installs RVM
30
- config.vm.provision :shell, inline: '
31
- if ! [ -d /home/vagrant/.rvm ]; then
32
- HOME=/home/vagrant su -p vagrant -l -c "curl -L https://get.rvm.io | bash -s stable"
33
- fi
34
- '
35
-
36
- # Here we have the RVM cache bucket configured, so we install 2.0.0
37
- config.vm.provision :shell, inline: '
38
- if ! [ -d /home/vagrant/.rvm/rubies/ruby-1.9.3* ]; then
39
- HOME=/home/vagrant su -p vagrant -l -c "rvm install 1.9.3 && rvm use 1.9.3 --default"
40
- fi
41
- '
42
-
43
- config.vm.provision :shell, inline: '
44
- if ! [ -d /home/vagrant/.nvm ]; then
45
- apt-get install git -y
46
- HOME=/home/vagrant su -p vagrant -l -c "
47
- curl https://raw.github.com/creationix/nvm/master/install.sh | sh
48
- "
49
- fi
50
- '
51
-
52
- config.vm.provision :shell, inline: '
53
- if ! [ -d /home/vagrant/.nvm/v0.10* ]; then
54
- HOME=/home/vagrant su -p vagrant -l -c "
55
- nvm install 0.10
56
- nvm alias default 0.10
57
- "
58
- fi
59
- '
17
+ config.vm.provider :virtualbox do |vb|
18
+ vb.customize [ "modifyvm", :id, "--memory", 256, "--cpus", "1" ]
19
+ end
60
20
 
61
21
  configure_private_network = lambda do |node, suffix|
62
22
  node.vm.network :private_network, ip: "192.168.50.#{suffix}"
63
23
  end
64
24
 
65
- debian_like_configs = lambda do |debian|
66
- # Here we have the RubyGems cache bucket configured to the right path, so we
67
- # bundle the project
68
- debian.vm.provision :shell, inline: '
69
- sudo apt-get install -y git php5-cli
70
- HOME=/home/vagrant su -p vagrant -l -c "cd /vagrant && bundle"
25
+ initial_debian_setup = lambda do |debian, git_pkg = 'git'|
26
+ debian.vm.provision :shell, inline: "apt-get update && apt-get install -y #{git_pkg} php5-cli curl wget htop"
27
+ end
28
+
29
+ install_nvm_and_rvm = lambda do |node|
30
+ # Installs RVM
31
+ node.vm.provision :shell, inline: '
32
+ if ! [ -d /home/vagrant/.rvm ]; then
33
+ HOME=/home/vagrant su -p vagrant -l -c "curl -L https://get.rvm.io | bash -s stable"
34
+ fi
35
+ '
36
+
37
+ # Here we have the RVM cache bucket configured, so we install 2.0.0
38
+ node.vm.provision :shell, inline: '
39
+ if ! [ -d /home/vagrant/.rvm/rubies/ruby-2.0.0* ]; then
40
+ HOME=/home/vagrant su -p vagrant -l -c "rvm install 2.0.0 && rvm use 2.0.0 --default"
41
+ fi
42
+ '
43
+
44
+ node.vm.provision :shell, inline: '
45
+ if ! [ -d /home/vagrant/.nvm ]; then
46
+ apt-get install git -y
47
+ HOME=/home/vagrant su -p vagrant -l -c "
48
+ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
49
+ "
50
+ fi
51
+ '
52
+
53
+ node.vm.provision :shell, inline: '
54
+ if ! [ -d /home/vagrant/.nvm/v0.10* ]; then
55
+ HOME=/home/vagrant su -p vagrant -l -c "
56
+ nvm install 0.10
57
+ nvm alias default 0.10
58
+ "
59
+ fi
71
60
  '
72
61
  end
73
62
 
74
63
  config.vm.define :ubuntu do |ubuntu|
75
64
  ubuntu.vm.box = "quantal64"
76
- debian_like_configs.call ubuntu
77
65
  configure_private_network.call ubuntu, 10
66
+
67
+ initial_debian_setup.call(ubuntu)
68
+ install_nvm_and_rvm.call(ubuntu)
69
+
70
+ ubuntu.omnibus.chef_version = :latest
71
+ ubuntu.vm.provision :chef_solo do |chef|
72
+ chef.add_recipe "java::oracle"
73
+ chef.json = {
74
+ :java => {
75
+ :oracle => {
76
+ :accept_oracle_download_terms => true
77
+ }
78
+ }
79
+ }
80
+ end
78
81
  end
79
82
 
80
83
  config.vm.define :lucid do |lucid|
81
84
  lucid.vm.box = "lucid64"
82
- debian_like_configs.call lucid
85
+ # Disable NFS
86
+ lucid.cache.synced_folder_opts = { }
83
87
  configure_private_network.call lucid, 11
88
+
89
+ initial_debian_setup.call(lucid, 'git-core')
90
+ install_nvm_and_rvm.call(lucid)
84
91
  end
85
92
 
86
93
  config.vm.define :debian do |debian|
87
94
  debian.vm.box = "squeeze64"
88
95
  debian.vm.box_url = 'http://f.willianfernandes.com.br/vagrant-boxes/DebianSqueeze64.box'
89
- debian_like_configs.call debian
90
96
  configure_private_network.call debian, 12
97
+
98
+ initial_debian_setup.call(debian)
99
+ install_nvm_and_rvm.call(debian)
91
100
  end
92
101
 
93
102
  config.vm.define :centos do |centos|
94
103
  centos.vm.box = 'centos6_64'
95
104
  centos.vm.box_url = 'http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130309.box'
96
105
  configure_private_network.call centos, 13
97
- # Here we have the RubyGems cache bucket configured to the right path, so we
98
- # bundle the project
106
+
99
107
  centos.vm.provision :shell, inline: '
100
- yum install -y libffi-devel ruby-devel git
101
- HOME=/home/vagrant su -p vagrant -l -c "cd /vagrant && bundle"'
108
+ (
109
+ mkdir -p /tmp/epel
110
+ cd /tmp/epel
111
+ wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
112
+ wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
113
+ sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
114
+ )
115
+ yum install -y libffi-devel ruby-devel git
116
+ '
117
+ centos.vm.provision :shell, inline: 'gem install bundler'
102
118
  end
103
119
 
104
120
  config.vm.define :arch do |arch|
105
121
  arch.vm.box = 'arch64'
106
- arch.vm.box_url = 'http://vagrant.pouss.in/archlinux_2012-07-02.box'
107
- configure_private_network.call arch, 14
108
- arch.vm.provision :shell, inline: '
109
- pacman -Syu --noconfirm libffi git
110
- HOME=/home/vagrant su -p vagrant -l -c "cd /vagrant && bundle"'
122
+ arch.vm.box_url = 'https://dl.dropboxusercontent.com/u/6750592/Arch_Linux_2013.11_x64.box'
123
+ # Disable NFS
124
+ arch.cache.synced_folder_opts = { }
125
+
126
+ arch.vm.provision :shell, inline: 'pacman -Syu --noconfirm libffi git ruby && gem install bundler'
111
127
  end
112
128
 
113
- # Please note that we are not able to install chef on the VM, so when bringing
114
- # this up we should always pass in `--provision-with=shell`
115
- #
116
- # TODO: Find out how to install chef on this or other box or find one that has
117
- # it pre installed
118
129
  config.vm.define :opensuse do |suse|
119
130
  suse.vm.box = 'opensuse-12'
120
131
  suse.vm.box_url = 'http://sourceforge.net/projects/opensusevagrant/files/12.3/opensuse-12.3-64.box/download'
121
- configure_private_network.call suse, 15
122
- suse.cache.enable_nfs = false
123
- # This seems to not be working
124
- suse.omnibus.chef_version = nil
132
+ # Disable NFS
133
+ suse.cache.synced_folder_opts = { }
134
+
125
135
  suse.vm.provision :shell, inline: 'time zypper install -y git'
126
136
  end
127
137
  end