vagrant-vbguest 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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