boxgrinder-build 0.4.1 → 0.5.0

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.
Files changed (71) hide show
  1. data/CHANGELOG +7 -0
  2. data/Manifest +0 -0
  3. data/Rakefile +11 -0
  4. data/bin/boxgrinder-build +33 -27
  5. data/boxgrinder-build.gemspec +38 -0
  6. data/lib/boxgrinder-build/appliance.rb +32 -41
  7. data/lib/boxgrinder-build/helpers/appliance-customize-helper.rb +3 -48
  8. data/lib/boxgrinder-build/helpers/guestfs-helper.rb +98 -12
  9. data/lib/boxgrinder-build/helpers/linux-helper.rb +69 -0
  10. data/lib/boxgrinder-build/helpers/package-helper.rb +20 -11
  11. data/lib/boxgrinder-build/helpers/plugin-helper.rb +32 -32
  12. data/lib/boxgrinder-build/managers/plugin-manager.rb +98 -0
  13. data/lib/boxgrinder-build/plugins/base-plugin.rb +70 -17
  14. data/spec/Rakefile +13 -0
  15. data/spec/appliance-spec.rb +195 -0
  16. data/spec/helpers/appliance-customize-helper-spec.rb +30 -0
  17. data/spec/helpers/guestfs-helper-spec.rb +129 -0
  18. data/spec/helpers/linux-helper-spec.rb +50 -0
  19. data/spec/helpers/package-helper-spec.rb +6 -0
  20. data/spec/helpers/plugin-helper-spec.rb +63 -0
  21. data/spec/managers/plugin-manager-spec.rb +27 -0
  22. data/spec/plugins/base-plugin-spec.rb +89 -0
  23. data/spec/rspec/src/appliances/jeos-f13.appl +27 -0
  24. metadata +60 -157
  25. data/docs/examples/appliances/appliances.appl +0 -5
  26. data/docs/examples/appliances/minimal.appl +0 -9
  27. data/docs/examples/appliances/mix.appl +0 -8
  28. data/docs/examples/appliances/packages.appl +0 -13
  29. data/docs/node-info/pom.xml +0 -31
  30. data/docs/node-info/src/main/webapp/META-INF/MANIFEST.MF +0 -3
  31. data/docs/node-info/src/main/webapp/WEB-INF/web.xml +0 -7
  32. data/docs/node-info/src/main/webapp/index.jsp +0 -70
  33. data/lib/boxgrinder-build/helpers/rake-helper.rb +0 -71
  34. data/lib/boxgrinder-build/managers/base-plugin-manager.rb +0 -62
  35. data/lib/boxgrinder-build/managers/delivery-plugin-manager.rb +0 -39
  36. data/lib/boxgrinder-build/managers/operating-system-plugin-manager.rb +0 -6
  37. data/lib/boxgrinder-build/managers/platform-plugin-manager.rb +0 -26
  38. data/lib/boxgrinder-build/plugins/delivery/base/base-delivery-plugin.rb +0 -43
  39. data/lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb +0 -57
  40. data/lib/boxgrinder-build/plugins/delivery/s3/aws-helper.rb +0 -64
  41. data/lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb +0 -190
  42. data/lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb +0 -159
  43. data/lib/boxgrinder-build/plugins/os/base/kickstart.rb +0 -148
  44. data/lib/boxgrinder-build/plugins/os/base/rhel-based-os-plugin.rb +0 -51
  45. data/lib/boxgrinder-build/plugins/os/base/rpm-based-os-plugin.rb +0 -134
  46. data/lib/boxgrinder-build/plugins/os/base/src/appliance.ks.erb +0 -41
  47. data/lib/boxgrinder-build/plugins/os/base/src/base.repo +0 -4
  48. data/lib/boxgrinder-build/plugins/os/base/src/motd.init +0 -21
  49. data/lib/boxgrinder-build/plugins/os/base/validators/rpm-dependency-validator.rb +0 -162
  50. data/lib/boxgrinder-build/plugins/os/base-operating-system-plugin.rb +0 -37
  51. data/lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb +0 -52
  52. data/lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb +0 -74
  53. data/lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb +0 -40
  54. data/lib/boxgrinder-build/plugins/platform/base-platform-plugin.rb +0 -37
  55. data/lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb +0 -332
  56. data/lib/boxgrinder-build/plugins/platform/ec2/src/f12/yum.conf +0 -24
  57. data/lib/boxgrinder-build/plugins/platform/ec2/src/f12-i386-boxgrinder.repo +0 -11
  58. data/lib/boxgrinder-build/plugins/platform/ec2/src/f12-x86_64-boxgrinder.repo +0 -11
  59. data/lib/boxgrinder-build/plugins/platform/ec2/src/fstab_32bit +0 -8
  60. data/lib/boxgrinder-build/plugins/platform/ec2/src/fstab_64bit +0 -8
  61. data/lib/boxgrinder-build/plugins/platform/ec2/src/ifcfg-eth0 +0 -7
  62. data/lib/boxgrinder-build/plugins/platform/ec2/src/rc_local +0 -29
  63. data/lib/boxgrinder-build/plugins/platform/vmware/src/README +0 -42
  64. data/lib/boxgrinder-build/plugins/platform/vmware/src/base.vmdk +0 -19
  65. data/lib/boxgrinder-build/plugins/platform/vmware/src/base.vmx +0 -45
  66. data/lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb +0 -181
  67. data/lib/boxgrinder-build/validators/appliance-config-parameter-validator.rb +0 -37
  68. data/lib/boxgrinder-build/validators/appliance-validator.rb +0 -84
  69. data/lib/boxgrinder-build/validators/config-validator.rb +0 -48
  70. data/lib/boxgrinder-build/validators/ssh-validator.rb +0 -35
  71. data/lib/boxgrinder-build/validators/validator.rb +0 -91
@@ -0,0 +1,129 @@
1
+ require 'boxgrinder-build/helpers/guestfs-helper'
2
+
3
+ module BoxGrinder
4
+ describe GuestFSHelper do
5
+
6
+ before(:each) do
7
+ @log = Logger.new('/dev/null')
8
+ @helper = GuestFSHelper.new('a/raw/disk', :log => @log)
9
+ end
10
+
11
+ def prepare_and_launch( partitions )
12
+ guetfs = mock('Guestfs')
13
+ guetfs.should_receive(:set_append).with('noapic')
14
+ guetfs.should_receive(:set_verbose)
15
+ guetfs.should_receive(:set_trace)
16
+
17
+ File.should_receive(:exists?).with('/usr/share/qemu-stable/bin/qemu.wrapper').and_return(true)
18
+
19
+ guetfs.should_receive(:set_qemu).with('/usr/share/qemu-stable/bin/qemu.wrapper')
20
+ guetfs.should_receive(:add_drive).with('a/raw/disk')
21
+ guetfs.should_receive(:launch)
22
+ guetfs.should_receive(:list_partitions).and_return( partitions )
23
+
24
+ Guestfs.should_receive(:create).and_return(guetfs)
25
+
26
+ guetfs
27
+ end
28
+
29
+ it "should prepare and run guestfs" do
30
+ prepare_and_launch(['/', '/boot'])
31
+
32
+ @helper.should_receive(:mount_partitions).with(no_args)
33
+
34
+ @helper.execute.should == @helper
35
+ end
36
+
37
+ it "should prepare and run guestfs with one partition" do
38
+ guestfs = prepare_and_launch(['/'])
39
+
40
+ guestfs.should_receive(:list_partitions).and_return(['/'])
41
+ @helper.should_receive(:mount_partition).with("/", "/")
42
+
43
+ @helper.execute.should == @helper
44
+ end
45
+
46
+ it "should prepare and run guestfs with no partitions" do
47
+ guestfs = prepare_and_launch([])
48
+
49
+ guestfs.should_receive(:list_devices).and_return(['/dev/sda'])
50
+ @helper.should_receive(:mount_partition).with("/dev/sda", "/")
51
+
52
+ @helper.execute.should == @helper
53
+ end
54
+
55
+ it "should close guestfs in clean way" do
56
+ guestfs = mock('Guestfs')
57
+
58
+ guestfs.should_receive(:sync)
59
+ guestfs.should_receive(:umount_all)
60
+ guestfs.should_receive(:close)
61
+
62
+ @helper.instance_variable_set(:@guestfs, guestfs)
63
+
64
+ @helper.clean_close
65
+ end
66
+
67
+ it "should mount partition" do
68
+ guestfs = mock('Guestfs')
69
+
70
+ guestfs.should_receive(:mount_options).with("", "/dev/sda", "/")
71
+
72
+ @helper.instance_variable_set(:@guestfs, guestfs)
73
+ @helper.mount_partition("/dev/sda", "/")
74
+ end
75
+
76
+ it "should rebuild RPM database for Fedora" do
77
+ guestfs = mock('Guestfs')
78
+
79
+ guestfs.should_receive(:sh).with("rm -f /var/lib/rpm/__db.*")
80
+ guestfs.should_receive(:sh).with("rpm --rebuilddb")
81
+
82
+ @helper.instance_variable_set(:@guestfs, guestfs)
83
+ @helper.rebuild_rpm_database
84
+ end
85
+
86
+ it "should mount partitions" do
87
+ guestfs = mock('Guestfs')
88
+
89
+ guestfs.should_receive(:list_partitions).and_return(['/boot', '/'])
90
+
91
+ @helper.should_receive(:mount_partition).with('/boot', '/')
92
+ guestfs.should_receive(:exists).with('/sbin/e2label').and_return(0)
93
+ guestfs.should_receive(:umount).with('/boot')
94
+ @helper.should_receive(:mount_partition).with('/', '/')
95
+ guestfs.should_receive(:exists).with('/sbin/e2label').and_return(1)
96
+
97
+ guestfs.should_receive(:list_partitions).and_return(['/boot', '/'])
98
+ guestfs.should_receive(:sh).with('/sbin/e2label /boot').and_return('/boot')
99
+ @helper.should_receive(:mount_partition).with('/boot', '/boot')
100
+
101
+ @helper.instance_variable_set(:@guestfs, guestfs)
102
+ @helper.mount_partitions
103
+ end
104
+
105
+ it "should raise when no root partition is found" do
106
+ guestfs = mock('Guestfs')
107
+
108
+ guestfs.should_receive(:list_partitions).and_return(['/boot', '/'])
109
+
110
+ @helper.should_receive(:mount_partition).with('/boot', '/')
111
+ guestfs.should_receive(:exists).with('/sbin/e2label').and_return(0)
112
+ guestfs.should_receive(:umount).with('/boot')
113
+ @helper.should_receive(:mount_partition).with('/', '/')
114
+ guestfs.should_receive(:exists).with('/sbin/e2label').and_return(0)
115
+ guestfs.should_receive(:umount).with('/')
116
+
117
+ @helper.instance_variable_set(:@guestfs, guestfs)
118
+
119
+ begin
120
+ @helper.mount_partitions
121
+ rescue => e
122
+ e.message.should == "No root partition found for 'disk' disk!"
123
+ end
124
+ end
125
+
126
+
127
+
128
+ end
129
+ end
@@ -0,0 +1,50 @@
1
+ require 'boxgrinder-build/helpers/linux-helper'
2
+
3
+ module BoxGrinder
4
+ describe LinuxHelper do
5
+
6
+ before(:each) do
7
+ @helper = LinuxHelper.new( :log => Logger.new('/dev/null') )
8
+
9
+ @log = @helper.instance_variable_get(:@log)
10
+ end
11
+
12
+ it "should return valid kernel version" do
13
+ guestfs = mock("guestfs")
14
+ guestfs.should_receive(:ls).with('/lib/modules').and_return(['2.6.33.6-147.fc13.i686'])
15
+ @helper.kernel_version( guestfs ).should == '2.6.33.6-147.fc13.i686'
16
+ end
17
+
18
+ it "should return valid PAE kernel version" do
19
+ guestfs = mock("guestfs")
20
+ guestfs.should_receive(:ls).with('/lib/modules').and_return(['2.6.33.6-147.fc13.i686.PAE', '2.6.33.6-147.fc13.i686'])
21
+ @helper.kernel_version( guestfs ).should == '2.6.33.6-147.fc13.i686.PAE'
22
+ end
23
+
24
+ it "should recreate initramfs kernel image using dracut and add xennet module" do
25
+ guestfs = mock("guestfs")
26
+
27
+ @helper.should_receive(:kernel_version).and_return('2.6.33.6-147.fc13.i686.PAE')
28
+ guestfs.should_receive(:sh).with('ls -1 /boot | grep initramfs | wc -l').and_return("1 ")
29
+
30
+ guestfs.should_receive(:exists).with('/sbin/dracut').and_return(1)
31
+ guestfs.should_receive(:sh).with("/sbin/dracut -f -v --add-drivers xennet /boot/initramfs-2.6.33.6-147.fc13.i686.PAE.img 2.6.33.6-147.fc13.i686.PAE")
32
+
33
+ @helper.recreate_kernel_image( guestfs, ['xennet'] )
34
+ end
35
+
36
+ it "should recreate initrd kernel image using mkinitrd and add xenblk and xennet module" do
37
+ guestfs = mock("guestfs")
38
+
39
+ @helper.should_receive(:kernel_version).and_return('2.6.33.6-147.fc13.i686.PAE')
40
+ guestfs.should_receive(:sh).with('ls -1 /boot | grep initramfs | wc -l').and_return(" 0 ")
41
+
42
+ guestfs.should_receive(:exists).with('/sbin/dracut').and_return(0)
43
+ guestfs.should_receive(:sh).with("/sbin/mkinitrd -f -v --preload=xenblk --preload=xennet /boot/initrd-2.6.33.6-147.fc13.i686.PAE.img 2.6.33.6-147.fc13.i686.PAE")
44
+
45
+ @helper.recreate_kernel_image( guestfs, ['xenblk', 'xennet'] )
46
+ end
47
+
48
+ end
49
+ end
50
+
@@ -0,0 +1,6 @@
1
+ require 'boxgrinder-build/helpers/package-helper'
2
+
3
+ module BoxGrinder
4
+ describe PackageHelper do
5
+ end
6
+ end
@@ -0,0 +1,63 @@
1
+ require 'boxgrinder-build/helpers/plugin-helper'
2
+ require 'rspec/rspec-config-helper'
3
+ require 'ostruct'
4
+
5
+ module BoxGrinder
6
+ describe PluginHelper do
7
+ include RSpecConfigHelper
8
+
9
+ before(:all) do
10
+ @current_arch = (-1.size) == 8 ? "x86_64" : "i386"
11
+ @plugin_array = %w(boxgrinder-build-fedora-os-plugin boxgrinder-build-rhel-os-plugin boxgrinder-build-centos-os-plugin boxgrinder-build-ec2-platform-plugin boxgrinder-build-vmware-platform-plugin boxgrinder-build-s3-delivery-plugin boxgrinder-build-sftp-delivery-plugin boxgrinder-build-local-delivery-plugin)
12
+ end
13
+
14
+ before(:each) do
15
+ @plugin_helper = PluginHelper.new( :options => OpenStruct.new )
16
+ end
17
+
18
+ it "should parse plugin list and return empty array when no plugins are provided" do
19
+ @plugin_helper.parse_plugin_list.should == []
20
+ end
21
+
22
+ it "should parse plugin list with double quotes" do
23
+ @plugin_helper = PluginHelper.new( :options => OpenStruct.new( :plugins => '"abc,def"' ) )
24
+ @plugin_helper.parse_plugin_list.should == ['abc', 'def']
25
+ end
26
+
27
+ it "should parse plugin list with single quotes" do
28
+ @plugin_helper = PluginHelper.new( :options => OpenStruct.new( :plugins => "'abc,def'" ) )
29
+ @plugin_helper.parse_plugin_list.should == ['abc', 'def']
30
+ end
31
+
32
+ it "should parse plugin list with single quotes and clean up it" do
33
+ @plugin_helper = PluginHelper.new( :options => OpenStruct.new( :plugins => "' abc , def'" ) )
34
+ @plugin_helper.parse_plugin_list.should == ['abc', 'def']
35
+ end
36
+
37
+ it "should require default plugins" do
38
+ @plugin_array.each do |plugin|
39
+ @plugin_helper.should_receive(:gem).ordered.with(plugin)
40
+ @plugin_helper.should_receive(:require).once.with(plugin)
41
+ end
42
+
43
+ @plugin_helper.read_and_require
44
+ end
45
+
46
+ it "should read plugins specified in command line" do
47
+ @plugin_helper = PluginHelper.new( :options => OpenStruct.new( :plugins => 'abc,def' ) )
48
+
49
+ @plugin_array.each do |plugin|
50
+ @plugin_helper.should_receive(:gem).ordered.with(plugin)
51
+ @plugin_helper.should_receive(:require).once.with(plugin)
52
+ end
53
+
54
+ @plugin_helper.should_receive(:gem).ordered.with('abc')
55
+ @plugin_helper.should_receive(:require).ordered.with('abc')
56
+ @plugin_helper.should_receive(:gem).ordered.with('def')
57
+ @plugin_helper.should_receive(:require).ordered.with('def')
58
+
59
+ @plugin_helper.read_and_require
60
+ end
61
+ end
62
+ end
63
+
@@ -0,0 +1,27 @@
1
+ require 'boxgrinder-build/managers/plugin-manager'
2
+
3
+ module BoxGrinder
4
+ describe PluginManager do
5
+
6
+ before(:each) do
7
+ @manager = PluginManager.instance
8
+ end
9
+
10
+ it "should register simple plugin" do
11
+ @manager.register_plugin( { :class => PluginManager, :type => :delivery, :name => :abc, :full_name => "Amazon Simple Storage Service (Amazon S3)" } )
12
+
13
+ @manager.plugins[:delivery].size.should == 1
14
+ @manager.plugins[:delivery][:abc][:class].should == PluginManager
15
+ end
16
+
17
+ it "should register plugin with many types" do
18
+ @manager.register_plugin( { :class => PluginManager, :type => :delivery, :name => :s3, :full_name => "Amazon Simple Storage Service (Amazon S3)", :types => [:s3, :cloudfront, :ami] } )
19
+
20
+ @manager.plugins[:delivery].size.should == 4
21
+ @manager.plugins[:delivery][:abc][:class].should == PluginManager
22
+ @manager.plugins[:delivery][:ami][:class].should == PluginManager
23
+ @manager.plugins[:delivery][:s3][:class].should == PluginManager
24
+ @manager.plugins[:delivery][:cloudfront][:class].should == PluginManager
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,89 @@
1
+ require 'boxgrinder-build/plugins/base-plugin'
2
+ require 'rspec/rspec-config-helper'
3
+ require 'rbconfig'
4
+
5
+ module BoxGrinder
6
+ describe BasePlugin do
7
+ include RSpecConfigHelper
8
+
9
+ before(:all) do
10
+ @arch = RbConfig::CONFIG['host_cpu']
11
+ end
12
+
13
+ before(:each) do
14
+ @plugin = BasePlugin.new
15
+ @plugin.init( generate_config, generate_appliance_config, :plugin_info => { :name => :plugin_name })
16
+ end
17
+
18
+ it "should be initialized after running init method" do
19
+ @plugin.instance_variable_get(:@initialized).should == true
20
+ end
21
+
22
+ it "should register a disk deliverable" do
23
+ @plugin.register_deliverable(:disk => "name")
24
+
25
+ deliverables = @plugin.instance_variable_get(:@deliverables)
26
+
27
+ deliverables.disk.should == "build/appliances/#{@arch}/fedora/11/full/plugin_name-plugin/tmp/name"
28
+ end
29
+
30
+ it "should register a metadata deliverable" do
31
+ @plugin.register_deliverable(:a_name => 'a_path')
32
+
33
+ deliverables = @plugin.instance_variable_get(:@deliverables)
34
+
35
+ deliverables.size.should == 1
36
+ deliverables.a_name.should == "build/appliances/#{@arch}/fedora/11/full/plugin_name-plugin/tmp/a_path"
37
+ end
38
+
39
+ it "should register multiple other deliverables" do
40
+ @plugin.register_deliverable(:a_name => 'a_path', :a_second_name => 'a_path_too')
41
+
42
+ deliverables = @plugin.instance_variable_get(:@deliverables)
43
+
44
+ deliverables.size.should == 2
45
+ deliverables.a_name.should == "build/appliances/#{@arch}/fedora/11/full/plugin_name-plugin/tmp/a_path"
46
+ deliverables.a_second_name.should == "build/appliances/#{@arch}/fedora/11/full/plugin_name-plugin/tmp/a_path_too"
47
+ end
48
+
49
+ it "should have a valid path to tmp directory" do
50
+ @plugin.instance_variable_get(:@dir).tmp.should == "build/appliances/#{@arch}/fedora/11/full/plugin_name-plugin/tmp"
51
+ end
52
+
53
+ it "should check if deliverables exists and return true" do
54
+ @plugin.register_deliverable(:disk => "disk")
55
+ @plugin.register_deliverable(:abc => "def")
56
+ @plugin.register_deliverable(:file => "a/path")
57
+
58
+ File.should_receive(:exists?).exactly(3).times.with(any_args()).and_return(true)
59
+
60
+ @plugin.deliverables_exists?.should == true
61
+ end
62
+
63
+ it "should check if deliverables exists and return false" do
64
+ @plugin.register_deliverable(:disk => "disk")
65
+ @plugin.register_deliverable(:abc => "def")
66
+ @plugin.register_deliverable(:file => "a/path")
67
+
68
+ File.should_receive(:exists?).once.with(any_args()).and_return(true)
69
+ File.should_receive(:exists?).once.with(any_args()).and_return(false)
70
+ File.should_not_receive(:exists?)
71
+
72
+ @plugin.deliverables_exists?.should == false
73
+ end
74
+
75
+ it "should run the plugin" do
76
+ @plugin.register_deliverable(:disk => "disk")
77
+
78
+ FileUtils.should_receive(:rm_rf).with("build/appliances/#{@arch}/fedora/11/full/plugin_name-plugin/tmp")
79
+ FileUtils.should_receive(:mkdir_p).with("build/appliances/#{@arch}/fedora/11/full/plugin_name-plugin/tmp")
80
+
81
+ @plugin.should_receive( :execute ).with('a', 3)
82
+
83
+ FileUtils.should_receive(:mv).with("build/appliances/#{@arch}/fedora/11/full/plugin_name-plugin/tmp/disk", "build/appliances/#{@arch}/fedora/11/full/plugin_name-plugin/disk")
84
+ FileUtils.should_receive(:rm_rf).with("build/appliances/#{@arch}/fedora/11/full/plugin_name-plugin/tmp")
85
+
86
+ @plugin.run('a', 3)
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,27 @@
1
+ name: jeos-f13
2
+ summary: Just Enough Operating System based on Fedora 13
3
+ os:
4
+ name: fedora
5
+ version: 13
6
+ hardware:
7
+ partitions:
8
+ "/":
9
+ size: 2
10
+ packages:
11
+ includes:
12
+ - bash
13
+ - kernel-PAE
14
+ - grub
15
+ - e2fsprogs
16
+ - passwd
17
+ - policycoreutils
18
+ - chkconfig
19
+ - rootfiles
20
+ - yum
21
+ - vim-minimal
22
+ - acpid
23
+ - dhclient
24
+ - iputils
25
+ - openssh-server
26
+ - openssh-clients
27
+ - system-config-firewall-base
metadata CHANGED
@@ -4,35 +4,35 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 4
8
- - 1
9
- version: 0.4.1
7
+ - 5
8
+ - 0
9
+ version: 0.5.0
10
10
  platform: ruby
11
11
  authors:
12
- - BoxGrinder Project
12
+ - Marek Goldmann
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-06-18 00:00:00 +02:00
17
+ date: 2010-07-21 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: boxgrinder-core
21
+ name: commander
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  segments:
28
+ - 4
28
29
  - 0
29
- - 0
30
- - 11
31
- version: 0.0.11
30
+ - 3
31
+ version: 4.0.3
32
32
  type: :runtime
33
33
  version_requirements: *id001
34
34
  - !ruby/object:Gem::Dependency
35
- name: aws-s3
35
+ name: boxgrinder-core
36
36
  prerelease: false
37
37
  requirement: &id002 !ruby/object:Gem::Requirement
38
38
  requirements:
@@ -40,166 +40,68 @@ dependencies:
40
40
  - !ruby/object:Gem::Version
41
41
  segments:
42
42
  - 0
43
- - 6
44
- - 2
45
- version: 0.6.2
46
- type: :runtime
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: amazon-ec2
50
- prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- segments:
56
- - 0
57
- - 9
58
- - 6
59
- version: 0.9.6
60
- type: :runtime
61
- version_requirements: *id003
62
- - !ruby/object:Gem::Dependency
63
- name: net-sftp
64
- prerelease: false
65
- requirement: &id004 !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- segments:
70
- - 2
71
- - 0
72
- - 4
73
- version: 2.0.4
74
- type: :runtime
75
- version_requirements: *id004
76
- - !ruby/object:Gem::Dependency
77
- name: net-ssh
78
- prerelease: false
79
- requirement: &id005 !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- segments:
84
- - 2
85
43
  - 0
86
44
  - 20
87
- version: 2.0.20
88
- type: :runtime
89
- version_requirements: *id005
90
- - !ruby/object:Gem::Dependency
91
- name: rake
92
- prerelease: false
93
- requirement: &id006 !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- segments:
98
- - 0
99
- - 8
100
- - 7
101
- version: 0.8.7
102
- type: :runtime
103
- version_requirements: *id006
104
- - !ruby/object:Gem::Dependency
105
- name: progressbar
106
- prerelease: false
107
- requirement: &id007 !ruby/object:Gem::Requirement
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- segments:
112
- - 0
113
- - 9
114
- - 0
115
- version: 0.9.0
116
- type: :runtime
117
- version_requirements: *id007
118
- - !ruby/object:Gem::Dependency
119
- name: commander
120
- prerelease: false
121
- requirement: &id008 !ruby/object:Gem::Requirement
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- segments:
126
- - 4
127
- - 0
128
- - 3
129
- version: 4.0.3
45
+ version: 0.0.20
130
46
  type: :runtime
131
- version_requirements: *id008
132
- description:
47
+ version_requirements: *id002
48
+ description: A tool for creating appliances from simple plain text files for various virtual environments.
133
49
  email: info@boxgrinder.org
134
50
  executables:
135
51
  - boxgrinder-build
136
52
  extensions: []
137
53
 
138
- extra_rdoc_files: []
139
-
140
- files:
141
- - lib/boxgrinder-build/plugins/base-plugin.rb
142
- - lib/boxgrinder-build/plugins/delivery/s3/aws-helper.rb
143
- - lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb
144
- - lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb
145
- - lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb
146
- - lib/boxgrinder-build/plugins/delivery/base/base-delivery-plugin.rb
147
- - lib/boxgrinder-build/plugins/platform/base-platform-plugin.rb
148
- - lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb
149
- - lib/boxgrinder-build/plugins/platform/vmware/src/base.vmx
150
- - lib/boxgrinder-build/plugins/platform/vmware/src/README
151
- - lib/boxgrinder-build/plugins/platform/vmware/src/base.vmdk
152
- - lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb
153
- - lib/boxgrinder-build/plugins/platform/ec2/src/f12/yum.conf
154
- - lib/boxgrinder-build/plugins/platform/ec2/src/fstab_64bit
155
- - lib/boxgrinder-build/plugins/platform/ec2/src/f12-i386-boxgrinder.repo
156
- - lib/boxgrinder-build/plugins/platform/ec2/src/rc_local
157
- - lib/boxgrinder-build/plugins/platform/ec2/src/ifcfg-eth0
158
- - lib/boxgrinder-build/plugins/platform/ec2/src/f12-x86_64-boxgrinder.repo
159
- - lib/boxgrinder-build/plugins/platform/ec2/src/fstab_32bit
160
- - lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb
161
- - lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb
162
- - lib/boxgrinder-build/plugins/os/base-operating-system-plugin.rb
163
- - lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb
164
- - lib/boxgrinder-build/plugins/os/base/rpm-based-os-plugin.rb
165
- - lib/boxgrinder-build/plugins/os/base/src/motd.init
166
- - lib/boxgrinder-build/plugins/os/base/src/appliance.ks.erb
167
- - lib/boxgrinder-build/plugins/os/base/src/base.repo
168
- - lib/boxgrinder-build/plugins/os/base/validators/rpm-dependency-validator.rb
169
- - lib/boxgrinder-build/plugins/os/base/kickstart.rb
170
- - lib/boxgrinder-build/plugins/os/base/rhel-based-os-plugin.rb
171
- - lib/boxgrinder-build/managers/base-plugin-manager.rb
172
- - lib/boxgrinder-build/managers/platform-plugin-manager.rb
173
- - lib/boxgrinder-build/managers/delivery-plugin-manager.rb
174
- - lib/boxgrinder-build/managers/operating-system-plugin-manager.rb
175
- - lib/boxgrinder-build/validators/appliance-validator.rb
176
- - lib/boxgrinder-build/validators/appliance-config-parameter-validator.rb
177
- - lib/boxgrinder-build/validators/ssh-validator.rb
178
- - lib/boxgrinder-build/validators/validator.rb
179
- - lib/boxgrinder-build/validators/config-validator.rb
54
+ extra_rdoc_files:
55
+ - CHANGELOG
56
+ - LICENSE
57
+ - README
58
+ - bin/boxgrinder-build
180
59
  - lib/boxgrinder-build/appliance.rb
181
- - lib/boxgrinder-build/helpers/plugin-helper.rb
60
+ - lib/boxgrinder-build/helpers/appliance-customize-helper.rb
182
61
  - lib/boxgrinder-build/helpers/guestfs-helper.rb
183
- - lib/boxgrinder-build/helpers/rake-helper.rb
62
+ - lib/boxgrinder-build/helpers/linux-helper.rb
184
63
  - lib/boxgrinder-build/helpers/package-helper.rb
185
- - lib/boxgrinder-build/helpers/appliance-customize-helper.rb
186
- - docs/node-info/pom.xml
187
- - docs/node-info/src/main/webapp/WEB-INF/web.xml
188
- - docs/node-info/src/main/webapp/META-INF/MANIFEST.MF
189
- - docs/node-info/src/main/webapp/index.jsp
190
- - docs/examples/appliances/appliances.appl
191
- - docs/examples/appliances/minimal.appl
192
- - docs/examples/appliances/mix.appl
193
- - docs/examples/appliances/packages.appl
194
- - README
64
+ - lib/boxgrinder-build/helpers/plugin-helper.rb
65
+ - lib/boxgrinder-build/managers/plugin-manager.rb
66
+ - lib/boxgrinder-build/plugins/base-plugin.rb
67
+ files:
68
+ - CHANGELOG
195
69
  - LICENSE
70
+ - Manifest
71
+ - README
72
+ - Rakefile
73
+ - bin/boxgrinder-build
74
+ - lib/boxgrinder-build/appliance.rb
75
+ - lib/boxgrinder-build/helpers/appliance-customize-helper.rb
76
+ - lib/boxgrinder-build/helpers/guestfs-helper.rb
77
+ - lib/boxgrinder-build/helpers/linux-helper.rb
78
+ - lib/boxgrinder-build/helpers/package-helper.rb
79
+ - lib/boxgrinder-build/helpers/plugin-helper.rb
80
+ - lib/boxgrinder-build/managers/plugin-manager.rb
81
+ - lib/boxgrinder-build/plugins/base-plugin.rb
82
+ - spec/Rakefile
83
+ - spec/appliance-spec.rb
84
+ - spec/helpers/appliance-customize-helper-spec.rb
85
+ - spec/helpers/guestfs-helper-spec.rb
86
+ - spec/helpers/linux-helper-spec.rb
87
+ - spec/helpers/package-helper-spec.rb
88
+ - spec/helpers/plugin-helper-spec.rb
89
+ - spec/managers/plugin-manager-spec.rb
90
+ - spec/plugins/base-plugin-spec.rb
91
+ - spec/rspec/src/appliances/jeos-f13.appl
92
+ - boxgrinder-build.gemspec
196
93
  has_rdoc: true
197
94
  homepage: http://www.jboss.org/stormgrind/projects/boxgrinder.html
198
95
  licenses: []
199
96
 
200
97
  post_install_message:
201
- rdoc_options: []
202
-
98
+ rdoc_options:
99
+ - --line-numbers
100
+ - --inline-source
101
+ - --title
102
+ - Boxgrinder-build
103
+ - --main
104
+ - README
203
105
  require_paths:
204
106
  - lib
205
107
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -214,14 +116,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
116
  - - ">="
215
117
  - !ruby/object:Gem::Version
216
118
  segments:
217
- - 0
218
- version: "0"
119
+ - 1
120
+ - 2
121
+ version: "1.2"
219
122
  requirements: []
220
123
 
221
- rubyforge_project:
124
+ rubyforge_project: BoxGrinder Build
222
125
  rubygems_version: 1.3.6
223
126
  signing_key:
224
127
  specification_version: 3
225
- summary: BoxGrinder Build files
128
+ summary: A tool for creating appliances from simple plain text files for various virtual environments.
226
129
  test_files: []
227
130
 
@@ -1,5 +0,0 @@
1
- name: appliances
2
- summary: This is an appliance with multiple appliances
3
- appliances:
4
- - minimal
5
- - packages