vagrant-export 0.4.0 → 0.4.1
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/lib/vagrant-export/exporter.rb +24 -29
- data/lib/vagrant-export/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 081ac42c7d7c7fc536631f148a6169561e8ccd9a
|
4
|
+
data.tar.gz: 0a80a48a476b5e743a1f37ebd96dc02df126d844
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b38d562b1d89947f8139811cf1b799e4c90261a0d1532525e9007db2f5effd3551281598e156fb717115b3e9a33bbffab3d4e2ccf565ddf65a6ab849bd0dc4f
|
7
|
+
data.tar.gz: 05981e87e43e6fcbacbd76928adc728ad61e30fa9d3c4586f8d5cb4a2eb3fb5f8d502091895a1ecb533d9b3e49d2ec3fc8741c280558c0ea6802f55bb42d25e5
|
@@ -23,9 +23,8 @@ module VagrantPlugins
|
|
23
23
|
# @param bare Boolean
|
24
24
|
# @return string
|
25
25
|
def handle(fast, bare)
|
26
|
-
@
|
27
|
-
@
|
28
|
-
@tmp_path = nil
|
26
|
+
@private_key = nil
|
27
|
+
@tmp_path = nil
|
29
28
|
@box_file_name = nil
|
30
29
|
|
31
30
|
if @vm.state.short_description == 'not created'
|
@@ -66,9 +65,7 @@ module VagrantPlugins
|
|
66
65
|
protected
|
67
66
|
|
68
67
|
def can_compress
|
69
|
-
|
70
|
-
@did_run = true
|
71
|
-
else
|
68
|
+
unless @vm.state.short_description == 'running'
|
72
69
|
@vm.ui.info('Machine not running, bringing it up')
|
73
70
|
@vm.action(:up)
|
74
71
|
end
|
@@ -143,16 +140,16 @@ module VagrantPlugins
|
|
143
140
|
@logger.debug("Using vmware method for provider #{provider_name}")
|
144
141
|
|
145
142
|
current_dir = File.dirname(@vm.id)
|
146
|
-
|
143
|
+
vm_data_files = Dir.glob(File.join(current_dir, '**', '*'))
|
147
144
|
|
148
|
-
@logger.debug("Files found in #{current_dir}: #{
|
145
|
+
@logger.debug("Files found in #{current_dir}: #{vm_data_files}")
|
149
146
|
|
150
|
-
|
151
|
-
|
147
|
+
vm_data_files.select! { |f| !File.directory?(f) }
|
148
|
+
vm_data_files.select! { |f| f ~ /\.(vmdk|nvram|vmtm|vmx|vmxf)$/ }
|
152
149
|
|
153
150
|
@logger.debug("Copying #{files} to #{exported_path}")
|
154
151
|
|
155
|
-
FileUtils.cp_r(
|
152
|
+
FileUtils.cp_r(vm_data_files, exported_path)
|
156
153
|
|
157
154
|
@vm.ui.info('Compacting Vmware virtual disks')
|
158
155
|
|
@@ -179,8 +176,8 @@ module VagrantPlugins
|
|
179
176
|
@logger.debug(d)
|
180
177
|
|
181
178
|
unless io == :stdout
|
179
|
+
@env.ui.clear_line
|
182
180
|
if /\d+%/ =~ d
|
183
|
-
@env.ui.clear_line
|
184
181
|
@env.ui.info(d.match(/\d+%/).to_a.pop, new_line: false)
|
185
182
|
else
|
186
183
|
@logger.error(d)
|
@@ -214,13 +211,17 @@ module VagrantPlugins
|
|
214
211
|
end
|
215
212
|
|
216
213
|
# Copy additional files
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
214
|
+
unless bare
|
215
|
+
additional_files = Dir.glob(File.join(@vm.box.directory, '**', '*'))
|
216
|
+
additional_files.select! { |f| !File.directory?(f) }
|
217
|
+
additional_files.select! { |f| f !~ /(gz|core|lck|log|vmdk|ovf|ova)$/ }
|
218
|
+
additional_files.select! { |f| f !~ /(nvram|vmem|vmsd|vmsn|vmss|vmtm|vmx|vmxf)$/ }
|
219
|
+
additional_files.select! { |f| !File.file?(f.gsub(@vm.box.directory.to_s, @tmp_path.to_s)) }
|
220
|
+
|
221
|
+
@logger.debug("Copy includes #{additional_files} to #{@tmp_path}")
|
221
222
|
|
222
|
-
|
223
|
-
|
223
|
+
FileUtils.cp_r(additional_files, @tmp_path)
|
224
|
+
end
|
224
225
|
|
225
226
|
# Make sure the Vagrantfile includes a HMAC when the provider is virtualbox
|
226
227
|
if @vm.provider_name.to_s == 'virtualbox'
|
@@ -245,7 +246,7 @@ module VagrantPlugins
|
|
245
246
|
|
246
247
|
@logger.debug("Found HMAC setting in file #{vagrantfile_name.to_s}")
|
247
248
|
|
248
|
-
|
249
|
+
File.open(vagrantfile_name.to_s, mode) { |f|
|
249
250
|
hmac_address = @vm.provider.driver.read_mac_address
|
250
251
|
f.binmode
|
251
252
|
f.puts
|
@@ -264,8 +265,8 @@ module VagrantPlugins
|
|
264
265
|
|
265
266
|
Vagrant::Util::SafeChdir.safe_chdir(@tmp_path) do
|
266
267
|
|
267
|
-
|
268
|
-
@logger.debug("Create box file #{@box_file_name} containing #{
|
268
|
+
box_files = Dir.glob(File.join(@tmp_path, '**', '*'))
|
269
|
+
@logger.debug("Create box file #{@box_file_name} containing #{box_files}")
|
269
270
|
bash_exec = Vagrant::Util::Which.which('bash').to_s;
|
270
271
|
|
271
272
|
if File.executable?(bash_exec) && ['pv', 'tar', 'gzip'].all? {|cmd| Vagrant::Util::Which.which(cmd) != nil }
|
@@ -275,7 +276,7 @@ module VagrantPlugins
|
|
275
276
|
@logger.debug('Using custom packaging command to create progress output')
|
276
277
|
@env.ui.info('Starting compression', new_line: false)
|
277
278
|
|
278
|
-
|
279
|
+
box_files.each { |f|
|
279
280
|
total_size += File.size(f)
|
280
281
|
files_list.push(f.to_s.gsub(@tmp_path.to_s, '').gsub(/^[\/\\]+/, ''))
|
281
282
|
}
|
@@ -306,7 +307,7 @@ module VagrantPlugins
|
|
306
307
|
@env.ui.clear_line
|
307
308
|
|
308
309
|
else
|
309
|
-
Vagrant::Util::Subprocess.execute('bsdtar', '-czf', @box_file_name, *
|
310
|
+
Vagrant::Util::Subprocess.execute('bsdtar', '-czf', @box_file_name, *box_files)
|
310
311
|
end
|
311
312
|
end
|
312
313
|
|
@@ -322,12 +323,6 @@ module VagrantPlugins
|
|
322
323
|
FileUtils.mv(@box_file_name, target)
|
323
324
|
@vm.ui.info('Created ' + target)
|
324
325
|
end
|
325
|
-
|
326
|
-
# Resume the machine
|
327
|
-
if @did_run
|
328
|
-
@vm.ui.info('Bringing the machine back up')
|
329
|
-
@vm.action(:up)
|
330
|
-
end
|
331
326
|
end
|
332
327
|
end
|
333
328
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-export
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Georg Grossberger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06
|
11
|
+
date: 2015-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Export boxes to .box files including the original Vagrantfile and some
|
14
14
|
cleanups inside the VM
|