boxgrinder-build 0.8.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. data/CHANGELOG +14 -0
  2. data/README.md +136 -0
  3. data/Rakefile +11 -6
  4. data/bin/boxgrinder-build +199 -0
  5. data/boxgrinder-build.gemspec +26 -14
  6. data/lib/boxgrinder-build/appliance.rb +6 -6
  7. data/lib/boxgrinder-build/helpers/guestfs-helper.rb +5 -3
  8. data/lib/boxgrinder-build/helpers/image-helper.rb +6 -0
  9. data/lib/boxgrinder-build/helpers/plugin-helper.rb +15 -4
  10. data/lib/boxgrinder-build/plugins/base-plugin.rb +1 -0
  11. data/lib/boxgrinder-build/plugins/delivery/ebs/ebs-plugin.rb +280 -0
  12. data/lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb +66 -0
  13. data/lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb +242 -0
  14. data/lib/boxgrinder-build/plugins/delivery/s3/src/cert-ec2.pem +23 -0
  15. data/lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb +152 -0
  16. data/lib/boxgrinder-build/plugins/delivery/usb/usb-plugin.rb +43 -0
  17. data/lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb +46 -0
  18. data/lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb +61 -0
  19. data/lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb +67 -0
  20. data/lib/boxgrinder-build/plugins/os/rpm-based/kickstart.rb +118 -0
  21. data/lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb +202 -0
  22. data/lib/boxgrinder-build/plugins/os/rpm-based/rpm-dependency-validator.rb +153 -0
  23. data/lib/boxgrinder-build/plugins/os/rpm-based/src/appliance.ks.erb +37 -0
  24. data/lib/boxgrinder-build/plugins/os/rpm-based/src/base.repo +4 -0
  25. data/lib/boxgrinder-build/plugins/os/rpm-based/src/motd.init +21 -0
  26. data/lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb +239 -0
  27. data/lib/boxgrinder-build/plugins/platform/ec2/src/fstab_32bit +7 -0
  28. data/lib/boxgrinder-build/plugins/platform/ec2/src/fstab_64bit +7 -0
  29. data/lib/boxgrinder-build/plugins/platform/ec2/src/ifcfg-eth0 +7 -0
  30. data/lib/boxgrinder-build/plugins/platform/ec2/src/menu.lst +6 -0
  31. data/lib/boxgrinder-build/plugins/platform/ec2/src/rc_local +19 -0
  32. data/lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb +62 -0
  33. data/lib/boxgrinder-build/plugins/platform/vmware/src/README-enterprise +18 -0
  34. data/lib/boxgrinder-build/plugins/platform/vmware/src/README-personal +16 -0
  35. data/lib/boxgrinder-build/plugins/platform/vmware/src/base.vmdk +20 -0
  36. data/lib/boxgrinder-build/plugins/platform/vmware/src/base.vmx +45 -0
  37. data/lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb +194 -0
  38. data/rubygem-boxgrinder-build.spec +73 -10
  39. data/spec/appliance-spec.rb +2 -2
  40. data/spec/helpers/guestfs-helper-spec.rb +4 -2
  41. data/spec/helpers/image-helper-spec.rb +4 -0
  42. data/spec/helpers/plugin-helper-spec.rb +0 -38
  43. data/spec/managers/plugin-manager-spec.rb +6 -6
  44. data/spec/plugins/delivery/ebs/ebs-plugin-spec.rb +230 -0
  45. data/spec/plugins/delivery/ebs/ebs.yaml +3 -0
  46. data/spec/plugins/delivery/local/local-plugin-spec.rb +133 -0
  47. data/spec/plugins/delivery/s3/s3-plugin-spec.rb +351 -0
  48. data/spec/plugins/delivery/sftp/sftp-plugin-spec.rb +26 -0
  49. data/spec/plugins/os/centos/centos-plugin-spec.rb +52 -0
  50. data/spec/plugins/os/fedora/fedora-plugin-spec.rb +73 -0
  51. data/spec/plugins/os/rhel/rhel-plugin-spec.rb +158 -0
  52. data/spec/plugins/os/rpm-based/kickstart-spec.rb +129 -0
  53. data/spec/plugins/os/rpm-based/rpm-based-os-plugin-spec.rb +162 -0
  54. data/spec/plugins/os/rpm-based/rpm-dependency-validator-spec.rb +50 -0
  55. data/spec/plugins/os/rpm-based/src/jeos-f13-plain.ks +20 -0
  56. data/spec/plugins/os/rpm-based/src/jeos-f13-without-version.ks +22 -0
  57. data/spec/plugins/os/rpm-based/src/jeos-f13.ks +23 -0
  58. data/spec/plugins/platform/ec2/ec2-plugin-spec.rb +339 -0
  59. data/spec/plugins/platform/virtualbox/virtualbox-plugin-spec.rb +118 -0
  60. data/spec/plugins/platform/vmware/vmware-plugin-spec.rb +299 -0
  61. metadata +149 -25
  62. data/README +0 -7
  63. data/bin/boxgrinder +0 -128
  64. data/lib/boxgrinder-build/helpers/thor-helper.rb +0 -85
@@ -0,0 +1,299 @@
1
+ #
2
+ # Copyright 2010 Red Hat, Inc.
3
+ #
4
+ # This is free software; you can redistribute it and/or modify it
5
+ # under the terms of the GNU Lesser General Public License as
6
+ # published by the Free Software Foundation; either version 3 of
7
+ # the License, or (at your option) any later version.
8
+ #
9
+ # This software is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this software; if not, write to the Free
16
+ # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
17
+ # 02110-1301 USA, or see the FSF site: http://www.fsf.org.
18
+
19
+ require 'boxgrinder-build/plugins/platform/vmware/vmware-plugin'
20
+ require 'hashery/opencascade'
21
+
22
+ module BoxGrinder
23
+ describe VMwarePlugin do
24
+ def prepare_image(plugin_config, options = {})
25
+ @config = mock('Config')
26
+ @config.stub!(:version).and_return('0.1.2')
27
+ @config.stub!(:platform_config).and_return({})
28
+
29
+ @appliance_config = mock('ApplianceConfig')
30
+
31
+ @appliance_config.stub!(:path).and_return(OpenCascade.new({:build => 'build/path'}))
32
+ @appliance_config.stub!(:name).and_return('full')
33
+ @appliance_config.stub!(:summary).and_return('asd')
34
+ @appliance_config.stub!(:version).and_return(1)
35
+ @appliance_config.stub!(:release).and_return(0)
36
+ @appliance_config.stub!(:os).and_return(OpenCascade.new({:name => 'fedora', :version => '11'}))
37
+ @appliance_config.stub!(:post).and_return(OpenCascade.new({:vmware => []}))
38
+
39
+ @appliance_config.stub!(:hardware).and_return(
40
+ OpenCascade.new({
41
+ :partitions =>
42
+ {
43
+ '/' => {'size' => 2},
44
+ '/home' => {'size' => 3},
45
+ },
46
+ :arch => 'i686',
47
+ :base_arch => 'i386',
48
+ :cpus => 1,
49
+ :memory => 256,
50
+ })
51
+ )
52
+
53
+ options[:log] = Logger.new('/dev/null')
54
+ options[:plugin_info] = {:class => BoxGrinder::VMwarePlugin, :type => :platform, :name => :vmware, :full_name => "VMware"}
55
+ @plugin = VMwarePlugin.new
56
+
57
+ @plugin.instance_variable_set(:@plugin_config, plugin_config)
58
+ @plugin.should_receive(:read_plugin_config)
59
+ @plugin.should_receive(:validate_plugin_config)
60
+ @plugin.init(@config, @appliance_config, options)
61
+
62
+ @exec_helper = @plugin.instance_variable_get(:@exec_helper)
63
+ @image_helper = @plugin.instance_variable_get(:@image_helper)
64
+ end
65
+
66
+ it "should calculate good CHS value for 0.5GB disk" do
67
+ prepare_image({'thin_disk' => false, 'type' => 'enterprise'})
68
+
69
+ c, h, s, total_sectors = @plugin.generate_scsi_chs(0.5)
70
+
71
+ c.should == 512
72
+ h.should == 64
73
+ s.should == 32
74
+ total_sectors.should == 1048576
75
+ end
76
+
77
+ it "should calculate good CHS value for 1GB disk" do
78
+ prepare_image({'thin_disk' => false, 'type' => 'enterprise'})
79
+
80
+ c, h, s, total_sectors = @plugin.generate_scsi_chs(1)
81
+
82
+ c.should == 512
83
+ h.should == 128
84
+ s.should == 32
85
+ total_sectors.should == 2097152
86
+ end
87
+
88
+ it "should calculate good CHS value for 40GB disk" do
89
+ prepare_image({'thin_disk' => false, 'type' => 'enterprise'})
90
+
91
+ c, h, s, total_sectors = @plugin.generate_scsi_chs(40)
92
+
93
+ c.should == 5221
94
+ h.should == 255
95
+ s.should == 63
96
+ total_sectors.should == 83886080
97
+ end
98
+
99
+ it "should calculate good CHS value for 160GB disk" do
100
+ prepare_image({'thin_disk' => false, 'type' => 'enterprise'})
101
+
102
+ c, h, s, total_sectors = @plugin.generate_scsi_chs(160)
103
+
104
+ c.should == 20886
105
+ h.should == 255
106
+ s.should == 63
107
+ total_sectors.should == 335544320
108
+ end
109
+
110
+ describe ".change_vmdk_values" do
111
+ it "should change vmdk data (vmfs)" do
112
+ prepare_image({'thin_disk' => false, 'type' => 'enterprise'})
113
+
114
+ vmdk_image = @plugin.change_vmdk_values("vmfs")
115
+
116
+ vmdk_image.scan(/^createType="(.*)"\s?$/).to_s.should == "vmfs"
117
+
118
+ disk_attributes = vmdk_image.scan(/^RW (.*) (.*) "(.*).raw" (.*)\s?$/)[0]
119
+
120
+ disk_attributes[0].should == "10485760" # 5GB
121
+ disk_attributes[1].should == "VMFS"
122
+ disk_attributes[2].should == "full"
123
+ disk_attributes[3].should == ""
124
+
125
+ vmdk_image.scan(/^ddb.geometry.cylinders = "(.*)"\s?$/).to_s.should == "652"
126
+ vmdk_image.scan(/^ddb.geometry.heads = "(.*)"\s?$/).to_s.should == "255"
127
+ vmdk_image.scan(/^ddb.geometry.sectors = "(.*)"\s?$/).to_s.should == "63"
128
+
129
+ vmdk_image.scan(/^ddb.virtualHWVersion = "(.*)"\s?$/).to_s.should == "7"
130
+ end
131
+
132
+ it "should change vmdk data (flat)" do
133
+ prepare_image({'thin_disk' => false, 'type' => 'enterprise'})
134
+
135
+ vmdk_image = @plugin.change_vmdk_values("monolithicFlat")
136
+
137
+ vmdk_image.scan(/^createType="(.*)"\s?$/).to_s.should == "monolithicFlat"
138
+
139
+ disk_attributes = vmdk_image.scan(/^RW (.*) (.*) "(.*).raw" (.*)\s?$/)[0]
140
+
141
+ disk_attributes[0].should == "10485760" # 5GB
142
+ disk_attributes[1].should == "FLAT"
143
+ disk_attributes[2].should == "full"
144
+ disk_attributes[3].should == "0"
145
+
146
+ vmdk_image.scan(/^ddb.geometry.cylinders = "(.*)"\s?$/).to_s.should == "652"
147
+ vmdk_image.scan(/^ddb.geometry.heads = "(.*)"\s?$/).to_s.should == "255"
148
+ vmdk_image.scan(/^ddb.geometry.sectors = "(.*)"\s?$/).to_s.should == "63"
149
+
150
+ vmdk_image.scan(/^ddb.virtualHWVersion = "(.*)"\s?$/).to_s.should == "7"
151
+ vmdk_image.scan(/^ddb.thinProvisioned = "(.*)"\s?$/).to_s.should == "0"
152
+ end
153
+
154
+ it "should change vmdk data (flat) enabling thin disk" do
155
+ prepare_image({'thin_disk' => true, 'type' => 'enterprise'})
156
+
157
+ vmdk_image = @plugin.change_vmdk_values("monolithicFlat")
158
+
159
+ vmdk_image.scan(/^ddb.thinProvisioned = "(.*)"\s?$/).to_s.should == "1"
160
+ end
161
+
162
+ end
163
+
164
+ it "should change vmx data" do
165
+ prepare_image({'thin_disk' => false, 'type' => 'enterprise'})
166
+
167
+ vmx_file = @plugin.change_common_vmx_values
168
+
169
+ vmx_file.scan(/^guestOS = "(.*)"\s?$/).to_s.should == "linux"
170
+ vmx_file.scan(/^displayName = "(.*)"\s?$/).to_s.should == "full"
171
+ vmx_file.scan(/^annotation = "(.*)"\s?$/).to_s.scan(/^A full appliance definition | Version: 1\.0 | Built by: BoxGrinder 1\.0\.0/).should_not == nil
172
+ vmx_file.scan(/^guestinfo.vmware.product.long = "(.*)"\s?$/).to_s.should == "full"
173
+ vmx_file.scan(/^guestinfo.vmware.product.url = "(.*)"\s?$/).to_s.should == "http://www.jboss.org/boxgrinder"
174
+ vmx_file.scan(/^numvcpus = "(.*)"\s?$/).to_s.should == "1"
175
+ vmx_file.scan(/^memsize = "(.*)"\s?$/).to_s.should == "256"
176
+ vmx_file.scan(/^log.fileName = "(.*)"\s?$/).to_s.should == "full.log"
177
+ vmx_file.scan(/^scsi0:0.fileName = "(.*)"\s?$/).to_s.should == "full.vmdk"
178
+ end
179
+
180
+ describe ".build_vmware_personal" do
181
+ it "should build personal thick image" do
182
+ prepare_image({'type' => 'personal', 'thin_disk' => false}, :previous_deliverables => OpenStruct.new({:disk => 'a/base/image/path.raw'}))
183
+
184
+ @exec_helper.should_receive(:execute).with("cp 'a/base/image/path.raw' 'build/path/vmware-plugin/tmp/full.raw'")
185
+ File.should_receive(:open).once.with("build/path/vmware-plugin/tmp/full.vmx", "w")
186
+ File.should_receive(:open).once.with("build/path/vmware-plugin/tmp/full.vmdk", "w")
187
+
188
+ @plugin.build_vmware_personal
189
+ end
190
+
191
+ it "should build personal thin image" do
192
+ prepare_image({'type' => 'personal', 'thin_disk' => true}, :previous_deliverables => OpenStruct.new({:disk => 'a/base/image/path.raw'}))
193
+
194
+ @image_helper.should_receive(:convert_disk).with('a/base/image/path.raw', :vmdk, 'build/path/vmware-plugin/tmp/full.vmdk')
195
+ File.should_receive(:open).once.with("build/path/vmware-plugin/tmp/full.vmx", "w")
196
+
197
+ @plugin.build_vmware_personal
198
+ end
199
+ end
200
+
201
+ describe ".build_vmware_enterprise" do
202
+ it "should build enterprise thick image" do
203
+ prepare_image({'type' => 'enterprise', 'thin_disk' => false}, :previous_deliverables => OpenStruct.new({:disk => 'a/base/image/path.raw'}))
204
+
205
+ @plugin.should_receive(:change_common_vmx_values).and_return("")
206
+ @exec_helper.should_receive(:execute).with("cp 'a/base/image/path.raw' 'build/path/vmware-plugin/tmp/full.raw'")
207
+ File.should_receive(:open).once.with("build/path/vmware-plugin/tmp/full.vmx", "w")
208
+ File.should_receive(:open).once.with("build/path/vmware-plugin/tmp/full.vmdk", "w")
209
+
210
+ @plugin.build_vmware_enterprise
211
+ end
212
+
213
+ it "should build enterprise thin image" do
214
+ prepare_image({'type' => 'enterprise', 'thin_disk' => true}, :previous_deliverables => OpenStruct.new({:disk => 'a/base/image/path.raw'}))
215
+
216
+ @plugin.should_receive(:change_common_vmx_values).and_return("")
217
+ @exec_helper.should_receive(:execute).with("cp 'a/base/image/path.raw' 'build/path/vmware-plugin/tmp/full.raw'")
218
+ File.should_receive(:open).once.with("build/path/vmware-plugin/tmp/full.vmx", "w")
219
+ File.should_receive(:open).once.with("build/path/vmware-plugin/tmp/full.vmdk", "w")
220
+
221
+ @plugin.build_vmware_enterprise
222
+ end
223
+ end
224
+
225
+ describe ".execute" do
226
+ it "should convert image to vmware personal" do
227
+ prepare_image({'type' => 'personal'})
228
+
229
+ @plugin.should_receive(:build_vmware_personal).with(no_args())
230
+ @plugin.should_receive(:customize_image).with(no_args())
231
+
232
+ File.should_receive(:open)
233
+
234
+ @plugin.execute
235
+ end
236
+
237
+ it "should convert image to vmware enterprise" do
238
+ prepare_image({'type' => 'enterprise'})
239
+
240
+ @plugin.should_receive(:build_vmware_enterprise).with(no_args())
241
+ @plugin.should_receive(:customize_image).with(no_args())
242
+
243
+ File.should_receive(:open)
244
+
245
+ @plugin.execute
246
+ end
247
+
248
+ it "should fail because not supported format was choosen" do
249
+ prepare_image({'type' => 'unknown'})
250
+
251
+ @plugin.should_not_receive(:build_vmware_enterprise)
252
+ @plugin.should_not_receive(:customize_image)
253
+
254
+ lambda {
255
+ @plugin.execute
256
+ }.should raise_error(RuntimeError, "Not known VMware format specified. Available are: personal and enterprise. See http://boxgrinder.org/tutorials/boxgrinder-build-plugins/#VMware_Platform_Plugin for more info.")
257
+ end
258
+ end
259
+
260
+ describe ".customize_image" do
261
+ it "should customize the image" do
262
+ prepare_image({'thin_disk' => false, 'type' => 'enterprise'})
263
+
264
+ @appliance_config.post['vmware'] = ["one", "two", "three"]
265
+
266
+ guestfs_mock = mock("GuestFS")
267
+ guestfs_helper_mock = mock("GuestFSHelper")
268
+
269
+ @image_helper.should_receive(:customize).with("build/path/vmware-plugin/tmp/full.raw").and_yield(guestfs_mock, guestfs_helper_mock)
270
+
271
+ guestfs_helper_mock.should_receive(:sh).once.ordered.with("one", :arch => 'i686')
272
+ guestfs_helper_mock.should_receive(:sh).once.ordered.with("two", :arch => 'i686')
273
+ guestfs_helper_mock.should_receive(:sh).once.ordered.with("three", :arch => 'i686')
274
+
275
+ @plugin.customize_image
276
+ end
277
+
278
+ it "should skip customizing the image" do
279
+ prepare_image({'thin_disk' => false, 'type' => 'enterprise'})
280
+
281
+ @appliance_config.post['vmware'] = []
282
+ @image_helper.should_not_receive(:customize)
283
+
284
+ @plugin.customize_image
285
+ end
286
+ end
287
+
288
+ it "should create a valid README file" do
289
+ prepare_image({'thin_disk' => false, 'type' => 'enterprise'})
290
+
291
+ file = mock(File)
292
+
293
+ File.should_receive(:open).and_return(file)
294
+ file.should_receive(:read).and_return("one #APPLIANCE_NAME# two")
295
+
296
+ @plugin.create_readme.should == "one full two"
297
+ end
298
+ end
299
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boxgrinder-build
3
3
  version: !ruby/object:Gem::Version
4
- hash: 61
4
+ hash: 59
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 8
9
- - 1
10
- version: 0.8.1
8
+ - 9
9
+ - 0
10
+ version: 0.9.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Marek Goldmann
@@ -15,51 +15,106 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-22 00:00:00 +01:00
18
+ date: 2011-03-09 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: thor
22
+ name: boxgrinder-core
23
23
  prerelease: false
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ">="
27
+ - - ~>
28
28
  - !ruby/object:Gem::Version
29
- hash: 17
29
+ hash: 19
30
30
  segments:
31
31
  - 0
32
- - 13
33
- version: "0.13"
32
+ - 3
33
+ - 0
34
+ version: 0.3.0
34
35
  type: :runtime
35
36
  version_requirements: *id001
36
37
  - !ruby/object:Gem::Dependency
37
- name: boxgrinder-core
38
+ name: aws
38
39
  prerelease: false
39
40
  requirement: &id002 !ruby/object:Gem::Requirement
40
41
  none: false
41
42
  requirements:
42
- - - ~>
43
+ - - ">="
43
44
  - !ruby/object:Gem::Version
44
- hash: 21
45
+ hash: 3
45
46
  segments:
46
47
  - 0
47
- - 2
48
- - 1
49
- version: 0.2.1
48
+ version: "0"
50
49
  type: :runtime
51
50
  version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: amazon-ec2
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
63
+ type: :runtime
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: net-sftp
67
+ prerelease: false
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ hash: 3
74
+ segments:
75
+ - 0
76
+ version: "0"
77
+ type: :runtime
78
+ version_requirements: *id004
79
+ - !ruby/object:Gem::Dependency
80
+ name: net-ssh
81
+ prerelease: false
82
+ requirement: &id005 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ hash: 3
88
+ segments:
89
+ - 0
90
+ version: "0"
91
+ type: :runtime
92
+ version_requirements: *id005
93
+ - !ruby/object:Gem::Dependency
94
+ name: progressbar
95
+ prerelease: false
96
+ requirement: &id006 !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ hash: 3
102
+ segments:
103
+ - 0
104
+ version: "0"
105
+ type: :runtime
106
+ version_requirements: *id006
52
107
  description: A tool for creating appliances from simple plain text files for various virtual environments.
53
108
  email: info@boxgrinder.org
54
109
  executables:
55
- - boxgrinder
110
+ - boxgrinder-build
56
111
  extensions: []
57
112
 
58
113
  extra_rdoc_files:
59
114
  - CHANGELOG
60
115
  - LICENSE
61
- - README
62
- - bin/boxgrinder
116
+ - README.md
117
+ - bin/boxgrinder-build
63
118
  - lib/boxgrinder-build.rb
64
119
  - lib/boxgrinder-build/appliance.rb
65
120
  - lib/boxgrinder-build/helpers/appliance-customize-helper.rb
@@ -69,16 +124,42 @@ extra_rdoc_files:
69
124
  - lib/boxgrinder-build/helpers/linux-helper.rb
70
125
  - lib/boxgrinder-build/helpers/package-helper.rb
71
126
  - lib/boxgrinder-build/helpers/plugin-helper.rb
72
- - lib/boxgrinder-build/helpers/thor-helper.rb
73
127
  - lib/boxgrinder-build/managers/plugin-manager.rb
74
128
  - lib/boxgrinder-build/plugins/base-plugin.rb
129
+ - lib/boxgrinder-build/plugins/delivery/ebs/ebs-plugin.rb
130
+ - lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb
131
+ - lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb
132
+ - lib/boxgrinder-build/plugins/delivery/s3/src/cert-ec2.pem
133
+ - lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb
134
+ - lib/boxgrinder-build/plugins/delivery/usb/usb-plugin.rb
135
+ - lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb
136
+ - lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb
137
+ - lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb
138
+ - lib/boxgrinder-build/plugins/os/rpm-based/kickstart.rb
139
+ - lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb
140
+ - lib/boxgrinder-build/plugins/os/rpm-based/rpm-dependency-validator.rb
141
+ - lib/boxgrinder-build/plugins/os/rpm-based/src/appliance.ks.erb
142
+ - lib/boxgrinder-build/plugins/os/rpm-based/src/base.repo
143
+ - lib/boxgrinder-build/plugins/os/rpm-based/src/motd.init
144
+ - lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb
145
+ - lib/boxgrinder-build/plugins/platform/ec2/src/fstab_32bit
146
+ - lib/boxgrinder-build/plugins/platform/ec2/src/fstab_64bit
147
+ - lib/boxgrinder-build/plugins/platform/ec2/src/ifcfg-eth0
148
+ - lib/boxgrinder-build/plugins/platform/ec2/src/menu.lst
149
+ - lib/boxgrinder-build/plugins/platform/ec2/src/rc_local
150
+ - lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb
151
+ - lib/boxgrinder-build/plugins/platform/vmware/src/README-enterprise
152
+ - lib/boxgrinder-build/plugins/platform/vmware/src/README-personal
153
+ - lib/boxgrinder-build/plugins/platform/vmware/src/base.vmdk
154
+ - lib/boxgrinder-build/plugins/platform/vmware/src/base.vmx
155
+ - lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb
75
156
  files:
76
157
  - CHANGELOG
77
158
  - LICENSE
78
159
  - Manifest
79
- - README
160
+ - README.md
80
161
  - Rakefile
81
- - bin/boxgrinder
162
+ - bin/boxgrinder-build
82
163
  - boxgrinder-build.gemspec
83
164
  - lib/boxgrinder-build.rb
84
165
  - lib/boxgrinder-build/appliance.rb
@@ -89,9 +170,35 @@ files:
89
170
  - lib/boxgrinder-build/helpers/linux-helper.rb
90
171
  - lib/boxgrinder-build/helpers/package-helper.rb
91
172
  - lib/boxgrinder-build/helpers/plugin-helper.rb
92
- - lib/boxgrinder-build/helpers/thor-helper.rb
93
173
  - lib/boxgrinder-build/managers/plugin-manager.rb
94
174
  - lib/boxgrinder-build/plugins/base-plugin.rb
175
+ - lib/boxgrinder-build/plugins/delivery/ebs/ebs-plugin.rb
176
+ - lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb
177
+ - lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb
178
+ - lib/boxgrinder-build/plugins/delivery/s3/src/cert-ec2.pem
179
+ - lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb
180
+ - lib/boxgrinder-build/plugins/delivery/usb/usb-plugin.rb
181
+ - lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb
182
+ - lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb
183
+ - lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb
184
+ - lib/boxgrinder-build/plugins/os/rpm-based/kickstart.rb
185
+ - lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb
186
+ - lib/boxgrinder-build/plugins/os/rpm-based/rpm-dependency-validator.rb
187
+ - lib/boxgrinder-build/plugins/os/rpm-based/src/appliance.ks.erb
188
+ - lib/boxgrinder-build/plugins/os/rpm-based/src/base.repo
189
+ - lib/boxgrinder-build/plugins/os/rpm-based/src/motd.init
190
+ - lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb
191
+ - lib/boxgrinder-build/plugins/platform/ec2/src/fstab_32bit
192
+ - lib/boxgrinder-build/plugins/platform/ec2/src/fstab_64bit
193
+ - lib/boxgrinder-build/plugins/platform/ec2/src/ifcfg-eth0
194
+ - lib/boxgrinder-build/plugins/platform/ec2/src/menu.lst
195
+ - lib/boxgrinder-build/plugins/platform/ec2/src/rc_local
196
+ - lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb
197
+ - lib/boxgrinder-build/plugins/platform/vmware/src/README-enterprise
198
+ - lib/boxgrinder-build/plugins/platform/vmware/src/README-personal
199
+ - lib/boxgrinder-build/plugins/platform/vmware/src/base.vmdk
200
+ - lib/boxgrinder-build/plugins/platform/vmware/src/base.vmx
201
+ - lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb
95
202
  - rubygem-boxgrinder-build.spec
96
203
  - spec/Rakefile
97
204
  - spec/appliance-spec.rb
@@ -104,8 +211,25 @@ files:
104
211
  - spec/helpers/plugin-helper-spec.rb
105
212
  - spec/managers/plugin-manager-spec.rb
106
213
  - spec/plugins/base-plugin-spec.rb
214
+ - spec/plugins/delivery/ebs/ebs-plugin-spec.rb
215
+ - spec/plugins/delivery/ebs/ebs.yaml
216
+ - spec/plugins/delivery/local/local-plugin-spec.rb
217
+ - spec/plugins/delivery/s3/s3-plugin-spec.rb
218
+ - spec/plugins/delivery/sftp/sftp-plugin-spec.rb
219
+ - spec/plugins/os/centos/centos-plugin-spec.rb
220
+ - spec/plugins/os/fedora/fedora-plugin-spec.rb
221
+ - spec/plugins/os/rhel/rhel-plugin-spec.rb
222
+ - spec/plugins/os/rpm-based/kickstart-spec.rb
223
+ - spec/plugins/os/rpm-based/rpm-based-os-plugin-spec.rb
224
+ - spec/plugins/os/rpm-based/rpm-dependency-validator-spec.rb
225
+ - spec/plugins/os/rpm-based/src/jeos-f13-plain.ks
226
+ - spec/plugins/os/rpm-based/src/jeos-f13-without-version.ks
227
+ - spec/plugins/os/rpm-based/src/jeos-f13.ks
228
+ - spec/plugins/platform/ec2/ec2-plugin-spec.rb
229
+ - spec/plugins/platform/virtualbox/virtualbox-plugin-spec.rb
230
+ - spec/plugins/platform/vmware/vmware-plugin-spec.rb
107
231
  has_rdoc: true
108
- homepage: http://www.jboss.org/boxgrinder
232
+ homepage: http://boxgrinder.org/
109
233
  licenses: []
110
234
 
111
235
  post_install_message:
@@ -115,7 +239,7 @@ rdoc_options:
115
239
  - --title
116
240
  - Boxgrinder-build
117
241
  - --main
118
- - README
242
+ - README.md
119
243
  require_paths:
120
244
  - lib
121
245
  required_ruby_version: !ruby/object:Gem::Requirement
data/README DELETED
@@ -1,7 +0,0 @@
1
- Project home page
2
-
3
- http://boxgrinder.org/
4
-
5
- Project documentation
6
-
7
- http://boxgrinder.org/tutorials/