vagrant-vbguest 0.22.0 → 0.25.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd46d6d0e7bfff66a287572bbe41c9c20375a03b14c0a70122670935bd87c1b4
4
- data.tar.gz: 67f4ad8b493ac4a16d45df782e7ab4785e9092444911a3a78f356a8a87ec47cd
3
+ metadata.gz: dfb25d03160ec1b36b8b60132da7843717f655a2b9aece5e32f0630804fe12ac
4
+ data.tar.gz: 9825820822c15385bd8f084cb1010280216959f2a305eb017ba5fb63ce7b9b80
5
5
  SHA512:
6
- metadata.gz: 1e41145e1eacf6aaad2d4bf17e506b408ef2be2d1f1cb3ed66b5c4a77654e69bebf5f1d99204b81c80b2b15ca5fd4c9372dbd8b6e62c3fc0482582bc89cc3d19
7
- data.tar.gz: c1e19268ec2cab24a19ff5479dcfae3c4088673db2cb620d8b1c68a0db6f55cf95be170d6add8192db7c631b51eb795d9cb379c898f668ba107257dfce22d7f5
6
+ metadata.gz: 6d2fbea83019796220c4e8a95198c4f566099a17e4f11be8f028c1d44e0f40f27af441fa9dc0fac36510898fc988b44d4acef7be9bead801ae8b0984c8cf0fc1
7
+ data.tar.gz: 25f5e66b4216af12cf0af8c66066dee42106505ef8285e7ed164bf9add052818a26efacf1fb67bd95f4d551a605be7c51631696151939fad83bb01a31d347cb2
@@ -0,0 +1,13 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "bundler" # See documentation for possible values
9
+ directory: "/" # Location of package manifests
10
+ schedule:
11
+ interval: "daily"
12
+ ignore:
13
+ - dependency-name: "vagrant"
@@ -1,8 +1,36 @@
1
+ ## 0.25.0 (unreleased)
2
+
3
+ - Renames mainline branch from "master" to "main"
4
+ - Fix not detecting running GuestAdditions on some systems [GH-347], [GH-376]. Thanks @Morac2 for [GH-377]
5
+ - Fixes package installation issues on CentOS 8.
6
+ CentOS installers no longe use the `--enablerepo` parameter when running `yum` to install packages.
7
+ Thanks @ghoneycutt for [GH-384]
8
+
9
+ ## 0.24.0 (2020-04-29)
10
+
11
+ No code changes to 0.24.0.beta1
12
+
13
+ ## 0.24.0.beta1 (2020-04-28)
14
+
15
+ - Add a new configuration `installer_options`, as an optional way to pass options to Installer classes.
16
+ - Add new `installer_options` for the CentOS Installer. Thanks @pedrofurtado for [GH-373]
17
+ + `allow_kernel_upgrade`: Will update the kernel and reboots the box
18
+ + `reboot_timeout`: Optionally, set the max amount of seconds to wait after reboot
19
+
20
+ ## 0.23.0 (2020-01-05)
21
+
22
+ - Fix Oracle Linux Installer. Installs `elfutils-libelf-devel`. [GH-364], @fribeiro1 [GH-365]
23
+
24
+
25
+ ## 0.22.0 (2019-12-06)
26
+
27
+ - Fix checking for `vboxadd` tools. [GH-362]
28
+
1
29
  ## 0.22.0 (2019-12-01)
2
30
 
3
31
  - Opensuse installer now uninstalls packaged guest additions
4
32
  - Fix error trying to rebuild/start guest additions when no `vboxadd` to is present [GH-358]
5
- - Fiy Oracle installer to support non UEK kernel. [GH-357]
33
+ - Fix Oracle installer to support non UEK kernel. [GH-357]
6
34
 
7
35
  ## 0.21.0 (2019-11-11)
8
36
 
@@ -0,0 +1,76 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, sex characteristics, gender identity and expression,
9
+ level of experience, education, socio-economic status, nationality, personal
10
+ appearance, race, religion, or sexual identity and orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at info@dotless.de. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72
+
73
+ [homepage]: https://www.contributor-covenant.org
74
+
75
+ For answers to common questions about this code of conduct, see
76
+ https://www.contributor-covenant.org/faq
data/Gemfile CHANGED
@@ -4,16 +4,16 @@ group :development do
4
4
  # We depend on Vagrant for development, but we don't add it as a
5
5
  # gem dependency because we expect to be installed within the
6
6
  # Vagrant environment itself using `vagrant plugin`.
7
- if ENV["VAGRANT_VERSION"]
8
- gem "vagrant", :git => "https://github.com/hashicorp/vagrant.git", tag: "v#{ENV["VAGRANT_VERSION"]}"
9
- elsif ENV["VAGRANT_LOCAL"]
10
- gem "vagrant", path: ENV["VAGRANT_LOCAL"]
7
+ if ENV['VAGRANT_VERSION']
8
+ gem 'vagrant', :git => 'https://github.com/hashicorp/vagrant.git', tag: "v#{ENV['VAGRANT_VERSION']}"
9
+ elsif ENV['VAGRANT_LOCAL']
10
+ gem 'vagrant', path: ENV['VAGRANT_LOCAL']
11
11
  else
12
- gem "vagrant", :git => "https://github.com/hashicorp/vagrant.git"
12
+ gem 'vagrant', :git => 'https://github.com/hashicorp/vagrant.git'
13
13
  end
14
- gem "rake", "~> 10.0"
14
+ gem 'rake', '>= 12.3.3'
15
15
  end
16
16
 
17
17
  group :plugins do
18
- gem "vagrant-vbguest", path: "."
18
+ gem 'vagrant-vbguest', path: '.'
19
19
  end
data/Readme.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  [![Join the chat at https://gitter.im/dotless-de/vagrant-vbguest](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dotless-de/vagrant-vbguest?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
6
6
  [![Code Climate](https://codeclimate.com/github/dotless-de/vagrant-vbguest.svg)](https://codeclimate.com/github/dotless-de/vagrant-vbguest)
7
- [![Inline docs](http://inch-ci.org/github/dotless-de/vagrant-vbguest.svg?branch=master)](http://inch-ci.org/github/dotless-de/vagrant-vbguest)
7
+ [![Inline docs](http://inch-ci.org/github/dotless-de/vagrant-vbguest.svg?branch=main)](http://inch-ci.org/github/dotless-de/vagrant-vbguest)
8
8
  [![Gem Version](https://badge.fury.io/rb/vagrant-vbguest.svg)](https://badge.fury.io/rb/vagrant-vbguest)
9
9
 
10
10
 
@@ -58,8 +58,52 @@ vbguest will try to autodetect the best option for your system. WTF? see below.
58
58
  * `no_remote` (Boolean, default: `false`) : Whether to _not_ download the iso file from a remote location. This includes any `http` location!
59
59
  * `installer` (`VagrantVbguest::Installers::Base`, optional) : Reference to a (custom) installer class
60
60
  * `installer_arguments` (Array, default: `['--nox11']`) : List of additional arguments to pass to the installer. eg: `%w{--nox11 --force}` would execute `VBoxLinuxAdditions.run install --nox11 --force`
61
+ * `installer_options` (Hash, default: `{}`) : Configure how a Installer internally works. Should be set on a `vm` level.
61
62
  * `yes` (Boolean or String, default: `true`): Wheter to pipe `yes` to the installer. If `true`, executes `yes | VBoxLinuxAdditions.run install`. With `false`, the command is executed without `yes`. You can also put in a string here for `yes` (e.g. `no` to refuse all messages)
62
63
 
64
+
65
+ #### Installer Specific Options (`installer_options`)
66
+
67
+ Those settings are specific for OS-specific installer. Especially in a multi-box environment, you should put those options on the box configuration like this:
68
+
69
+ ```ruby
70
+ Vagrant.configure("2") do |config|
71
+ config.vm.define "my_cent_os_box" do |c|
72
+ c.box = "centos/8"
73
+ c.vbguest.installer_options = { allow_kernel_upgrade: true }
74
+ end
75
+ end
76
+ ```
77
+
78
+ Note that box-specific settings overwrite earlier settings:
79
+
80
+ ```ruby
81
+ Vagrant.configure("2") do |config|
82
+ config.vbguest.installer_options = { foo: 1, bar: 2 }
83
+
84
+ config.vm.define "a" do |box_config|
85
+ # not setting any `installer_options` will inherit the "global" ones
86
+ # installer_options => { foo: 1, bar: 2 }
87
+ end
88
+
89
+ config.vm.define "b" do |box_config|
90
+ # setting any `installer_options` will start from scratch
91
+ box_config.vbguest.installer_options[:zort] = 3 # => { zort: 3 }
92
+ end
93
+
94
+ config.vm.define "c" do |box_config|
95
+ # however, you can explicitly merge the global config
96
+ box_config.vbguest.installer_options = config.vbguest.installer_options.merge(zort: 3) # => { foo: 1, bar: 2, zort: 3 }
97
+ end
98
+ end
99
+ ```
100
+
101
+
102
+ ##### CentOS
103
+
104
+ * `:allow_kernel_upgrade` (default: `false`): If `true`, instead of trying to find matching the matching kernel-devel package to the installed kernel version, the kernel will be updated and the (now matching) up-to-date kernel-devel will be installed. __NOTE__: This will trigger a reboot of the box.
105
+ * `:reboot_timeout` (default: `300`): Maximum number of seconds to wait for the box to reboot after a kernel upgrade.
106
+
63
107
  #### Global Configuration
64
108
 
65
109
  Using [Vagrantfile Load Order](https://www.vagrantup.com/docs/vagrantfile/#load-order-and-merging) you may change default configuration values.
@@ -258,14 +302,14 @@ end
258
302
 
259
303
  If you find yourself copying the same installer in each of your vagrant project, it might be a good idea to make it a plugin itself. Like vagrant-vbguest itself, installers can be [distributed as ruby gems](http://guides.rubygems.org/publishing/)
260
304
 
261
- This project contains a [sample installer gem](https://github.com/dotless-de/vagrant-vbguest/tree/master/testdrive/vagrant-vbguest-unikorn) which might serve as an boilerplate.
305
+ This project contains a [sample installer gem](https://github.com/dotless-de/vagrant-vbguest/tree/main/testdrive/vagrant-vbguest-unikorn) which might serve as an boilerplate.
262
306
 
263
307
 
264
308
  ## Contributing
265
309
 
266
310
  Bug reports and pull requests are welcome on GitHub at https://github.com/dotless-de/vagrant-vbguest.
267
311
 
268
- For the forseeable future, no more pull requests will be accepted which add new guest support/installers. Please build your gem as a plugin to vbguest (see "Very Advanced Usage" section of this file). In fact, please open a pull request to remove support for a guest system if feel confident that your solution is better.
312
+ For the foreseeable future, no more pull requests will be accepted which add new guest support/installers. Please build your gem as a plugin to vbguest (see "Very Advanced Usage" section of this file). In fact, please open a pull request to remove support for a guest system if feel confident that your solution is better.
269
313
 
270
314
 
271
315
  ## Known Issues
@@ -0,0 +1,10 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ Only the latest version of vagrant-vbguest is supported and will receive security updates.
6
+
7
+ ## Reporting a Vulnerability
8
+
9
+ Download GPG key from: https://keybase.io/fnordfish/pgp_keys.asc (fingerprint `B3CA4DF4D703CBDFFF211CB8A8B249A38963D0B6`)
10
+ Write an gpg encrypted email to `vbguest-security@dotless.de`
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.22.0
1
+ 0.25.0
@@ -4,7 +4,8 @@ module VagrantVbguest
4
4
 
5
5
  module Attributes
6
6
  attr_accessor :auto_update, :auto_reboot, :no_install, :no_remote,
7
- :installer, :installer_arguments, :allow_downgrade,
7
+ :installer, :installer_arguments, :installer_options,
8
+ :allow_downgrade,
8
9
  :iso_path, :iso_upload_path, :iso_mount_point, :yes
9
10
  end
10
11
 
@@ -16,6 +17,7 @@ module VagrantVbguest
16
17
  def no_install; @no_install.nil? ? false : @no_install end
17
18
  def no_remote; @no_remote.nil? ? false : @no_remote end
18
19
  def installer_arguments; @installer_arguments.nil? ? '--nox11' : @installer_arguments end
20
+ def installer_options; @installer_options ||= {} end
19
21
  def yes; @yes.nil? ? true : @yes end
20
22
 
21
23
  def iso_path
@@ -33,6 +35,7 @@ module VagrantVbguest
33
35
  def no_install; @no_install.nil? ? self.class.no_install : @no_install end
34
36
  def no_remote; @no_remote.nil? ? self.class.no_remote : @no_remote end
35
37
  def installer_arguments; @installer_arguments.nil? ? self.class.installer_arguments : @installer_arguments end
38
+ def installer_options; @installer_options ||= self.class.installer_options end
36
39
  def yes; @yes.nil? ? self.class.yes : @yes end
37
40
 
38
41
  def iso_path
@@ -47,6 +50,7 @@ module VagrantVbguest
47
50
  {
48
51
  :installer => installer,
49
52
  :installer_arguments => installer_arguments,
53
+ :installer_options => installer_options,
50
54
  :iso_path => iso_path,
51
55
  :iso_upload_path => iso_upload_path,
52
56
  :iso_mount_point => iso_mount_point,
@@ -104,16 +104,21 @@ module VagrantVbguest
104
104
  end
105
105
 
106
106
  def reboot_after_install?
107
- if (installer = guest_installer)
108
- installer.reboot_after_install?
109
- end
107
+ installer = guest_installer
108
+ raise NoInstallerFoundError, :method => 'check if we need to reboot after installing' if !installer
109
+ installer.reboot_after_install?
110
110
  end
111
111
 
112
- # Does the guest installer provide service tooling to manually start or rebuild guest additions?
113
- def has_service_tools?
114
- if (installer = guest_installer)
115
- installer.has_vboxadd_tools?
116
- end
112
+ def provides_vboxadd_tools?
113
+ installer = guest_installer
114
+ raise NoInstallerFoundError, :method => 'check platform support for vboxadd tools of' if !installer
115
+ installer.provides_vboxadd_tools?
116
+ end
117
+
118
+ def vboxadd_tools_available?
119
+ installer = guest_installer
120
+ raise NoInstallerFoundError, :method => 'check for existing vboxadd tools of' if !installer
121
+ installer.vboxadd_tools_available?
117
122
  end
118
123
 
119
124
  # Returns an installer instance for the current vm
@@ -125,15 +125,26 @@ module VagrantVbguest
125
125
  end
126
126
 
127
127
  # This manipulate the run-list of a the vbguest machine.
128
- def reboot_after_install?(opts=nil, &block)
128
+ #
129
+ # @return [Boolean]
130
+ def reboot_after_install?
129
131
  false
130
132
  end
131
133
 
132
134
  # Does the guest installer provide tooling to manually start or rebuild guest additions?
133
- def has_vboxadd_tools?(opts=nil, &block)
135
+ #
136
+ # @return [Boolean]
137
+ def provides_vboxadd_tools?
134
138
  false
135
139
  end
136
140
 
141
+ # Is the tooling to manually start or rebuild guest additions installed on the guest?
142
+ #
143
+ # @return [Boolean]
144
+ def vboxadd_tools_available?
145
+ raise NotImplementedError
146
+ end
147
+
137
148
  # Determinates the GuestAdditions version installed on the
138
149
  # guest system.
139
150
  #
@@ -170,6 +181,10 @@ module VagrantVbguest
170
181
  version
171
182
  end
172
183
 
184
+ def installer_options
185
+ options[:installer_options] || {}
186
+ end
187
+
173
188
  # Helper to yield a warning message to the user, that the installation
174
189
  # will start _now_.
175
190
  # The message includes the host and installer version strings.
@@ -8,12 +8,27 @@ module VagrantVbguest
8
8
 
9
9
  # Install missing deps and yield up to regular linux installation
10
10
  def install(opts=nil, &block)
11
- install_kernel_deps(opts, &block)
11
+ if upgrade_kernel?
12
+ upgrade_kernel(opts, &block)
13
+ else
14
+ install_kernel_deps(opts, &block)
15
+ end
12
16
  super
13
17
  end
14
18
 
19
+ def installer_options
20
+ @installer_options ||= {
21
+ allow_kernel_upgrade: false,
22
+ reboot_timeout: 300
23
+ }.merge!(super)
24
+ end
25
+
15
26
  protected
16
27
 
28
+ def upgrade_kernel?
29
+ installer_options[:allow_kernel_upgrade]
30
+ end
31
+
17
32
  def install_kernel_deps(opts=nil, &block)
18
33
  unless has_kernel_devel_info?
19
34
  update_release_repos(opts, &block)
@@ -31,7 +46,7 @@ module VagrantVbguest
31
46
  def has_rel_repo?
32
47
  unless instance_variable_defined?(:@has_rel_repo)
33
48
  rel = release_version
34
- @has_rel_repo = communicate.test("yum repolist --enablerepo=C#{rel}-base --enablerepo=C#{rel}-updates")
49
+ @has_rel_repo = communicate.test('yum repolist')
35
50
  end
36
51
  @has_rel_repo
37
52
  end
@@ -54,16 +69,30 @@ module VagrantVbguest
54
69
 
55
70
  def install_kernel_devel(opts=nil, &block)
56
71
  rel = has_rel_repo? ? release_version : '*'
57
- cmd = "yum install -y kernel-devel-`uname -r` --enablerepo=C#{rel}-base --enablerepo=C#{rel}-updates"
72
+ cmd = 'yum install -y kernel-devel-`uname -r`'
58
73
  communicate.sudo(cmd, opts, &block)
59
74
  end
60
75
 
76
+ def upgrade_kernel(opts=nil, &block)
77
+ communicate.sudo('yum update -y kernel', opts, &block)
78
+ communicate.sudo('yum install -y kernel-devel', opts, &block)
79
+
80
+ env.ui.info(I18n.t("vagrant_vbguest.centos.rebooting", vm_name: vm.name))
81
+ communicate.sudo('shutdown -r now', opts, &block)
82
+
83
+ sleep_guard = installer_options[:reboot_timeout]
84
+ begin
85
+ sleep 10
86
+ sleep_guard -= 10
87
+ end while sleep_guard >= 0 && !@vm.communicate.ready?
88
+ end
89
+
61
90
  def dependencies
62
- if has_kernel_devel_info?
91
+ if !upgrade_kernel? && has_kernel_devel_info?
63
92
  # keep the original redhat dependencies
64
93
  super
65
94
  else
66
- # we should have installed kernel-devel-`uname -r` via install_kernel_devel
95
+ # we should have installed kernel-devel(-`uname -r`) via install_kernel_devel or upgrade_kernel
67
96
  ['gcc', 'binutils', 'make', 'perl', 'bzip2', 'elfutils-libelf-devel'].join(' ')
68
97
  end
69
98
  end
@@ -24,7 +24,7 @@ module VagrantVbguest
24
24
 
25
25
  protected
26
26
  def install_dependencies_cmd
27
- "apt-get install -y #{dependencies}"
27
+ "DEBIAN_FRONTEND=noninteractive apt-get install -y #{dependencies}"
28
28
  end
29
29
 
30
30
  def dependencies
@@ -78,7 +78,7 @@ module VagrantVbguest
78
78
  opts = {
79
79
  :sudo => true
80
80
  }.merge(opts || {})
81
- communicate.test('grep -qE "^vboxguest\s.+\s\([^\s]*O[^\s]*\)$" /proc/modules && ls /lib/modules/`uname -r`/misc/vboxsf.ko*', opts, &block)
81
+ communicate.test('grep -qE "^vboxguest\s.+\s" /proc/modules && ls /lib/modules/`uname -r`/misc/vboxsf.ko*', opts, &block)
82
82
  end
83
83
 
84
84
  # This overrides {VagrantVbguest::Installers::Base#guest_version}
@@ -135,7 +135,11 @@ module VagrantVbguest
135
135
  end
136
136
  end
137
137
 
138
- def has_service_tools?(opts=nil, &block)
138
+ def provides_vboxadd_tools?
139
+ true
140
+ end
141
+
142
+ def vboxadd_tools_available?
139
143
  !!find_tool('vboxadd') || communicate.test('systemctl list-units --type service | grep -q vboxadd', {:sudo => true})
140
144
  end
141
145
 
@@ -15,7 +15,8 @@ module VagrantVbguest
15
15
  'gcc',
16
16
  'make',
17
17
  'perl',
18
- 'bzip2'
18
+ 'bzip2',
19
+ 'elfutils-libelf-devel'
19
20
  ].join(' ')
20
21
  end
21
22
  end
@@ -22,8 +22,11 @@ module VagrantVbguest
22
22
  @logger.debug("Runlist for state #{current_state} is: #{runlist}")
23
23
  while (command = runlist.shift)
24
24
  @logger.debug("Running command #{command} from runlist")
25
- if !self.send(command)
26
- env.ui.error('vagrant_vbguest.machine_loop_guard', :command => command, :state => current_state)
25
+ case self.send(command)
26
+ when nil # skipped
27
+ return false
28
+ when false # machine state change error
29
+ env.ui.error(I18n.t('vagrant_vbguest.machine_loop_guard', :command => command, :state => guest_additions_state.state))
27
30
  return false
28
31
  end
29
32
  return run if current_state != state
@@ -71,8 +74,8 @@ module VagrantVbguest
71
74
 
72
75
  return :clean if !guest_version
73
76
 
74
- # some sort of distro installation bot no `vboxadd` tools to trgger rebuilds or manual starts
75
- return :dirty if !installer.has_service_tools?
77
+ # some sort of distro installation bot no `vboxadd` tools to trigger rebuilds or manual starts
78
+ return :dirty if installer.provides_vboxadd_tools? && !installer.vboxadd_tools_available?
76
79
 
77
80
  if host_version != guest_version
78
81
  return :unmatched if host_version > guest_version || options[:allow_downgrade] || options[:force]
@@ -0,0 +1,4 @@
1
+ en:
2
+ vagrant_vbguest:
3
+ centos:
4
+ rebooting: "[%{vm_name}] Rebooting after kernel upgrade."
@@ -23,4 +23,10 @@ Gem::Specification.new do |s|
23
23
  s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  s.require_paths = ["lib"]
25
25
 
26
+ s.metadata = {
27
+ "bug_tracker_uri" => "https://github.com/dotless-de/vagrant-vbguest/issues",
28
+ "changelog_uri" => "https://github.com/dotless-de/vagrant-vbguest/blob/main/CHANGELOG.md",
29
+ "documentation_uri" => "http://rubydoc.info/gems/vagrant-vbguest",
30
+ "source_code_uri" => "https://github.com/dotless-de/vagrant-vbguest"
31
+ }
26
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-vbguest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Schulze
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-12-01 00:00:00.000000000 Z
11
+ date: 2020-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: micromachine
@@ -66,13 +66,16 @@ executables: []
66
66
  extensions: []
67
67
  extra_rdoc_files: []
68
68
  files:
69
+ - ".github/dependabot.yml"
69
70
  - ".github/stale.yml"
70
71
  - ".gitignore"
71
72
  - CHANGELOG.md
73
+ - CODE_OF_CONDUCT.md
72
74
  - Gemfile
73
75
  - LICENSE
74
76
  - Rakefile
75
77
  - Readme.md
78
+ - SECURITY.md
76
79
  - VERSION
77
80
  - lib/vagrant-vbguest.rb
78
81
  - lib/vagrant-vbguest/command.rb
@@ -101,13 +104,18 @@ files:
101
104
  - lib/vagrant-vbguest/middleware.rb
102
105
  - lib/vagrant-vbguest/version.rb
103
106
  - locales/en.yml
107
+ - locales/en_centos.yml
104
108
  - locales/en_windows.yml
105
109
  - vagrant-vbguest.gemspec
106
110
  homepage: https://github.com/dotless-de/vagrant-vbguest
107
111
  licenses:
108
112
  - MIT
109
- metadata: {}
110
- post_install_message:
113
+ metadata:
114
+ bug_tracker_uri: https://github.com/dotless-de/vagrant-vbguest/issues
115
+ changelog_uri: https://github.com/dotless-de/vagrant-vbguest/blob/main/CHANGELOG.md
116
+ documentation_uri: http://rubydoc.info/gems/vagrant-vbguest
117
+ source_code_uri: https://github.com/dotless-de/vagrant-vbguest
118
+ post_install_message:
111
119
  rdoc_options: []
112
120
  require_paths:
113
121
  - lib
@@ -123,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
131
  version: 1.3.6
124
132
  requirements: []
125
133
  rubygems_version: 3.0.3
126
- signing_key:
134
+ signing_key:
127
135
  specification_version: 4
128
136
  summary: A Vagrant plugin to install the VirtualBoxAdditions into the guest VM
129
137
  test_files: []