omnibus 6.0.1 → 6.0.24
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 +3 -0
- data/lib/omnibus/build_version.rb +1 -1
- data/lib/omnibus/builder.rb +1 -1
- data/lib/omnibus/changelog.rb +1 -1
- data/lib/omnibus/compressors/dmg.rb +18 -6
- data/lib/omnibus/core_extensions/open_uri.rb +1 -1
- data/lib/omnibus/exceptions.rb +103 -103
- data/lib/omnibus/fetchers/net_fetcher.rb +8 -6
- data/lib/omnibus/generator_files/.kitchen.local.yml.erb +10 -0
- data/lib/omnibus/generator_files/.kitchen.yml.erb +41 -0
- data/lib/omnibus/generator_files/Gemfile.erb +3 -3
- data/lib/omnibus/git_repository.rb +1 -1
- data/lib/omnibus/licensing.rb +1 -0
- data/lib/omnibus/metadata.rb +15 -15
- data/lib/omnibus/packager.rb +11 -10
- data/lib/omnibus/packagers/appx.rb +4 -4
- data/lib/omnibus/packagers/base.rb +19 -0
- data/lib/omnibus/packagers/bff.rb +13 -13
- data/lib/omnibus/packagers/deb.rb +14 -14
- data/lib/omnibus/packagers/ips.rb +7 -7
- data/lib/omnibus/packagers/msi.rb +73 -25
- data/lib/omnibus/packagers/pkg.rb +10 -10
- data/lib/omnibus/packagers/pkgsrc.rb +5 -5
- data/lib/omnibus/packagers/rpm.rb +31 -31
- data/lib/omnibus/packagers/solaris.rb +2 -2
- data/lib/omnibus/packagers/windows_base.rb +2 -2
- data/lib/omnibus/project.rb +4 -0
- data/lib/omnibus/publishers/artifactory_publisher.rb +17 -17
- data/lib/omnibus/publishers/s3_publisher.rb +20 -6
- data/lib/omnibus/s3_cache.rb +5 -5
- data/lib/omnibus/s3_helpers.rb +6 -4
- data/lib/omnibus/software.rb +7 -12
- data/lib/omnibus/version.rb +1 -1
- data/lib/omnibus/whitelist.rb +1 -0
- data/omnibus.gemspec +6 -7
- data/spec/functional/builder_spec.rb +1 -1
- data/spec/functional/licensing_spec.rb +49 -49
- data/spec/functional/templating_spec.rb +3 -3
- data/spec/support/git_helpers.rb +5 -5
- data/spec/unit/changelog_spec.rb +7 -7
- data/spec/unit/changelogprinter_spec.rb +5 -5
- data/spec/unit/compressors/dmg_spec.rb +7 -2
- data/spec/unit/generator_spec.rb +6 -34
- data/spec/unit/manifest_diff_spec.rb +18 -18
- data/spec/unit/metadata_spec.rb +10 -19
- data/spec/unit/packager_spec.rb +7 -7
- data/spec/unit/packagers/base_spec.rb +17 -0
- data/spec/unit/packagers/deb_spec.rb +1 -1
- data/spec/unit/packagers/ips_spec.rb +1 -1
- data/spec/unit/packagers/msi_spec.rb +45 -0
- data/spec/unit/packagers/pkg_spec.rb +1 -1
- data/spec/unit/packagers/rpm_spec.rb +1 -46
- data/spec/unit/packagers/solaris_spec.rb +3 -3
- data/spec/unit/software_spec.rb +2 -53
- data/spec/unit/util_spec.rb +1 -1
- metadata +21 -28
data/spec/unit/packager_spec.rb
CHANGED
@@ -31,13 +31,6 @@ module Omnibus
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
context "on Solaris 10" do
|
35
|
-
before { stub_ohai(platform: "solaris2", version: "5.10") }
|
36
|
-
it "prefers Solaris" do
|
37
|
-
expect(described_class.for_current_system).to eq([Packager::Solaris])
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
34
|
context "on AIX" do
|
42
35
|
before { stub_ohai(platform: "aix", version: "7.1") }
|
43
36
|
it "prefers BFF" do
|
@@ -52,6 +45,13 @@ module Omnibus
|
|
52
45
|
end
|
53
46
|
end
|
54
47
|
|
48
|
+
context "on Amazon Linux 2" do
|
49
|
+
before { stub_ohai(platform: "amazon", version: "2") }
|
50
|
+
it "prefers RPM" do
|
51
|
+
expect(described_class.for_current_system).to eq([Packager::RPM])
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
55
|
context "on Debian" do
|
56
56
|
before { stub_ohai(platform: "debian", version: "8.11") }
|
57
57
|
it "prefers RPM" do
|
@@ -87,6 +87,23 @@ module Omnibus
|
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
|
+
describe "#skip_packager" do
|
91
|
+
it "is a DSL method" do
|
92
|
+
expect(subject).to have_exposed_method(:skip_packager)
|
93
|
+
end
|
94
|
+
|
95
|
+
it "requires the value to be a TrueClass or a FalseClass" do
|
96
|
+
expect do
|
97
|
+
subject.skip_packager(Object.new)
|
98
|
+
end.to raise_error(InvalidValue)
|
99
|
+
end
|
100
|
+
|
101
|
+
it "returns the given value" do
|
102
|
+
subject.skip_packager(true)
|
103
|
+
expect(subject.skip_packager).to be_truthy
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
90
107
|
describe "#run!" do
|
91
108
|
before do
|
92
109
|
allow(subject).to receive(:remove_directory)
|
@@ -451,7 +451,7 @@ module Omnibus
|
|
451
451
|
end
|
452
452
|
|
453
453
|
describe "#safe_architecture" do
|
454
|
-
let(:shellout) { double("Mixlib::ShellOut", :
|
454
|
+
let(:shellout) { double("Mixlib::ShellOut", run_command: true, error!: nil) }
|
455
455
|
|
456
456
|
before do
|
457
457
|
allow(Mixlib::ShellOut).to receive(:new).and_return(shellout)
|
@@ -21,7 +21,7 @@ module Omnibus
|
|
21
21
|
let(:source_dir) { File.join(staging_dir, "proto_install") }
|
22
22
|
let(:repo_dir) { File.join(staging_dir, "publish/repo") }
|
23
23
|
let(:architecture) { "i86pc" }
|
24
|
-
let(:shellout) { double("Mixlib::ShellOut", :
|
24
|
+
let(:shellout) { double("Mixlib::ShellOut", run_command: true, error!: nil) }
|
25
25
|
|
26
26
|
before do
|
27
27
|
Config.project_root(project_root)
|
@@ -90,6 +90,29 @@ module Omnibus
|
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
|
+
describe "#localization" do
|
94
|
+
it "is a DSL method" do
|
95
|
+
expect(subject).to have_exposed_method(:localization)
|
96
|
+
end
|
97
|
+
|
98
|
+
it "defaults to String en-us" do
|
99
|
+
expect(subject.localization).to be_a(String)
|
100
|
+
expect(subject.localization).to eq("en-us")
|
101
|
+
end
|
102
|
+
|
103
|
+
it "requires the value to be a String" do
|
104
|
+
expect do
|
105
|
+
subject.localization(Object.new)
|
106
|
+
end.to raise_error(InvalidValue)
|
107
|
+
end
|
108
|
+
|
109
|
+
it "returns the given value" do
|
110
|
+
loc = "te-st"
|
111
|
+
subject.localization(loc)
|
112
|
+
expect(subject.localization).to eq(loc)
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
93
116
|
describe "#package_name" do
|
94
117
|
before do
|
95
118
|
allow(Config).to receive(:windows_arch).and_return(:foo_arch)
|
@@ -269,6 +292,28 @@ module Omnibus
|
|
269
292
|
end
|
270
293
|
end
|
271
294
|
|
295
|
+
describe "#wix_light_delay_validation" do
|
296
|
+
it "is a DSL method" do
|
297
|
+
expect(subject).to have_exposed_method(:wix_light_delay_validation)
|
298
|
+
end
|
299
|
+
|
300
|
+
it "requires the value to be a TrueClass or a FalseClass" do
|
301
|
+
expect do
|
302
|
+
subject.wix_light_delay_validation(Object.new)
|
303
|
+
end.to raise_error(InvalidValue)
|
304
|
+
end
|
305
|
+
|
306
|
+
it "defaults to an empty String" do
|
307
|
+
expect(subject.wix_light_delay_validation).to be_a(String)
|
308
|
+
expect(subject.wix_light_delay_validation).to be_empty
|
309
|
+
end
|
310
|
+
|
311
|
+
it "returns the string `-sval` when true" do
|
312
|
+
subject.wix_light_delay_validation(true)
|
313
|
+
expect(subject.wix_light_delay_validation).to eq("-sval")
|
314
|
+
end
|
315
|
+
end
|
316
|
+
|
272
317
|
describe "#wix_candle_extension" do
|
273
318
|
it "is a DSL method" do
|
274
319
|
expect(subject).to have_exposed_method(:wix_candle_extension)
|
@@ -267,7 +267,7 @@ module Omnibus
|
|
267
267
|
end
|
268
268
|
|
269
269
|
context "when scripts are given" do
|
270
|
-
let(:scripts) { %w{ pre post preun postun verifyscript
|
270
|
+
let(:scripts) { %w{ pre post preun postun verifyscript pretrans posttrans } }
|
271
271
|
|
272
272
|
before do
|
273
273
|
scripts.each do |script_name|
|
@@ -348,21 +348,6 @@ module Omnibus
|
|
348
348
|
end
|
349
349
|
end
|
350
350
|
|
351
|
-
context "when the platform_family is wrlinux" do
|
352
|
-
let(:spec_file) { "#{staging_dir}/SPECS/project-1.2.3-2.nexus5.x86_64.rpm.spec" }
|
353
|
-
|
354
|
-
before do
|
355
|
-
stub_ohai(platform: "nexus", version: "5")
|
356
|
-
end
|
357
|
-
|
358
|
-
it "writes out a spec file with no BuildArch" do
|
359
|
-
subject.write_rpm_spec
|
360
|
-
contents = File.read(spec_file)
|
361
|
-
|
362
|
-
expect(contents).not_to include("BuildArch")
|
363
|
-
end
|
364
|
-
end
|
365
|
-
|
366
351
|
context "when dist_tag is disabled" do
|
367
352
|
let(:spec_file) { "#{staging_dir}/SPECS/project-1.2.3-2.x86_64.rpm.spec" }
|
368
353
|
|
@@ -499,36 +484,6 @@ module Omnibus
|
|
499
484
|
expect(output).to include("The `version' component of RPM package names can only include")
|
500
485
|
end
|
501
486
|
end
|
502
|
-
|
503
|
-
context "when the build is for nexus" do
|
504
|
-
before do
|
505
|
-
project.build_version("1.2-3")
|
506
|
-
stub_ohai(platform: "nexus", version: "5")
|
507
|
-
end
|
508
|
-
|
509
|
-
it "returns the value while logging a message" do
|
510
|
-
output = capture_logging do
|
511
|
-
expect(subject.safe_version).to eq("1.2_3")
|
512
|
-
end
|
513
|
-
|
514
|
-
expect(output).to include("rpmbuild on Wind River Linux does not support this")
|
515
|
-
end
|
516
|
-
end
|
517
|
-
|
518
|
-
context "when the build is for ios_xr" do
|
519
|
-
before do
|
520
|
-
project.build_version("1.2-3")
|
521
|
-
stub_ohai(platform: "ios_xr", version: "6.0.0.14I")
|
522
|
-
end
|
523
|
-
|
524
|
-
it "returns the value while logging a message" do
|
525
|
-
output = capture_logging do
|
526
|
-
expect(subject.safe_version).to eq("1.2_3")
|
527
|
-
end
|
528
|
-
|
529
|
-
expect(output).to include("rpmbuild on Wind River Linux does not support this")
|
530
|
-
end
|
531
|
-
end
|
532
487
|
end
|
533
488
|
|
534
489
|
describe "#safe_architecture" do
|
@@ -117,9 +117,9 @@ module Omnibus
|
|
117
117
|
before do
|
118
118
|
allow(subject).to receive(:shellout!)
|
119
119
|
File.open("#{staging_dir}/files", "w+") do |f|
|
120
|
-
f.write
|
121
|
-
/foo/bar/baz
|
122
|
-
/a file with spaces
|
120
|
+
f.write <<~EOF
|
121
|
+
/foo/bar/baz
|
122
|
+
/a file with spaces
|
123
123
|
EOF
|
124
124
|
end
|
125
125
|
end
|
data/spec/unit/software_spec.rb
CHANGED
@@ -190,63 +190,12 @@ module Omnibus
|
|
190
190
|
end
|
191
191
|
end
|
192
192
|
|
193
|
-
context "on solaris_10" do
|
194
|
-
before do
|
195
|
-
stub_ohai(platform: "solaris2", version: "5.10") do |data|
|
196
|
-
# For some reason, this isn't set in Fauxhai
|
197
|
-
data["platform"] = "solaris2"
|
198
|
-
end
|
199
|
-
end
|
200
|
-
|
201
|
-
it "sets the defaults" do
|
202
|
-
expect(subject.with_standard_compiler_flags).to eq(
|
203
|
-
"CC" => "gcc -static-libgcc",
|
204
|
-
"LDFLAGS" => "-R/opt/project/embedded/lib -L/opt/project/embedded/lib -static-libgcc",
|
205
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
206
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
207
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
208
|
-
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
209
|
-
"LD_OPTIONS" => "-R/opt/project/embedded/lib",
|
210
|
-
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
211
|
-
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
212
|
-
)
|
213
|
-
end
|
214
|
-
|
215
|
-
context "when loader mapping file is specified" do
|
216
|
-
# Let the unit tests run on windows where auto-path translation occurs.
|
217
|
-
let(:project_root) { File.join(tmp_path, "/root/project") }
|
218
|
-
before do
|
219
|
-
stub_ohai(platform: "solaris2", version: "5.10") do |data|
|
220
|
-
# For some reason, this isn't set in Fauxhai
|
221
|
-
data["platform"] = "solaris2"
|
222
|
-
end
|
223
|
-
Config.project_root(project_root)
|
224
|
-
Config.solaris_linker_mapfile("files/mapfile/solaris")
|
225
|
-
allow(File).to receive(:exist?).and_return(true)
|
226
|
-
end
|
227
|
-
|
228
|
-
it "sets LD_OPTIONS correctly" do
|
229
|
-
expect(subject.with_standard_compiler_flags).to eq(
|
230
|
-
"CC" => "gcc -static-libgcc",
|
231
|
-
"LDFLAGS" => "-R/opt/project/embedded/lib -L/opt/project/embedded/lib -static-libgcc",
|
232
|
-
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
233
|
-
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
234
|
-
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
235
|
-
"LD_RUN_PATH" => "/opt/project/embedded/lib",
|
236
|
-
"LD_OPTIONS" => "-R/opt/project/embedded/lib -M #{project_root}/files/mapfile/solaris",
|
237
|
-
"PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
|
238
|
-
"OMNIBUS_INSTALL_DIR" => "/opt/project"
|
239
|
-
)
|
240
|
-
end
|
241
|
-
end
|
242
|
-
end
|
243
|
-
|
244
193
|
context "on mac_os_x" do
|
245
194
|
before { stub_ohai(platform: "mac_os_x", version: "10.13") }
|
246
195
|
|
247
196
|
it "sets the defaults" do
|
248
197
|
expect(subject.with_standard_compiler_flags).to eq(
|
249
|
-
"LDFLAGS" => "-L/opt/project/embedded/lib",
|
198
|
+
"LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib",
|
250
199
|
"CFLAGS" => "-I/opt/project/embedded/include -O2",
|
251
200
|
"CXXFLAGS" => "-I/opt/project/embedded/include -O2",
|
252
201
|
"CPPFLAGS" => "-I/opt/project/embedded/include -O2",
|
@@ -373,7 +322,7 @@ module Omnibus
|
|
373
322
|
before do
|
374
323
|
# sles identifies as suse
|
375
324
|
stub_ohai(platform: "suse", version: "12.2")
|
376
|
-
allow(subject).to receive(:which).with("gcc-4.8").and_return(
|
325
|
+
allow(subject).to receive(:which).with("gcc-4.8").and_return(true)
|
377
326
|
end
|
378
327
|
|
379
328
|
it "sets the defaults" do
|
data/spec/unit/util_spec.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omnibus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.
|
4
|
+
version: 6.0.24
|
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: 2019-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: aws-sdk
|
14
|
+
name: aws-sdk-s3
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: chef-sugar
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,16 +70,22 @@ dependencies:
|
|
70
70
|
name: mixlib-shellout
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '2.0'
|
76
|
+
- - "<"
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '4.0'
|
76
79
|
type: :runtime
|
77
80
|
prerelease: false
|
78
81
|
version_requirements: !ruby/object:Gem::Requirement
|
79
82
|
requirements:
|
80
|
-
- - "
|
83
|
+
- - ">="
|
81
84
|
- !ruby/object:Gem::Version
|
82
85
|
version: '2.0'
|
86
|
+
- - "<"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '4.0'
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
90
|
name: ohai
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,7 +95,7 @@ dependencies:
|
|
89
95
|
version: '13'
|
90
96
|
- - "<"
|
91
97
|
- !ruby/object:Gem::Version
|
92
|
-
version: '
|
98
|
+
version: '16'
|
93
99
|
type: :runtime
|
94
100
|
prerelease: false
|
95
101
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -99,7 +105,7 @@ dependencies:
|
|
99
105
|
version: '13'
|
100
106
|
- - "<"
|
101
107
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
108
|
+
version: '16'
|
103
109
|
- !ruby/object:Gem::Dependency
|
104
110
|
name: ruby-progressbar
|
105
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,20 +176,6 @@ dependencies:
|
|
170
176
|
- - ">="
|
171
177
|
- !ruby/object:Gem::Version
|
172
178
|
version: '0'
|
173
|
-
- !ruby/object:Gem::Dependency
|
174
|
-
name: bundler
|
175
|
-
requirement: !ruby/object:Gem::Requirement
|
176
|
-
requirements:
|
177
|
-
- - ">="
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version: '0'
|
180
|
-
type: :development
|
181
|
-
prerelease: false
|
182
|
-
version_requirements: !ruby/object:Gem::Requirement
|
183
|
-
requirements:
|
184
|
-
- - ">="
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
version: '0'
|
187
179
|
- !ruby/object:Gem::Dependency
|
188
180
|
name: artifactory
|
189
181
|
requirement: !ruby/object:Gem::Requirement
|
@@ -218,14 +210,14 @@ dependencies:
|
|
218
210
|
requirements:
|
219
211
|
- - '='
|
220
212
|
- !ruby/object:Gem::Version
|
221
|
-
version: '0.
|
213
|
+
version: '0.12'
|
222
214
|
type: :development
|
223
215
|
prerelease: false
|
224
216
|
version_requirements: !ruby/object:Gem::Requirement
|
225
217
|
requirements:
|
226
218
|
- - '='
|
227
219
|
- !ruby/object:Gem::Version
|
228
|
-
version: '0.
|
220
|
+
version: '0.12'
|
229
221
|
- !ruby/object:Gem::Dependency
|
230
222
|
name: fauxhai
|
231
223
|
requirement: !ruby/object:Gem::Requirement
|
@@ -370,6 +362,8 @@ files:
|
|
370
362
|
- lib/omnibus/fetchers/path_fetcher.rb
|
371
363
|
- lib/omnibus/file_syncer.rb
|
372
364
|
- lib/omnibus/generator.rb
|
365
|
+
- lib/omnibus/generator_files/.kitchen.local.yml.erb
|
366
|
+
- lib/omnibus/generator_files/.kitchen.yml.erb
|
373
367
|
- lib/omnibus/generator_files/Berksfile.erb
|
374
368
|
- lib/omnibus/generator_files/Gemfile.erb
|
375
369
|
- lib/omnibus/generator_files/README.md.erb
|
@@ -541,7 +535,7 @@ files:
|
|
541
535
|
- spec/unit/util_spec.rb
|
542
536
|
homepage: https://github.com/chef/omnibus
|
543
537
|
licenses:
|
544
|
-
- Apache
|
538
|
+
- Apache-2.0
|
545
539
|
metadata: {}
|
546
540
|
post_install_message:
|
547
541
|
rdoc_options: []
|
@@ -558,8 +552,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
558
552
|
- !ruby/object:Gem::Version
|
559
553
|
version: '0'
|
560
554
|
requirements: []
|
561
|
-
|
562
|
-
rubygems_version: 2.7.6
|
555
|
+
rubygems_version: 3.0.3
|
563
556
|
signing_key:
|
564
557
|
specification_version: 4
|
565
558
|
summary: Omnibus is a framework for building self-installing, full-stack software
|