vagrant-vbguest 0.10.0.pre1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,19 +1,22 @@
1
- ## 0.10.0 (UNRELEASED)
2
-
1
+ ## 0.10.0 (2013-12-09)
2
+
3
+ - Adds new config option `installer_arguments`
4
+ Customize arguments passed to the VirtualBox GuestAdditions shell script
5
+ installer. Defaults to "--no-x11". [GH-98]
3
6
  - Cope with UbuntuCloudImage by default [GH-86], [GH-64], [GH-43]
4
7
  On Ubuntu, always try to remove conflicting installations of
5
8
  GuestAdditions by removing those packages:
6
9
  virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11
7
10
  - Unload kernel modules when UbuntuCloudImage packages are installed.
8
11
  (Thanks @eric1234 for commenting on ec9a7b1f0a)
9
- - Wait for SSH connection to be ready. Depends on vagrant's
10
- `WaitForCommunicator` action, which is available from vagrant v1.3.0.
11
- [GH-80], [GH-90]
12
+ - Wait for SSH connection to be ready. Fixes timing issues with vagrant
13
+ v1.3.0 and later. [GH-80], [GH-90]
12
14
  - Fix a typo in command description [GH-84]
13
15
  - Tweak gem dependencies [GH-82]
14
16
  - add rake as development dependency
15
17
  - remove version locks on gems provided by vagrant
16
18
  - Pass plugin name when registration the action hook for vagrant ≥1.1 [GH-80]
19
+ - Fix crash on Vagrant 1.4 [GH-100]
17
20
 
18
21
  ### heads-up
19
22
 
data/Readme.md CHANGED
@@ -176,7 +176,7 @@ When you switched off the middleware auto update, or you have a box up and runni
176
176
  $ vagrant vbguest [vm-name] [--do start|rebuild|install] [--status] [-f|--force] [-b|--auto-reboot] [-R|--no-remote] [--iso VBoxGuestAdditions.iso]
177
177
  ```
178
178
 
179
- For example, when you just updated Virtual Box on your host system, you should update the gust additions right away. However, you may need to reload the box to get the guest additions working.
179
+ For example, when you just updated Virtual Box on your host system, you should update the guest additions right away. However, you may need to reload the box to get the guest additions working.
180
180
 
181
181
  If you want to check the guest additions versions, without installing them, you may run:
182
182
 
@@ -3,7 +3,7 @@ module VagrantVbguest
3
3
  class Config <( Vagrant::VERSION < "1.1.0" ? Vagrant::Config::Base : Vagrant.plugin("2", :config) )
4
4
 
5
5
  module Attributes
6
- attr_accessor :iso_path, :auto_update, :auto_reboot, :no_install, :no_remote, :installer
6
+ attr_accessor :iso_path, :auto_update, :auto_reboot, :no_install, :no_remote, :installer, :installer_arguments
7
7
  end
8
8
 
9
9
  class << self
@@ -13,6 +13,7 @@ module VagrantVbguest
13
13
  def auto_reboot; @auto_reboot.nil? ? true : @auto_reboot end
14
14
  def no_install; @no_install.nil? ? false : @no_install end
15
15
  def no_remote; @no_remote.nil? ? false : @no_remote end
16
+ def installer_arguments; @installer_arguments.nil? ? '--nox11' : @installer_arguments end
16
17
 
17
18
  def iso_path
18
19
  return nil if !@iso_path || @iso_path == :auto
@@ -26,6 +27,7 @@ module VagrantVbguest
26
27
  def auto_reboot; @auto_reboot.nil? ? self.class.auto_reboot : @auto_reboot end
27
28
  def no_install; @no_install.nil? ? self.class.no_install : @no_install end
28
29
  def no_remote; @no_remote.nil? ? self.class.no_remote : @no_remote end
30
+ def installer_arguments; @installer_arguments.nil? ? self.class.installer_arguments : @installer_arguments end
29
31
 
30
32
  def iso_path
31
33
  return self.class.iso_path if !@iso_path || @iso_path == :auto
@@ -36,6 +38,7 @@ module VagrantVbguest
36
38
  def to_hash
37
39
  {
38
40
  :installer => installer,
41
+ :installer_arguments => installer_arguments,
39
42
  :iso_path => iso_path,
40
43
  :auto_update => auto_update,
41
44
  :auto_reboot => auto_reboot,
@@ -102,8 +102,7 @@ module VagrantVbguest
102
102
  end
103
103
 
104
104
 
105
- # A generic helper method to execute the installer. The iso file
106
- # has to be mounted on +mount_point+.
105
+ # A generic helper method to execute the installer.
107
106
  # This also yields a installation warning to the user, and an error
108
107
  # warning in the event that the installer returns a non-zero exit status.
109
108
  #
@@ -112,14 +111,24 @@ module VagrantVbguest
112
111
  # @yieldparam [String] type Type of the output, `:stdout`, `:stderr`, etc.
113
112
  # @yieldparam [String] data Data for the given output.
114
113
  def execute_installer(opts=nil, &block)
115
- installer = File.join(mount_point, 'VBoxLinuxAdditions.run')
116
114
  yield_installation_waring(installer)
117
115
  opts = {:error_check => false}.merge(opts || {})
118
- exit_status = communicate.sudo("#{installer} --nox11", opts, &block)
116
+ exit_status = communicate.sudo("#{installer} #{installer_arguments}", opts, &block)
119
117
  yield_installation_error_warning(installer) unless exit_status == 0
120
118
  exit_status
121
119
  end
122
120
 
121
+ # The absolute path to the GuestAdditions installer script.
122
+ # The iso file has to be mounted on +mount_point+.
123
+ def installer
124
+ @installer ||= File.join(mount_point, 'VBoxLinuxAdditions.run')
125
+ end
126
+
127
+ # The arguments string, which gets passed to the installer script
128
+ def installer_arguments
129
+ @installer_arguments ||= Array(options[:installer_arguments]).join " "
130
+ end
131
+
123
132
  # A generic helper method for mounting the GuestAdditions iso file
124
133
  # on most linux system.
125
134
  # Mounts the given uploaded file from +tmp_path+ on +mount_point+.
@@ -7,7 +7,7 @@ module VagrantVbguest
7
7
  end
8
8
 
9
9
  def install(opts=nil, &block)
10
- if (packaged = packaged_additions?)
10
+ if packaged_additions?
11
11
  unload_packaged_additions(opts, &block)
12
12
  remove_packaged_additions(opts, &block)
13
13
  end
@@ -7,9 +7,11 @@ supported_version = {
7
7
  }
8
8
  compat_version = supported_version.find { |requirement, version|
9
9
  Gem::Requirement.new(requirement).satisfied_by?(vagrant_version)
10
- }[1]
10
+ }
11
11
 
12
- if !compat_version
12
+ if compat_version
13
+ compat_version = compat_version[1]
14
+ else
13
15
  # @TODO: yield warning
14
16
  compat_version = supported_version.to_a.last[1]
15
17
  end
@@ -1,3 +1,3 @@
1
1
  module VagrantVbguest
2
- VERSION = "0.10.0.pre1"
2
+ VERSION = "0.10.0"
3
3
  end
@@ -6,7 +6,9 @@ en:
6
6
  installing_forced: "Forcing installation of Virtualbox Guest Additions %{installer_version} - guest version is %{guest_version}"
7
7
  rebuild: "Rebuilding Virtualbox Guest Additions %{guest_version} (Your host version is %{host_version})"
8
8
  rebuild_forced: "Forcing rebuilding of Virtualbox Guest Additions %{guest_version} (Your host version is %{host_version})"
9
- install_error: "An error occurred during installation of VirtualBox Guest Additions %{installer_version}. Some functionality may not work as intended."
9
+ install_error: |-
10
+ An error occurred during installation of VirtualBox Guest Additions %{installer_version}. Some functionality may not work as intended.
11
+ In most cases it is OK that the "Window System drivers" installation failed.
10
12
  start_copy_iso: "Copy iso file %{from} into the box %{to}"
11
13
  restart_vm: "Restarting VM to apply changes..."
12
14
  suggest_restart: "Guest Additions got installed. However, they seem not be loaded correctly. Please restart the box running `vagrant reload %{name}`"
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-vbguest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0.pre1
5
- prerelease: 7
4
+ version: 0.10.0
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Robert Schulze
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-08 00:00:00.000000000 Z
12
+ date: 2013-12-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: micromachine
@@ -158,7 +158,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
158
158
  version: '0'
159
159
  segments:
160
160
  - 0
161
- hash: 1853840948815147126
161
+ hash: 2424747477234363864
162
162
  required_rubygems_version: !ruby/object:Gem::Requirement
163
163
  none: false
164
164
  requirements: