boxgrinder-build 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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