bmhatfield-vagrant 1.0.9 → 1.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/lib/vagrant/hosts/bsd.rb +38 -0
- data/lib/vagrant/version.rb +1 -1
- metadata +5 -37
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZTM0YWE3YTJjYjA2MzljNmJhNTY0N2M2ZDAyMGNlZjExYTlhNjIwZg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
YWI4YjIxNDMzYjNkOGJmYWY0NDMzYWVjMTczM2VjY2MxMTViZDIyMA==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NTBkYzhhNWMwM2ZjNTZkMzA0YTM1NzgxNWUwOTdiZjRhZTA4ZjA5MzU0ZDlm
|
10
|
+
YmY5YzAzZDJkMTM4NjNlMmE3NjQ2NGExOTRlMGE3NjVkY2MyY2Q0Mjk5ZjM1
|
11
|
+
ZGMzYmRkMWZlNGQ2NGExYmFiMjY5Zjc5YmRmYzIwZmM0YzE1MmU=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NDU1MWM5M2ZiZTg0Yzk4MTlmMDg3NDk5NWU4YTdlNzQyZDQzOTIzMDQ2OWY1
|
14
|
+
ZmI4NDYxY2MwMGNiMmQxOWJiZTQ5NzVkY2UwNmZkMmY0Y2RkMDExN2I3M2Yw
|
15
|
+
MjUwOGQ3YTE1ZjExOGUyMzk1ZTMwNmNmN2ExYzk1OGJlZDA2NWI=
|
data/lib/vagrant/hosts/bsd.rb
CHANGED
@@ -27,6 +27,42 @@ module Vagrant
|
|
27
27
|
@nfs_exports_template = "nfs/exports"
|
28
28
|
end
|
29
29
|
|
30
|
+
# Create the sudoers.d directory, update /etc/sudoers, and create /etc/sudoers.d/vagrant
|
31
|
+
# https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/sudoers.5.html
|
32
|
+
def create_vagrant_sudoers_policy
|
33
|
+
sudoersd_dir = '/etc/sudoers.d'
|
34
|
+
|
35
|
+
# This block should only run the first time vagrant is run on a new host
|
36
|
+
unless File.exists? "#{sudoersd_dir}/vagrant"
|
37
|
+
sudoers_file = '/etc/sudoers'
|
38
|
+
sudoers_include = '\n#includedir /etc/sudoers.d'
|
39
|
+
vagrant_sudoersd_filename = "#{sudoersd_dir}/vagrant"
|
40
|
+
# We cannot use heredoc since echo doesn't handle the multiline input properly
|
41
|
+
content = "# Allow passwordless startup of Vagrant when using NFS.\nCmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/su root -c echo '*' >> /etc/exports\nCmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart\nCmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -e /*/ d -ibak /etc/exports\n%staff ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE\n"
|
42
|
+
|
43
|
+
# To avoid breaking sudo, we must create this directory before updating /etc/sudoers
|
44
|
+
@ui.info "creating #{sudoersd_dir}"
|
45
|
+
result = system "sudo mkdir #{sudoersd_dir}"
|
46
|
+
raise StandardError, "sudo mkdir #{sudoersd_dir} failed" unless result
|
47
|
+
|
48
|
+
# Use backticks to capture stdout
|
49
|
+
sudoers = `sudo cat #{sudoers_file}`
|
50
|
+
unless sudoers.include? sudoers_include
|
51
|
+
@ui.info "Adding '#{sudoers_include}' to #{sudoers_file}"
|
52
|
+
result = system "echo '#{sudoers_include}' | sudo tee -a #{sudoers_file}"
|
53
|
+
raise StandardError, "echo '#{sudoers_include}' | sudo tee -a #{sudoers_file} failed" unless result
|
54
|
+
end
|
55
|
+
|
56
|
+
@ui.info "Adding #{sudoersd_dir}/vagrant file"
|
57
|
+
result = system "echo '#{content}' | sudo tee #{vagrant_sudoersd_filename}"
|
58
|
+
raise StandardError, "echo '#{content}' | sudo tee #{vagrant_sudoersd_filename} failed" unless result
|
59
|
+
|
60
|
+
@ui.info "Updating #{sudoersd_dir}/vagrant permissions to 0440"
|
61
|
+
result = system "sudo chmod 0440 #{vagrant_sudoersd_filename}"
|
62
|
+
raise StandardError, "sudo chmod 0440 #{vagrant_sudoersd_filename} failed" unless result
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
30
66
|
def nfs?
|
31
67
|
retryable(:tries => 10, :on => TypeError) do
|
32
68
|
system("which nfsd > /dev/null 2>&1")
|
@@ -86,6 +122,8 @@ module Vagrant
|
|
86
122
|
protected
|
87
123
|
|
88
124
|
def nfs_cleanup(id)
|
125
|
+
create_vagrant_sudoers_policy
|
126
|
+
|
89
127
|
return if !File.exist?("/etc/exports")
|
90
128
|
|
91
129
|
# Use sed to just strip out the block of code which was inserted
|
data/lib/vagrant/version.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bmhatfield-vagrant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.10
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Mitchell Hashimoto
|
@@ -10,12 +9,11 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2014-02-19 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: archive-tar-minitar
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
18
|
- - '='
|
21
19
|
- !ruby/object:Gem::Version
|
@@ -23,7 +21,6 @@ dependencies:
|
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
25
|
- - '='
|
29
26
|
- !ruby/object:Gem::Version
|
@@ -31,7 +28,6 @@ dependencies:
|
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: childprocess
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
32
|
- - ~>
|
37
33
|
- !ruby/object:Gem::Version
|
@@ -39,7 +35,6 @@ dependencies:
|
|
39
35
|
type: :runtime
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
39
|
- - ~>
|
45
40
|
- !ruby/object:Gem::Version
|
@@ -47,7 +42,6 @@ dependencies:
|
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: erubis
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
46
|
- - ~>
|
53
47
|
- !ruby/object:Gem::Version
|
@@ -55,7 +49,6 @@ dependencies:
|
|
55
49
|
type: :runtime
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
53
|
- - ~>
|
61
54
|
- !ruby/object:Gem::Version
|
@@ -63,7 +56,6 @@ dependencies:
|
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: i18n
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
60
|
- - ~>
|
69
61
|
- !ruby/object:Gem::Version
|
@@ -71,7 +63,6 @@ dependencies:
|
|
71
63
|
type: :runtime
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
67
|
- - ~>
|
77
68
|
- !ruby/object:Gem::Version
|
@@ -79,7 +70,6 @@ dependencies:
|
|
79
70
|
- !ruby/object:Gem::Dependency
|
80
71
|
name: json
|
81
72
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
73
|
requirements:
|
84
74
|
- - ! '>='
|
85
75
|
- !ruby/object:Gem::Version
|
@@ -90,7 +80,6 @@ dependencies:
|
|
90
80
|
type: :runtime
|
91
81
|
prerelease: false
|
92
82
|
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
none: false
|
94
83
|
requirements:
|
95
84
|
- - ! '>='
|
96
85
|
- !ruby/object:Gem::Version
|
@@ -101,7 +90,6 @@ dependencies:
|
|
101
90
|
- !ruby/object:Gem::Dependency
|
102
91
|
name: log4r
|
103
92
|
requirement: !ruby/object:Gem::Requirement
|
104
|
-
none: false
|
105
93
|
requirements:
|
106
94
|
- - ~>
|
107
95
|
- !ruby/object:Gem::Version
|
@@ -109,7 +97,6 @@ dependencies:
|
|
109
97
|
type: :runtime
|
110
98
|
prerelease: false
|
111
99
|
version_requirements: !ruby/object:Gem::Requirement
|
112
|
-
none: false
|
113
100
|
requirements:
|
114
101
|
- - ~>
|
115
102
|
- !ruby/object:Gem::Version
|
@@ -117,7 +104,6 @@ dependencies:
|
|
117
104
|
- !ruby/object:Gem::Dependency
|
118
105
|
name: net-ssh
|
119
106
|
requirement: !ruby/object:Gem::Requirement
|
120
|
-
none: false
|
121
107
|
requirements:
|
122
108
|
- - ~>
|
123
109
|
- !ruby/object:Gem::Version
|
@@ -125,7 +111,6 @@ dependencies:
|
|
125
111
|
type: :runtime
|
126
112
|
prerelease: false
|
127
113
|
version_requirements: !ruby/object:Gem::Requirement
|
128
|
-
none: false
|
129
114
|
requirements:
|
130
115
|
- - ~>
|
131
116
|
- !ruby/object:Gem::Version
|
@@ -133,7 +118,6 @@ dependencies:
|
|
133
118
|
- !ruby/object:Gem::Dependency
|
134
119
|
name: net-scp
|
135
120
|
requirement: !ruby/object:Gem::Requirement
|
136
|
-
none: false
|
137
121
|
requirements:
|
138
122
|
- - ~>
|
139
123
|
- !ruby/object:Gem::Version
|
@@ -141,7 +125,6 @@ dependencies:
|
|
141
125
|
type: :runtime
|
142
126
|
prerelease: false
|
143
127
|
version_requirements: !ruby/object:Gem::Requirement
|
144
|
-
none: false
|
145
128
|
requirements:
|
146
129
|
- - ~>
|
147
130
|
- !ruby/object:Gem::Version
|
@@ -149,7 +132,6 @@ dependencies:
|
|
149
132
|
- !ruby/object:Gem::Dependency
|
150
133
|
name: rake
|
151
134
|
requirement: !ruby/object:Gem::Requirement
|
152
|
-
none: false
|
153
135
|
requirements:
|
154
136
|
- - ! '>='
|
155
137
|
- !ruby/object:Gem::Version
|
@@ -157,7 +139,6 @@ dependencies:
|
|
157
139
|
type: :development
|
158
140
|
prerelease: false
|
159
141
|
version_requirements: !ruby/object:Gem::Requirement
|
160
|
-
none: false
|
161
142
|
requirements:
|
162
143
|
- - ! '>='
|
163
144
|
- !ruby/object:Gem::Version
|
@@ -165,7 +146,6 @@ dependencies:
|
|
165
146
|
- !ruby/object:Gem::Dependency
|
166
147
|
name: contest
|
167
148
|
requirement: !ruby/object:Gem::Requirement
|
168
|
-
none: false
|
169
149
|
requirements:
|
170
150
|
- - ! '>='
|
171
151
|
- !ruby/object:Gem::Version
|
@@ -173,7 +153,6 @@ dependencies:
|
|
173
153
|
type: :development
|
174
154
|
prerelease: false
|
175
155
|
version_requirements: !ruby/object:Gem::Requirement
|
176
|
-
none: false
|
177
156
|
requirements:
|
178
157
|
- - ! '>='
|
179
158
|
- !ruby/object:Gem::Version
|
@@ -181,7 +160,6 @@ dependencies:
|
|
181
160
|
- !ruby/object:Gem::Dependency
|
182
161
|
name: minitest
|
183
162
|
requirement: !ruby/object:Gem::Requirement
|
184
|
-
none: false
|
185
163
|
requirements:
|
186
164
|
- - ~>
|
187
165
|
- !ruby/object:Gem::Version
|
@@ -189,7 +167,6 @@ dependencies:
|
|
189
167
|
type: :development
|
190
168
|
prerelease: false
|
191
169
|
version_requirements: !ruby/object:Gem::Requirement
|
192
|
-
none: false
|
193
170
|
requirements:
|
194
171
|
- - ~>
|
195
172
|
- !ruby/object:Gem::Version
|
@@ -197,7 +174,6 @@ dependencies:
|
|
197
174
|
- !ruby/object:Gem::Dependency
|
198
175
|
name: mocha
|
199
176
|
requirement: !ruby/object:Gem::Requirement
|
200
|
-
none: false
|
201
177
|
requirements:
|
202
178
|
- - ! '>='
|
203
179
|
- !ruby/object:Gem::Version
|
@@ -205,7 +181,6 @@ dependencies:
|
|
205
181
|
type: :development
|
206
182
|
prerelease: false
|
207
183
|
version_requirements: !ruby/object:Gem::Requirement
|
208
|
-
none: false
|
209
184
|
requirements:
|
210
185
|
- - ! '>='
|
211
186
|
- !ruby/object:Gem::Version
|
@@ -213,7 +188,6 @@ dependencies:
|
|
213
188
|
- !ruby/object:Gem::Dependency
|
214
189
|
name: rspec-core
|
215
190
|
requirement: !ruby/object:Gem::Requirement
|
216
|
-
none: false
|
217
191
|
requirements:
|
218
192
|
- - ~>
|
219
193
|
- !ruby/object:Gem::Version
|
@@ -221,7 +195,6 @@ dependencies:
|
|
221
195
|
type: :development
|
222
196
|
prerelease: false
|
223
197
|
version_requirements: !ruby/object:Gem::Requirement
|
224
|
-
none: false
|
225
198
|
requirements:
|
226
199
|
- - ~>
|
227
200
|
- !ruby/object:Gem::Version
|
@@ -229,7 +202,6 @@ dependencies:
|
|
229
202
|
- !ruby/object:Gem::Dependency
|
230
203
|
name: rspec-expectations
|
231
204
|
requirement: !ruby/object:Gem::Requirement
|
232
|
-
none: false
|
233
205
|
requirements:
|
234
206
|
- - ~>
|
235
207
|
- !ruby/object:Gem::Version
|
@@ -237,7 +209,6 @@ dependencies:
|
|
237
209
|
type: :development
|
238
210
|
prerelease: false
|
239
211
|
version_requirements: !ruby/object:Gem::Requirement
|
240
|
-
none: false
|
241
212
|
requirements:
|
242
213
|
- - ~>
|
243
214
|
- !ruby/object:Gem::Version
|
@@ -245,7 +216,6 @@ dependencies:
|
|
245
216
|
- !ruby/object:Gem::Dependency
|
246
217
|
name: rspec-mocks
|
247
218
|
requirement: !ruby/object:Gem::Requirement
|
248
|
-
none: false
|
249
219
|
requirements:
|
250
220
|
- - ~>
|
251
221
|
- !ruby/object:Gem::Version
|
@@ -253,7 +223,6 @@ dependencies:
|
|
253
223
|
type: :development
|
254
224
|
prerelease: false
|
255
225
|
version_requirements: !ruby/object:Gem::Requirement
|
256
|
-
none: false
|
257
226
|
requirements:
|
258
227
|
- - ~>
|
259
228
|
- !ruby/object:Gem::Version
|
@@ -682,26 +651,25 @@ files:
|
|
682
651
|
- .yardopts
|
683
652
|
homepage: http://vagrantup.com
|
684
653
|
licenses: []
|
654
|
+
metadata: {}
|
685
655
|
post_install_message:
|
686
656
|
rdoc_options: []
|
687
657
|
require_paths:
|
688
658
|
- lib
|
689
659
|
required_ruby_version: !ruby/object:Gem::Requirement
|
690
|
-
none: false
|
691
660
|
requirements:
|
692
661
|
- - ! '>='
|
693
662
|
- !ruby/object:Gem::Version
|
694
663
|
version: '0'
|
695
664
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
696
|
-
none: false
|
697
665
|
requirements:
|
698
666
|
- - ! '>='
|
699
667
|
- !ruby/object:Gem::Version
|
700
668
|
version: 1.3.6
|
701
669
|
requirements: []
|
702
670
|
rubyforge_project: vagrant
|
703
|
-
rubygems_version: 1.
|
671
|
+
rubygems_version: 2.1.11
|
704
672
|
signing_key:
|
705
|
-
specification_version:
|
673
|
+
specification_version: 4
|
706
674
|
summary: Build and distribute virtualized development environments.
|
707
675
|
test_files: []
|