boxgrinder-ubuntu-plugin 0.1.2 → 0.2
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/Changelog +2 -0
- data/README.md +1 -1
- data/Rakefile +1 -1
- data/lib/boxgrinder-ubuntu-plugin.rb +23 -1
- metadata +3 -2
data/Changelog
ADDED
data/README.md
CHANGED
@@ -12,7 +12,7 @@ Boxgrinder can be easily installed in Ubuntu via rubygems.
|
|
12
12
|
|
13
13
|
Install libguestfs deps first:
|
14
14
|
|
15
|
-
$ sudo apt-get install libsys-virt-perl ubuntu-vm-builder libvirt-bin \
|
15
|
+
$ sudo apt-get install grub-pc lvm2 watershed dosfstools libsys-virt-perl ubuntu-vm-builder libvirt-bin \
|
16
16
|
rubygems libvirt-dev libxslt-dev libxml2-dev gcc make \
|
17
17
|
ruby-dev qemu-kvm augeas-lenses btrfs-tools cryptsetup \
|
18
18
|
diff jfsutils libaugeas0 libhivex0 libntfs10 ntfsprogs \
|
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@ require 'rake'
|
|
6
6
|
require 'jeweler'
|
7
7
|
Jeweler::Tasks.new do |gem|
|
8
8
|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
9
|
-
gem.version = '0.
|
9
|
+
gem.version = '0.2'
|
10
10
|
gem.name = "boxgrinder-ubuntu-plugin"
|
11
11
|
gem.homepage = "http://github.com/rubiojr/boxgrinder-ubuntu-plugin"
|
12
12
|
gem.license = "MIT"
|
@@ -36,7 +36,6 @@ module BoxGrinder
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def create_partitions_file
|
39
|
-
pcount = 1
|
40
39
|
plist = File.open(@dir.tmp + "/partitions", 'w') do |pl|
|
41
40
|
@log.debug "Creting partition map #{@dir.tmp + '/partitions'}"
|
42
41
|
@appliance_config.hardware.partitions.each do |mpoint, values|
|
@@ -46,6 +45,25 @@ module BoxGrinder
|
|
46
45
|
@dir.tmp + "/partitions"
|
47
46
|
end
|
48
47
|
|
48
|
+
def create_commands_file
|
49
|
+
commands_file = @dir.tmp + "/commands"
|
50
|
+
unless @appliance_config.post['base'].nil?
|
51
|
+
clist = File.open(commands_file, 'w') do |cl|
|
52
|
+
cl.puts "#!/bin/sh"
|
53
|
+
@log.info "Executing post operations after build..."
|
54
|
+
@appliance_config.post['base'].each do |cmd|
|
55
|
+
cl.puts "chroot $1 #{cmd}"
|
56
|
+
end
|
57
|
+
@log.debug "Post commands from appliance definition file executed."
|
58
|
+
end
|
59
|
+
File.chmod(0744, commands_file)
|
60
|
+
return commands_file
|
61
|
+
else
|
62
|
+
@log.debug "No commands specified, skipping."
|
63
|
+
return nil
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
49
67
|
def execute_vmbuilder
|
50
68
|
arch = @appliance_config.hardware.arch
|
51
69
|
arch = 'amd64' if arch == 'x86_64'
|
@@ -56,6 +74,10 @@ module BoxGrinder
|
|
56
74
|
end
|
57
75
|
extra_args << "--part #{create_partitions_file}"
|
58
76
|
extra_args << "--rootpass #{@appliance_config.os.password}"
|
77
|
+
commands_file = create_commands_file
|
78
|
+
if commands_file
|
79
|
+
extra_args << "--exec=#{commands_file}"
|
80
|
+
end
|
59
81
|
if ENV["BOXGRINDER_DEBUG_VMBUILDER"]
|
60
82
|
extra_args << "--debug"
|
61
83
|
else
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: boxgrinder-ubuntu-plugin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.2'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-11-
|
12
|
+
date: 2011-11-15 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Ubuntu OS boxgrinder plugin
|
15
15
|
email: rubiojr@frameos.org
|
@@ -20,6 +20,7 @@ extra_rdoc_files:
|
|
20
20
|
- README.md
|
21
21
|
files:
|
22
22
|
- .document
|
23
|
+
- Changelog
|
23
24
|
- LICENSE.txt
|
24
25
|
- README.md
|
25
26
|
- Rakefile
|