vagrant-winnfsd 1.0.6 → 1.0.7
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 +7 -0
- data/README.md +15 -2
- data/bin/nfsservice.bat +1 -1
- data/bin/winnfsd.exe +0 -0
- data/lib/vagrant-winnfsd.rb +12 -14
- data/lib/vagrant-winnfsd/cap/nfs.rb +90 -42
- data/lib/vagrant-winnfsd/{config.rb → config/config.rb} +3 -3
- data/lib/vagrant-winnfsd/config/winnfsd.rb +29 -0
- data/lib/vagrant-winnfsd/plugin.rb +51 -47
- data/lib/vagrant-winnfsd/synced_folder.rb +58 -60
- data/lib/vagrant-winnfsd/version.rb +4 -5
- data/vagrant-winnfsd.gemspec +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8620dbab8fea3cd1cdf0ecaee44b87e75ef3e5c
|
4
|
+
data.tar.gz: 6be27a72134652b4d3ab744cf715cac8eee39c58
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45cfaa8e10f551f7fa7f8cc0c64c30e44a3d1972602aa15d14d2b6b8c1a7bf9c17d8fdfa5fbd2e4e48f0c77ac0a8f7016f909a2e439d9c9d091ed21f3e3c9881
|
7
|
+
data.tar.gz: 329da393120d4832ed73bf6a6cf30099cc34c099036a7d15cccc7487f11a96855c21b36bf83f0fc4f9dbe19cd9ecd31df47f8e91e1d56c61808cea337caab6d7
|
data/CHANGELOG
CHANGED
data/README.md
CHANGED
@@ -4,7 +4,7 @@ Manage and adds support for NFS on windows.
|
|
4
4
|
|
5
5
|
## Supported Platforms
|
6
6
|
|
7
|
-
As of version 1.0.
|
7
|
+
As of version 1.0.6 or later Vagrant 1.5 is required. For vagrant 1.4 please use the plugin version 1.0.5 or lower.
|
8
8
|
|
9
9
|
Supported guests:
|
10
10
|
|
@@ -24,4 +24,17 @@ The plugin extends vagrant in the way that you can use NFS also with windows. So
|
|
24
24
|
|
25
25
|
```
|
26
26
|
Windows users: NFS folders do not work on Windows hosts. Vagrant will ignore your request for NFS synced folders on Windows.
|
27
|
-
```
|
27
|
+
```
|
28
|
+
|
29
|
+
## Settings
|
30
|
+
|
31
|
+
You can set the uid and the gid. Example:
|
32
|
+
|
33
|
+
```
|
34
|
+
Vagrant.configure('2') do |config|
|
35
|
+
config.winnfsd.uid = 1
|
36
|
+
config.winnfsd.gid = 1
|
37
|
+
end
|
38
|
+
```
|
39
|
+
|
40
|
+
Note that will be set global, that means the uid and gid is taken from the first box which starts the nfs daemon. If a box with an other uid or gid is started after that the option will be ignored.
|
data/bin/nfsservice.bat
CHANGED
data/bin/winnfsd.exe
CHANGED
Binary file
|
data/lib/vagrant-winnfsd.rb
CHANGED
@@ -1,18 +1,16 @@
|
|
1
|
-
module
|
2
|
-
|
3
|
-
|
4
|
-
require 'vagrant-winnfsd/plugin'
|
1
|
+
module VagrantWinNFSd
|
2
|
+
require 'vagrant-winnfsd/version'
|
3
|
+
require 'vagrant-winnfsd/plugin'
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
def self.source_root
|
6
|
+
@source_root ||= Pathname.new(File.expand_path('../../', __FILE__))
|
7
|
+
end
|
9
8
|
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
def self.get_binary_path
|
10
|
+
source_root.join('bin')
|
11
|
+
end
|
13
12
|
|
14
|
-
|
15
|
-
|
16
|
-
end
|
13
|
+
def self.get_path_for_file(file)
|
14
|
+
get_binary_path.join(file).to_s.gsub('/', '\\')
|
17
15
|
end
|
18
|
-
end
|
16
|
+
end
|
@@ -1,58 +1,106 @@
|
|
1
|
-
require Vagrant.source_root.join(
|
2
|
-
|
3
|
-
module VagrantPlugins
|
4
|
-
module VagrantWinNFSd
|
5
|
-
module Cap
|
6
|
-
class NFS < Vagrant.plugin("2", :host)
|
7
|
-
@logger = Log4r::Logger.new("vagrant::hosts::windows")
|
8
|
-
|
9
|
-
executable = VagrantWinNFSd.get_path_for_file("nfsservice.bat")
|
10
|
-
@nfs_check_command = "\"#{executable}\" status"
|
11
|
-
@nfs_start_command = "\"#{executable}\" start"
|
12
|
-
@nfs_stop_command = "\"#{executable}\" halt"
|
13
|
-
@nfs_path_file = ".vagrant\\nfspaths"
|
14
|
-
|
15
|
-
def self.nfs_export(env, ui, id, ips, folders)
|
16
|
-
ui.info I18n.t("vagrant_winnfsd.hosts.windows.nfs_export")
|
17
|
-
sleep 0.5
|
18
|
-
|
19
|
-
folders.each do |k, opts|
|
20
|
-
hostpath = opts[:hostpath].dup
|
21
|
-
hostpath.gsub!("'", "'\\\\''")
|
22
|
-
hostpath.gsub('/', '\\')
|
23
|
-
system("echo #{hostpath} >>#@nfs_path_file")
|
24
|
-
end
|
1
|
+
require Vagrant.source_root.join('plugins/hosts/windows/cap/nfs')
|
25
2
|
|
26
|
-
|
27
|
-
|
28
|
-
|
3
|
+
module VagrantWinNFSd
|
4
|
+
module Cap
|
5
|
+
class NFS < Vagrant.plugin('2', :host)
|
6
|
+
@logger = Log4r::Logger.new('vagrant::hosts::windows')
|
7
|
+
|
8
|
+
executable = VagrantWinNFSd.get_path_for_file('nfsservice.bat')
|
9
|
+
@nfs_check_command = "\"#{executable}\" status"
|
10
|
+
@nfs_start_command = "\"#{executable}\" start"
|
11
|
+
@nfs_stop_command = "\"#{executable}\" halt"
|
12
|
+
@nfs_path_file = "#{Vagrant.source_root}/nfspaths"
|
29
13
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
14
|
+
def self.nfs_export(env, ui, id, ips, folders)
|
15
|
+
ui.info I18n.t('vagrant_winnfsd.hosts.windows.nfs_export')
|
16
|
+
sleep 0.5
|
17
|
+
|
18
|
+
self.nfs_cleanup(id)
|
19
|
+
nfs_file_lines = []
|
20
|
+
|
21
|
+
nfs_file_lines.push("# VAGRANT-BEGIN: #{Process.uid} #{id}")
|
22
|
+
folders.each do |k, opts|
|
23
|
+
hostpath = opts[:hostpath].dup
|
24
|
+
hostpath.gsub!("'", "'\\\\''")
|
25
|
+
hostpath.gsub('/', '\\')
|
26
|
+
nfs_file_lines.push("#{hostpath}")
|
34
27
|
end
|
28
|
+
nfs_file_lines.push("# VAGRANT-END: #{Process.uid} #{id}")
|
35
29
|
|
36
|
-
|
37
|
-
|
30
|
+
File.open(@nfs_path_file, 'a') do |f|
|
31
|
+
f.puts(nfs_file_lines)
|
38
32
|
end
|
39
33
|
|
40
|
-
protected
|
41
34
|
|
42
|
-
|
43
|
-
|
35
|
+
|
36
|
+
unless self.nfs_running?
|
37
|
+
gid = env.vagrantfile.config.winnfsd.gid
|
38
|
+
uid = env.vagrantfile.config.winnfsd.uid
|
39
|
+
system("#{@nfs_start_command} #{@nfs_path_file} #{uid} #{gid}")
|
40
|
+
sleep 2
|
44
41
|
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.nfs_prune(environment, ui, valid_ids)
|
45
|
+
return unless File.exist?(@nfs_path_file)
|
46
|
+
|
47
|
+
@logger.info('Pruning invalid NFS entries...')
|
48
|
+
|
49
|
+
output = false
|
50
|
+
user = Process.uid
|
51
|
+
|
52
|
+
File.read(@nfs_path_file).lines.each do |line|
|
53
|
+
id = line[/^# VAGRANT-BEGIN:( #{user})? ([A-Za-z0-9-]+?)$/, 2]
|
45
54
|
|
46
|
-
|
47
|
-
|
48
|
-
|
55
|
+
if id
|
56
|
+
if valid_ids.include?(id)
|
57
|
+
@logger.debug("Valid ID: #{id}")
|
58
|
+
else
|
59
|
+
unless output
|
60
|
+
# We want to warn the user but we only want to output once
|
61
|
+
ui.info I18n.t('vagrant_winnfsd.hosts.windows.nfs_prune')
|
62
|
+
output = true
|
63
|
+
end
|
64
|
+
|
65
|
+
@logger.info("Invalid ID, pruning: #{id}")
|
66
|
+
self.nfs_cleanup(id)
|
67
|
+
end
|
49
68
|
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def self.nfs_installed(environment)
|
73
|
+
true
|
74
|
+
end
|
75
|
+
|
76
|
+
protected
|
50
77
|
|
51
|
-
|
52
|
-
|
78
|
+
def self.nfs_running?
|
79
|
+
system("#{@nfs_check_command}")
|
80
|
+
end
|
81
|
+
|
82
|
+
def self.nfs_cleanup(id)
|
83
|
+
return unless File.exist?(@nfs_path_file)
|
84
|
+
|
85
|
+
user = Regexp.escape(Process.uid.to_s)
|
86
|
+
id = Regexp.escape(id.to_s)
|
87
|
+
skip = false
|
88
|
+
new_file_lines = []
|
89
|
+
|
90
|
+
File.read(@nfs_path_file).lines.each do |line|
|
91
|
+
if line[/^# VAGRANT-BEGIN: #{user} #{id}$/]
|
92
|
+
skip = true
|
93
|
+
elsif line[/^# VAGRANT-END: #{user} #{id}$/]
|
94
|
+
skip = false
|
95
|
+
elsif !skip
|
96
|
+
new_file_lines.push(line)
|
53
97
|
end
|
54
98
|
end
|
99
|
+
|
100
|
+
File.open(@nfs_path_file, 'w+') do |f|
|
101
|
+
f.puts(new_file_lines)
|
102
|
+
end
|
55
103
|
end
|
56
104
|
end
|
57
105
|
end
|
58
|
-
end
|
106
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'vagrant'
|
2
|
-
require Vagrant.source_root.join(
|
2
|
+
require Vagrant.source_root.join('plugins/kernel_v2/config/vm')
|
3
3
|
|
4
|
-
module
|
5
|
-
module
|
4
|
+
module VagrantWinNFSd
|
5
|
+
module Config
|
6
6
|
class Config < VagrantPlugins::Kernel_V2::VMConfig
|
7
7
|
def finalize!
|
8
8
|
switch_back = {}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'vagrant'
|
2
|
+
|
3
|
+
module VagrantWinNFSd
|
4
|
+
module Config
|
5
|
+
class WinNFSd < Vagrant.plugin('2', :config)
|
6
|
+
attr_accessor :uid
|
7
|
+
attr_accessor :gid
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
@uid = UNSET_VALUE
|
11
|
+
@gid = UNSET_VALUE
|
12
|
+
end
|
13
|
+
|
14
|
+
def validate(machine)
|
15
|
+
errors = []
|
16
|
+
|
17
|
+
errors << 'winnfsd.uid cannot be nil.' if machine.config.winnfsd.uid.nil?
|
18
|
+
errors << 'winnfsd.gid cannot be nil.' if machine.config.winnfsd.gid.nil?
|
19
|
+
|
20
|
+
{ "WinNFSd" => errors }
|
21
|
+
end
|
22
|
+
|
23
|
+
def finalize!
|
24
|
+
@uid = 0 if @uid == UNSET_VALUE
|
25
|
+
@gid = 0 if @gid == UNSET_VALUE
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -8,66 +8,70 @@ if Vagrant::VERSION < "1.5.0"
|
|
8
8
|
raise "The Vagrant AWS plugin is only compatible with Vagrant 1.5.0+"
|
9
9
|
end
|
10
10
|
|
11
|
-
module VagrantPlugins
|
12
|
-
module VagrantWinNFSd
|
13
|
-
class Plugin < Vagrant.plugin(2)
|
14
|
-
name 'WinNFSd'
|
15
11
|
|
16
|
-
|
17
|
-
|
18
|
-
|
12
|
+
module VagrantWinNFSd
|
13
|
+
class Plugin < Vagrant.plugin('2')
|
14
|
+
name 'WinNFSd'
|
19
15
|
|
20
|
-
|
16
|
+
description <<-DESC
|
17
|
+
This plugin adds NFS support on Windows for Vagrant.
|
18
|
+
DESC
|
21
19
|
|
22
|
-
|
23
|
-
require_relative "config"
|
24
|
-
Config
|
25
|
-
end
|
20
|
+
action_hook(:init_i18n, :environment_load) { init_plugin }
|
26
21
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
22
|
+
config('vm') do
|
23
|
+
require_relative 'config/config'
|
24
|
+
@config = VagrantWinNFSd::Config::Config
|
25
|
+
end
|
31
26
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
27
|
+
config(:winnfsd) do
|
28
|
+
require_relative 'config/winnfsd'
|
29
|
+
VagrantWinNFSd::Config::WinNFSd
|
30
|
+
end
|
36
31
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
32
|
+
synced_folder('nfs') do
|
33
|
+
require_relative 'synced_folder'
|
34
|
+
VagrantWinNFSd::SyncedFolder
|
35
|
+
end
|
41
36
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
37
|
+
host_capability('windows', 'nfs_export') do
|
38
|
+
require_relative 'cap/nfs'
|
39
|
+
Cap::NFS
|
40
|
+
end
|
46
41
|
|
47
|
-
|
48
|
-
|
49
|
-
|
42
|
+
host_capability('windows', 'nfs_installed') do
|
43
|
+
require_relative 'cap/nfs'
|
44
|
+
Cap::NFS
|
45
|
+
end
|
50
46
|
|
51
|
-
|
52
|
-
|
53
|
-
|
47
|
+
host_capability('windows', 'nfs_prune') do
|
48
|
+
require_relative 'cap/nfs'
|
49
|
+
Cap::NFS
|
50
|
+
end
|
54
51
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
in_rule = sprintf(rule, rule_name, 'in', program)
|
59
|
-
out_rule = sprintf(rule, rule_name, 'out', program)
|
52
|
+
def self.init_plugin
|
53
|
+
I18n.load_path << File.expand_path('locales/en.yml', VagrantWinNFSd.source_root)
|
54
|
+
I18n.reload!
|
60
55
|
|
61
|
-
|
62
|
-
|
56
|
+
rule_name = 'VagrantWinNFSd-'.concat(VagrantWinNFSd::VERSION)
|
57
|
+
program = VagrantWinNFSd.get_path_for_file("winnfsd.exe")
|
58
|
+
rule_exist = "netsh advfirewall firewall show rule name=\"%s\">nul"
|
63
59
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
60
|
+
unless system(sprintf(rule_exist, rule_name))
|
61
|
+
cleanup_rule = "advfirewall firewall delete rule name=\"winnfsd.exe\""
|
62
|
+
rule = "advfirewall firewall add rule name=\"%s\" dir=\"%s\" action=allow protocol=any program=\"%s\" profile=any"
|
63
|
+
in_rule = sprintf(rule, rule_name, 'in', program)
|
64
|
+
out_rule = sprintf(rule, rule_name, 'out', program)
|
65
|
+
|
66
|
+
firewall_script = VagrantWinNFSd.get_path_for_file('setupfirewall.vbs')
|
67
|
+
firewall_rule = "cscript //nologo #{firewall_script} \"#{cleanup_rule}\" \"#{in_rule}\" \"#{out_rule}\""
|
68
|
+
|
69
|
+
unless system(firewall_rule)
|
70
|
+
puts I18n.t('vagrant_winnfsd.firewall.error')
|
71
|
+
puts "netsh #{in_rule}\n"
|
72
|
+
puts "netsh #{out_rule}\n"
|
69
73
|
end
|
70
74
|
end
|
71
75
|
end
|
72
76
|
end
|
73
|
-
end
|
77
|
+
end
|
@@ -1,80 +1,78 @@
|
|
1
1
|
require 'vagrant'
|
2
2
|
require Vagrant.source_root.join("plugins/synced_folders/nfs/synced_folder")
|
3
3
|
|
4
|
-
module
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
raise Vagrant::Errors::NFSNoGuestIP if !nfsopts[:nfs_machine_ip]
|
4
|
+
module VagrantWinNFSd
|
5
|
+
class SyncedFolder < VagrantPlugins::SyncedFolderNFS::SyncedFolder
|
6
|
+
def enable(machine, folders, nfsopts)
|
7
|
+
raise Vagrant::Errors::NFSNoHostIP unless nfsopts[:nfs_host_ip]
|
8
|
+
raise Vagrant::Errors::NFSNoGuestIP unless nfsopts[:nfs_machine_ip]
|
10
9
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
end
|
10
|
+
if machine.guest.capability?(:nfs_client_installed)
|
11
|
+
installed = machine.guest.capability(:nfs_client_installed)
|
12
|
+
unless installed
|
13
|
+
can_install = machine.guest.capability?(:nfs_client_install)
|
14
|
+
raise Vagrant::Errors::NFSClientNotInstalledInGuest unless can_install
|
15
|
+
machine.ui.info I18n.t("vagrant.actions.vm.nfs.installing")
|
16
|
+
machine.guest.capability(:nfs_client_install)
|
19
17
|
end
|
18
|
+
end
|
20
19
|
|
21
|
-
|
22
|
-
|
20
|
+
machine_ip = nfsopts[:nfs_machine_ip]
|
21
|
+
machine_ip = [machine_ip] unless machine_ip.is_a?(Array)
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
# Prepare the folder, this means setting up various options
|
24
|
+
# and such on the folder itself.
|
25
|
+
folders.each { |id, opts| prepare_folder(machine, opts) }
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
end
|
27
|
+
# Determine what folders we'll export
|
28
|
+
export_folders = folders.dup
|
29
|
+
export_folders.keys.each do |id|
|
30
|
+
opts = export_folders[id]
|
31
|
+
if opts.has_key?(:nfs_export) && !opts[:nfs_export]
|
32
|
+
export_folders.delete(id)
|
35
33
|
end
|
34
|
+
end
|
36
35
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
end
|
48
|
-
rescue Vagrant::Errors::EnvironmentLockedError
|
49
|
-
sleep 1
|
50
|
-
retry
|
36
|
+
# Export the folders. We do this with a class-wide lock because
|
37
|
+
# NFS exporting often requires sudo privilege and we don't want
|
38
|
+
# overlapping input requests. [GH-2680]
|
39
|
+
@@lock.synchronize do
|
40
|
+
begin
|
41
|
+
machine.env.lock("nfs-export") do
|
42
|
+
machine.ui.info I18n.t("vagrant.actions.vm.nfs.exporting")
|
43
|
+
machine.env.host.capability(
|
44
|
+
:nfs_export,
|
45
|
+
machine.ui, machine.id, machine_ip, export_folders)
|
51
46
|
end
|
47
|
+
rescue Vagrant::Errors::EnvironmentLockedError
|
48
|
+
sleep 1
|
49
|
+
retry
|
52
50
|
end
|
51
|
+
end
|
53
52
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
# Only mount folders that have a guest path specified.
|
58
|
-
mount_folders = {}
|
59
|
-
folders.each do |id, opts|
|
60
|
-
if Vagrant::Util::Platform.windows?
|
61
|
-
unless opts[:mount_options]
|
62
|
-
mount_opts = ["vers=#{opts[:nfs_version]}"]
|
63
|
-
mount_opts << "udp" if opts[:nfs_udp]
|
64
|
-
mount_opts << "nolock"
|
53
|
+
# Mount
|
54
|
+
machine.ui.info I18n.t("vagrant.actions.vm.nfs.mounting")
|
65
55
|
|
66
|
-
|
67
|
-
|
56
|
+
# Only mount folders that have a guest path specified.
|
57
|
+
mount_folders = {}
|
58
|
+
folders.each do |id, opts|
|
59
|
+
if Vagrant::Util::Platform.windows?
|
60
|
+
unless opts[:mount_options]
|
61
|
+
mount_opts = ["vers=#{opts[:nfs_version]}"]
|
62
|
+
mount_opts << "udp" if opts[:nfs_udp]
|
63
|
+
mount_opts << "nolock"
|
68
64
|
|
69
|
-
opts[:
|
65
|
+
opts[:mount_options] = mount_opts
|
70
66
|
end
|
71
|
-
mount_folders[id] = opts.dup if opts[:guestpath]
|
72
|
-
end
|
73
67
|
|
74
|
-
|
75
|
-
|
76
|
-
|
68
|
+
opts[:hostpath] = '/' + opts[:hostpath].gsub(':', '').gsub('\\', '/')
|
69
|
+
end
|
70
|
+
mount_folders[id] = opts.dup if opts[:guestpath]
|
77
71
|
end
|
72
|
+
|
73
|
+
# Mount them!
|
74
|
+
machine.guest.capability(
|
75
|
+
:mount_nfs_folder, nfsopts[:nfs_host_ip], mount_folders)
|
78
76
|
end
|
79
77
|
end
|
80
|
-
end
|
78
|
+
end
|
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
end
|
1
|
+
|
2
|
+
module VagrantWinNFSd
|
3
|
+
VERSION = '1.0.7'
|
4
|
+
end
|
data/vagrant-winnfsd.gemspec
CHANGED
@@ -3,7 +3,7 @@ require "vagrant-winnfsd/version"
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
5
|
gem.name = 'vagrant-winnfsd'
|
6
|
-
gem.version =
|
6
|
+
gem.version = VagrantWinNFSd::VERSION
|
7
7
|
|
8
8
|
gem.summary = 'Adds NFS support for Windows'
|
9
9
|
gem.description = <<-EOD
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-winnfsd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Schneider
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |2
|
14
14
|
Manage and adds support for NFS on windows.
|
@@ -23,7 +23,8 @@ files:
|
|
23
23
|
- CHANGELOG
|
24
24
|
- Gemfile
|
25
25
|
- lib/vagrant-winnfsd/cap/nfs.rb
|
26
|
-
- lib/vagrant-winnfsd/config.rb
|
26
|
+
- lib/vagrant-winnfsd/config/config.rb
|
27
|
+
- lib/vagrant-winnfsd/config/winnfsd.rb
|
27
28
|
- lib/vagrant-winnfsd/plugin.rb
|
28
29
|
- lib/vagrant-winnfsd/synced_folder.rb
|
29
30
|
- lib/vagrant-winnfsd/version.rb
|