vagrant-parallels 1.4.0.rc1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/lib/vagrant-parallels/driver/base.rb +7 -3
  3. data/lib/vagrant-parallels/version.rb +1 -1
  4. data/test/unit/driver/pd_8_test.rb +0 -20
  5. data/test/unit/driver/pd_9_test.rb +0 -21
  6. data/test/unit/support/shared/pd_driver_examples.rb +21 -0
  7. data/vagrant-parallels.gemspec +1 -0
  8. metadata +2 -38
  9. data/website/docs/build/404.html +0 -134
  10. data/website/docs/build/docs/boxes/base.html +0 -207
  11. data/website/docs/build/docs/boxes/index.html +0 -161
  12. data/website/docs/build/docs/boxes/packer.html +0 -181
  13. data/website/docs/build/docs/boxes/veewee.html +0 -225
  14. data/website/docs/build/docs/configuration.html +0 -231
  15. data/website/docs/build/docs/contacts.html +0 -134
  16. data/website/docs/build/docs/getting-started.html +0 -164
  17. data/website/docs/build/docs/index.html +0 -157
  18. data/website/docs/build/docs/installation/index.html +0 -152
  19. data/website/docs/build/docs/installation/uninstallation.html +0 -141
  20. data/website/docs/build/docs/installation/updating.html +0 -139
  21. data/website/docs/build/docs/networking/forwarded_ports.html +0 -196
  22. data/website/docs/build/docs/networking/index.html +0 -155
  23. data/website/docs/build/docs/networking/private_network.html +0 -177
  24. data/website/docs/build/docs/networking/public_network.html +0 -173
  25. data/website/docs/build/docs/share.html +0 -151
  26. data/website/docs/build/docs/usage.html +0 -146
  27. data/website/docs/build/images/current_pointer-539d41b3.png +0 -0
  28. data/website/docs/build/images/footer_pd_logo-6ec6c3c6.png +0 -0
  29. data/website/docs/build/images/footer_vagrant_logo-8c7e7b39.png +0 -0
  30. data/website/docs/build/images/logo_docs-7e96bb5e.png +0 -0
  31. data/website/docs/build/images/logo_docs_small-c0512386.png +0 -0
  32. data/website/docs/build/images/nav_divider-0c73f644.png +0 -0
  33. data/website/docs/build/images/open_close-8d5572c4.png +0 -0
  34. data/website/docs/build/index.html +0 -157
  35. data/website/docs/build/javascripts/backstretch-f9c163c1.js +0 -4
  36. data/website/docs/build/javascripts/bootstrap.min-98cc7a22.js +0 -7
  37. data/website/docs/build/javascripts/fittext-b487af57.js +0 -10
  38. data/website/docs/build/javascripts/grid-overlay-19e89cad.js +0 -19
  39. data/website/docs/build/javascripts/jquery-15b079d7.js +0 -3
  40. data/website/docs/build/javascripts/less-1.3.0.min-0bbbfaf9.js +0 -3
  41. data/website/docs/build/javascripts/modernizr-d56a170f.js +0 -8
  42. data/website/docs/build/javascripts/vagrant-parallels-966ff22c.js +0 -1
  43. data/website/docs/build/stylesheets/bootstrap-8082a218.css +0 -9
  44. data/website/docs/build/stylesheets/vagrant-parallels-a389b6ea.css +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8b4e446a9236fe27c45d9f8e79cbc7e5debda99d
4
- data.tar.gz: c27a4ff8d5072c5ec13e77867b6b006aaf430be7
3
+ metadata.gz: 306ebd48d59715804e53acffe8374dce654da8d6
4
+ data.tar.gz: fec3081ce4be30623c2cbe6e9382748d54791369
5
5
  SHA512:
6
- metadata.gz: da331c7f9b348afc57b8e4cd35ac95d9db2ef6691c77e30de2c54a7ebcbf842dc02e90fb842dfa1855e60a66a152714243189e3f6f55388d4ba2042bff6af014
7
- data.tar.gz: a30ce5518be12603fc39e76e196f84ac48d664cabe89ca14f4d9f006ad6a89ffe497cd08ba014f53e5db378d592c03c993cd62fe25e19cd350363032277ae8b7
6
+ metadata.gz: 9d9850ddedfb13d1876f207bfe07d57e131a438a65638c02d003f1f447bf23378b9ef16ef901b80e478aee78c51fc3629f004458c017da57ca7e757049f8d6c3
7
+ data.tar.gz: 0a838571c3b37e78c99e129fd5d2bddfa6910ac2b07a90211f616995aaed665c9400aa723da566def421b82b26bf65f4a263b0ab8b10bab94a74407534517d88
@@ -261,14 +261,15 @@ module VagrantPlugins
261
261
  # Returns an IP of the virtual machine. It requires that Shared network
262
262
  # adapter is configured for this VM and it obtains an IP via DHCP.
263
263
  #
264
- #
265
264
  # @return [String] IP address leased by DHCP server in "Shared" network
266
265
  def read_guest_ip
267
266
  mac_addr = read_mac_address.downcase
268
267
  leases_file = '/Library/Preferences/Parallels/parallels_dhcp_leases'
268
+ leases = {}
269
269
  begin
270
270
  File.open(leases_file).grep(/#{mac_addr}/) do |line|
271
- return line[/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/]
271
+ _, ip, exp, dur, _, _ = line.split /([\d.]*)="(\d*),(\d*),(\w*),(\w*)".*/
272
+ leases[ip] = exp.to_i - dur.to_i
272
273
  end
273
274
  rescue Errno::EACCES
274
275
  raise Errors::DhcpLeasesNotAccessible, :leases_file => leases_file.to_s
@@ -278,7 +279,10 @@ module VagrantPlugins
278
279
  return nil
279
280
  end
280
281
 
281
- nil
282
+ return nil if leases.empty?
283
+
284
+ # Get the most resent lease and return an associated IP
285
+ leases.sort_by { |_ip, lease_time| lease_time }.last.first
282
286
  end
283
287
 
284
288
  # Returns path to the Parallels Tools ISO file.
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Parallels
3
- VERSION = '1.4.0.rc1'
3
+ VERSION = '1.4.0'
4
4
  end
5
5
  end
@@ -7,24 +7,4 @@ describe VagrantPlugins::Parallels::Driver::PD_8 do
7
7
  subject { VagrantPlugins::Parallels::Driver::Meta.new(uuid) }
8
8
 
9
9
  it_behaves_like "parallels desktop driver"
10
-
11
- describe "ssh_ip" do
12
- let(:content) {'10.200.0.99="1394547632,1800,001c420000ff,01001c420000ff"'}
13
-
14
- it "returns an IP address assigned to the specified MAC" do
15
- driver.should_receive(:read_mac_address).and_return("001C420000FF")
16
- File.should_receive(:open).with(an_instance_of(String)).
17
- and_return(StringIO.new(content))
18
-
19
- subject.ssh_ip.should == "10.200.0.99"
20
- end
21
-
22
- it "rises DhcpLeasesNotAccessible exception when file is not accessible" do
23
- File.stub(:open).and_call_original
24
- File.should_receive(:open).with(an_instance_of(String)).
25
- and_raise(Errno::EACCES)
26
- expect { subject.ssh_ip }.
27
- to raise_error(VagrantPlugins::Parallels::Errors::DhcpLeasesNotAccessible)
28
- end
29
- end
30
10
  end
@@ -26,25 +26,4 @@ describe VagrantPlugins::Parallels::Driver::PD_9 do
26
26
  subject.set_power_consumption_mode(false)
27
27
  end
28
28
  end
29
-
30
- describe "ssh_ip" do
31
- let(:content) {'10.200.0.99="1394547632,1800,001c420000ff,01001c420000ff"'}
32
-
33
- it "returns an IP address assigned to the specified MAC" do
34
- driver.should_receive(:read_mac_address).and_return("001C420000FF")
35
- File.should_receive(:open).with(an_instance_of(String)).
36
- and_return(StringIO.new(content))
37
-
38
- subject.ssh_ip.should == "10.200.0.99"
39
- end
40
-
41
- it "rises DhcpLeasesNotAccessible exception when file is not accessible" do
42
- File.stub(:open).and_call_original
43
- File.should_receive(:open).with(an_instance_of(String)).
44
- and_raise(Errno::EACCES)
45
- expect { subject.ssh_ip }.
46
- to raise_error(VagrantPlugins::Parallels::Errors::DhcpLeasesNotAccessible)
47
- end
48
- end
49
-
50
29
  end
@@ -269,6 +269,27 @@ shared_examples "parallels desktop driver" do |options|
269
269
  end
270
270
  end
271
271
 
272
+ describe "ssh_ip" do
273
+ let(:content) {'10.200.0.100="1394546410,1800,001c420000ff,01001c420000ff
274
+ 10.200.0.99="1394547632,1800,001c420000ff,01001c420000ff"'}
275
+
276
+ it "returns an IP address assigned to the specified MAC" do
277
+ driver.should_receive(:read_mac_address).and_return("001C420000FF")
278
+ File.should_receive(:open).with(an_instance_of(String)).
279
+ and_return(StringIO.new(content))
280
+
281
+ subject.ssh_ip.should == "10.200.0.99"
282
+ end
283
+
284
+ it "rises DhcpLeasesNotAccessible exception when file is not accessible" do
285
+ File.stub(:open).and_call_original
286
+ File.should_receive(:open).with(an_instance_of(String)).
287
+ and_raise(Errno::EACCES)
288
+ expect { subject.ssh_ip }.
289
+ to raise_error(VagrantPlugins::Parallels::Errors::DhcpLeasesNotAccessible)
290
+ end
291
+ end
292
+
272
293
  describe "start" do
273
294
  it "starts the VM" do
274
295
  subprocess.should_receive(:execute).
@@ -31,6 +31,7 @@ Gem::Specification.new do |spec|
31
31
  root_path = File.dirname(__FILE__)
32
32
  all_files = Dir.chdir(root_path) { Dir.glob("**/{*,.*}") }
33
33
  all_files.reject! { |file| [".", ".."].include?(File.basename(file)) }
34
+ all_files.reject! { |file| file.start_with?("website/") }
34
35
  gitignore_path = File.join(root_path, ".gitignore")
35
36
  gitignore = File.readlines(gitignore_path)
36
37
  gitignore.map! { |line| line.chomp.strip }
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: 1.4.0.rc1
4
+ version: 1.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: 2015-06-19 00:00:00.000000000 Z
12
+ date: 2015-06-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -181,42 +181,6 @@ files:
181
181
  - test/unit/synced_folder_test.rb
182
182
  - vagrant-parallels.gemspec
183
183
  - vagrant-spec.config.example.rb
184
- - website/docs/build/404.html
185
- - website/docs/build/docs/boxes/base.html
186
- - website/docs/build/docs/boxes/index.html
187
- - website/docs/build/docs/boxes/packer.html
188
- - website/docs/build/docs/boxes/veewee.html
189
- - website/docs/build/docs/configuration.html
190
- - website/docs/build/docs/contacts.html
191
- - website/docs/build/docs/getting-started.html
192
- - website/docs/build/docs/index.html
193
- - website/docs/build/docs/installation/index.html
194
- - website/docs/build/docs/installation/uninstallation.html
195
- - website/docs/build/docs/installation/updating.html
196
- - website/docs/build/docs/networking/forwarded_ports.html
197
- - website/docs/build/docs/networking/index.html
198
- - website/docs/build/docs/networking/private_network.html
199
- - website/docs/build/docs/networking/public_network.html
200
- - website/docs/build/docs/share.html
201
- - website/docs/build/docs/usage.html
202
- - website/docs/build/images/current_pointer-539d41b3.png
203
- - website/docs/build/images/footer_pd_logo-6ec6c3c6.png
204
- - website/docs/build/images/footer_vagrant_logo-8c7e7b39.png
205
- - website/docs/build/images/logo_docs-7e96bb5e.png
206
- - website/docs/build/images/logo_docs_small-c0512386.png
207
- - website/docs/build/images/nav_divider-0c73f644.png
208
- - website/docs/build/images/open_close-8d5572c4.png
209
- - website/docs/build/index.html
210
- - website/docs/build/javascripts/backstretch-f9c163c1.js
211
- - website/docs/build/javascripts/bootstrap.min-98cc7a22.js
212
- - website/docs/build/javascripts/fittext-b487af57.js
213
- - website/docs/build/javascripts/grid-overlay-19e89cad.js
214
- - website/docs/build/javascripts/jquery-15b079d7.js
215
- - website/docs/build/javascripts/less-1.3.0.min-0bbbfaf9.js
216
- - website/docs/build/javascripts/modernizr-d56a170f.js
217
- - website/docs/build/javascripts/vagrant-parallels-966ff22c.js
218
- - website/docs/build/stylesheets/bootstrap-8082a218.css
219
- - website/docs/build/stylesheets/vagrant-parallels-a389b6ea.css
220
184
  homepage: http://github.com/Parallels/vagrant-parallels
221
185
  licenses:
222
186
  - MIT
@@ -1,134 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
-
6
- <title>Vagrant Parallels Provider Documentation</title>
7
-
8
- <!-- meta -->
9
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
10
-
11
- <!-- lib styles -->
12
- <link href="stylesheets/bootstrap-8082a218.css" media="screen" rel="stylesheet" type="text/css" />
13
- <link href="stylesheets/vagrant-parallels-a389b6ea.css" media="screen" rel="stylesheet" type="text/css" />
14
-
15
- <!-- lib js -->
16
- <script src="javascripts/jquery-15b079d7.js" type="text/javascript"></script>
17
- <script src="javascripts/modernizr-d56a170f.js" type="text/javascript"></script>
18
- <script src="javascripts/bootstrap.min-98cc7a22.js" type="text/javascript"></script>
19
- <script src="javascripts/backstretch-f9c163c1.js" type="text/javascript"></script>
20
- <script src="javascripts/vagrant-parallels-966ff22c.js" type="text/javascript"></script>
21
-
22
- <!-- fonts -->
23
- <link href='http://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
24
-
25
- </head>
26
- <body>
27
- <!-- wrap everything -->
28
- <div class="wrapper">
29
-
30
- <!-- nav -->
31
-
32
- <nav class="docs">
33
- <div class="container">
34
- <!-- vagrant logo -->
35
- <a class="vagrant-docs-logo" href="docs/">Vagrant Parallels Documentation</a>
36
- <!-- nav -->
37
- <ul class="pull-right">
38
- <li><a href="https://docs.vagrantup.com">Vagrant Docs</a></li>
39
- <li><a href="https://github.com/Parallels/vagrant-parallels">Github</a></li>
40
- </ul>
41
- </div> <!-- container -->
42
- </nav>
43
-
44
- <div class="page docs docs-home">
45
- <div class="container">
46
- <div class="sidebar span4">
47
- <!-- get the sidebar nav -->
48
- <!-- side nav docs -->
49
- <aside class="sidebar-nav">
50
-
51
- <div class="toggle hidden-desktop">
52
- <div class="open-close open"></div>
53
- <a href="#">Contents</a>
54
- </div>
55
-
56
- <ul class="unstyled">
57
- <li><a href="docs/">Overview</a></li>
58
-
59
- <li><a href="docs/installation/">Installation</a></li>
60
-
61
-
62
- <li><a href="docs/usage.html">Usage</a></li>
63
-
64
- <li><a href="docs/getting-started.html">Getting Started</a></li>
65
-
66
- <li><a href="docs/share.html">Vagrant Share</a></li>
67
-
68
- <li><a href="docs/boxes/">Boxes</a></li>
69
-
70
-
71
- <li><a href="docs/configuration.html">Configuration</a></li>
72
-
73
- <li><a href="docs/networking/">Networking</a></li>
74
-
75
-
76
- <li><a href="docs/contacts.html">Contacts</a></li>
77
-
78
- </ul>
79
- </aside> <!-- /.sidebar -->
80
- </div> <!-- /.sidebar -->
81
-
82
- <div class="page-contents span9">
83
- <div class="page-background"></div>
84
-
85
- <!-- start page content -->
86
- <div class="row">
87
- <div class="span8 offset1">
88
- <h2>Page Not Found</h4>
89
-
90
- <p>
91
- Sorry, the page you tried to visit doesn't exist. This could be our fault,
92
- and if so we'll fix that up right away. Please go back, or go back
93
- <a href="/">home</a> to get back on track.
94
- </p>
95
-
96
- </div> <!-- /.span8 -->
97
- </div> <!-- /.row -->
98
- </div> <!-- /.page-contents -->
99
- </div> <!-- /.container -->
100
- </div> <!-- /.page -->
101
-
102
- <!-- footer -->
103
- <footer>
104
- <div class="container">
105
- <div class="row">
106
- <ul class="unstyled logos">
107
- <a href="http://www.vagrantup.com/downloads.html">
108
- <li class="vagrant-logo-monochrome">
109
- <p>Vagrant</p>
110
- </li>
111
- </a>
112
- <a href="http://www.parallels.com/downloads/desktop/">
113
- <li class="pd-logo-monochrome">
114
- <p>Parallels Desktop</p>
115
- </li>
116
- </a>
117
- </ul> <!-- /span -->
118
-
119
- </div> <!-- /row -->
120
-
121
- <div class="row">
122
- <h6 class="legal">
123
- &copy; 2015 Parallels IP Holdings GmbH.
124
- </h6>
125
- </div> <!-- row -->
126
- </div> <!-- container -->
127
- </footer>
128
-
129
- <!-- close .wrapper -->
130
- </div>
131
-
132
- <!-- load scripts -->
133
- </body>
134
- </html>
@@ -1,207 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
-
6
- <title> Creating a Base Box - Vagrant Parallels Provider Documentation</title>
7
-
8
- <!-- meta -->
9
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
10
-
11
- <!-- lib styles -->
12
- <link href="../../stylesheets/bootstrap-8082a218.css" media="screen" rel="stylesheet" type="text/css" />
13
- <link href="../../stylesheets/vagrant-parallels-a389b6ea.css" media="screen" rel="stylesheet" type="text/css" />
14
-
15
- <!-- lib js -->
16
- <script src="../../javascripts/jquery-15b079d7.js" type="text/javascript"></script>
17
- <script src="../../javascripts/modernizr-d56a170f.js" type="text/javascript"></script>
18
- <script src="../../javascripts/bootstrap.min-98cc7a22.js" type="text/javascript"></script>
19
- <script src="../../javascripts/backstretch-f9c163c1.js" type="text/javascript"></script>
20
- <script src="../../javascripts/vagrant-parallels-966ff22c.js" type="text/javascript"></script>
21
-
22
- <!-- fonts -->
23
- <link href='http://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
24
-
25
- </head>
26
- <body>
27
- <!-- wrap everything -->
28
- <div class="wrapper">
29
-
30
- <!-- nav -->
31
-
32
- <nav class="docs">
33
- <div class="container">
34
- <!-- vagrant logo -->
35
- <a class="vagrant-docs-logo" href="../">Vagrant Parallels Documentation</a>
36
- <!-- nav -->
37
- <ul class="pull-right">
38
- <li><a href="https://docs.vagrantup.com">Vagrant Docs</a></li>
39
- <li><a href="https://github.com/Parallels/vagrant-parallels">Github</a></li>
40
- </ul>
41
- </div> <!-- container -->
42
- </nav>
43
-
44
- <div class="page docs docs-home">
45
- <div class="container">
46
- <div class="sidebar span4">
47
- <!-- get the sidebar nav -->
48
- <!-- side nav docs -->
49
- <aside class="sidebar-nav">
50
-
51
- <div class="toggle hidden-desktop">
52
- <div class="open-close open"></div>
53
- <a href="#">Contents</a>
54
- </div>
55
-
56
- <ul class="unstyled">
57
- <li><a href="../">Overview</a></li>
58
-
59
- <li><a href="../installation/">Installation</a></li>
60
-
61
-
62
- <li><a href="../usage.html">Usage</a></li>
63
-
64
- <li><a href="../getting-started.html">Getting Started</a></li>
65
-
66
- <li><a href="../share.html">Vagrant Share</a></li>
67
-
68
- <li><a href="./">Boxes</a></li>
69
-
70
- <ul class="sub unstyled">
71
- <li class="current"><a href="base.html">Creating a Base Box</a></li>
72
- <li><a href="packer.html">Using Packer</a></li>
73
- <li><a href="veewee.html">Using Veewee</a></li>
74
- </ul>
75
-
76
-
77
- <li><a href="../configuration.html">Configuration</a></li>
78
-
79
- <li><a href="../networking/">Networking</a></li>
80
-
81
-
82
- <li><a href="../contacts.html">Contacts</a></li>
83
-
84
- </ul>
85
- </aside> <!-- /.sidebar -->
86
- </div> <!-- /.sidebar -->
87
-
88
- <div class="page-contents span9">
89
- <div class="page-background"></div>
90
-
91
- <!-- start page content -->
92
- <div class="row">
93
- <div class="span8 offset1">
94
- <h1>Creating a Base Box</h1>
95
-
96
- <div class="alert alert-warn">
97
- <p>
98
- <strong>Warning: Advanced Topic!</strong> Creating a base box can be a
99
- time consuming and tedious process, and is not recommended for new
100
- Vagrant users. If you're just getting started with Vagrant, we
101
- recommend trying to find <a href="https://atlas.hashicorp.com/parallels">
102
- existing base boxes</a> to use first.
103
- </p>
104
- </div>
105
-
106
- <p>This page documents the box format so that you can create your own base boxes
107
- manually.</p>
108
-
109
- <p>Prior to reading this page, please check out the <a href="http://docs.vagrantup.com/v2/boxes/format.html">basics of the Vagrant
110
- box file format</a>.</p>
111
-
112
- <h2>Contents</h2>
113
-
114
- <p>A Parallels base box is a compressed archive of the necessary contents of
115
- a Parallels &quot;pvm&quot; file. Here is an example of what is contained in such a box:</p>
116
-
117
- <pre><code>$ tree
118
- .
119
- ├── Vagrantfile
120
- ├── box.pvm
121
- │   ├── NVRAM.dat
122
- │   ├── VmInfo.pvi
123
- │   ├── config.pvs
124
- │   └── harddisk.hdd
125
- │   └── ...
126
- └── metadata.json
127
- </code></pre>
128
-
129
- <p><code>config.pvs</code> and <code>.hdd</code> files are strictly required for a Parallels virtual
130
- machine.</p>
131
-
132
- <p>There is also the &quot;metadata.json&quot; file used by Vagrant itself. This file
133
- contains nothing but the defaults which are documented on the <a href="http://docs.vagrantup.com/v2/boxes/format.html">box format</a> page.</p>
134
-
135
- <h2>Installed Software</h2>
136
-
137
- <p>Base boxes for the Parallels provider should have the following software
138
- installed, as a bare minimum:</p>
139
-
140
- <ul>
141
- <li><p>SSH server with key-based authentication setup. If you want the box to work
142
- with default Vagrant settings, the SSH user must be set to accept the <a href="https://github.com/mitchellh/vagrant/blob/master/keys/vagrant.pub">insecure
143
- keypair</a>
144
- that ships with Vagrant.</p></li>
145
- <li><p><a href="http://download.parallels.com/desktop/v9/ga/docs/en_US/
146
- Parallels%20Desktop%20User&amp;#x27;s%20Guide/32791.htm">Parallels Tools</a> so that things such as shared
147
- folders can function. There are many other benefits to installing the tools,
148
- such as networking configuration and device mapping.</p></li>
149
- </ul>
150
-
151
- <h2>Optimizing the Box Size</h2>
152
-
153
- <p>Prior to packaging up a box, you should shrink the hard drives as much as
154
- possible. This can be done with <code>prl_disk_tool</code>:</p>
155
-
156
- <pre><code>$ prl_disk_tool compact /path/to/harddisk.hdd
157
- </code></pre>
158
-
159
- <h2>Packaging</h2>
160
-
161
- <p>Remove any extraneous files from the &quot;pvm&quot; folder and package it. Be sure to
162
- compress the tar with gzip (done below in a single command) since Parallels
163
- hard disks are not compressed by default.</p>
164
-
165
- <pre><code>$ cd /path/to/my/box.pvm/..
166
- $ tar cvzf custom.box ./box.pvm ./Vagrantfile ./metadata.json
167
- </code></pre>
168
-
169
- </div> <!-- /.span8 -->
170
- </div> <!-- /.row -->
171
- </div> <!-- /.page-contents -->
172
- </div> <!-- /.container -->
173
- </div> <!-- /.page -->
174
-
175
- <!-- footer -->
176
- <footer>
177
- <div class="container">
178
- <div class="row">
179
- <ul class="unstyled logos">
180
- <a href="http://www.vagrantup.com/downloads.html">
181
- <li class="vagrant-logo-monochrome">
182
- <p>Vagrant</p>
183
- </li>
184
- </a>
185
- <a href="http://www.parallels.com/downloads/desktop/">
186
- <li class="pd-logo-monochrome">
187
- <p>Parallels Desktop</p>
188
- </li>
189
- </a>
190
- </ul> <!-- /span -->
191
-
192
- </div> <!-- /row -->
193
-
194
- <div class="row">
195
- <h6 class="legal">
196
- &copy; 2015 Parallels IP Holdings GmbH.
197
- </h6>
198
- </div> <!-- row -->
199
- </div> <!-- container -->
200
- </footer>
201
-
202
- <!-- close .wrapper -->
203
- </div>
204
-
205
- <!-- load scripts -->
206
- </body>
207
- </html>