omnibus 6.1.9 → 8.0.15
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.
- checksums.yaml +4 -4
- data/Gemfile +0 -4
- data/README.md +54 -13
- data/bin/omnibus +1 -1
- data/lib/omnibus.rb +2 -2
- data/lib/omnibus/build_version.rb +1 -1
- data/lib/omnibus/build_version_dsl.rb +5 -7
- data/lib/omnibus/builder.rb +4 -4
- data/lib/omnibus/cleaner.rb +1 -1
- data/lib/omnibus/cli.rb +2 -2
- data/lib/omnibus/cli/changelog.rb +1 -1
- data/lib/omnibus/compressor.rb +2 -2
- data/lib/omnibus/compressors/base.rb +2 -2
- data/lib/omnibus/compressors/dmg.rb +5 -2
- data/lib/omnibus/compressors/tgz.rb +2 -2
- data/lib/omnibus/config.rb +13 -3
- data/lib/omnibus/core_extensions/open_uri.rb +1 -1
- data/lib/omnibus/digestable.rb +2 -2
- data/lib/omnibus/download_helpers.rb +6 -2
- data/lib/omnibus/fetchers/file_fetcher.rb +1 -1
- data/lib/omnibus/fetchers/net_fetcher.rb +1 -1
- data/lib/omnibus/fetchers/path_fetcher.rb +1 -1
- data/lib/omnibus/file_syncer.rb +1 -1
- data/lib/omnibus/generator.rb +2 -2
- data/lib/omnibus/generator_files/README.md.erb +20 -16
- data/lib/omnibus/generator_files/config/software/preparation.rb.erb +1 -1
- data/lib/omnibus/generator_files/omnibus.rb.erb +5 -4
- data/lib/omnibus/git_cache.rb +2 -2
- data/lib/omnibus/health_check.rb +2 -0
- data/lib/omnibus/licensing.rb +3 -3
- data/lib/omnibus/logger.rb +1 -1
- data/lib/omnibus/manifest.rb +1 -1
- data/lib/omnibus/metadata.rb +3 -3
- data/lib/omnibus/ohai.rb +1 -1
- data/lib/omnibus/package.rb +1 -1
- data/lib/omnibus/packager.rb +6 -14
- data/lib/omnibus/packagers/base.rb +1 -1
- data/lib/omnibus/packagers/msi.rb +1 -1
- data/lib/omnibus/packagers/pkg.rb +122 -3
- data/lib/omnibus/packagers/solaris.rb +1 -1
- data/lib/omnibus/project.rb +2 -2
- data/lib/omnibus/publishers/artifactory_publisher.rb +2 -2
- data/lib/omnibus/publishers/s3_publisher.rb +6 -4
- data/lib/omnibus/s3_cache.rb +4 -2
- data/lib/omnibus/s3_helpers.rb +7 -7
- data/lib/omnibus/software.rb +52 -34
- data/lib/omnibus/sugarable.rb +5 -14
- data/lib/omnibus/templating.rb +1 -1
- data/lib/omnibus/thread_pool.rb +0 -2
- data/lib/omnibus/util.rb +1 -1
- data/lib/omnibus/version.rb +1 -1
- data/lib/omnibus/whitelist.rb +24 -1
- data/omnibus.gemspec +7 -8
- data/resources/ips/doc-transform.erb +1 -0
- data/resources/msi/CustomActionFastMsi.CA.dll +0 -0
- data/resources/msi/source.wxs.erb +2 -10
- data/resources/rpm/signing.erb +7 -10
- data/spec/support/path_helpers.rb +2 -2
- data/spec/unit/compressor_spec.rb +1 -1
- data/spec/unit/compressors/dmg_spec.rb +5 -2
- data/spec/unit/metadata_spec.rb +6 -6
- data/spec/unit/packager_spec.rb +6 -13
- data/spec/unit/packagers/ips_spec.rb +1 -0
- data/spec/unit/packagers/pkg_spec.rb +354 -0
- data/spec/unit/packagers/rpm_spec.rb +5 -5
- data/spec/unit/project_spec.rb +5 -5
- data/spec/unit/s3_cacher_spec.rb +17 -0
- data/spec/unit/s3_helpers_spec.rb +20 -1
- data/spec/unit/software_spec.rb +58 -119
- metadata +22 -22
@@ -35,7 +35,7 @@ module Omnibus
|
|
35
35
|
create_directory("#{staging_dir}/SOURCES")
|
36
36
|
create_directory("#{staging_dir}/SPECS")
|
37
37
|
|
38
|
-
stub_ohai(platform: "redhat", version: "6
|
38
|
+
stub_ohai(platform: "redhat", version: "6") do |data|
|
39
39
|
data["kernel"]["machine"] = architecture
|
40
40
|
end
|
41
41
|
end
|
@@ -488,7 +488,7 @@ module Omnibus
|
|
488
488
|
|
489
489
|
describe "#safe_architecture" do
|
490
490
|
before do
|
491
|
-
stub_ohai(platform: "redhat", version: "6
|
491
|
+
stub_ohai(platform: "redhat", version: "6") do |data|
|
492
492
|
data["kernel"]["machine"] = "i386"
|
493
493
|
end
|
494
494
|
end
|
@@ -499,7 +499,7 @@ module Omnibus
|
|
499
499
|
|
500
500
|
context "when i686" do
|
501
501
|
before do
|
502
|
-
stub_ohai(platform: "redhat", version: "6
|
502
|
+
stub_ohai(platform: "redhat", version: "6") do |data|
|
503
503
|
data["kernel"]["machine"] = "i686"
|
504
504
|
end
|
505
505
|
end
|
@@ -512,9 +512,9 @@ module Omnibus
|
|
512
512
|
context "on Pidora" do
|
513
513
|
before do
|
514
514
|
# There's no Pidora in Fauxhai :(
|
515
|
-
stub_ohai(platform: "fedora", version: "
|
515
|
+
stub_ohai(platform: "fedora", version: "32") do |data|
|
516
516
|
data["platform"] = "pidora"
|
517
|
-
data["platform_version"] = "
|
517
|
+
data["platform_version"] = "32"
|
518
518
|
data["kernel"]["machine"] = "armv6l"
|
519
519
|
end
|
520
520
|
end
|
data/spec/unit/project_spec.rb
CHANGED
@@ -207,28 +207,28 @@ module Omnibus
|
|
207
207
|
before { stub_ohai(fauxhai_options) }
|
208
208
|
|
209
209
|
context "when on RHEL" do
|
210
|
-
let(:fauxhai_options) { { platform: "redhat", version: "
|
210
|
+
let(:fauxhai_options) { { platform: "redhat", version: "8" } }
|
211
211
|
it "returns a RHEL iteration" do
|
212
212
|
expect(subject.build_iteration).to eq(1)
|
213
213
|
end
|
214
214
|
end
|
215
215
|
|
216
216
|
context "when on Debian" do
|
217
|
-
let(:fauxhai_options) { { platform: "debian", version: "
|
217
|
+
let(:fauxhai_options) { { platform: "debian", version: "10" } }
|
218
218
|
it "returns a Debian iteration" do
|
219
219
|
expect(subject.build_iteration).to eq(1)
|
220
220
|
end
|
221
221
|
end
|
222
222
|
|
223
223
|
context "when on FreeBSD" do
|
224
|
-
let(:fauxhai_options) { { platform: "freebsd", version: "
|
224
|
+
let(:fauxhai_options) { { platform: "freebsd", version: "12" } }
|
225
225
|
it "returns a FreeBSD iteration" do
|
226
226
|
expect(subject.build_iteration).to eq(1)
|
227
227
|
end
|
228
228
|
end
|
229
229
|
|
230
230
|
context "when on Windows" do
|
231
|
-
before { stub_ohai(platform: "windows", version: "
|
231
|
+
before { stub_ohai(platform: "windows", version: "2019") }
|
232
232
|
before { stub_const("File::ALT_SEPARATOR", '\\') }
|
233
233
|
it "returns a Windows iteration" do
|
234
234
|
expect(subject.build_iteration).to eq(1)
|
@@ -236,7 +236,7 @@ module Omnibus
|
|
236
236
|
end
|
237
237
|
|
238
238
|
context "when on OS X" do
|
239
|
-
let(:fauxhai_options) { { platform: "mac_os_x", version: "10.
|
239
|
+
let(:fauxhai_options) { { platform: "mac_os_x", version: "10.15" } }
|
240
240
|
it "returns a generic iteration" do
|
241
241
|
expect(subject.build_iteration).to eq(1)
|
242
242
|
end
|
data/spec/unit/s3_cacher_spec.rb
CHANGED
@@ -109,10 +109,12 @@ module Omnibus
|
|
109
109
|
let (:s3_access_key) { nil }
|
110
110
|
let (:s3_secret_key) { nil }
|
111
111
|
let (:s3_profile) { nil }
|
112
|
+
let (:s3_iam_role_arn) { nil }
|
112
113
|
|
113
114
|
before do
|
114
115
|
Config.s3_bucket s3_bucket
|
115
116
|
Config.s3_region s3_region
|
117
|
+
Config.s3_iam_role_arn s3_iam_role_arn
|
116
118
|
Config.s3_profile s3_profile
|
117
119
|
Config.s3_access_key s3_access_key
|
118
120
|
Config.s3_secret_key s3_secret_key
|
@@ -148,6 +150,21 @@ module Omnibus
|
|
148
150
|
expect(config[:secret_access_key]).to eq(nil)
|
149
151
|
end
|
150
152
|
end
|
153
|
+
|
154
|
+
context "s3_iam_role_arn is configured" do
|
155
|
+
let(:s3_iam_role_arn) { "S3_IAM_ROLE_ARN" }
|
156
|
+
let(:s3_profile) { "SHAREDPROFILE" }
|
157
|
+
let(:s3_access_key) { "ACCESS_KEY_ID" }
|
158
|
+
let(:s3_secret_key) { "SECRET_ACCESS_KEY" }
|
159
|
+
|
160
|
+
it "sets s3_iam_role_arn only" do
|
161
|
+
config = S3Cache.send(:s3_configuration)
|
162
|
+
expect(config[:iam_role_arn]).to eq(s3_iam_role_arn)
|
163
|
+
expect(config[:profile]).to eq(nil)
|
164
|
+
expect(config[:access_key_id]).to eq(nil)
|
165
|
+
expect(config[:secret_access_key]).to eq(nil)
|
166
|
+
end
|
167
|
+
end
|
151
168
|
end
|
152
169
|
end
|
153
170
|
end
|
@@ -40,6 +40,8 @@ module Omnibus
|
|
40
40
|
let(:instance) { klass.new }
|
41
41
|
let(:key_pair) { { access_key_id: "key_id", secret_access_key: "access_key" } }
|
42
42
|
let(:profile) { "my-profile" }
|
43
|
+
let(:iam_role_arn) { "my-iam-role-arn" }
|
44
|
+
let(:role_session_name) { "omnibus-assume-role-s3-access" }
|
43
45
|
let(:config) { { bucket_name: "foo", region: "us-east-1" } }
|
44
46
|
|
45
47
|
it "uses configured key pairs" do
|
@@ -52,19 +54,36 @@ module Omnibus
|
|
52
54
|
instance.send(:get_credentials)
|
53
55
|
end
|
54
56
|
|
55
|
-
it "
|
57
|
+
it "prefers shared credentials profiles over key pairs" do
|
56
58
|
allow_any_instance_of(klass).to receive(:s3_configuration).and_return(
|
57
59
|
{
|
58
60
|
**config,
|
59
61
|
**key_pair,
|
62
|
+
iam_role_arn: nil,
|
60
63
|
profile: profile,
|
61
64
|
}
|
62
65
|
)
|
63
66
|
expect(Aws::Credentials).to_not receive(:new)
|
67
|
+
expect(Aws::AssumeRoleCredentials).to_not receive(:new)
|
64
68
|
allow(Aws::SharedCredentials).to receive(:new).with(profile_name: profile)
|
65
69
|
instance.send(:get_credentials)
|
66
70
|
end
|
67
71
|
|
72
|
+
it "prefers AWS IAM role arn over profiles and key pairs" do
|
73
|
+
allow_any_instance_of(klass).to receive(:s3_configuration).and_return(
|
74
|
+
{
|
75
|
+
**config,
|
76
|
+
**key_pair,
|
77
|
+
profile: profile,
|
78
|
+
iam_role_arn: iam_role_arn,
|
79
|
+
}
|
80
|
+
)
|
81
|
+
expect(Aws::Credentials).to_not receive(:new)
|
82
|
+
expect(Aws::SharedCredentials).to_not receive(:new)
|
83
|
+
allow(Aws::AssumeRoleCredentials).to receive(:new).with(role_arn: iam_role_arn, role_session_name: role_session_name)
|
84
|
+
instance.send(:get_credentials)
|
85
|
+
end
|
86
|
+
|
68
87
|
end
|
69
88
|
end
|
70
89
|
end
|
data/spec/unit/software_spec.rb
CHANGED
@@ -73,9 +73,9 @@ module Omnibus
|
|
73
73
|
it "sets the defaults" do
|
74
74
|
expect(subject.with_standard_compiler_flags).to eq(
|
75
75
|
"LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib",
|
76
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
77
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
78
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
76
|
+
"CFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
77
|
+
"CXXFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
78
|
+
"CPPFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
79
79
|
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
80
80
|
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
81
81
|
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
@@ -84,9 +84,9 @@ module Omnibus
|
|
84
84
|
it "overrides LDFLAGS" do
|
85
85
|
expect(subject.with_standard_compiler_flags("LDFLAGS" => "foo")).to eq(
|
86
86
|
"LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib",
|
87
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
88
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
89
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
87
|
+
"CFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
88
|
+
"CXXFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
89
|
+
"CPPFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
90
90
|
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
91
91
|
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
92
92
|
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
@@ -95,9 +95,9 @@ module Omnibus
|
|
95
95
|
it "overrides CFLAGS" do
|
96
96
|
expect(subject.with_standard_compiler_flags("CFLAGS" => "foo")).to eq(
|
97
97
|
"LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib",
|
98
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
99
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
100
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
98
|
+
"CFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
99
|
+
"CXXFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
100
|
+
"CPPFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
101
101
|
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
102
102
|
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
103
103
|
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
@@ -106,9 +106,9 @@ module Omnibus
|
|
106
106
|
it "overrides CXXFLAGS" do
|
107
107
|
expect(subject.with_standard_compiler_flags("CXXFLAGS" => "foo")).to eq(
|
108
108
|
"LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib",
|
109
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
110
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
111
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
109
|
+
"CFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
110
|
+
"CXXFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
111
|
+
"CPPFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
112
112
|
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
113
113
|
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
114
114
|
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
@@ -117,9 +117,9 @@ module Omnibus
|
|
117
117
|
it "overrides CPPFLAGS" do
|
118
118
|
expect(subject.with_standard_compiler_flags("CPPFLAGS" => "foo")).to eq(
|
119
119
|
"LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib",
|
120
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
121
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
122
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
120
|
+
"CFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
121
|
+
"CXXFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
122
|
+
"CPPFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
123
123
|
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
124
124
|
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
125
125
|
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
@@ -129,9 +129,9 @@ module Omnibus
|
|
129
129
|
expect(subject.with_standard_compiler_flags("numberwang" => 4)).to eq(
|
130
130
|
"numberwang" => 4,
|
131
131
|
"LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib",
|
132
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
133
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
134
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
132
|
+
"CFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
133
|
+
"CXXFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
134
|
+
"CPPFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
135
135
|
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
136
136
|
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
137
137
|
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
@@ -196,9 +196,9 @@ module Omnibus
|
|
196
196
|
it "sets the defaults" do
|
197
197
|
expect(subject.with_standard_compiler_flags).to eq(
|
198
198
|
"LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib",
|
199
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
200
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
201
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
199
|
+
"CFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
200
|
+
"CXXFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
201
|
+
"CPPFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
202
202
|
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
203
203
|
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
204
204
|
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
@@ -207,12 +207,7 @@ module Omnibus
|
|
207
207
|
end
|
208
208
|
|
209
209
|
context "on aix" do
|
210
|
-
before
|
211
|
-
# There's no AIX in Fauxhai :(
|
212
|
-
stub_ohai(platform: "solaris2", version: "5.11") do |data|
|
213
|
-
data["platform"] = "aix"
|
214
|
-
end
|
215
|
-
end
|
210
|
+
before { stub_ohai(platform: "aix") }
|
216
211
|
|
217
212
|
it "sets the defaults" do
|
218
213
|
expect(subject.with_standard_compiler_flags).to eq(
|
@@ -232,17 +227,17 @@ module Omnibus
|
|
232
227
|
end
|
233
228
|
end
|
234
229
|
|
235
|
-
context "on freebsd
|
230
|
+
context "on freebsd" do
|
236
231
|
before do
|
237
|
-
stub_ohai(platform: "freebsd", version: "
|
232
|
+
stub_ohai(platform: "freebsd", version: "12.1")
|
238
233
|
end
|
239
234
|
|
240
235
|
it "sets the defaults" do
|
241
236
|
expect(subject.with_standard_compiler_flags).to eq(
|
242
237
|
"CC" => "clang",
|
243
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
244
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
245
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
238
|
+
"CFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
239
|
+
"CXXFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
240
|
+
"CPPFLAGS" => "-I/opt/project/embedded/include -O2 -D_FORTIFY_SOURCE=2 -fstack-protector",
|
246
241
|
"CXX" => "clang++",
|
247
242
|
"LDFLAGS" => "-L/opt/project/embedded/lib",
|
248
243
|
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
@@ -250,95 +245,9 @@ module Omnibus
|
|
250
245
|
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
251
246
|
)
|
252
247
|
end
|
253
|
-
|
254
|
-
context "with gcc 4.9 installed" do
|
255
|
-
before do
|
256
|
-
allow(subject).to receive(:which).and_return("/usr/local/bin/gcc49")
|
257
|
-
end
|
258
|
-
end
|
259
|
-
end
|
260
|
-
|
261
|
-
context "on freebsd 10" do
|
262
|
-
before do
|
263
|
-
stub_ohai(platform: "freebsd", version: "10.4")
|
264
|
-
end
|
265
|
-
|
266
|
-
it "Clang as the default compiler" do
|
267
|
-
expect(subject.with_standard_compiler_flags).to eq(
|
268
|
-
"CC" => "clang",
|
269
|
-
"CXX" => "clang++",
|
270
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
271
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
272
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
273
|
-
"LDFLAGS" => "-L/opt/project/embedded/lib",
|
274
|
-
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
275
|
-
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
276
|
-
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
277
|
-
)
|
278
|
-
end
|
279
|
-
end
|
280
|
-
|
281
|
-
context "on sles 11" do
|
282
|
-
before do
|
283
|
-
# sles identifies as suse
|
284
|
-
stub_ohai(platform: "suse", version: "11.4")
|
285
|
-
allow(subject).to receive(:which).with("gcc-4.8").and_return(false)
|
286
|
-
end
|
287
|
-
it "sets the defaults" do
|
288
|
-
expect(subject.with_standard_compiler_flags).to eq(
|
289
|
-
"LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib",
|
290
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
291
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
292
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
293
|
-
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
294
|
-
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
295
|
-
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
296
|
-
)
|
297
|
-
end
|
298
|
-
|
299
|
-
context "with gcc 4.8 installed" do
|
300
|
-
|
301
|
-
before do
|
302
|
-
allow(subject).to receive(:which).and_return("/usr/bin/gcc-4.8")
|
303
|
-
end
|
304
|
-
|
305
|
-
it "sets the compiler args" do
|
306
|
-
expect(subject.with_standard_compiler_flags).to eq(
|
307
|
-
"CC" => "gcc-4.8",
|
308
|
-
"CXX" => "g++-4.8",
|
309
|
-
"LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib",
|
310
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
311
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
312
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
313
|
-
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
314
|
-
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
315
|
-
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
316
|
-
)
|
317
|
-
end
|
318
|
-
end
|
319
248
|
end
|
320
249
|
|
321
|
-
context "on
|
322
|
-
before do
|
323
|
-
# sles identifies as suse
|
324
|
-
stub_ohai(platform: "suse", version: "12.2")
|
325
|
-
allow(subject).to receive(:which).with("gcc-4.8").and_return(true)
|
326
|
-
end
|
327
|
-
|
328
|
-
it "sets the defaults" do
|
329
|
-
expect(subject.with_standard_compiler_flags).to eq(
|
330
|
-
"LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib",
|
331
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
332
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
333
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
334
|
-
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
335
|
-
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
336
|
-
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
337
|
-
)
|
338
|
-
end
|
339
|
-
end
|
340
|
-
|
341
|
-
context "on Windows" do
|
250
|
+
context "on windows" do
|
342
251
|
let(:win_arch_i386) { true }
|
343
252
|
|
344
253
|
before do
|
@@ -558,6 +467,36 @@ module Omnibus
|
|
558
467
|
end
|
559
468
|
end
|
560
469
|
|
470
|
+
describe "#bin_dirs" do
|
471
|
+
it "sets bin_dirs" do
|
472
|
+
subject.bin_dirs ["my_bin_dir"]
|
473
|
+
expect(subject.bin_dirs).to eq(["my_bin_dir"])
|
474
|
+
expect(subject.bin_dirs).to be_kind_of(Array)
|
475
|
+
end
|
476
|
+
|
477
|
+
context "bin_dirs is not set" do
|
478
|
+
it "returns default values" do
|
479
|
+
expect(subject.bin_dirs).to eq(["/opt/project/bin", "/opt/project/embedded/bin"])
|
480
|
+
expect(subject.bin_dirs).to be_kind_of(Array)
|
481
|
+
end
|
482
|
+
end
|
483
|
+
end
|
484
|
+
|
485
|
+
describe "#lib_dirs" do
|
486
|
+
it "sets lib_dirs" do
|
487
|
+
subject.lib_dirs ["my_lib_dir"]
|
488
|
+
expect(subject.lib_dirs).to eq(["my_lib_dir"])
|
489
|
+
expect(subject.lib_dirs).to be_kind_of(Array)
|
490
|
+
end
|
491
|
+
|
492
|
+
context "lib_dirs is not set" do
|
493
|
+
it "returns default values" do
|
494
|
+
expect(subject.lib_dirs).to eq(["/opt/project/embedded/lib"])
|
495
|
+
expect(subject.lib_dirs).to be_kind_of(Array)
|
496
|
+
end
|
497
|
+
end
|
498
|
+
end
|
499
|
+
|
561
500
|
context "testing repo-level version overrides" do
|
562
501
|
context "without overrides" do
|
563
502
|
it "returns the original values" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omnibus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chef Software, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-s3
|
@@ -25,19 +25,19 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: chef-
|
28
|
+
name: chef-utils
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '15.4'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '15.4'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: chef-cleanroom
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,20 +92,14 @@ dependencies:
|
|
92
92
|
requirements:
|
93
93
|
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: '
|
96
|
-
- - "<"
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: '16'
|
95
|
+
version: '15'
|
99
96
|
type: :runtime
|
100
97
|
prerelease: false
|
101
98
|
version_requirements: !ruby/object:Gem::Requirement
|
102
99
|
requirements:
|
103
100
|
- - ">="
|
104
101
|
- !ruby/object:Gem::Version
|
105
|
-
version: '
|
106
|
-
- - "<"
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
version: '16'
|
102
|
+
version: '15'
|
109
103
|
- !ruby/object:Gem::Dependency
|
110
104
|
name: ruby-progressbar
|
111
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -124,16 +118,22 @@ dependencies:
|
|
124
118
|
name: thor
|
125
119
|
requirement: !ruby/object:Gem::Requirement
|
126
120
|
requirements:
|
127
|
-
- - "
|
121
|
+
- - ">="
|
128
122
|
- !ruby/object:Gem::Version
|
129
123
|
version: '0.18'
|
124
|
+
- - "<"
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '2.0'
|
130
127
|
type: :runtime
|
131
128
|
prerelease: false
|
132
129
|
version_requirements: !ruby/object:Gem::Requirement
|
133
130
|
requirements:
|
134
|
-
- - "
|
131
|
+
- - ">="
|
135
132
|
- !ruby/object:Gem::Version
|
136
133
|
version: '0.18'
|
134
|
+
- - "<"
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '2.0'
|
137
137
|
- !ruby/object:Gem::Dependency
|
138
138
|
name: license_scout
|
139
139
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,28 +210,28 @@ dependencies:
|
|
210
210
|
requirements:
|
211
211
|
- - '='
|
212
212
|
- !ruby/object:Gem::Version
|
213
|
-
version:
|
213
|
+
version: 1.6.2
|
214
214
|
type: :development
|
215
215
|
prerelease: false
|
216
216
|
version_requirements: !ruby/object:Gem::Requirement
|
217
217
|
requirements:
|
218
218
|
- - '='
|
219
219
|
- !ruby/object:Gem::Version
|
220
|
-
version:
|
220
|
+
version: 1.6.2
|
221
221
|
- !ruby/object:Gem::Dependency
|
222
|
-
name: fauxhai
|
222
|
+
name: fauxhai-ng
|
223
223
|
requirement: !ruby/object:Gem::Requirement
|
224
224
|
requirements:
|
225
225
|
- - ">="
|
226
226
|
- !ruby/object:Gem::Version
|
227
|
-
version: '5
|
227
|
+
version: '7.5'
|
228
228
|
type: :development
|
229
229
|
prerelease: false
|
230
230
|
version_requirements: !ruby/object:Gem::Requirement
|
231
231
|
requirements:
|
232
232
|
- - ">="
|
233
233
|
- !ruby/object:Gem::Version
|
234
|
-
version: '5
|
234
|
+
version: '7.5'
|
235
235
|
- !ruby/object:Gem::Dependency
|
236
236
|
name: rspec
|
237
237
|
requirement: !ruby/object:Gem::Requirement
|
@@ -546,14 +546,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
546
546
|
requirements:
|
547
547
|
- - ">="
|
548
548
|
- !ruby/object:Gem::Version
|
549
|
-
version: '2.
|
549
|
+
version: '2.6'
|
550
550
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
551
551
|
requirements:
|
552
552
|
- - ">="
|
553
553
|
- !ruby/object:Gem::Version
|
554
554
|
version: '0'
|
555
555
|
requirements: []
|
556
|
-
rubygems_version: 3.
|
556
|
+
rubygems_version: 3.1.4
|
557
557
|
signing_key:
|
558
558
|
specification_version: 4
|
559
559
|
summary: Omnibus is a framework for building self-installing, full-stack software
|