boxgrinder-core 0.3.2 → 0.3.3
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 +4 -0
- data/Manifest +29 -0
- data/boxgrinder-core.gemspec +2 -2
- data/lib/boxgrinder-core/helpers/appliance-config-helper.rb +1 -1
- data/lib/boxgrinder-core/models/appliance-config.rb +9 -7
- data/lib/boxgrinder-core/models/config.rb +15 -2
- data/lib/boxgrinder-core/schemas/appliance_schema_0.8.0.yaml +2 -2
- data/lib/boxgrinder-core/schemas/appliance_schema_0.9.0.yaml +2 -2
- data/rubygem-boxgrinder-core.spec +7 -1
- data/spec/models/config-spec.rb +20 -7
- metadata +4 -4
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
CHANGELOG
|
2
|
+
LICENSE
|
3
|
+
Manifest
|
4
|
+
README
|
5
|
+
Rakefile
|
6
|
+
boxgrinder-core.gemspec
|
7
|
+
lib/boxgrinder-core.rb
|
8
|
+
lib/boxgrinder-core/appliance-parser.rb
|
9
|
+
lib/boxgrinder-core/appliance-validator.rb
|
10
|
+
lib/boxgrinder-core/errors.rb
|
11
|
+
lib/boxgrinder-core/helpers/appliance-config-helper.rb
|
12
|
+
lib/boxgrinder-core/helpers/appliance-definition-helper.rb
|
13
|
+
lib/boxgrinder-core/helpers/appliance-transformation-helper.rb
|
14
|
+
lib/boxgrinder-core/helpers/exec-helper.rb
|
15
|
+
lib/boxgrinder-core/helpers/log-helper.rb
|
16
|
+
lib/boxgrinder-core/models/appliance-config.rb
|
17
|
+
lib/boxgrinder-core/models/config.rb
|
18
|
+
lib/boxgrinder-core/models/task.rb
|
19
|
+
lib/boxgrinder-core/schemas/appliance_schema_0.8.0.yaml
|
20
|
+
lib/boxgrinder-core/schemas/appliance_schema_0.9.0.yaml
|
21
|
+
rubygem-boxgrinder-core.spec
|
22
|
+
spec/appliance-parser-spec.rb
|
23
|
+
spec/appliance-validator-spec.rb
|
24
|
+
spec/helpers/appliance-config-helper-spec.rb
|
25
|
+
spec/helpers/appliance-definition-helper-spec.rb
|
26
|
+
spec/helpers/appliance-transformation-helper-spec.rb
|
27
|
+
spec/helpers/exec-helper-spec.rb
|
28
|
+
spec/helpers/log-helper-spec.rb
|
29
|
+
spec/models/config-spec.
|
data/boxgrinder-core.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{boxgrinder-core}
|
5
|
-
s.version = "0.3.
|
5
|
+
s.version = "0.3.3"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Marek Goldmann"]
|
9
|
-
s.date = %q{2011-
|
9
|
+
s.date = %q{2011-06-28}
|
10
10
|
s.description = %q{Core library for BoxGrinder}
|
11
11
|
s.email = %q{info@boxgrinder.org}
|
12
12
|
s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README", "lib/boxgrinder-core.rb", "lib/boxgrinder-core/appliance-parser.rb", "lib/boxgrinder-core/appliance-validator.rb", "lib/boxgrinder-core/errors.rb", "lib/boxgrinder-core/helpers/appliance-config-helper.rb", "lib/boxgrinder-core/helpers/appliance-definition-helper.rb", "lib/boxgrinder-core/helpers/appliance-transformation-helper.rb", "lib/boxgrinder-core/helpers/exec-helper.rb", "lib/boxgrinder-core/helpers/log-helper.rb", "lib/boxgrinder-core/models/appliance-config.rb", "lib/boxgrinder-core/models/config.rb", "lib/boxgrinder-core/models/task.rb", "lib/boxgrinder-core/schemas/appliance_schema_0.8.0.yaml", "lib/boxgrinder-core/schemas/appliance_schema_0.9.0.yaml"]
|
@@ -131,7 +131,7 @@ module BoxGrinder
|
|
131
131
|
end
|
132
132
|
|
133
133
|
# https://bugzilla.redhat.com/show_bug.cgi?id=466275
|
134
|
-
partitions['/boot'] = {'type' => 'ext3', 'size' => 0.1} if partitions['/boot'].nil? and (@appliance_config.os.name == 'centos' or @appliance_config.os.name == 'rhel') and @appliance_config.os.version == '5'
|
134
|
+
partitions['/boot'] = {'type' => 'ext3', 'size' => 0.1} if partitions['/boot'].nil? and (@appliance_config.os.name == 'sl' or @appliance_config.os.name == 'centos' or @appliance_config.os.name == 'rhel') and @appliance_config.os.version == '5'
|
135
135
|
|
136
136
|
@appliance_config.hardware.partitions = partitions
|
137
137
|
end
|
@@ -93,13 +93,15 @@ module BoxGrinder
|
|
93
93
|
def default_filesystem_type
|
94
94
|
fs = 'ext4'
|
95
95
|
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
96
|
+
# Since RHEL 5.6 the default filesystem is ext4
|
97
|
+
#
|
98
|
+
# case @os.name
|
99
|
+
# when 'rhel', 'centos'
|
100
|
+
# case @os.version
|
101
|
+
# when '5'
|
102
|
+
# fs = 'ext3'
|
103
|
+
# end
|
104
|
+
# end
|
103
105
|
|
104
106
|
fs
|
105
107
|
end
|
@@ -45,12 +45,25 @@ module BoxGrinder
|
|
45
45
|
:additional_plugins => []
|
46
46
|
)
|
47
47
|
|
48
|
-
|
49
|
-
|
48
|
+
if ENV['BG_CONFIG_FILE']
|
49
|
+
raise "You specified empty configuration file path. Please make sure you set correct path for BG_CONFIG_FILE environment variable." if ENV['BG_CONFIG_FILE'].strip.empty?
|
50
|
+
raise "Configuration file '#{ENV['BG_CONFIG_FILE']}' couldn't be found. Please make sure you set correct path for BG_CONFIG_FILE environment variable." unless File.exists?(ENV['BG_CONFIG_FILE'])
|
51
|
+
end
|
52
|
+
|
53
|
+
deep_merge!(YAML.load_file(self.file)) if File.exists?(self.file)
|
54
|
+
merge_with_symbols!(values)
|
50
55
|
|
51
56
|
self.backtrace = true if [:debug, :trace].include?(self.log_level)
|
52
57
|
end
|
53
58
|
|
59
|
+
def merge_with_symbols!(values)
|
60
|
+
merge!(values.inject({}) { |memo, (k, v)| memo[k.to_sym] = v; memo })
|
61
|
+
end
|
62
|
+
|
63
|
+
def deep_merge!(h)
|
64
|
+
deep_merge(self, h)
|
65
|
+
end
|
66
|
+
|
54
67
|
def deep_merge(first, second)
|
55
68
|
second.each_key do |k|
|
56
69
|
if first[k.to_sym].is_a?(Hash) and second[k].is_a?(Hash)
|
@@ -59,8 +59,8 @@ mapping:
|
|
59
59
|
"includes": &pkg
|
60
60
|
type: seq
|
61
61
|
sequence:
|
62
|
-
- type: str
|
63
|
-
pattern: /^[\w
|
62
|
+
- type: str # Now allowing spaces due to group labels (these map to real groups with no spaces, but confuses users) https://issues.jboss.org/browse/BGBUILD-220
|
63
|
+
pattern: /^[\w\-+.@#\s]+$/ #fedora packaging standard http://bit.ly/h0JN9u (plus a few more, disallow symbols)
|
64
64
|
length: { min: 1 }
|
65
65
|
"excludes": *pkg
|
66
66
|
"repos":
|
@@ -56,8 +56,8 @@ mapping:
|
|
56
56
|
"packages":
|
57
57
|
type: seq
|
58
58
|
sequence:
|
59
|
-
- type: str
|
60
|
-
pattern: /^[\w
|
59
|
+
- type: str # Now allowing spaces due to group labels (these map to real groups with no spaces, but confuses users) https://issues.jboss.org/browse/BGBUILD-220
|
60
|
+
pattern: /^[\w\-+.@#\s]+$/ #fedora packaging standard http://bit.ly/h0JN9u (plus a few more, disallow symbols)
|
61
61
|
length: { min: 1 }
|
62
62
|
"repos":
|
63
63
|
type: seq
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Summary: Core library for BoxGrinder
|
7
7
|
Name: rubygem-%{gemname}
|
8
|
-
Version: 0.3.
|
8
|
+
Version: 0.3.3
|
9
9
|
Release: 1%{?dist}
|
10
10
|
Group: Development/Languages
|
11
11
|
License: LGPLv3+
|
@@ -76,6 +76,12 @@ popd
|
|
76
76
|
%{gemdir}/doc/%{gemname}-%{version}
|
77
77
|
|
78
78
|
%changelog
|
79
|
+
|
80
|
+
* Tue Jun 14 2011 Marc Savy <msavy@redhat.com> - 0.3.3-1
|
81
|
+
- Upstream release: 0.3.3
|
82
|
+
- [BGBUILD-233] BoxGrinder Build fails to report a missing config file
|
83
|
+
|
84
|
+
|
79
85
|
* Tue May 10 2011 Marek Goldmann <mgoldman@redhat.com> - 0.3.2-1
|
80
86
|
- Upstream release: 0.3.2
|
81
87
|
- [BGBUILD-210] In Fedora 14 parameters are not being expanded, and cause early string truncation.
|
data/spec/models/config-spec.rb
CHANGED
@@ -21,11 +21,12 @@ require 'boxgrinder-core/models/config'
|
|
21
21
|
|
22
22
|
module BoxGrinder
|
23
23
|
describe Config do
|
24
|
-
it "should not load options from file if it doesn't
|
25
|
-
ENV['BG_CONFIG_FILE'] = "
|
24
|
+
it "should not load options from file if it doesn't exist" do
|
25
|
+
ENV['BG_CONFIG_FILE'] = ""
|
26
26
|
|
27
|
-
|
28
|
-
|
27
|
+
lambda {
|
28
|
+
config = Config.new
|
29
|
+
}.should raise_error(RuntimeError, "You specified empty configuration file path. Please make sure you set correct path for BG_CONFIG_FILE environment variable.")
|
29
30
|
end
|
30
31
|
|
31
32
|
it "should load empty config file" do
|
@@ -46,11 +47,23 @@ module BoxGrinder
|
|
46
47
|
config.dir.root.should == 'root/dir'
|
47
48
|
end
|
48
49
|
|
49
|
-
it "should
|
50
|
-
ENV['BG_CONFIG_FILE'] = "
|
50
|
+
it "should raise a file not found error if BG_CONFIG_FILE is set, but the path is invalid" do
|
51
|
+
ENV['BG_CONFIG_FILE'] = "leo/tol/stoy"
|
52
|
+
lambda { Config.new }.should raise_error(RuntimeError, "Configuration file 'leo/tol/stoy' couldn't be found. Please make sure you set correct path for BG_CONFIG_FILE environment variable.")
|
53
|
+
end
|
51
54
|
|
52
|
-
|
55
|
+
it "should raise if the specified config file is whitespace" do
|
56
|
+
ENV['BG_CONFIG_FILE'] = " "
|
53
57
|
|
58
|
+
lambda {
|
59
|
+
config = Config.new
|
60
|
+
}.should raise_error(RuntimeError, "You specified empty configuration file path. Please make sure you set correct path for BG_CONFIG_FILE environment variable.")
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should merge platform" do
|
64
|
+
# Make sure we don't have the variable defined anymore
|
65
|
+
ENV.delete('BG_CONFIG_FILE')
|
66
|
+
config = Config.new.merge(:platform => :ec2)
|
54
67
|
config.platform.should == :ec2
|
55
68
|
end
|
56
69
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: boxgrinder-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 3
|
10
|
+
version: 0.3.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Marek Goldmann
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-06-28 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|