vagrant-parallels 2.3.1 → 2.4.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 +4 -4
- data/CHANGELOG.md +11 -2
- data/lib/vagrant-parallels/action/import.rb +1 -2
- data/lib/vagrant-parallels/action/prepare_clone_snapshot.rb +1 -2
- data/lib/vagrant-parallels/action/sane_defaults.rb +1 -2
- data/lib/vagrant-parallels/plugin.rb +10 -0
- data/lib/vagrant-parallels/synced_folder.rb +3 -2
- data/lib/vagrant-parallels/synced_folder_macvm.rb +50 -0
- data/lib/vagrant-parallels/util/common.rb +2 -2
- data/lib/vagrant-parallels/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 340fd7bc7a4c4903ee2f67a21435abbd27d0fd3ae531e6e2f45b78d6d40749c6
|
4
|
+
data.tar.gz: ec86770f0a873be4d766e53df5a2ebbae3982924be8ee7974107cdd763a7da55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa1430cfa50873ac14648f6d1c8269812850be959ada747366a669ca7003fbde48460b4e145ef4d193cbfe6ef47cff52bf0db20ea05b2a4fc768e914f9e1cbdc
|
7
|
+
data.tar.gz: '07178f61772a66d419117fa8bbabf953aa4d82b76e47952bba691d6b9ef38ceea92561314df94b3f13dd9712a701a2feb5480b80604785e048650be75ae212b9'
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,19 @@
|
|
1
|
-
## 2.
|
1
|
+
## 2.4.0 (May 22, 2023)
|
2
|
+
IMPROVEMENTS:
|
3
|
+
- Implement shared folder support for `.macvm` VMs
|
4
|
+
[[GH-448](https://github.com/Parallels/vagrant-parallels/pull/448)]
|
5
|
+
|
6
|
+
BUG FIXES:
|
7
|
+
- Fix shared folder mount error on `.macvm` VMs
|
8
|
+
[[GH-445](https://github.com/Parallels/vagrant-parallels/pull/445)]
|
9
|
+
|
10
|
+
## 2.3.1 (March 23, 2023)
|
2
11
|
BUG FIXES:
|
3
12
|
- Fix the detection of VM IP. Wait for the IP to become available to
|
4
13
|
avoid connection issues and Vagrant warnings.
|
5
14
|
[[GH-440](https://github.com/Parallels/vagrant-parallels/issues/440)]
|
6
15
|
|
7
|
-
## 2.3.0 (March 22,
|
16
|
+
## 2.3.0 (March 22, 2023)
|
8
17
|
IMPROVEMENTS:
|
9
18
|
- Support fetching the VM IP using prlctl
|
10
19
|
[[GH-434](https://github.com/Parallels/vagrant-parallels/pull/434)].
|
@@ -4,7 +4,6 @@ module VagrantPlugins
|
|
4
4
|
module Parallels
|
5
5
|
module Action
|
6
6
|
class Import
|
7
|
-
include VagrantPlugins::Parallels::Util::Common
|
8
7
|
@@lock = Mutex.new
|
9
8
|
|
10
9
|
def initialize(app, env)
|
@@ -26,7 +25,7 @@ module VagrantPlugins
|
|
26
25
|
|
27
26
|
# Linked clones are supported only for PD 11 and higher
|
28
27
|
# Linked clones are not supported in macvms
|
29
|
-
if env[:machine].provider_config.linked_clone and !is_macvm(env)
|
28
|
+
if env[:machine].provider_config.linked_clone and !Util::Common::is_macvm(env[:machine])
|
30
29
|
# Linked clone creation should not be concurrent [GH-206]
|
31
30
|
options[:snapshot_id] = env[:clone_snapshot_id]
|
32
31
|
options[:linked] = true
|
@@ -6,7 +6,6 @@ module VagrantPlugins
|
|
6
6
|
module Parallels
|
7
7
|
module Action
|
8
8
|
class PrepareCloneSnapshot
|
9
|
-
include VagrantPlugins::Parallels::Util::Common
|
10
9
|
@@lock = Mutex.new
|
11
10
|
|
12
11
|
def initialize(app, env)
|
@@ -20,7 +19,7 @@ module VagrantPlugins
|
|
20
19
|
return @app.call(env)
|
21
20
|
end
|
22
21
|
|
23
|
-
if is_macvm(env)
|
22
|
+
if Util::Common::is_macvm(env[:machine])
|
24
23
|
#Ignore, since macvms doesn't support snapshot creation
|
25
24
|
@logger.info('Snapshot creation is not supported yet for macOS ARM Guests, skip snapshot preparing')
|
26
25
|
return @app.call(env)
|
@@ -4,7 +4,6 @@ module VagrantPlugins
|
|
4
4
|
module Parallels
|
5
5
|
module Action
|
6
6
|
class SaneDefaults
|
7
|
-
include VagrantPlugins::Parallels::Util::Common
|
8
7
|
|
9
8
|
def initialize(app, env)
|
10
9
|
@logger = Log4r::Logger.new('vagrant_parallels::action::sanedefaults')
|
@@ -30,7 +29,7 @@ module VagrantPlugins
|
|
30
29
|
|
31
30
|
def default_settings
|
32
31
|
# Options defined below are not supported for `*.macvm` VMs
|
33
|
-
return {} if is_macvm(@env)
|
32
|
+
return {} if Util::Common::is_macvm(@env[:machine])
|
34
33
|
|
35
34
|
{
|
36
35
|
tools_autoupdate: 'no',
|
@@ -103,6 +103,16 @@ module VagrantPlugins
|
|
103
103
|
SyncedFolder
|
104
104
|
end
|
105
105
|
|
106
|
+
synced_folder(:parallels_macvm) do
|
107
|
+
require_relative 'synced_folder_macvm'
|
108
|
+
SyncedFolderMacVM
|
109
|
+
end
|
110
|
+
|
111
|
+
synced_folder_capability(:parallels_macvm, "mount_name") do
|
112
|
+
require_relative "cap/mount_options"
|
113
|
+
SyncedFolderCap::MountOptions
|
114
|
+
end
|
115
|
+
|
106
116
|
synced_folder_capability(:parallels, "mount_name") do
|
107
117
|
require_relative "cap/mount_options"
|
108
118
|
SyncedFolderCap::MountOptions
|
@@ -4,9 +4,10 @@ module VagrantPlugins
|
|
4
4
|
module Parallels
|
5
5
|
class SyncedFolder < Vagrant.plugin('2', :synced_folder)
|
6
6
|
def usable?(machine, raise_errors=false)
|
7
|
-
# These synced folders only work if the provider is Parallels
|
7
|
+
# These synced folders only work if the provider is Parallels and the guest is not *.macvm
|
8
8
|
machine.provider_name == :parallels &&
|
9
|
-
machine.provider_config.functional_psf
|
9
|
+
machine.provider_config.functional_psf &&
|
10
|
+
!Util::Common::is_macvm(machine)
|
10
11
|
end
|
11
12
|
|
12
13
|
def prepare(machine, folders, _opts)
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'vagrant/util/platform'
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module Parallels
|
5
|
+
class SyncedFolderMacVM < Vagrant.plugin('2', :synced_folder)
|
6
|
+
def usable?(machine, raise_errors=false)
|
7
|
+
# These synced folders only work if the provider is Parallels and the guest is *.macvm
|
8
|
+
machine.provider_name == :parallels && Util::Common::is_macvm(machine)
|
9
|
+
end
|
10
|
+
|
11
|
+
def prepare(machine, folders, _opts)
|
12
|
+
# Setup shared folder definitions in the VM config.
|
13
|
+
defs = []
|
14
|
+
folders.each do |id, data|
|
15
|
+
hostpath = data[:hostpath]
|
16
|
+
if !data[:hostpath_exact]
|
17
|
+
hostpath = Vagrant::Util::Platform.cygwin_windows_path(hostpath)
|
18
|
+
end
|
19
|
+
|
20
|
+
defs << {
|
21
|
+
name: data[:plugin].capability(:mount_name, id, data),
|
22
|
+
hostpath: hostpath.to_s,
|
23
|
+
}
|
24
|
+
end
|
25
|
+
|
26
|
+
driver(machine).share_folders(defs)
|
27
|
+
end
|
28
|
+
|
29
|
+
def enable(machine, folders, _opts)
|
30
|
+
# TBD: Synced folders for *.macvm are not implemented yet
|
31
|
+
return
|
32
|
+
end
|
33
|
+
|
34
|
+
def disable(machine, folders, _opts)
|
35
|
+
# Remove the shared folders from the VM metadata
|
36
|
+
names = folders.map { |id, data| data[:plugin].capability(:mount_name, id, data) }
|
37
|
+
driver(machine).unshare_folders(names)
|
38
|
+
end
|
39
|
+
|
40
|
+
def cleanup(machine, opts)
|
41
|
+
driver(machine).clear_shared_folders if machine.id && machine.id != ''
|
42
|
+
end
|
43
|
+
|
44
|
+
# This is here so that we can stub it for tests
|
45
|
+
def driver(machine)
|
46
|
+
machine.provider.driver
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -5,8 +5,8 @@ module VagrantPlugins
|
|
5
5
|
|
6
6
|
# Determines whether the VM's box contains a macOS guest for an Apple Silicon host.
|
7
7
|
# In this case the image file ends with '.macvm' instead of '.pvm'
|
8
|
-
def is_macvm(
|
9
|
-
return !!Dir.glob(
|
8
|
+
def self.is_macvm(machine)
|
9
|
+
return !!Dir.glob(machine.box.directory.join('*.macvm')).first
|
10
10
|
end
|
11
11
|
|
12
12
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-parallels
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mikhail Zholobov
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-
|
12
|
+
date: 2023-05-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -142,6 +142,7 @@ files:
|
|
142
142
|
- lib/vagrant-parallels/plugin.rb
|
143
143
|
- lib/vagrant-parallels/provider.rb
|
144
144
|
- lib/vagrant-parallels/synced_folder.rb
|
145
|
+
- lib/vagrant-parallels/synced_folder_macvm.rb
|
145
146
|
- lib/vagrant-parallels/util/common.rb
|
146
147
|
- lib/vagrant-parallels/util/compile_forwarded_ports.rb
|
147
148
|
- lib/vagrant-parallels/util/unix_mount_helpers.rb
|