system-builder 0.0.21 → 0.0.22
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.
- data/Gemfile +15 -0
- data/Gemfile.lock +34 -0
- data/bin/box +8 -3
- data/lib/system_builder/configurator.rb +2 -1
- data/lib/system_builder/disk_squashfs_image.rb +1 -1
- data/lib/system_builder/iso_image.rb +1 -1
- data/lib/system_builder/iso_squashfs_image.rb +1 -1
- data/lib/system_builder/version.rb +1 -1
- data/tasks/rspec.rake +5 -6
- metadata +6 -4
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
system-builder (0.0.22)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: http://rubygems.org/
|
8
|
+
specs:
|
9
|
+
ZenTest (4.5.0)
|
10
|
+
autotest (4.4.6)
|
11
|
+
ZenTest (>= 4.4.1)
|
12
|
+
diff-lcs (1.1.2)
|
13
|
+
fakeweb (1.3.0)
|
14
|
+
rake (0.9.2)
|
15
|
+
rcov (0.9.9)
|
16
|
+
rspec (2.6.0)
|
17
|
+
rspec-core (~> 2.6.0)
|
18
|
+
rspec-expectations (~> 2.6.0)
|
19
|
+
rspec-mocks (~> 2.6.0)
|
20
|
+
rspec-core (2.6.4)
|
21
|
+
rspec-expectations (2.6.0)
|
22
|
+
diff-lcs (~> 1.1.2)
|
23
|
+
rspec-mocks (2.6.0)
|
24
|
+
|
25
|
+
PLATFORMS
|
26
|
+
ruby
|
27
|
+
|
28
|
+
DEPENDENCIES
|
29
|
+
autotest
|
30
|
+
fakeweb
|
31
|
+
rake
|
32
|
+
rcov
|
33
|
+
rspec
|
34
|
+
system-builder!
|
data/bin/box
CHANGED
@@ -20,6 +20,8 @@ OptionParser.new do |opts|
|
|
20
20
|
"The box image to be cloned") { |arg| @options[:image] = arg }
|
21
21
|
opts.on("-h", "--host=<host>", String,
|
22
22
|
"The host to be upgraded") { |arg| @options[:host] = arg }
|
23
|
+
opts.on("-s", "--skip-format",
|
24
|
+
"Skip partitionning and formatting") { |arg| @options[:skip_format] = true }
|
23
25
|
opts.on("-h", "--help",
|
24
26
|
"Show this help message.") { puts opts; exit }
|
25
27
|
opts.parse!(ARGV)
|
@@ -98,9 +100,12 @@ class BoxCommand
|
|
98
100
|
exit 1 unless system "sudo umount #{partition}"
|
99
101
|
end
|
100
102
|
|
101
|
-
|
102
|
-
|
103
|
-
|
103
|
+
unless options[:skip_format]
|
104
|
+
puts "Formatting filesystem"
|
105
|
+
sh "echo ',,L,*' | sudo /sbin/sfdisk -f -uS #{target}"
|
106
|
+
sh "grep -q #{partition} /proc/mounts && sudo umount #{partition} || true"
|
107
|
+
sudo "mke2fs -j -L boot #{partition}"
|
108
|
+
end
|
104
109
|
|
105
110
|
sh "[ -d #{partition_mount_point} ]||mkdir #{partition_mount_point}"
|
106
111
|
|
@@ -49,7 +49,8 @@ module SystemBuilder
|
|
49
49
|
|
50
50
|
unless File.directory?(manifest)
|
51
51
|
chroot.image.install "/tmp/puppet.pp", manifest
|
52
|
-
|
52
|
+
# chmod +r to make file readable for buildbot
|
53
|
+
chroot.sudo "puppet --color=false tmp/puppet.pp | tee /tmp/puppet.log && chmod +r /tmp/puppet.log"
|
53
54
|
process_log_file(chroot.image.expand_path("/tmp/puppet.log"))
|
54
55
|
else
|
55
56
|
context_dir = "/tmp/puppet"
|
@@ -92,7 +92,7 @@ class SystemBuilder::DiskSquashfsImage
|
|
92
92
|
f.puts "LABEL linux"
|
93
93
|
f.puts "SAY Now booting #{version} from syslinux ..."
|
94
94
|
f.puts "KERNEL /vmlinuz"
|
95
|
-
f.puts "APPEND ro initrd=/initrd.img boot=local root=/boot/filesystem.squashfs rootflags=loop rootfstype=squashfs"
|
95
|
+
f.puts "APPEND ro initrd=/initrd.img boot=local root=/boot/filesystem.squashfs rootflags=loop rootfstype=squashfs rootdelay=6"
|
96
96
|
end
|
97
97
|
end
|
98
98
|
end
|
@@ -44,7 +44,7 @@ class SystemBuilder::IsoImage
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def make_iso_fs
|
47
|
-
FileUtils::sudo "
|
47
|
+
FileUtils::sudo "genisoimage -quiet -R -o #{file} -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -A #{root_fs_label} -V #{root_fs_label} -graft-points -hide build/root/initrd.img -hide build/root/vmlinuz vmlinuz=#{boot.root}/boot/#{readlink_boot_file('vmlinuz')} initrd.img=#{boot.root}/boot/#{readlink_boot_file('initrd.img')} #{boot.root}"
|
48
48
|
FileUtils::sudo "chown $USER #{file}"
|
49
49
|
end
|
50
50
|
|
@@ -49,7 +49,7 @@ class SystemBuilder::IsoSquashfsImage
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def make_iso_fs
|
52
|
-
FileUtils::sudo "
|
52
|
+
FileUtils::sudo "genisoimage -quiet -R -o #{file} -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -graft-points vmlinuz=#{boot.root}/boot/#{readlink_boot_file('vmlinuz')} initrd.img=#{boot.root}/boot/#{readlink_boot_file('initrd.img')} filesystem.squashfs=build/filesystem.squashfs #{boot.root}/boot"
|
53
53
|
FileUtils::sudo "chown $USER #{file}"
|
54
54
|
end
|
55
55
|
|
data/tasks/rspec.rake
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
begin
|
2
|
-
require '
|
2
|
+
require 'rspec'
|
3
3
|
rescue LoadError
|
4
4
|
require 'rubygems' unless ENV['NO_RUBYGEMS']
|
5
|
-
require '
|
5
|
+
require 'rspec'
|
6
6
|
end
|
7
7
|
begin
|
8
|
-
require '
|
8
|
+
require 'rspec/core/rake_task'
|
9
9
|
rescue LoadError
|
10
10
|
puts <<-EOS
|
11
11
|
To use rspec for testing you must install rspec gem:
|
@@ -15,7 +15,6 @@ EOS
|
|
15
15
|
end
|
16
16
|
|
17
17
|
desc "Run the specs under spec/models"
|
18
|
-
|
19
|
-
t.
|
20
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
18
|
+
RSpec::Core::RakeTask.new do |t|
|
19
|
+
t.pattern = 'spec/**/*_spec.rb'
|
21
20
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: system-builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 51
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 22
|
10
|
+
version: 0.0.22
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alban Peignier
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-
|
19
|
+
date: 2011-07-24 00:00:00 Z
|
20
20
|
dependencies: []
|
21
21
|
|
22
22
|
description: ""
|
@@ -32,6 +32,8 @@ extra_rdoc_files: []
|
|
32
32
|
|
33
33
|
files:
|
34
34
|
- .gitignore
|
35
|
+
- Gemfile
|
36
|
+
- Gemfile.lock
|
35
37
|
- History.txt
|
36
38
|
- Manifest.txt
|
37
39
|
- PostInstall.txt
|