SHA256
1
0
forked from pool/vagrant

Accepting request 833750 from home:dancermak:branches:Virtualization:vagrant

switch back to %transfiletrigger & fix addressable have choice & add fix for boxes without a /etc/fstab

OBS-URL: https://build.opensuse.org/request/show/833750
OBS-URL: https://build.opensuse.org/package/show/Virtualization:vagrant/vagrant?expand=0&rev=47
This commit is contained in:
Dan Čermák 2020-09-14 07:18:42 +00:00 committed by Git OBS Bridge
parent 04a9733cbb
commit d876f6f01d
12 changed files with 138 additions and 13 deletions

View File

@ -1,7 +1,7 @@
From 0f5435df3ef882c3da9f098ec83cac1f394a7b4e Mon Sep 17 00:00:00 2001 From 0f5435df3ef882c3da9f098ec83cac1f394a7b4e Mon Sep 17 00:00:00 2001
From: Antonio Terceiro <terceiro@debian.org> From: Antonio Terceiro <terceiro@debian.org>
Date: Sat, 11 Oct 2014 16:54:58 -0300 Date: Sat, 11 Oct 2014 16:54:58 -0300
Subject: [PATCH 1/9] bin/vagrant: silence warning about installer Subject: [PATCH 01/10] bin/vagrant: silence warning about installer
Signed-off-by: Johannes Kastl <kastl@b1-systems.de> Signed-off-by: Johannes Kastl <kastl@b1-systems.de>
--- ---

View File

@ -1,7 +1,7 @@
From 103a3765b331a69b615e47d0e1647e4e42fe9a6a Mon Sep 17 00:00:00 2001 From 103a3765b331a69b615e47d0e1647e4e42fe9a6a Mon Sep 17 00:00:00 2001
From: Antonio Terceiro <terceiro@debian.org> From: Antonio Terceiro <terceiro@debian.org>
Date: Wed, 22 Oct 2014 09:40:14 -0200 Date: Wed, 22 Oct 2014 09:40:14 -0200
Subject: [PATCH 2/9] Use a private temporary dir Subject: [PATCH 02/10] Use a private temporary dir
Without this vagrant will clutter $TMPDIR with dozens of even hundreds Without this vagrant will clutter $TMPDIR with dozens of even hundreds
of temporary files (~4 per vagrant invocation). of temporary files (~4 per vagrant invocation).

View File

@ -1,7 +1,7 @@
From 4b3743997f569f268047917a41562831eb09bd1e Mon Sep 17 00:00:00 2001 From 4b3743997f569f268047917a41562831eb09bd1e Mon Sep 17 00:00:00 2001
From: Johannes Kastl <kastl@b1-systems.de> From: Johannes Kastl <kastl@b1-systems.de>
Date: Wed, 17 May 2017 09:09:57 +0200 Date: Wed, 17 May 2017 09:09:57 +0200
Subject: [PATCH 3/9] plugins-don-t-abuse-require_relative.patch Subject: [PATCH 03/10] plugins-don-t-abuse-require_relative.patch
Signed-off-by: Johannes Kastl <kastl@b1-systems.de> Signed-off-by: Johannes Kastl <kastl@b1-systems.de>
--- ---

View File

@ -1,7 +1,7 @@
From d08f0985884ab4ef45ce9f8f37de1c033283eb2f Mon Sep 17 00:00:00 2001 From d08f0985884ab4ef45ce9f8f37de1c033283eb2f Mon Sep 17 00:00:00 2001
From: Johannes Kastl <kastl@b1-systems.de> From: Johannes Kastl <kastl@b1-systems.de>
Date: Fri, 16 Nov 2018 21:12:43 +0100 Date: Fri, 16 Nov 2018 21:12:43 +0100
Subject: [PATCH 4/9] fix vbox package boo#1044087, added by Subject: [PATCH 04/10] fix vbox package boo#1044087, added by
robert.munteanu@gmail.com on Sun Aug 13 19:07:06 UTC 2017 robert.munteanu@gmail.com on Sun Aug 13 19:07:06 UTC 2017
Signed-off-by: Johannes Kastl <kastl@b1-systems.de> Signed-off-by: Johannes Kastl <kastl@b1-systems.de>

View File

@ -1,7 +1,7 @@
From 5dc228c3811d429e1d9640bbf4a7a21030b388de Mon Sep 17 00:00:00 2001 From 5dc228c3811d429e1d9640bbf4a7a21030b388de Mon Sep 17 00:00:00 2001
From: Johannes Kastl <kastl@b1-systems.de> From: Johannes Kastl <kastl@b1-systems.de>
Date: Mon, 4 Jun 2018 09:18:23 +0200 Date: Mon, 4 Jun 2018 09:18:23 +0200
Subject: [PATCH 5/9] do not depend on wdm Subject: [PATCH 05/10] do not depend on wdm
Signed-off-by: Johannes Kastl <kastl@b1-systems.de> Signed-off-by: Johannes Kastl <kastl@b1-systems.de>
--- ---

View File

@ -1,7 +1,7 @@
From ac94bb00341797429f61f6b63377523216217d7e Mon Sep 17 00:00:00 2001 From ac94bb00341797429f61f6b63377523216217d7e Mon Sep 17 00:00:00 2001
From: Johannes Kastl <kastl@b1-systems.de> From: Johannes Kastl <kastl@b1-systems.de>
Date: Fri, 16 Nov 2018 21:14:46 +0100 Date: Fri, 16 Nov 2018 21:14:46 +0100
Subject: [PATCH 6/9] do not abuse relative paths in docker plugin to make Subject: [PATCH 06/10] 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 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> Signed-off-by: Johannes Kastl <kastl@b1-systems.de>

View File

@ -1,7 +1,7 @@
From e5f0f5ee48d7975cf0073a3998a8a11d9e97d797 Mon Sep 17 00:00:00 2001 From e5f0f5ee48d7975cf0073a3998a8a11d9e97d797 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com> From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Fri, 11 Jan 2019 12:32:28 +0100 Date: Fri, 11 Jan 2019 12:32:28 +0100
Subject: [PATCH 7/9] Don't abuse relative paths in plugins Subject: [PATCH 07/10] Don't abuse relative paths in plugins
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit

View File

@ -1,7 +1,7 @@
From 4ae304867d0e714254cd4130a9a56eb1560da354 Mon Sep 17 00:00:00 2001 From 4ae304867d0e714254cd4130a9a56eb1560da354 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com> From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Mon, 1 Apr 2019 17:28:31 +0200 Date: Mon, 1 Apr 2019 17:28:31 +0200
Subject: [PATCH 8/9] Skip failing tests Subject: [PATCH 08/10] Skip failing tests
--- ---
test/unit/bin/vagrant_test.rb | 4 ++-- test/unit/bin/vagrant_test.rb | 4 ++--

View File

@ -1,7 +1,7 @@
From 5dc6903fbc40884c5811a71ad43700f7357f7836 Mon Sep 17 00:00:00 2001 From 5dc6903fbc40884c5811a71ad43700f7357f7836 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com> From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Wed, 28 Aug 2019 13:39:58 +0200 Date: Wed, 28 Aug 2019 13:39:58 +0200
Subject: [PATCH 9/9] Disable Subprocess unit test Subject: [PATCH 09/10] Disable Subprocess unit test
This unit test is *very* flaky on OBS' workers and causes random build 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 failures. These are probably caused by worker being under high load and then

View File

@ -0,0 +1,82 @@
From 75d617e2fe8d626cf23ac77f1c47cf0be4a1938b Mon Sep 17 00:00:00 2001
From: sophia <scastellarin95@gmail.com>
Date: Thu, 10 Sep 2020 09:50:13 -0500
Subject: [PATCH 10/10] Add check for /etc/fstab
(cherry picked from commit 2297b86790227b6b89a6de6a7a786a726cf56a62)
---
.../guests/linux/cap/persist_mount_shared_folder.rb | 12 ++++++++++++
.../linux/cap/persist_mount_shared_folder_test.rb | 13 +++++++++++++
2 files changed, 25 insertions(+)
diff --git a/plugins/guests/linux/cap/persist_mount_shared_folder.rb b/plugins/guests/linux/cap/persist_mount_shared_folder.rb
index 338d62e07..e0ad08d42 100644
--- a/plugins/guests/linux/cap/persist_mount_shared_folder.rb
+++ b/plugins/guests/linux/cap/persist_mount_shared_folder.rb
@@ -8,6 +8,8 @@ module VagrantPlugins
class PersistMountSharedFolder
extend SyncedFolder::UnixMountHelpers
+ @@logger = Log4r::Logger.new("vagrant::guest::linux::persist_mount_shared_folders")
+
# Inserts fstab entry for a set of synced folders. Will fully replace
# the currently managed group of Vagrant managed entries. Note, passing
# empty list of folders will just remove entries
@@ -15,7 +17,13 @@ module VagrantPlugins
# @param [Machine] machine The machine to run the action on
# @param [Map<String, Map>] A map of folders to add to fstab
def self.persist_mount_shared_folder(machine, folders)
+ unless fstab_exists?(machine)
+ @@logger.info("no fstab file found, not modifying /etc/fstab")
+ return
+ end
+
if folders.nil?
+ @@logger.info("clearing /etc/fstab")
self.remove_vagrant_managed_fstab(machine)
return
end
@@ -53,6 +61,10 @@ module VagrantPlugins
private
+ def self.fstab_exists?(machine)
+ machine.communicate.test("stat /etc/fstab")
+ end
+
def self.remove_vagrant_managed_fstab(machine)
machine.communicate.sudo("sed -i '/\#VAGRANT-BEGIN/,/\#VAGRANT-END/d' /etc/fstab")
end
diff --git a/test/unit/plugins/guests/linux/cap/persist_mount_shared_folder_test.rb b/test/unit/plugins/guests/linux/cap/persist_mount_shared_folder_test.rb
index aa65b38b7..31f7ae764 100644
--- a/test/unit/plugins/guests/linux/cap/persist_mount_shared_folder_test.rb
+++ b/test/unit/plugins/guests/linux/cap/persist_mount_shared_folder_test.rb
@@ -37,6 +37,7 @@ describe "VagrantPlugins::GuestLinux::Cap::PersistMountSharedFolder" do
allow(folder_plugin).to receive(:capability).with(:mount_options, any_args).
and_return(["uid=#{options_uid},gid=#{options_gid}", options_uid, options_gid])
allow(folder_plugin).to receive(:capability).with(:mount_type).and_return("vboxsf")
+ allow(cap).to receive(:fstab_exists?).and_return(true)
end
after do
@@ -78,5 +79,17 @@ describe "VagrantPlugins::GuestLinux::Cap::PersistMountSharedFolder" do
cap.persist_mount_shared_folder(machine, folders)
end
end
+
+ context "fstab does not exist" do
+ before do
+ allow(cap).to receive(:fstab_exists?).and_return(false)
+ end
+
+ it "does not modify /etc/fstab" do
+ expect(cap).not_to receive(:remove_vagrant_managed_fstab)
+ expect(comm).not_to receive(:sudo).with(/echo '' >> \/etc\/fstab/)
+ cap.persist_mount_shared_folder(machine, folders)
+ end
+ end
end
end
--
2.28.0

View File

@ -1,3 +1,23 @@
-------------------------------------------------------------------
Wed Sep 9 12:47:45 UTC 2020 - Dan Čermák <dcermak@suse.com>
- Switch back to using transfiletriggerin/un
- Increase required version of the addressable gem
- Allow to skip tests during development via bcond_without
- Add fix for boxes that don't have a /etc/fstab
Added patch:
* 0010-Add-check-for-etc-fstab.patch
rebased 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
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Aug 26 15:01:59 UTC 2020 - Dan Čermák <dcermak@suse.com> Wed Aug 26 15:01:59 UTC 2020 - Dan Čermák <dcermak@suse.com>
@ -6,6 +26,21 @@ Wed Aug 26 15:01:59 UTC 2020 - Dan Čermák <dcermak@suse.com>
* add rsync to BuildRequires * add rsync to BuildRequires
* run fdupes after installation * run fdupes after installation
Remove patches (merged upstream):
* 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
Rebased 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
FEATURES: FEATURES:
- hyperv/disks: Add ability to manage virtual disks for guests [GH-11541] - hyperv/disks: Add ability to manage virtual disks for guests [GH-11541]

View File

@ -17,6 +17,8 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #
# disable tests if you want to just run a quick build
%{bcond_without tests}
%global mod_name vagrant %global mod_name vagrant
%global mod_full_name %{mod_name}-%{version} %global mod_full_name %{mod_name}-%{version}
@ -55,6 +57,7 @@ Patch6: 0006-do-not-abuse-relative-paths-in-docker-plugin-to-make.patch
Patch7: 0007-Don-t-abuse-relative-paths-in-plugins.patch Patch7: 0007-Don-t-abuse-relative-paths-in-plugins.patch
Patch8: 0008-Skip-failing-tests.patch Patch8: 0008-Skip-failing-tests.patch
Patch9: 0009-Disable-Subprocess-unit-test.patch Patch9: 0009-Disable-Subprocess-unit-test.patch
Patch10: 0010-Add-check-for-etc-fstab.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -151,7 +154,7 @@ BuildRequires: %{rubygem ffi >= 1.9 }
# Prevent have choice for rubygem(ruby:2.5.0:thor:0) >= 0.18 # Prevent have choice for rubygem(ruby:2.5.0:thor:0) >= 0.18
BuildRequires: %{rubygem thor:0.19} BuildRequires: %{rubygem thor:0.19}
# Prevent have choice for rubygem(ruby:2.5.0:addressable) >= 2.3.6 # Prevent have choice for rubygem(ruby:2.5.0:addressable) >= 2.3.6
BuildRequires: %{rubygem addressable >= 2.6} BuildRequires: %{rubygem addressable >= 2.7}
# Prevent have choice for rubygem(ruby:2.5.0:public_suffix) >= 2.0.2 # Prevent have choice for rubygem(ruby:2.5.0:public_suffix) >= 2.0.2
BuildRequires: %{rubygem public_suffix:4} BuildRequires: %{rubygem public_suffix:4}
@ -161,11 +164,13 @@ BuildRequires: %{rubygem gem2rpm}
BuildRequires: ruby-macros >= 5 BuildRequires: ruby-macros >= 5
# for the test # for the test
%if %{with tests}
BuildRequires: openssh BuildRequires: openssh
BuildRequires: curl BuildRequires: curl
BuildRequires: bsdtar BuildRequires: bsdtar
BuildRequires: %{rubygem vagrant-spec} BuildRequires: %{rubygem vagrant-spec}
BuildRequires: rsync BuildRequires: rsync
%endif
BuildRequires: fdupes BuildRequires: fdupes
@ -378,12 +383,16 @@ rm -f %{buildroot}%{vagrant_dir}/.runner.sh
%fdupes %{buildroot}%{dirname:%vagrant_plugin_dir} %fdupes %{buildroot}%{dirname:%vagrant_plugin_dir}
%check %check
%if %{with tests}
# remove the git reference to vagrant-spec # remove the git reference to vagrant-spec
# -> don't have to cleanup, the Gemfile is excluded anyway # -> don't have to cleanup, the Gemfile is excluded anyway
sed -i "s|gem 'vagrant-spec', git.*$|gem 'vagrant-spec'|" Gemfile sed -i "s|gem 'vagrant-spec', git.*$|gem 'vagrant-spec'|" Gemfile
export GEM_PATH=%{buildroot}%{vagrant_plugin_dir}:$(ruby.%{rb_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 bundle exec rake test:unit
%endif
# with tests
%pre %pre
getent group vagrant >/dev/null || groupadd -r vagrant getent group vagrant >/dev/null || groupadd -r vagrant
@ -391,11 +400,10 @@ getent group vagrant >/dev/null || groupadd -r vagrant
%post %post
%{post_rb} %{post_rb}
#FIXME: use %%transfiletriggerin/-un once boo#1041742 gets resolved %transfiletriggerin -- %{dirname:%{vagrant_plugin_spec}}/
%filetriggerin -- %{dirname:%{vagrant_plugin_spec}}/
%{transfiletriggerin_rb} %{transfiletriggerin_rb}
%filetriggerun -- %{dirname:%{vagrant_plugin_spec}}/ %transfiletriggerun -- %{dirname:%{vagrant_plugin_spec}}/
%{transfiletriggerun_rb} %{transfiletriggerun_rb}
%files %files