Accepting request 805674 from Virtualization:vagrant

OBS-URL: https://build.opensuse.org/request/show/805674
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vagrant?expand=0&rev=23
This commit is contained in:
Dominique Leuenberger 2020-05-14 21:25:50 +00:00 committed by Git OBS Bridge
commit 7023e26428
24 changed files with 324 additions and 250 deletions

View File

@ -1,7 +1,7 @@
From 2aceecad34427d322bb011e5964a3c7d5818c3ae Mon Sep 17 00:00:00 2001
From f80fd64dacd27ad51f459f12301c3c16bed76554 Mon Sep 17 00:00:00 2001
From: Antonio Terceiro <terceiro@debian.org>
Date: Sat, 11 Oct 2014 16:54:58 -0300
Subject: [PATCH 01/13] bin/vagrant: silence warning about installer
Subject: [PATCH 01/11] bin/vagrant: silence warning about installer
Signed-off-by: Johannes Kastl <kastl@b1-systems.de>
---
@ -9,10 +9,10 @@ Signed-off-by: Johannes Kastl <kastl@b1-systems.de>
1 file changed, 16 deletions(-)
diff --git a/bin/vagrant b/bin/vagrant
index 0e6abdcef..9b9233397 100755
index ba7e40076..8272e839e 100755
--- a/bin/vagrant
+++ b/bin/vagrant
@@ -144,22 +144,6 @@ begin
@@ -167,22 +167,6 @@ begin
logger.debug("Creating Vagrant environment")
env = Vagrant::Environment.new(opts)
@ -36,5 +36,5 @@ index 0e6abdcef..9b9233397 100755
#
# Unset - Disables experimental features
--
2.25.0
2.26.2

View File

@ -1,7 +1,7 @@
From 3f9506dee9cfe960b593ba9d28786fe3b5164643 Mon Sep 17 00:00:00 2001
From 51acfce0e08b62dc559aa2432892134d0e6d51bc Mon Sep 17 00:00:00 2001
From: Antonio Terceiro <terceiro@debian.org>
Date: Wed, 22 Oct 2014 09:40:14 -0200
Subject: [PATCH 02/13] Use a private temporary dir
Subject: [PATCH 02/11] Use a private temporary dir
Without this vagrant will clutter $TMPDIR with dozens of even hundreds
of temporary files (~4 per vagrant invocation).
@ -36,10 +36,10 @@ index 2f12775f5..af35043ee 100644
url = @metadata_url
diff --git a/lib/vagrant/util.rb b/lib/vagrant/util.rb
index 32babe50d..217469e85 100644
index f8be2baf0..5776a56dd 100644
--- a/lib/vagrant/util.rb
+++ b/lib/vagrant/util.rb
@@ -15,6 +15,8 @@ module Vagrant
@@ -16,6 +16,8 @@ module Vagrant
autoload :SafeExec, 'vagrant/util/safe_exec'
autoload :SilenceWarnings, 'vagrant/util/silence_warnings'
autoload :StackedProcRunner, 'vagrant/util/stacked_proc_runner'
@ -94,5 +94,5 @@ index 000000000..0cbbb53ac
+ FileUtils.rm_rf(Vagrant::Util::Tempfile.private_tmpdir)
+end
--
2.25.0
2.26.2

View File

@ -1,31 +0,0 @@
From 86b44992811600404c8d967a6e74910396ff874e Mon Sep 17 00:00:00 2001
From: Antonio Terceiro <terceiro@softwarelivre.org>
Date: Tue, 3 Feb 2015 10:35:17 -0200
Subject: [PATCH 03/13] linux/cap/halt: don't wait for `shutdown -h now` to
finish
When running a Debian 8 lxc guest (with the vagrant-lxc plugin), which
has systemd as init system, `vagrant halt` will hang waiting for
`shutdown -h now` to return.
Signed-off-by: Johannes Kastl <kastl@b1-systems.de>
---
plugins/guests/linux/cap/halt.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/guests/linux/cap/halt.rb b/plugins/guests/linux/cap/halt.rb
index 60dc5dde4..657636eaf 100644
--- a/plugins/guests/linux/cap/halt.rb
+++ b/plugins/guests/linux/cap/halt.rb
@@ -4,7 +4,7 @@ module VagrantPlugins
class Halt
def self.halt(machine)
begin
- machine.communicate.sudo("shutdown -h now")
+ machine.communicate.sudo("shutdown -h now &")
rescue IOError, Vagrant::Errors::SSHDisconnected
# Do nothing, because it probably means the machine shut down
# and SSH connection was lost.
--
2.25.0

View File

@ -1,7 +1,7 @@
From e589e6be6b7697717fcae15428e443b9be0fd629 Mon Sep 17 00:00:00 2001
From b8e4cea474ed366499515f7eb4b33f3e80028680 Mon Sep 17 00:00:00 2001
From: Johannes Kastl <kastl@b1-systems.de>
Date: Wed, 17 May 2017 09:09:57 +0200
Subject: [PATCH 04/13] plugins-don-t-abuse-require_relative.patch
Subject: [PATCH 03/11] plugins-don-t-abuse-require_relative.patch
Signed-off-by: Johannes Kastl <kastl@b1-systems.de>
---
@ -32,7 +32,7 @@ index 0ef71d55f..df0bd0f8f 100644
module VagrantPlugins
module GuestArch
diff --git a/plugins/guests/debian/cap/configure_networks.rb b/plugins/guests/debian/cap/configure_networks.rb
index 23b7bbcdf..07aa91289 100644
index dfec32ccb..6b56e280a 100644
--- a/plugins/guests/debian/cap/configure_networks.rb
+++ b/plugins/guests/debian/cap/configure_networks.rb
@@ -1,6 +1,6 @@
@ -154,5 +154,5 @@ index 2dd140230..e6dd96f08 100644
module VagrantPlugins
module GuestSUSE
--
2.25.0
2.26.2

View File

@ -1,7 +1,7 @@
From d6b0b98c0eabc78da7c97839630235fa9ed32075 Mon Sep 17 00:00:00 2001
From fe235bc5fa4f124422beac2d9343df004ae75d22 Mon Sep 17 00:00:00 2001
From: Johannes Kastl <kastl@b1-systems.de>
Date: Fri, 16 Nov 2018 21:12:43 +0100
Subject: [PATCH 05/13] fix vbox package boo#1044087, added by
Subject: [PATCH 04/11] fix vbox package boo#1044087, added by
robert.munteanu@gmail.com on Sun Aug 13 19:07:06 UTC 2017
Signed-off-by: Johannes Kastl <kastl@b1-systems.de>
@ -33,5 +33,5 @@ index a0baf516f..867fe2bf8 100644
module VagrantPlugins
module ProviderVirtualBox
--
2.25.0
2.26.2

View File

@ -1,7 +1,7 @@
From 486c955ffe349c52ab5a4cfd831b09df83de88bf Mon Sep 17 00:00:00 2001
From e2cc039d85b5131d52bb30755431e202ee92aa63 Mon Sep 17 00:00:00 2001
From: Johannes Kastl <kastl@b1-systems.de>
Date: Mon, 4 Jun 2018 09:18:23 +0200
Subject: [PATCH 06/13] do not depend on wdm
Subject: [PATCH 05/11] do not depend on wdm
Signed-off-by: Johannes Kastl <kastl@b1-systems.de>
---
@ -9,17 +9,17 @@ Signed-off-by: Johannes Kastl <kastl@b1-systems.de>
1 file changed, 1 deletion(-)
diff --git a/vagrant.gemspec b/vagrant.gemspec
index baae3f486..fb2925da5 100644
index 8667a36d4..49fdf2e8e 100644
--- a/vagrant.gemspec
+++ b/vagrant.gemspec
@@ -29,7 +29,6 @@ Gem::Specification.new do |s|
s.add_dependency "rb-kqueue", "~> 0.2.0"
s.add_dependency "rest-client", ">= 1.6.0", "< 3.0"
s.add_dependency "rubyzip", "~> 1.3"
s.add_dependency "rubyzip", "~> 2.0"
- s.add_dependency "wdm", "~> 0.1.0"
s.add_dependency "winrm", "~> 2.1"
s.add_dependency "winrm-fs", "~> 1.0"
s.add_dependency "winrm-elevated", "~> 1.1"
s.add_dependency "winrm", ">= 2.3.4", "< 3.0"
s.add_dependency "winrm-fs", ">= 1.3.4", "< 2.0"
s.add_dependency "winrm-elevated", ">= 1.2.1", "< 2.0"
--
2.25.0
2.26.2

View File

@ -1,7 +1,7 @@
From e4c16b7f40c37f08f431f84ac8f6994e5dfbd771 Mon Sep 17 00:00:00 2001
From eca8f299f0b4f5d913f714500cbaa7515e85cc70 Mon Sep 17 00:00:00 2001
From: Johannes Kastl <kastl@b1-systems.de>
Date: Fri, 16 Nov 2018 21:14:46 +0100
Subject: [PATCH 07/13] do not abuse relative paths in docker plugin to make
Subject: [PATCH 06/11] do not abuse relative paths in docker plugin to make
docker work, added by tmkn@tmkn.uk on Thu Oct 26 19:42:46 UTC 2017
Signed-off-by: Johannes Kastl <kastl@b1-systems.de>
@ -22,5 +22,5 @@ index 07c4e5333..e8142df8b 100644
module VagrantPlugins
module DockerProvider
--
2.25.0
2.26.2

View File

@ -1,7 +1,7 @@
From 977541aad0f8711d080938c491f3567819c02ab2 Mon Sep 17 00:00:00 2001
From 0927b55a502c8c4103c8dbe3176ef99852f1d222 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Fri, 11 Jan 2019 12:32:28 +0100
Subject: [PATCH 08/13] Don't abuse relative paths in plugins
Subject: [PATCH 07/11] Don't abuse relative paths in plugins
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -64,5 +64,5 @@ index 7bc8ceca0..e938305e7 100644
require_relative "../installer"
--
2.25.0
2.26.2

View File

@ -1,17 +1,17 @@
From af5720555a656230e30333d592c84de50737a2bc Mon Sep 17 00:00:00 2001
From 7181dea528cfa24a9952fb5a5f3297e0b2b1e53c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Mon, 1 Apr 2019 17:28:31 +0200
Subject: [PATCH 10/13] Skip failing tests
Subject: [PATCH 08/11] Skip failing tests
---
test/unit/bin/vagrant_test.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/unit/bin/vagrant_test.rb b/test/unit/bin/vagrant_test.rb
index 08edcb20e..a6bef731d 100644
index bc11309aa..4d329151a 100644
--- a/test/unit/bin/vagrant_test.rb
+++ b/test/unit/bin/vagrant_test.rb
@@ -104,7 +104,7 @@ describe "vagrant bin" do
@@ -134,7 +134,7 @@ describe "vagrant bin" do
context "when vagrant is not very quiet" do
before { expect(Vagrant).to receive(:very_quiet?).and_return(false) }
@ -20,7 +20,7 @@ index 08edcb20e..a6bef731d 100644
expect(env.ui).to receive(:warn).with(/#{warning}/, any_args)
end
end
@@ -112,7 +112,7 @@ describe "vagrant bin" do
@@ -142,7 +142,7 @@ describe "vagrant bin" do
context "when vagrant is very quiet" do
before { expect(Vagrant).to receive(:very_quiet?).and_return(true) }
@ -30,5 +30,5 @@ index 08edcb20e..a6bef731d 100644
end
end
--
2.25.0
2.26.2

View File

@ -1,7 +1,7 @@
From 5625949476713ea00facfc87f8ce4c42e751f216 Mon Sep 17 00:00:00 2001
From 94768cd2af7eecbcf01ef1efa66469f77bf6fbec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Wed, 28 Aug 2019 13:39:58 +0200
Subject: [PATCH 12/13] Disable Subprocess unit test
Subject: [PATCH 09/11] Disable Subprocess unit test
This unit test is *very* flaky on OBS' workers and causes random build
failures. These are probably caused by worker being under high load and then
@ -33,5 +33,5 @@ index 81da0e635..a2a2270a0 100644
sleep(0.1)
expect(sp.stop).to be(true)
--
2.25.0
2.26.2

View File

@ -1,41 +0,0 @@
From c388ca93ac0254cb2e635558e90e57a9cd93cb69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Thu, 14 Mar 2019 00:25:05 +0100
Subject: [PATCH 09/13] Fix unit tests for GuestLinux::Cap::Halt
This test fails since we patch `shutdown -h now` to be `shutdown -h now &`
instead.
---
test/unit/plugins/guests/linux/cap/halt_test.rb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/test/unit/plugins/guests/linux/cap/halt_test.rb b/test/unit/plugins/guests/linux/cap/halt_test.rb
index 81f682aa1..70d2603b9 100644
--- a/test/unit/plugins/guests/linux/cap/halt_test.rb
+++ b/test/unit/plugins/guests/linux/cap/halt_test.rb
@@ -22,19 +22,19 @@ describe "VagrantPlugins::GuestLinux::Cap::Halt" do
let(:cap) { caps.get(:halt) }
it "runs the shutdown command" do
- comm.expect_command("shutdown -h now")
+ comm.expect_command("shutdown -h now &")
cap.halt(machine)
end
it "does not raise an IOError" do
- comm.stub_command("shutdown -h now", raise: IOError)
+ comm.stub_command("shutdown -h now &", raise: IOError)
expect {
cap.halt(machine)
}.to_not raise_error
end
it "does not raise a SSHDisconnected" do
- comm.stub_command("shutdown -h now", raise: Vagrant::Errors::SSHDisconnected)
+ comm.stub_command("shutdown -h now &", raise: Vagrant::Errors::SSHDisconnected)
expect {
cap.halt(machine)
}.to_not raise_error
--
2.25.0

View File

@ -0,0 +1,28 @@
From 51af48f8f2ae39ef682d4310970c87b17bb72780 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Mon, 11 May 2020 11:32:01 +0200
Subject: [PATCH 10/11] Bump version of net-ssh to ~> 6.0 and net-sftp to ~>
3.0
---
vagrant.gemspec | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/vagrant.gemspec b/vagrant.gemspec
index 49fdf2e8e..78bb2b8b5 100644
--- a/vagrant.gemspec
+++ b/vagrant.gemspec
@@ -23,8 +23,8 @@ Gem::Specification.new do |s|
s.add_dependency "listen", "~> 3.1.5"
s.add_dependency "hashicorp-checkpoint", "~> 0.1.5"
s.add_dependency "log4r", "~> 1.1.9", "< 1.1.11"
- s.add_dependency "net-ssh", "~> 5.2.0"
- s.add_dependency "net-sftp", "~> 2.1"
+ s.add_dependency "net-ssh", "~> 6.0"
+ s.add_dependency "net-sftp", "~> 3.0"
s.add_dependency "net-scp", "~> 1.2.0"
s.add_dependency "rb-kqueue", "~> 0.2.0"
s.add_dependency "rest-client", ">= 1.6.0", "< 3.0"
--
2.26.2

View File

@ -1,30 +0,0 @@
From d8a6e1573ee0b845b851c760ceced71f250e9576 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Mon, 1 Jul 2019 17:44:54 +0200
Subject: [PATCH 11/13] Do not list / load dependencies if `vagrant` spec is
not loaded
in `vagrant_internal_specs` as this fails, due to `find` returning `nil`.
---
lib/vagrant/bundler.rb | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/vagrant/bundler.rb b/lib/vagrant/bundler.rb
index 7ba48435f..c0fabdcea 100644
--- a/lib/vagrant/bundler.rb
+++ b/lib/vagrant/bundler.rb
@@ -421,8 +421,9 @@ module Vagrant
def vagrant_internal_specs
# activate any dependencies up front so we can always
# pin them when resolving
- Gem::Specification.find { |s| s.name == "vagrant" && s.activated? }.
- runtime_dependencies.each { |d| gem d.name, *d.requirement.as_list }
+ if (vs = Gem::Specification.find { |s| s.name == "vagrant" && s.activated? })
+ vs.runtime_dependencies.each { |d| gem d.name, *d.requirement.as_list }
+ end
# discover all the gems we have available
list = {}
directories = [Gem::Specification.default_specifications_dir]
--
2.25.0

View File

@ -0,0 +1,39 @@
From e4b3e72c9a267097e803db8b1b936523ee84ce0b Mon Sep 17 00:00:00 2001
From: Brian Cain <bcain@hashicorp.com>
Date: Mon, 11 May 2020 08:01:29 -0700
Subject: [PATCH 11/11] Fixes #11606: Mock out guest capabilities instead of
running them
This commit fixes a test that only fails on certain users machines where
Vagrant ends up trying to run real guest capabilities to test if the
docker provisioner raises an error if the provisioner install failed. It
fixes it by mocking out the expected return values for those
capabilities rather than relying on them actually running for this
specific unit test.
(cherry picked from commit 3934a26c2974a1795f25db31e98300386a71881d)
---
test/unit/plugins/provisioners/docker/installer_test.rb | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/test/unit/plugins/provisioners/docker/installer_test.rb b/test/unit/plugins/provisioners/docker/installer_test.rb
index c21654b63..e8cd8fb3f 100644
--- a/test/unit/plugins/provisioners/docker/installer_test.rb
+++ b/test/unit/plugins/provisioners/docker/installer_test.rb
@@ -36,9 +36,10 @@ describe VagrantPlugins::DockerProvisioner::Installer do
end
it "installs docker if not present" do
- expect(communicator).to receive(:test).with(/docker/, {:sudo=>true}).and_return(false).at_least(:twice)
- # Will execute sudo commands to install
- expect(communicator).to receive(:sudo).at_least(:once)
+ allow(machine).to receive_message_chain(:guest, :capability?).with(:docker_installed).and_return(true)
+ allow(machine).to receive_message_chain(:guest, :capability).with(:docker_install).and_return(false)
+ allow(machine).to receive_message_chain(:guest, :capability).with(:docker_installed).and_return(false)
+
# Expect to raise error since we are mocking out the test for docker install to return false
expect {subject.ensure_installed()}.to raise_error(VagrantPlugins::DockerProvisioner::DockerError)
end
--
2.26.2

View File

@ -1,36 +0,0 @@
From 5d9ef14f8e93ec7c6af8372805d92fc69182099e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Mon, 27 Jan 2020 15:01:16 +0100
Subject: [PATCH 13/13] Update some outdated gem versions
---
vagrant.gemspec | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/vagrant.gemspec b/vagrant.gemspec
index fb2925da5..c76951d10 100644
--- a/vagrant.gemspec
+++ b/vagrant.gemspec
@@ -19,16 +19,16 @@ Gem::Specification.new do |s|
s.add_dependency "childprocess", "~> 0.6.0"
s.add_dependency "ed25519", "~> 1.2.4"
s.add_dependency "erubis", "~> 2.7.0"
- s.add_dependency "i18n", "~> 1.1"
+ s.add_dependency "i18n", "~> 1.8"
s.add_dependency "listen", "~> 3.1.5"
s.add_dependency "hashicorp-checkpoint", "~> 0.1.5"
s.add_dependency "log4r", "~> 1.1.9", "< 1.1.11"
- s.add_dependency "net-ssh", "~> 5.1.0"
+ s.add_dependency "net-ssh", "~> 5.2.0"
s.add_dependency "net-sftp", "~> 2.1"
s.add_dependency "net-scp", "~> 1.2.0"
s.add_dependency "rb-kqueue", "~> 0.2.0"
s.add_dependency "rest-client", ">= 1.6.0", "< 3.0"
- s.add_dependency "rubyzip", "~> 1.3"
+ s.add_dependency "rubyzip", "~> 2.0"
s.add_dependency "winrm", "~> 2.1"
s.add_dependency "winrm-fs", "~> 1.0"
s.add_dependency "winrm-elevated", "~> 1.1"
--
2.25.0

View File

@ -9,11 +9,16 @@ other then the ruby version with which vagrant was built. Furthermore, vagrant
will _only_ recognize gems inside its own directory structure as plugins and not
arbitrary rubygems.
Note that we *must* explicitly specify the macros `rb_build_versions` and
`rb_build_abi` (and cannot use macros here!). Usually we can simply use the
default ruby here, but in case vagrant is incompatible with the default ruby, we
must override this in each plugin.
An example specfile for a vagrant plugin looks like this:
``` spec
%global rb_build_versions %vagrant_rb_build_versions
%global rb_build_abi %vagrant_rb_build_abi
%global rb_default_ruby_suffix %vagrant_rb_default_ruby_suffix
%global rb_build_versions ruby26
%global rb_build_abi ruby:2.6.0
%global rb_ruby_suffix ruby2.6
Name: vagrant-MYPLUGIN
Version: $VERSION
@ -30,9 +35,8 @@ BuildArch: noarch
Url: $URL
Source: $SRC
Source1: gem2rpm.yml
Summary: Vagrant provider for libvirt
License: MIT
Group: Development/Languages/Ruby
Summary: $SUMMARY
License: $LICENSE
%description
$DESCRIPTION
@ -46,7 +50,7 @@ $DESCRIPTION
%gem_build
%install
%vagrant_plugin_install -n %{mod_full_name}/%{vagrant_plugin_name}-%{version}.gem
%vagrant_plugin_install
%files
%{vagrant_plugin_instdir}

View File

@ -12,6 +12,9 @@
%vagrant_plugin_conf %{vagrant_embedded_dir}/plugins.json
# specify the gem binary in case we are building with a non-default ruby version
%gem_binary %{_bindir}/gem.%{rb_ruby_suffix}
# Install gem into appropriate directory.
# -n<vagrant_plugin_file> Overrides gem file name for installation.
# -d<install_dir> Set installation directory.
@ -23,7 +26,7 @@ fi \
mkdir -p %{-d*}%{!?-d:%{buildroot}%{vagrant_plugin_dir}} \
\
CONFIGURE_ARGS="--with-cflags='%{optflags}' $CONFIGURE_ARGS" \\\
gem install \\\
%gem_binary install \\\
-V \\\
--local \\\
--no-user-install \\\
@ -38,4 +41,4 @@ gem install \\\
%vagrant_rb_build_versions %{rb_build_versions}
%vagrant_rb_build_abi %{rb_build_abi}
%vagrant_rb_default_ruby_suffix %{rb_default_ruby_suffix}
%vagrant_rb_ruby_suffix %{rb_ruby_suffix}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a9229f6eba67dd51dfd6125dc578d1d0d724f2620f7d9a68cd46fa886df061fc
size 2173893

3
vagrant-2.2.9.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8e541a00285b0aa8e79aab0832c664f2c53ee4af40e382f1b5c452ae5647139
size 2215868

View File

@ -1,3 +1,133 @@
-------------------------------------------------------------------
Mon May 11 17:58:59 UTC 2020 - Dan Čermák <dcermak@suse.com>
- New upstream release 2.2.9
BUG FIXES:
- core/bundler: Properly handle plugin install with available specification
[GH-11592]
- provisioners/docker: Fix CentOS docker install and start service
capabilities [GH-11581]
- provisioners/podman: Seperate RHEL install from CentOS install [GH-11584]
Rebase patches:
* 0001-bin-vagrant-silence-warning-about-installer.patch
* 0002-Use-a-private-temporary-dir.patch
* 0003-plugins-don-t-abuse-require_relative.patch.patch
* 0004-fix-vbox-package-boo-1044087-added-by-robert.muntean.patch
* 0005-do-not-depend-on-wdm.patch
* 0006-do-not-abuse-relative-paths-in-docker-plugin-to-make.patch
* 0007-Don-t-abuse-relative-paths-in-plugins.patch
* 0008-Skip-failing-tests.patch
* 0009-Disable-Subprocess-unit-test.patch
Add patch:
* 0010-Bump-version-of-net-ssh-to-6.0-and-net-sftp-to-3.0.patch
* 0011-Fixes-11606-Mock-out-guest-capabilities-instead-of-r.patch
- Fix various issues when building vagrant with a non-default ruby version
(e.g. gem implicitly defaulting to the default one)
- update README.SUSE
-------------------------------------------------------------------
Thu May 7 12:52:02 UTC 2020 - Dan Čermák <dcermak@suse.com>
- New upstream release 2.2.8
FEATURES:
- virtualbox/disks: Add ability to manage virtual disks for guests [GH-11349]
IMPROVEMENTS:
- bin/vagrant: Automatically include global options within commands [GH-11473]
- bin/vagrant: Suppress Ruby warnings when not running pre-release version
[GH-11446]
- communicator/ssh: Add support for configuring SSH connect timeout [GH-11533]
- core: Update childprocess gem [GH-11487]
- core: Add cli option `--no-tty` [GH-11414]
- core: Overhaul call stack modifications implementation for hooks and
triggers [GH-11455]
- core/bundler: Cache plugin solution sets to speed up startup times
[GH-11363]
- config/vm: Add`box_download_options` config to specify extra download
options for a box [GH-11560]
- guest/alpine: Add ansible provisioner guest support [GH-11411]
- guest/linux: Update systemd? check to use sudo [GH-11398]
- guest/linux: Use systemd if available to halt and reboot system [GH-11407]
- guests/linux: Mount smb folders with `mfsymlinks` option by default [GH-11503]
- guest/redhat: Add support for SMB [GH-11463]
- guest/windows: Rescue all regular exceptions during reboot wait [GH-11428]
- providers/docker: Support catching container name when using podman [GH-11356]
- provisioners/docker: Support Centos8 [GH-11462]
- provisioners/podman: Add Podman as a provisioner [GH-11472]
- provisioners/salt: Allow specifying python_version [GH-11436]
BUG FIXES:
- communicators/winssh: Fix issues with Windows SSH communicator [GH-11430]
- core/bundler: Activate vagrant specification when not active [GH-11445]
- core/bundler: Properly resolve sets when Vagrant is in prerelease [GH-11571]
- core/downloader: Always set `-q` flag as first option [GH-11366]
- core/hooks: Update dynamic action hook implementation to prevent looping
[GH-11427]
- core/synced_folders: Validate type option if set [GH-11359]
- guests/debian: Choose netplan renderer based on network configuration and
installed tools [GH-11498]
- host/darwin: Quote directories in /etc/exports [GH-11441]
- host/linux: Ensure `/etc/exports` does not contain duplicate records [GH-10591]
- host/windows: Check all interfaces for port conflict when host_ip: "0.0.0.0"
[GH-11454]
- providers/docker: Fix issue where Vagrant fails to remove image if it is in
use [GH-11355]
- providers/docker: Fix issue with getting correct docker image id from build
output [GH-11461]
- providers/hyperv: Prevent error when identity reference cannot be translated
[GH-11425]
- provider/hyperv: Use service id for manipulating vm integration services
[GH-11499]
- providers/virtualbox: Parse `list dhcpservers` output on VirtualBox 6.1
[GH-11404]
- providers/virtualbox: Raise an error if guest IP ends in .1 [GH-11500]
- provisioners/shell: Ensure windows shell provisioners always get an
extension [GH-11517]
- util/io: Fix encoding conversion errors [GH-11571]
Removed patches:
* 0003-linux-cap-halt-don-t-wait-for-shutdown-h-now-to-fini.patch
(dropped as it is an old fix from Debian and Vagrant will now use systemd to
shutdown, making this one obsolete)
* 0004-plugins-don-t-abuse-require_relative.patch.patch
(rebased as 0003-plugins-don-t-abuse-require_relative.patch.patch)
* 0005-fix-vbox-package-boo-1044087-added-by-robert.muntean.patch
(rebased as 0004-fix-vbox-package-boo-1044087-added-by-robert.muntean.patch)
* 0006-do-not-depend-on-wdm.patch
(rebased as 0005-do-not-depend-on-wdm.patch)
* 0007-do-not-abuse-relative-paths-in-docker-plugin-to-make.patch
(rebased as 0006-do-not-abuse-relative-paths-in-docker-plugin-to-make.patch)
* 0008-Don-t-abuse-relative-paths-in-plugins.patch
(rebased as 0007-Don-t-abuse-relative-paths-in-plugins.patch)
* 0009-Fix-unit-tests-for-GuestLinux-Cap-Halt.patch
(dropped as it is a test fix for Patch3)
* 0010-Skip-failing-tests.patch
(rebased as 0008-Skip-failing-tests.patch)
* 0011-Do-not-list-load-dependencies-if-vagrant-spec-is-not.patch
(merged upstream)
* 0012-Disable-Subprocess-unit-test.patch
(rebased as 0009-Disable-Subprocess-unit-test.patch)
* 0013-Update-some-outdated-gem-versions.patch
(merged upstream)
Added patches:
* 0003-plugins-don-t-abuse-require_relative.patch.patch
* 0004-fix-vbox-package-boo-1044087-added-by-robert.muntean.patch
* 0005-do-not-depend-on-wdm.patch
* 0006-do-not-abuse-relative-paths-in-docker-plugin-to-make.patch
* 0007-Don-t-abuse-relative-paths-in-plugins.patch
* 0008-Skip-failing-tests.patch
* 0009-Disable-Subprocess-unit-test.patch
-------------------------------------------------------------------
Fri Feb 14 12:16:58 UTC 2020 - Dan Čermák <dcermak@suse.com>

View File

@ -1,6 +1,7 @@
#
# spec file for package vagrant
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2012 Laurent Bigonville <bigon@debian.org>, License GPL-2.0+
#
@ -19,14 +20,11 @@
%global mod_name vagrant
%global mod_full_name %{mod_name}-%{version}
#
# Use
#
%global vim_data_dir %{_datadir}/vim/site/plugin/
Name: vagrant
Version: 2.2.7
Version: 2.2.9
Release: 0
Summary: Tool for building and distributing virtualized development environments
License: MIT
@ -50,30 +48,37 @@ Recommends: vagrant-libvirt
#
Patch1: 0001-bin-vagrant-silence-warning-about-installer.patch
Patch2: 0002-Use-a-private-temporary-dir.patch
Patch3: 0003-linux-cap-halt-don-t-wait-for-shutdown-h-now-to-fini.patch
Patch4: 0004-plugins-don-t-abuse-require_relative.patch.patch
Patch5: 0005-fix-vbox-package-boo-1044087-added-by-robert.muntean.patch
Patch6: 0006-do-not-depend-on-wdm.patch
Patch7: 0007-do-not-abuse-relative-paths-in-docker-plugin-to-make.patch
Patch8: 0008-Don-t-abuse-relative-paths-in-plugins.patch
Patch9: 0009-Fix-unit-tests-for-GuestLinux-Cap-Halt.patch
Patch10: 0010-Skip-failing-tests.patch
# https://github.com/hashicorp/vagrant/pull/10945
Patch11: 0011-Do-not-list-load-dependencies-if-vagrant-spec-is-not.patch
Patch12: 0012-Disable-Subprocess-unit-test.patch
# https://github.com/hashicorp/vagrant/pull/11339
Patch13: 0013-Update-some-outdated-gem-versions.patch
Patch3: 0003-plugins-don-t-abuse-require_relative.patch.patch
Patch4: 0004-fix-vbox-package-boo-1044087-added-by-robert.muntean.patch
Patch5: 0005-do-not-depend-on-wdm.patch
Patch6: 0006-do-not-abuse-relative-paths-in-docker-plugin-to-make.patch
Patch7: 0007-Don-t-abuse-relative-paths-in-plugins.patch
Patch8: 0008-Skip-failing-tests.patch
Patch9: 0009-Disable-Subprocess-unit-test.patch
Patch10: 0010-Bump-version-of-net-ssh-to-6.0-and-net-sftp-to-3.0.patch
# Drop this on the next upstream release after 2.2.9
# upstream fix from https://github.com/hashicorp/vagrant/pull/11607
Patch11: 0011-Fixes-11606-Mock-out-guest-capabilities-instead-of-r.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# we use the rpm macros in this spec
%{?load:%{SOURCE97}}
# force only one ruby version
# CAUTION: if you change this, then you *must* also change the sed calls which
# fix these values in macros.vagrant
# FIXME: for now vagrant does not support Ruby 2.7
%if 0%{?suse_version} > 1500
%global rb_build_versions ruby26
%global rb_build_abi ruby:2.6.0
%global rb_ruby_suffix ruby2.6
%else
%global rb_build_versions %rb_default_ruby
%global rb_build_abi %rb_default_ruby_abi
%global rb_ruby_suffix %rb_default_ruby_suffix
%endif
# we use the rpm macros in this spec
# need to load them *after* defining the rb_* macros
%{?load:%{SOURCE97}}
%global vagrant_plugin_name vagrant
@ -83,7 +88,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
#===============================================================================
# s.required_ruby_version = "~> 2.4", "< 2.7"
BuildRequires: %{ruby < 2.7}
BuildRequires: %{ruby:2 < 2.7}
BuildRequires: %{ruby:2 >= 2.4}
#
#
@ -91,13 +96,12 @@ BuildRequires: %{ruby:2 >= 2.4}
BuildRequires: %{rubygem bundler}
# s.add_dependency "bcrypt_pbkdf", "~> 1.0.0"
BuildRequires: %{rubygem bcrypt_pbkdf:1.0 }
# s.add_dependency "childprocess", "~> 0.6.0"
BuildRequires: %{rubygem childprocess:0.6 }
# s.add_dependency "childprocess", "~> 3.0.0"
BuildRequires: %{rubygem childprocess:3.0 }
# s.add_dependency "ed25519", "~> 1.2.4"
BuildRequires: %{rubygem ed25519:1.2 >= 1.2.4 }
# s.add_dependency "erubis", "~> 2.7.0"
BuildRequires: %{rubygem erubis:2.7 }
# PATCHED
# s.add_dependency "i18n", "~> 1.8"
BuildRequires: %{rubygem i18n:1 >= 1.8 }
# s.add_dependency "listen", "~> 3.1.5"
@ -108,10 +112,11 @@ BuildRequires: %{rubygem hashicorp-checkpoint:0.1 >= 0.1.5 }
BuildRequires: %{rubygem log4r:1.1 >= 1.1.9 }
BuildConflicts: %{rubygem log4r:1.1 >= 1.1.11 }
# PATCHED
# s.add_dependency "net-ssh", "~> 5.2.0"
BuildRequires: %{rubygem net-ssh:5.2}
# s.add_dependency "net-sftp", "~> 2.1"
BuildRequires: %{rubygem net-sftp:2 >= 2.1 }
# s.add_dependency "net-ssh", "~> 6.0"
BuildRequires: %{rubygem net-ssh:6 }
# PATCHED
# s.add_dependency "net-sftp", "~> 3.0"
BuildRequires: %{rubygem net-sftp:3 }
# s.add_dependency "net-scp", "~> 1.2.0"
BuildRequires: %{rubygem net-scp:1.2 }
# s.add_dependency "rb-kqueue", "~> 0.2.0"
@ -119,17 +124,16 @@ BuildRequires: %{rubygem rb-kqueue:0.2 }
# s.add_dependency "rest-client", ">= 1.6.0", "< 3.0"
BuildRequires: %{rubygem rest-client >= 1.6}
BuildConflicts: %{rubygem rest-client >= 3.0}
# PATCHED
# s.add_dependency "rubyzip", "~> 2.0"
BuildRequires: %{rubygem rubyzip:2}
# Intentionally removed, wdm only works on Windows
# BuildRequires: %%{rubygem wdm }
# s.add_dependency "winrm", "~> 2.1"
BuildRequires: %{rubygem winrm:2 >= 2.1 }
# s.add_dependency "winrm-fs", "~> 1.0"
BuildRequires: %{rubygem winrm-fs:1 }
# s.add_dependency "winrm-elevated", "~> 1.1"
BuildRequires: %{rubygem winrm-elevated:1 >= 1.1 }
# s.add_dependency "winrm", ">= 2.3.4", "< 3.0"
BuildRequires: %{rubygem winrm:2 >= 2.3.4 }
# s.add_dependency "winrm-fs", ">= 1.3.4", "< 2.0"
BuildRequires: %{rubygem winrm-fs:1 >= 1.3.4 }
# s.add_dependency "winrm-elevated", ">= 1.2.1", "< 2.0"
BuildRequires: %{rubygem winrm-elevated:1 >= 1.2.1 }
# s.add_dependency "vagrant_cloud", "~> 2.0.3"
BuildRequires: %{rubygem vagrant_cloud:2.0 >= 2.0.3 }
@ -160,6 +164,9 @@ BuildRequires: %{rubygem addressable >= 2.6}
# Prevent have choice for rubygem(ruby:2.5.0:public_suffix) >= 2.0.2
BuildRequires: %{rubygem public_suffix:4}
# gem2rpm *must* be included as a direct dependency when building with a
# non-default ruby version
BuildRequires: %{rubygem gem2rpm}
BuildRequires: ruby-macros >= 5
# for the test
@ -177,13 +184,12 @@ BuildRequires: %{rubygem vagrant-spec}
#
# s.add_dependency "bcrypt_pbkdf", "~> 1.0.0"
Requires: %{rubygem bcrypt_pbkdf:1.0 }
# s.add_dependency "childprocess", "~> 0.6.0"
Requires: %{rubygem childprocess:0.6}
# s.add_dependency "childprocess", "~> 3.0.0"
Requires: %{rubygem childprocess:3.0}
# s.add_dependency "ed25519", "~> 1.2.4"
Requires: %{rubygem ed25519:1.2 >= 1.2.4}
# s.add_dependency "erubis", "~> 2.7.0"
Requires: %{rubygem erubis:2.7}
# PATCHED
# s.add_dependency "i18n", "~> 1.8"
Requires: %{rubygem i18n:1 >= 1.8}
# s.add_dependency "listen", "~> 3.1.5"
@ -194,10 +200,11 @@ Requires: %{rubygem hashicorp-checkpoint:0.1 >= 0.1.5}
Requires: %{rubygem log4r:1.1 >= 1.1.9 }
Requires: %{rubygem log4r:1.1 < 1.1.11 }
# PATCHED
# s.add_dependency "net-ssh", "~> 5.2.0"
Requires: %{rubygem net-ssh:5.2}
# s.add_dependency "net-sftp", "~> 2.1"
Requires: %{rubygem net-sftp:2 >= 2.1}
# s.add_dependency "net-ssh", "~> 6.0"
Requires: %{rubygem net-ssh:6}
# PATCHED
# s.add_dependency "net-sftp", "~> 3.0"
Requires: %{rubygem net-sftp:3 }
# s.add_dependency "net-scp", "~> 1.2.0"
Requires: %{rubygem net-scp:1.2 >= 1.2.0}
# s.add_dependency "rb-kqueue", "~> 0.2.0"
@ -205,17 +212,16 @@ Requires: %{rubygem rb-kqueue:0.2}
# s.add_dependency "rest-client", ">= 1.6.0", "< 3.0"
Requires: %{rubygem rest-client >= 1.6}
Requires: %{rubygem rest-client < 3.0}
# PATCHED
# s.add_dependency "rubyzip", "~> 2.0"
Requires: %{rubygem rubyzip:2}
# s.add_dependency "wdm", "~> 0.1.0"
# skip wdm, Windows only
# s.add_dependency "winrm", "~> 2.1"
Requires: %{rubygem winrm:2 >= 2.1}
# s.add_dependency "winrm-fs", "~> 1.0"
Requires: %{rubygem winrm-fs:1}
# s.add_dependency "winrm-elevated", "~> 1.1"
Requires: %{rubygem winrm-elevated:1 >= 1.1}
# s.add_dependency "winrm", ">= 2.3.4", "< 3.0"
Requires: %{rubygem winrm:2 >= 2.3.4}
# s.add_dependency "winrm-fs", ">= 1.3.4", "< 2.0"
Requires: %{rubygem winrm-fs:1 >= 1.3.4}
# s.add_dependency "winrm-elevated", ">= 1.2.1", "< 2.0"
Requires: %{rubygem winrm-elevated:1 >= 1.2.1}
# s.add_dependency "vagrant_cloud", "~> 2.0.3"
Requires: %{rubygem vagrant_cloud:2.0 >= 2.0.3}
# s.add_dependency "ruby_dep", "<= 1.3.1"
@ -290,8 +296,9 @@ mv %{mod_full_name}.gem %{_sourcedir}
%install
# cannot use %%vagrant_plugin_install here, as we provide a different --bindir
CONFIGURE_ARGS="--with-cflags='%{optflags}' $CONFIGURE_ARGS"
gem install -V -f --local --no-user-install \
%gem_binary install -V -f --local --no-user-install \
--ignore-dependencies --no-document --backtrace \
--document=rdoc,ri \
--install-dir %{buildroot}%{vagrant_plugin_dir} \
@ -300,7 +307,7 @@ gem install -V -f --local --no-user-install \
# the actual vagrant binary generated from the binstub
install -D -m 755 %{SOURCE96} %{buildroot}%{_bindir}/vagrant
sed -i 's|@vagrant_embedded_dir@|%{vagrant_embedded_dir}|' %{buildroot}%{_bindir}/vagrant
gem_path=$(ruby.%{rb_default_ruby_suffix} -e "print Gem.path.reject{|path| path.include? 'home'}.join(':')")
gem_path=$(ruby.%{rb_ruby_suffix} -e "print Gem.path.reject{|path| path.include? 'home'}.join(':')")
sed -i "s|@ruby_vagrant_gem_path@|$gem_path:%{vagrant_plugin_dir}|" %{buildroot}%{_bindir}/vagrant
# install the rpm macros & expand the name, name-version and vagrant_rb_* macros
@ -310,7 +317,7 @@ sed -i "s|%%{name}|%{name}|" %{buildroot}%{macros_vagrant}
sed -i "s|%{name}-%%{version}|%{name}-%{version}|" %{buildroot}%{macros_vagrant}
sed -i "s|%%{rb_build_versions}|%{rb_build_versions}|" %{buildroot}%{macros_vagrant}
sed -i "s|%%{rb_build_abi}|%{rb_build_abi}|" %{buildroot}%{macros_vagrant}
sed -i "s|%%{rb_default_ruby_suffix}|%{rb_default_ruby_suffix}|" %{buildroot}%{macros_vagrant}
sed -i "s|%%{rb_ruby_suffix}|%{rb_ruby_suffix}|" %{buildroot}%{macros_vagrant}
# install post, transfiletrigerin & transfiletriggerun scriptlets
%global post_rb %{vagrant_embedded_dir}/bin/vagrant_post.rb
@ -326,6 +333,7 @@ for file in %{post_rb} %{transfiletriggerin_rb} %{transfiletriggerun_rb}; do
sed -i "s|%%{vagrant_plugin_conf}|%{vagrant_plugin_conf}|" %{buildroot}$file
sed -i "s|%%{name}|%{name}|" %{buildroot}$file
sed -i "s|%%{version}|%{version}|" %{buildroot}$file
sed -i "s|%%{rb_ruby_suffix}|%{rb_ruby_suffix}|" %{buildroot}$file
done
# man page
@ -352,20 +360,20 @@ mkdir -p %{buildroot}%{dirname:%{vagrant_plugin_docdir}}
# fix shebang in %%{vagrant_dir}/bin/%%{name}
sed -i 's|^\#\!/usr/bin/env.*|\#\!/usr/bin/ruby\.%{rb_default_ruby_suffix}|' \
sed -i 's|^\#\!/usr/bin/env.*|\#\!/usr/bin/ruby\.%{rb_ruby_suffix}|' \
%{buildroot}%{vagrant_dir}/bin/%{name}
# remove versioned name from %%{vagrant_plugin_dir}/bin/%%{name}
# (aka /usr/share/vagrant/gems/bin/vagrant)
mv %{buildroot}%{vagrant_plugin_dir}/bin/%{name}.%{rb_default_ruby_suffix} \
mv %{buildroot}%{vagrant_plugin_dir}/bin/%{name}.%{rb_ruby_suffix} \
%{buildroot}%{vagrant_plugin_dir}/bin/%{name}
# Garbage collection
rm -f %{buildroot}%{vagrant_dir}/test/vagrant-spec/boxes/.keep
rm -f %{buildroot}%{vagrant_dir}/bin/vagrant.orig
rm -f %{buildroot}%{_bindir}/vagrant.orig.%{rb_default_ruby_suffix}
rm -f %{buildroot}%{vagrant_plugin_dir}/bin/vagrant.orig.%{rb_default_ruby_suffix}
rm -f %{buildroot}%{_bindir}/vagrant.orig.%{rb_ruby_suffix}
rm -f %{buildroot}%{vagrant_plugin_dir}/bin/vagrant.orig.%{rb_ruby_suffix}
rm -f %{buildroot}%{vagrant_dir}/lib/vagrant/util.rb.orig
# remove build script from vagrant
@ -377,7 +385,7 @@ rm -f %{buildroot}%{vagrant_dir}/.runner.sh
# -> don't have to cleanup, the Gemfile is excluded anyway
sed -i "s|gem 'vagrant-spec', git.*$|gem 'vagrant-spec'|" Gemfile
export GEM_PATH=%{buildroot}%{vagrant_plugin_dir}:$(ruby.%{rb_default_ruby_suffix} -e "print Gem.path.reject{|path| path.include? 'home'}.join(':')")
export GEM_PATH=%{buildroot}%{vagrant_plugin_dir}:$(ruby.%{rb_ruby_suffix} -e "print Gem.path.reject{|path| path.include? 'home'}.join(':')")
bundle exec rake test:unit
%pre

View File

@ -1,4 +1,4 @@
#!/usr/bin/ruby
#!/usr/bin/ruby.%{rb_ruby_suffix}
begin
$LOAD_PATH.unshift "%{vagrant_dir}/lib"

View File

@ -1,4 +1,4 @@
#!/usr/bin/ruby
#!/usr/bin/ruby.%{rb_ruby_suffix}
begin
$LOAD_PATH.unshift "%{vagrant_dir}/lib"

View File

@ -1,4 +1,4 @@
#!/usr/bin/ruby
#!/usr/bin/ruby.%{rb_ruby_suffix}
begin
$LOAD_PATH.unshift "%{vagrant_dir}/lib"