vagrant-vbguest 0.6.4 → 0.7.0.pre0

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,17 @@
1
+ ## 0.7.0
2
+
3
+ - Add support for redhat-based distributions (Scientific Linux and
4
+ presumably CentOS) [GH-47], [GH-46] / (thanks @neerolyte)
5
+ - Fix an issue with VirtualBox GuestAdditions 4.2.8 [GH-44] /
6
+ (thanks @jimmycuadra)
7
+
8
+ ### heads-up
9
+
10
+ - [GH-44] changes the behavior of vbguest to that effect, that it
11
+ will no longer halt vagrant workflow if running the VirtualBox
12
+ GuestAdditions Installer returns an error-code.
13
+ Instead it will print a human readable waring message.
14
+
1
15
  ## 0.6.4 (2013-01-24)
2
16
 
3
17
  - Fix passing a installer class as an config option [GH-40]
@@ -40,7 +54,7 @@
40
54
  ## 0.5.1 (2012-11-30)
41
55
 
42
56
  - Fix: Provisioning will not run twice when rebooted due
43
- to incomplete GuestAdditions installation [GH-27]
57
+ to incomplete GuestAdditions installation [GH-27] /
44
58
  (thanks @gregsymons for pointing)
45
59
 
46
60
  ## 0.5.0 (2012-11-19)
@@ -11,6 +11,7 @@ require 'vagrant-vbguest/installers/base'
11
11
  require 'vagrant-vbguest/installers/linux'
12
12
  require 'vagrant-vbguest/installers/debian'
13
13
  require 'vagrant-vbguest/installers/ubuntu'
14
+ require 'vagrant-vbguest/installers/redhat'
14
15
 
15
16
  require 'vagrant-vbguest/config'
16
17
  require 'vagrant-vbguest/command'
@@ -160,6 +160,17 @@ module VagrantVbguest
160
160
  :host_version => host_version)
161
161
  end
162
162
 
163
+ # Helper to yield a warning message to the user in the event that the
164
+ # installer returned a non-zero exit status. Because lack of a window
165
+ # system will cause this result in VirtualBox 4.2.8+, we don't want to
166
+ # kill the entire boot process, but we do want to make sure the user
167
+ # knows there could be a problem. The message includles the installer
168
+ # version.
169
+ def yield_installation_error_warning(path_to_installer)
170
+ @vm.ui.warn I18n.t("vagrant.plugins.vbguest.install_error",
171
+ :installer_version => installer_version(path_to_installer) || I18n.t("vagrant.plugins.vbguest.unknown"))
172
+ end
173
+
163
174
  # GuestAdditions-iso-file-detection-magig.
164
175
  #
165
176
  # Detectio runs in those stages:
@@ -104,7 +104,8 @@ module VagrantVbguest
104
104
 
105
105
  # A generic helper method to execute the installer. The iso file
106
106
  # has to be mounted on +mount_point+.
107
- # This also yields a installation warning to the user.
107
+ # This also yields a installation warning to the user, and an error
108
+ # warning in the event that the installer returns a non-zero exit status.
108
109
  #
109
110
  # @param [Hash] opts Optional options Hash wich meight get passed to {Vagrant::Communication::SSH#execute} and firends
110
111
  # @yield [type, data] Takes a Block like {Vagrant::Communication::Base#execute} for realtime output of the command being executed
@@ -113,7 +114,10 @@ module VagrantVbguest
113
114
  def execute_installer(opts=nil, &block)
114
115
  installer = File.join(mount_point, 'VBoxLinuxAdditions.run')
115
116
  yield_installation_waring(installer)
116
- vm.channel.sudo("#{installer} --nox11", opts, &block)
117
+ opts = {:error_check => false}.merge(opts || {})
118
+ exit_status = vm.channel.sudo("#{installer} --nox11", opts, &block)
119
+ yield_installation_error_warning(installer) unless exit_status == 0
120
+ exit_status
117
121
  end
118
122
 
119
123
  # A generic helper method for mounting the GuestAdditions iso file
@@ -0,0 +1,29 @@
1
+ module VagrantVbguest
2
+ module Installers
3
+ class RedHat < Linux
4
+ # Scientific Linux (and probably CentOS) both show up as :redhat
5
+ # fortunately they're probably both similar enough to RHEL
6
+ # (RedHat Enterprise Linux) not to matter.
7
+ def self.match?(vm)
8
+ :redhat == self.distro(vm)
9
+ end
10
+
11
+ # Install missing deps and yield up to regular linux installation
12
+ def install(opts=nil, &block)
13
+ vm.channel.sudo(install_dependencies_cmd, opts, &block)
14
+ super
15
+ end
16
+
17
+ protected
18
+ def install_dependencies_cmd
19
+ "yum install -y #{dependencies}"
20
+ end
21
+
22
+ def dependencies
23
+ packages = ['kernel-devel-`uname -r`', 'gcc', 'make', 'perl']
24
+ packages.join ' '
25
+ end
26
+ end
27
+ end
28
+ end
29
+ VagrantVbguest::Installer.register(VagrantVbguest::Installers::RedHat, 5)
@@ -1,3 +1,3 @@
1
1
  module VagrantVbguest
2
- VERSION = "0.6.4"
2
+ VERSION = "0.7.0.pre0"
3
3
  end
data/locales/en.yml CHANGED
@@ -8,6 +8,7 @@ en:
8
8
  installing_forced: "Forcing installation of Virtualbox Guest Additions %{installer_version} - guest version is %{guest_version}"
9
9
  rebuild: "Rebuilding Virtualbox Guest Additions %{guest_version} (Your host version is %{host_version})"
10
10
  rebuild_forced: "Forcing rebuilding of Virtualbox Guest Additions %{guest_version} (Your host version is %{host_version})"
11
+ install_error: "An error occurred during installation of VirtualBox Guest Additions %{installer_version}. Some functionality may not work as intended."
11
12
  start_copy_iso: "Copy iso file %{from} into the box %{to}"
12
13
  restart_vm: "Restarting VM to apply changes..."
13
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.6.4
5
- prerelease:
4
+ version: 0.7.0.pre0
5
+ prerelease: 6
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-01-24 00:00:00.000000000 Z
12
+ date: 2013-03-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: micromachine
@@ -100,6 +100,7 @@ files:
100
100
  - lib/vagrant-vbguest/installers/base.rb
101
101
  - lib/vagrant-vbguest/installers/debian.rb
102
102
  - lib/vagrant-vbguest/installers/linux.rb
103
+ - lib/vagrant-vbguest/installers/redhat.rb
103
104
  - lib/vagrant-vbguest/installers/ubuntu.rb
104
105
  - lib/vagrant-vbguest/machine.rb
105
106
  - lib/vagrant-vbguest/middleware.rb
@@ -128,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
129
  version: 1.3.6
129
130
  requirements: []
130
131
  rubyforge_project:
131
- rubygems_version: 1.8.24
132
+ rubygems_version: 1.8.25
132
133
  signing_key:
133
134
  specification_version: 3
134
135
  summary: A Vagrant plugin to install the VirtualBoxAdditions into the guest VM