vagrant-vbguest 0.6.4 → 0.7.0.pre0

Sign up to get free protection for your applications and to get access to all the features.
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