vagrant-vbguest 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ ## 0.9.0
2
+
3
+ - Adds support for vagrant 1.3 [GH-71], [GH-72]
4
+ - Fix crash when using as a command [GH-68].
5
+ - Don't trust VirtualBox Media Manager informations when
6
+ looking for a iso file. [GH-70]
7
+
8
+ ### heads-up
9
+
10
+ - Be lax about missing installer for guest OS.
11
+ No longer throws an error when no Installer class
12
+ for the guest os was found. Keep the error message,
13
+ stop vbguest workflow, but keep vagrant running.
14
+ [GH-65]
15
+
16
+
1
17
  ## 0.8.0
2
18
 
3
19
  - Adds Vagrant 1.2 compatibility [GH-59], [GH-60], [GH-62] /
@@ -136,7 +152,7 @@
136
152
 
137
153
  ## 0.3.0
138
154
 
139
- - Removed dependency to the `virtualbox` gem by using
155
+ - Removed dependency to the `virtualbox` gem by using
140
156
  `vagrant`s vm driver [GH-8]
141
157
 
142
158
  ## 0.2.1
data/Readme.md CHANGED
@@ -2,11 +2,13 @@
2
2
 
3
3
  *vagrant-vbguest* is a [Vagrant](http://vagrantup.com) plugin which automatically installs the host's VirtualBox Guest Additions on the guest system.
4
4
 
5
+ [![Code Climate](https://codeclimate.com/github/dotless-de/vagrant-vbguest.png)](https://codeclimate.com/github/dotless-de/vagrant-vbguest) [![Dependency Status](https://gemnasium.com/dotless-de/vagrant-vbguest.png)](https://gemnasium.com/dotless-de/vagrant-vbguest)
6
+
5
7
  ## Installation
6
8
 
7
- Requires vagrant 0.9.4 or later (including 1.0 and 1.1)
9
+ Requires vagrant 0.9.4 or later (including 1.x)
8
10
 
9
- ### Vagrant 1.1
11
+ ### Vagrant 1.1
10
12
 
11
13
  ```bash
12
14
  $ vagrant plugin install vagrant-vbguest
@@ -58,7 +60,7 @@ The `iso_path` may contain the optional placeholder `%{version}` for the detecte
58
60
  The URI for the actual iso download reads: `http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso`<br/>
59
61
  vbguest will try to autodetect the best option for your system. WTF? see below.
60
62
  * `auto_update` (Boolean, default: `true`) : Whether to check the correct additions version on each start (where start is _not_ resuming a box).
61
- * `auto_reboot` (Boolean, dafult: `true` when running as a middleware, `false` when running as a command) : Whether to reboot the box after GuestAdditions has been installed, but not loaded.
63
+ * `auto_reboot` (Boolean, default: `true` when running as a middleware, `false` when running as a command) : Whether to reboot the box after GuestAdditions has been installed, but not loaded.
62
64
  * `no_install` (Boolean, default: `false`) : Whether to check the correct additions version only. This will warn you about version mis-matches, but will not try to install anything.
63
65
  * `no_remote` (Boolean, default: `false`) : Whether to _not_ download the iso file from a remote location. This includes any `http` location!
64
66
  * `installer` (`VagrantVbguest::Installers::Base`, optional) : Reference to a (custom) installer class
@@ -4,6 +4,9 @@ module VagrantVbguest
4
4
 
5
5
  module CommandCommons
6
6
  include VagrantVbguest::Helpers::Rebootable
7
+ def self.included(base)
8
+ base.extend(ClassMethods)
9
+ end
7
10
 
8
11
  # Runs the vbguest installer on the VMs that are represented
9
12
  # by this environment.
@@ -80,6 +83,8 @@ module VagrantVbguest
80
83
  end
81
84
 
82
85
  reboot!(vm, options) if _rebootable && machine.reboot?
86
+ rescue VagrantVbguest::Installer::NoInstallerFoundError => e
87
+ vm.env.ui.error e.message
83
88
  end
84
89
 
85
90
  def check_runable_on(vm)
@@ -38,12 +38,14 @@ module VagrantVbguest
38
38
  private
39
39
 
40
40
  # Helper method which queries the VirtualBox media manager
41
- # for a +VBoxGuestAdditions.iso+ file.
42
- # Returns +nil+ if none found.
41
+ # for the first existing path that looks like a
42
+ # +VBoxGuestAdditions.iso+ file.
43
43
  #
44
44
  # @return [String] Absolute path to the local GuestAdditions iso file, or +nil+ if not found.
45
45
  def media_manager_iso
46
- (m = driver.execute('list', 'dvds').match(/^.+:\s+(.*VBoxGuestAdditions(?:_#{version})?\.iso)$/i)) && m[1]
46
+ driver.execute('list', 'dvds').scan(/^.+:\s+(.*VBoxGuestAdditions(?:_#{version})?\.iso)$/i).map { |path, _|
47
+ path if File.exist?(path)
48
+ }.compact.first
47
49
  end
48
50
 
49
51
  # Find the first GuestAdditions iso file which exists on the host system
@@ -7,7 +7,7 @@ module VagrantVbguest
7
7
 
8
8
  class NoInstallerFoundError < Vagrant::Errors::VagrantError
9
9
  error_namespace "vagrant_vbguest.errors.installer"
10
- error_key "no_install_script_for_platform"
10
+ error_key "no_installer_for_platform"
11
11
  end
12
12
 
13
13
  class << self
@@ -25,7 +25,9 @@ module VagrantVbguest
25
25
  machine.run
26
26
  reboot(vm, options) if machine.reboot?
27
27
  end
28
-
28
+ rescue VagrantVbguest::Installer::NoInstallerFoundError => e
29
+ vm.env.ui.error e.message
30
+ ensure
29
31
  @app.call(env)
30
32
  end
31
33
 
@@ -2,7 +2,8 @@ vagrant_version = Gem::Version.new(Vagrant::VERSION)
2
2
  supported_version = {
3
3
  "< 1.1.0" => "1_0",
4
4
  "~> 1.1.0" => "1_1",
5
- "~> 1.2.0" => "1_2"
5
+ "~> 1.2.0" => "1_2",
6
+ "~> 1.3.0" => "1_3",
6
7
  }
7
8
  compat_version = supported_version.find { |requirement, version|
8
9
  Gem::Requirement.new(requirement).satisfied_by?(vagrant_version)
@@ -0,0 +1 @@
1
+ require File.expand_path("../../vagrant_1_2/command", __FILE__)
@@ -0,0 +1 @@
1
+ require File.expand_path("../../vagrant_1_2/download", __FILE__)
@@ -0,0 +1 @@
1
+ require File.expand_path("../../vagrant_1_2/rebootable", __FILE__)
@@ -0,0 +1 @@
1
+ require File.expand_path("../../vagrant_1_2/vm_compatible", __FILE__)
@@ -1,3 +1,3 @@
1
1
  module VagrantVbguest
2
- VERSION = "0.8.0"
2
+ VERSION = "0.9.0"
3
3
  end
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.required_rubygems_version = ">= 1.3.6"
16
16
 
17
- s.add_dependency "micromachine", "~> 1.0.4"
17
+ s.add_dependency "micromachine", "~> 1.1.0"
18
18
  s.add_dependency "i18n", "~> 0.6.0"
19
19
  s.add_dependency "log4r", "~> 1.1.9"
20
20
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-vbguest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-21 00:00:00.000000000 Z
12
+ date: 2013-09-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: micromachine
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.0.4
21
+ version: 1.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 1.0.4
29
+ version: 1.1.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: i18n
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -119,6 +119,10 @@ files:
119
119
  - lib/vagrant-vbguest/vagrant_compat/vagrant_1_2/download.rb
120
120
  - lib/vagrant-vbguest/vagrant_compat/vagrant_1_2/rebootable.rb
121
121
  - lib/vagrant-vbguest/vagrant_compat/vagrant_1_2/vm_compatible.rb
122
+ - lib/vagrant-vbguest/vagrant_compat/vagrant_1_3/command.rb
123
+ - lib/vagrant-vbguest/vagrant_compat/vagrant_1_3/download.rb
124
+ - lib/vagrant-vbguest/vagrant_compat/vagrant_1_3/rebootable.rb
125
+ - lib/vagrant-vbguest/vagrant_compat/vagrant_1_3/vm_compatible.rb
122
126
  - lib/vagrant-vbguest/version.rb
123
127
  - lib/vagrant_init.rb
124
128
  - locales/en.yml
@@ -136,9 +140,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
136
140
  - - ! '>='
137
141
  - !ruby/object:Gem::Version
138
142
  version: '0'
139
- segments:
140
- - 0
141
- hash: -1570498090693693149
142
143
  required_rubygems_version: !ruby/object:Gem::Requirement
143
144
  none: false
144
145
  requirements:
@@ -147,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
148
  version: 1.3.6
148
149
  requirements: []
149
150
  rubyforge_project:
150
- rubygems_version: 1.8.25
151
+ rubygems_version: 1.8.23
151
152
  signing_key:
152
153
  specification_version: 3
153
154
  summary: A Vagrant plugin to install the VirtualBoxAdditions into the guest VM