omnibus 8.3.2 → 9.0.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ead593d30d6adc565642ff443cce0b239294752253a6811d94f830160af190c
4
- data.tar.gz: b75f1260a3b3acfb23bc31f9f376edb1be0799567d5623a2c33a3d350041468f
3
+ metadata.gz: f05719c1cecdc2defbb5641b5a61517b84f88a844932ca0568e3b435997e6fd9
4
+ data.tar.gz: 7593e4150d3222b368a722f84f92755a4f246e2a31fc8bdb72b8bc9495c42420
5
5
  SHA512:
6
- metadata.gz: c403ea34e2b0352ed171abc7d329a797f36f1b8bd9d79c4bd2f4da1c3d5c187a9caa7bcad4fca8d7ab4577b9d3c079b05927fe872d145ccd0e2ffa1b9c302820
7
- data.tar.gz: 3230fb144ca86a372f6de1e3e5fd21f1e9e0c72c95c2a8ef0194bca0b0f8437a7881d1de882666c9980d2a9c2ccaba371646ae69648eb6191d55266875d3258e
6
+ metadata.gz: bb4cd2da9b1baab9d1b2555f498d0efdf71627a0a8686654ebdab0e1da8546004b48215ac907e768c964409f8f08caa0a91cd75d664de76d8b7607f509795c5c
7
+ data.tar.gz: e1a6e11eac83c8e192c2468fbd457b20eacecca8d0aa7c2e286f77cdc1357cba4a9cb1618c0c03014fb7fdb4d7f9bfd346036abe277abed169d1b26f74f833e7
@@ -212,7 +212,7 @@ module Omnibus
212
212
  # :seven_zip - use 7zip for all tar/compressed tar files on windows.
213
213
  # :lax_tar - use tar.exe on windows but ignore errors.
214
214
  #
215
- # Both 7z and bsdtar have issues on windows.
215
+ # 7z has issues on windows.
216
216
  #
217
217
  # 7z cannot extract and untar at the same time. You need to extract to a
218
218
  # temporary location and then extract again into project_dir.
@@ -221,15 +221,6 @@ module Omnibus
221
221
  # location simply results in a text file with the target path written in
222
222
  # it. It does this without throwing any errors.
223
223
  #
224
- # bsdtar will exit(1) if it is encounters symlinks on windows. So we can't
225
- # use shellout! directly.
226
- #
227
- # bsdtar will also exit(1) and fail to overwrite files at the destination
228
- # during extraction if a file already exists at the destination and is
229
- # marked read-only. This used to be a problem when we weren't properly
230
- # cleaning an existing project_dir. It should be less of a problem now...
231
- # but who knows.
232
- #
233
224
  def extract
234
225
  # Only used by tar
235
226
  compression_switch = ""
@@ -243,7 +234,7 @@ module Omnibus
243
234
  returns = [0]
244
235
  returns << 1 if source[:extract] == :lax_tar
245
236
 
246
- shellout!("tar #{compression_switch}xf #{safe_downloaded_file} -C#{safe_project_dir}", returns: returns)
237
+ shellout!("tar #{compression_switch}xf #{downloaded_file} --force-local -C#{project_dir}", returns: returns)
247
238
  elsif downloaded_file.end_with?(*COMPRESSED_TAR_EXTENSIONS)
248
239
  Dir.mktmpdir do |temp_dir|
249
240
  log.debug(log_key) { "Temporarily extracting `#{safe_downloaded_file}' to `#{temp_dir}'" }
@@ -345,11 +345,16 @@ module Omnibus
345
345
  bad_libs = {}
346
346
  good_libs = {}
347
347
 
348
- read_shared_libs("find #{project.install_dir}/ -type f | xargs file | grep \"ELF\" | awk -F: '{print $1}' | sed -e 's/:$//'", "xargs -n 1 ldd") do |line|
348
+ # The case/when below depends on the "current_library" being output with a : at the end
349
+ # and then the dependencies on subsequent lines in the form "library.so.1 => /lib/64/library.so.1"
350
+ # This output format only happens if ldd is passed multiple libraries (for Solaris, similar to Linux)
351
+ # FIXME if any of the `when` clauses in the `health_check_*` methods run before the `current_library`
352
+ # they probably should error out with an explicit callout of formatting with their environment's
353
+ # respective ldd parsing
354
+ read_shared_libs("find #{project.install_dir}/ -type f | xargs file | grep \"ELF\" | awk -F: '{print $1}' | sed -e 's/:$//'", "xargs ldd") do |line|
349
355
  case line
350
356
  when /^(.+):$/
351
357
  current_library = Regexp.last_match[1]
352
- log.debug(log_key) { "Analyzing dependencies for #{current_library}" }
353
358
  when /^\s+(.+) \=\>\s+(.+)( \(.+\))?$/
354
359
  name = Regexp.last_match[1]
355
360
  linked = Regexp.last_match[2]
@@ -218,7 +218,7 @@ module Omnibus
218
218
  # version is the same as Windows 2012R2. It's only here for completeness
219
219
  # and documentation.
220
220
  when /6\.3\.\d+/, "8.1" then "8.1"
221
- when /^10\.0/ then "10"
221
+ when "10", /^10\.0/ then "10"
222
222
  else
223
223
  raise UnknownPlatformVersion.new(platform, platform_version)
224
224
  end
@@ -179,7 +179,7 @@ module Omnibus
179
179
  if null?(val)
180
180
  @install_dir || raise(MissingRequiredAttribute.new(self, :install_dir, "/opt/chef"))
181
181
  else
182
- @install_dir = val.tr('\\', "/").squeeze("/").chomp("/")
182
+ @install_dir = val.tr('\\', "/").squeeze("/").chomp("/") # rubocop:disable Style/StringLiterals
183
183
  end
184
184
  end
185
185
  expose :install_dir
@@ -717,7 +717,7 @@ module Omnibus
717
717
  {
718
718
  "CC" => "clang",
719
719
  "CXX" => "clang++",
720
- "LDFLAGS" => "-L#{install_dir}/embedded/lib",
720
+ "LDFLAGS" => "-L#{install_dir}/embedded/lib -Wl,-rpath,#{install_dir}/embedded/lib",
721
721
  "CFLAGS" => "-I#{install_dir}/embedded/include -O3 -D_FORTIFY_SOURCE=2 -fstack-protector",
722
722
  }
723
723
  when "windows"
@@ -15,5 +15,5 @@
15
15
  #
16
16
 
17
17
  module Omnibus
18
- VERSION = "8.3.2".freeze
18
+ VERSION = "9.0.8".freeze
19
19
  end
@@ -88,11 +88,13 @@ OMNIOS_WHITELIST_LIBS = [
88
88
  SOLARIS_WHITELIST_LIBS = [
89
89
  /libaio\.so/,
90
90
  /libavl\.so/,
91
+ /libbsm\.so/,
91
92
  /libcrypt_[di]\.so/,
92
93
  /libcrypto.so/,
93
94
  /libcurses\.so/,
94
95
  /libdoor\.so/,
95
96
  /libgen\.so/,
97
+ /libinetutil\.so/,
96
98
  /libmd5\.so/,
97
99
  /libmd\.so/,
98
100
  /libmp\.so/,
@@ -102,9 +104,11 @@ SOLARIS_WHITELIST_LIBS = [
102
104
  /libsocket\.so/,
103
105
  /libssl.so/,
104
106
  /libthread.so/,
107
+ /libtsol\.so/,
105
108
  /libuutil\.so/,
106
109
  /libkstat\.so/,
107
110
  # solaris 11 libraries:
111
+ /libstdc\+\+\.so/,
108
112
  /libc\.so\.1/,
109
113
  /libm\.so\.2/,
110
114
  /libdl\.so\.1/,
@@ -173,6 +177,8 @@ MAC_WHITELIST_LIBS = [
173
177
 
174
178
  FREEBSD_WHITELIST_LIBS = [
175
179
  /libc\.so/,
180
+ /libc\+\+\.so/,
181
+ /libcxxrt\.so/,
176
182
  /libgcc_s\.so/,
177
183
  /libcrypt\.so/,
178
184
  /libm\.so/,
data/omnibus.gemspec CHANGED
@@ -30,13 +30,14 @@ Gem::Specification.new do |gem|
30
30
  gem.add_dependency "thor", ">= 0.18", "< 2.0"
31
31
  gem.add_dependency "license_scout", "~> 1.0"
32
32
  gem.add_dependency "contracts", ">= 0.16.0", "< 0.17.0"
33
+ gem.add_dependency "rexml", "~> 3.2"
33
34
 
34
35
  gem.add_dependency "mixlib-versioning"
35
36
  gem.add_dependency "pedump"
36
37
 
37
38
  gem.add_development_dependency "artifactory", "~> 3.0"
38
39
  gem.add_development_dependency "aruba", "~> 2.0"
39
- gem.add_development_dependency "chefstyle", "= 1.7.5"
40
+ gem.add_development_dependency "chefstyle", "= 2.2.2"
40
41
  gem.add_development_dependency "fauxhai-ng", ">= 7.5"
41
42
  gem.add_development_dependency "rspec", "~> 3.0"
42
43
  gem.add_development_dependency "rspec-json_expectations"
@@ -222,7 +222,7 @@ module Omnibus
222
222
  output = capture_logging { subject.build }
223
223
 
224
224
  appbundler_path = File.join(embedded_bin_dir, "appbundler")
225
- appbundler_path.gsub!(%r{/}, '\\') if windows?
225
+ appbundler_path.gsub!(%r{/}, '\\') if windows? # rubocop:disable Style/StringLiterals
226
226
  expect(output).to include("#{appbundler_path} '#{project_dir}' '#{bin_dir}'")
227
227
  end
228
228
  end
@@ -60,7 +60,7 @@ RSpec.shared_examples "a software" do |name = "chefdk"|
60
60
 
61
61
  allow(software).to receive(:embedded_bin) do |binary|
62
62
  p = File.join(embedded_bin_dir, binary)
63
- p.gsub!(%r{/}, '\\') if windows?
63
+ p.gsub!(%r{/}, '\\') if windows? # rubocop:disable Style/StringLiterals
64
64
  p
65
65
  end
66
66
  end
@@ -14,7 +14,7 @@ module Omnibus
14
14
  # If we asked for Windows, we should also specify that magical
15
15
  # +File::ALT_SEPARATOR+ variable
16
16
  if options[:platform] && options[:platform] == "windows"
17
- stub_const("File::ALT_SEPARATOR", '\\')
17
+ stub_const("File::ALT_SEPARATOR", '\\') # rubocop:disable Style/StringLiterals
18
18
  end
19
19
  end
20
20
  end
@@ -23,7 +23,7 @@ module Omnibus
23
23
  allow(subject).to receive(:windows?).and_return(on_windows)
24
24
  allow(subject).to receive(:windows_safe_path) do |*args|
25
25
  path = File.join(*args)
26
- path.gsub!(File::SEPARATOR, '\\') if on_windows
26
+ path.gsub!(File::SEPARATOR, '\\') if on_windows # rubocop:disable Style/StringLiterals
27
27
  end
28
28
  end
29
29
 
@@ -171,7 +171,7 @@ module Omnibus
171
171
  context "when :bin is present" do
172
172
  it "uses the custom bin" do
173
173
  expect(subject).to receive(:command)
174
- .with("/path/to/make", in_msys_bash: true)
174
+ .with("/path/to/make", { in_msys_bash: true })
175
175
  subject.make(bin: "/path/to/make")
176
176
  end
177
177
  end
@@ -185,7 +185,7 @@ module Omnibus
185
185
 
186
186
  it "uses gmake and sets MAKE=gmake" do
187
187
  expect(subject).to receive(:command)
188
- .with("gmake", env: { "MAKE" => "gmake" }, in_msys_bash: true)
188
+ .with("gmake", { env: { "MAKE" => "gmake" }, in_msys_bash: true } )
189
189
  subject.make
190
190
  end
191
191
  end
@@ -198,26 +198,26 @@ module Omnibus
198
198
 
199
199
  it "uses make" do
200
200
  expect(subject).to receive(:command)
201
- .with("make", in_msys_bash: true)
201
+ .with("make", { in_msys_bash: true } )
202
202
  subject.make
203
203
  end
204
204
  end
205
205
 
206
206
  it "accepts 0 options" do
207
207
  expect(subject).to receive(:command)
208
- .with("make", in_msys_bash: true)
208
+ .with("make", { in_msys_bash: true } )
209
209
  expect { subject.make }.to_not raise_error
210
210
  end
211
211
 
212
212
  it "accepts an additional command string" do
213
213
  expect(subject).to receive(:command)
214
- .with("make install", in_msys_bash: true)
214
+ .with("make install", { in_msys_bash: true } )
215
215
  expect { subject.make("install") }.to_not raise_error
216
216
  end
217
217
 
218
218
  it "persists given options" do
219
219
  expect(subject).to receive(:command)
220
- .with("make", timeout: 3600, in_msys_bash: true)
220
+ .with("make", { timeout: 3600, in_msys_bash: true } )
221
221
  subject.make(timeout: 3600)
222
222
  end
223
223
  end
@@ -242,7 +242,7 @@ module Omnibus
242
242
 
243
243
  it "appends platform host to the options" do
244
244
  expect(subject).to receive(:command)
245
- .with("./configure --build=x86_64-w64-mingw32 --prefix=#{project_dir}/embedded", in_msys_bash: true)
245
+ .with("./configure --build=x86_64-w64-mingw32 --prefix=#{project_dir}/embedded", { in_msys_bash: true } )
246
246
  subject.configure
247
247
  end
248
248
  end
@@ -258,7 +258,7 @@ module Omnibus
258
258
 
259
259
  it "appends platform host to the options" do
260
260
  expect(subject).to receive(:command)
261
- .with("./configure --build=i686-w64-mingw32 --prefix=#{project_dir}/embedded", in_msys_bash: true)
261
+ .with("./configure --build=i686-w64-mingw32 --prefix=#{project_dir}/embedded", { in_msys_bash: true } )
262
262
  subject.configure
263
263
  end
264
264
  end
@@ -266,7 +266,7 @@ module Omnibus
266
266
  context "when :bin is present" do
267
267
  it "uses the custom bin" do
268
268
  expect(subject).to receive(:command)
269
- .with("/path/to/configure --prefix=#{project_dir}/embedded", in_msys_bash: true)
269
+ .with("/path/to/configure --prefix=#{project_dir}/embedded", { in_msys_bash: true } )
270
270
  subject.configure(bin: "/path/to/configure")
271
271
  end
272
272
  end
@@ -274,32 +274,32 @@ module Omnibus
274
274
  context "when :prefix is present" do
275
275
  it "emits non-empty prefix" do
276
276
  expect(subject).to receive(:command)
277
- .with("./configure --prefix=/some/prefix", in_msys_bash: true)
277
+ .with("./configure --prefix=/some/prefix", { in_msys_bash: true } )
278
278
  subject.configure(prefix: "/some/prefix")
279
279
  end
280
280
 
281
281
  it "omits prefix if empty" do
282
282
  expect(subject).to receive(:command)
283
- .with("./configure", in_msys_bash: true)
283
+ .with("./configure", { in_msys_bash: true } )
284
284
  subject.configure(prefix: "")
285
285
  end
286
286
  end
287
287
 
288
288
  it "accepts 0 options" do
289
289
  expect(subject).to receive(:command)
290
- .with("./configure --prefix=#{project_dir}/embedded", in_msys_bash: true)
290
+ .with("./configure --prefix=#{project_dir}/embedded", { in_msys_bash: true } )
291
291
  expect { subject.configure }.to_not raise_error
292
292
  end
293
293
 
294
294
  it "accepts an additional command string" do
295
295
  expect(subject).to receive(:command)
296
- .with("./configure --prefix=#{project_dir}/embedded --myopt", in_msys_bash: true)
296
+ .with("./configure --prefix=#{project_dir}/embedded --myopt", { in_msys_bash: true } )
297
297
  expect { subject.configure("--myopt") }.to_not raise_error
298
298
  end
299
299
 
300
300
  it "persists given options" do
301
301
  expect(subject).to receive(:command)
302
- .with("./configure --prefix=#{project_dir}/embedded", timeout: 3600, in_msys_bash: true)
302
+ .with("./configure --prefix=#{project_dir}/embedded", { timeout: 3600, in_msys_bash: true } )
303
303
  subject.configure(timeout: 3600)
304
304
  end
305
305
  end
@@ -321,28 +321,28 @@ module Omnibus
321
321
  it "invokes patch with patch level 1 unless specified" do
322
322
  expect { subject.patch(source: "good_patch") }.to_not raise_error
323
323
  expect(subject).to receive(:shellout!)
324
- .with("patch -p1 -i #{project_dir}/patch_location2/good_patch", in_msys_bash: true)
324
+ .with("patch -p1 -i #{project_dir}/patch_location2/good_patch", { in_msys_bash: true } )
325
325
  run_build_command
326
326
  end
327
327
 
328
328
  it "invokes patch with patch level provided" do
329
329
  expect { subject.patch(source: "good_patch", plevel: 0) }.to_not raise_error
330
330
  expect(subject).to receive(:shellout!)
331
- .with("patch -p0 -i #{project_dir}/patch_location2/good_patch", in_msys_bash: true)
331
+ .with("patch -p0 -i #{project_dir}/patch_location2/good_patch", { in_msys_bash: true } )
332
332
  run_build_command
333
333
  end
334
334
 
335
335
  it "invokes patch differently if target is provided" do
336
336
  expect { subject.patch(source: "good_patch", target: "target/path") }.to_not raise_error
337
337
  expect(subject).to receive(:shellout!)
338
- .with("cat #{project_dir}/patch_location2/good_patch | patch -p1 target/path", in_msys_bash: true)
338
+ .with("cat #{project_dir}/patch_location2/good_patch | patch -p1 target/path", { in_msys_bash: true } )
339
339
  run_build_command
340
340
  end
341
341
 
342
342
  it "persists other options" do
343
343
  expect { subject.patch(source: "good_patch", timeout: 3600) }.to_not raise_error
344
344
  expect(subject).to receive(:shellout!)
345
- .with("patch -p1 -i #{project_dir}/patch_location2/good_patch", timeout: 3600, in_msys_bash: true)
345
+ .with("patch -p1 -i #{project_dir}/patch_location2/good_patch", { timeout: 3600, in_msys_bash: true } )
346
346
  run_build_command
347
347
  end
348
348
  end
@@ -421,19 +421,19 @@ module Omnibus
421
421
  it_behaves_like "an extractor", "zip", {},
422
422
  ['7z.exe x C:\\file.zip -oC:\\tmp\\project -r -y']
423
423
  it_behaves_like "an extractor", "tar", {},
424
- [['tar xf C:\\file.tar -CC:\\tmp\\project', { returns: [0] }]]
424
+ [["tar xf C:/file.tar --force-local -CC:/tmp/project", { returns: [0] }]]
425
425
  it_behaves_like "an extractor", "tgz", {},
426
- [['tar zxf C:\\file.tgz -CC:\\tmp\\project', { returns: [0] }]]
426
+ [["tar zxf C:/file.tgz --force-local -CC:/tmp/project", { returns: [0] }]]
427
427
  it_behaves_like "an extractor", "tar.gz", {},
428
- [['tar zxf C:\\file.tar.gz -CC:\\tmp\\project', { returns: [0] }]]
428
+ [["tar zxf C:/file.tar.gz --force-local -CC:/tmp/project", { returns: [0] }]]
429
429
  it_behaves_like "an extractor", "tar.bz2", {},
430
- [['tar jxf C:\\file.tar.bz2 -CC:\\tmp\\project', { returns: [0] }]]
430
+ [["tar jxf C:/file.tar.bz2 --force-local -CC:/tmp/project", { returns: [0] }]]
431
431
  it_behaves_like "an extractor", "txz", {},
432
- [['tar Jxf C:\\file.txz -CC:\\tmp\\project', { returns: [0] }]]
432
+ [["tar Jxf C:/file.txz --force-local -CC:/tmp/project", { returns: [0] }]]
433
433
  it_behaves_like "an extractor", "tar.xz", {},
434
- [['tar Jxf C:\\file.tar.xz -CC:\\tmp\\project', { returns: [0] }]]
434
+ [["tar Jxf C:/file.tar.xz --force-local -CC:/tmp/project", { returns: [0] }]]
435
435
  it_behaves_like "an extractor", "tar.lzma", {},
436
- [['tar --lzma -xf C:\\file.tar.lzma -CC:\\tmp\\project', { returns: [0] }]]
436
+ [["tar --lzma -xf C:/file.tar.lzma --force-local -CC:/tmp/project", { returns: [0] }]]
437
437
  end
438
438
 
439
439
  context "when seven_zip extract strategy is chosen" do
@@ -469,19 +469,19 @@ module Omnibus
469
469
  it_behaves_like "an extractor", "zip", { extract: :lax_tar },
470
470
  ['7z.exe x C:\\file.zip -oC:\\tmp\\project -r -y']
471
471
  it_behaves_like "an extractor", "tar", { extract: :lax_tar },
472
- [['tar xf C:\\file.tar -CC:\\tmp\\project', { returns: [0, 1] }]]
472
+ [["tar xf C:/file.tar --force-local -CC:/tmp/project", { returns: [0, 1] }]]
473
473
  it_behaves_like "an extractor", "tgz", { extract: :lax_tar },
474
- [['tar zxf C:\\file.tgz -CC:\\tmp\\project', { returns: [0, 1] }]]
474
+ [["tar zxf C:/file.tgz --force-local -CC:/tmp/project", { returns: [0, 1] }]]
475
475
  it_behaves_like "an extractor", "tar.gz", { extract: :lax_tar },
476
- [['tar zxf C:\\file.tar.gz -CC:\\tmp\\project', { returns: [0, 1] }]]
476
+ [["tar zxf C:/file.tar.gz --force-local -CC:/tmp/project", { returns: [0, 1] }]]
477
477
  it_behaves_like "an extractor", "tar.bz2", { extract: :lax_tar },
478
- [['tar jxf C:\\file.tar.bz2 -CC:\\tmp\\project', { returns: [0, 1] }]]
478
+ [["tar jxf C:/file.tar.bz2 --force-local -CC:/tmp/project", { returns: [0, 1] }]]
479
479
  it_behaves_like "an extractor", "txz", { extract: :lax_tar },
480
- [['tar Jxf C:\\file.txz -CC:\\tmp\\project', { returns: [0, 1] }]]
480
+ [["tar Jxf C:/file.txz --force-local -CC:/tmp/project", { returns: [0, 1] }]]
481
481
  it_behaves_like "an extractor", "tar.xz", { extract: :lax_tar },
482
- [['tar Jxf C:\\file.tar.xz -CC:\\tmp\\project', { returns: [0, 1] }]]
482
+ [["tar Jxf C:/file.tar.xz --force-local -CC:/tmp/project", { returns: [0, 1] }]]
483
483
  it_behaves_like "an extractor", "tar.lzma", { extract: :lax_tar },
484
- [['tar --lzma -xf C:\\file.tar.lzma -CC:\\tmp\\project', { returns: [0, 1] }]]
484
+ [["tar --lzma -xf C:/file.tar.lzma --force-local -CC:/tmp/project", { returns: [0, 1] }]]
485
485
  end
486
486
  end
487
487
 
@@ -229,7 +229,7 @@ module Omnibus
229
229
 
230
230
  context "when on Windows" do
231
231
  before { stub_ohai(platform: "windows", version: "2019") }
232
- before { stub_const("File::ALT_SEPARATOR", '\\') }
232
+ before { stub_const("File::ALT_SEPARATOR", '\\') } # rubocop:disable Style/StringLiterals
233
233
  it "returns a Windows iteration" do
234
234
  expect(subject.build_iteration).to eq(1)
235
235
  end
@@ -239,7 +239,7 @@ module Omnibus
239
239
  "CXXFLAGS" => "-I/opt/project/embedded/include -O3 -D_FORTIFY_SOURCE=2 -fstack-protector",
240
240
  "CPPFLAGS" => "-I/opt/project/embedded/include -O3 -D_FORTIFY_SOURCE=2 -fstack-protector",
241
241
  "CXX" => "clang++",
242
- "LDFLAGS" => "-L/opt/project/embedded/lib",
242
+ "LDFLAGS" => "-L/opt/project/embedded/lib -Wl,-rpath,/opt/project/embedded/lib",
243
243
  "LD_RUN_PATH" => "/opt/project/embedded/lib",
244
244
  "PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig",
245
245
  "OMNIBUS_INSTALL_DIR" => "/opt/project"
@@ -543,7 +543,7 @@ module Omnibus
543
543
 
544
544
  it "fetches from a fully expanded git path" do
545
545
  expect(subject.source).to eq(git: "https://github.com/chef/ohai.git")
546
- expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", git: "https://github.com/chef/ohai.git").and_return("1.2.8")
546
+ expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", { git: "https://github.com/chef/ohai.git" } ).and_return("1.2.8")
547
547
  subject.send(:fetcher)
548
548
  end
549
549
 
@@ -552,7 +552,7 @@ module Omnibus
552
552
 
553
553
  it "fetches from the override path" do
554
554
  expect(subject.source).to eq(git: "https://blah.com/git.git")
555
- expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", git: "https://blah.com/git.git").and_return("1.2.8")
555
+ expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", { git: "https://blah.com/git.git" } ).and_return("1.2.8")
556
556
  subject.send(:fetcher)
557
557
  end
558
558
  end
@@ -562,7 +562,7 @@ module Omnibus
562
562
 
563
563
  it "fetches from the override path" do
564
564
  expect(subject.source).to eq(git: "https://github.com/a/b.git")
565
- expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", git: "https://github.com/a/b.git").and_return("1.2.8")
565
+ expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", { git: "https://github.com/a/b.git" } ).and_return("1.2.8")
566
566
  subject.send(:fetcher)
567
567
  end
568
568
  end
@@ -577,7 +577,7 @@ module Omnibus
577
577
 
578
578
  it "fetches from the git spec" do
579
579
  expect(subject.source).to eq(git: "https://blah.com/git.git")
580
- expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", git: "https://blah.com/git.git").and_return("1.2.8")
580
+ expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", { git: "https://blah.com/git.git" } ).and_return("1.2.8")
581
581
  subject.send(:fetcher)
582
582
  end
583
583
 
@@ -586,7 +586,7 @@ module Omnibus
586
586
 
587
587
  it "fetches from the override path" do
588
588
  expect(subject.source).to eq(git: "https://github.com/a/b.git")
589
- expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", git: "https://github.com/a/b.git").and_return("1.2.8")
589
+ expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", { git: "https://github.com/a/b.git" } ).and_return("1.2.8")
590
590
  subject.send(:fetcher)
591
591
  end
592
592
  end
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: 8.3.2
4
+ version: 9.0.8
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: 2022-02-15 00:00:00.000000000 Z
11
+ date: 2022-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3
@@ -174,6 +174,20 @@ dependencies:
174
174
  - - "<"
175
175
  - !ruby/object:Gem::Version
176
176
  version: 0.17.0
177
+ - !ruby/object:Gem::Dependency
178
+ name: rexml
179
+ requirement: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - "~>"
182
+ - !ruby/object:Gem::Version
183
+ version: '3.2'
184
+ type: :runtime
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - "~>"
189
+ - !ruby/object:Gem::Version
190
+ version: '3.2'
177
191
  - !ruby/object:Gem::Dependency
178
192
  name: mixlib-versioning
179
193
  requirement: !ruby/object:Gem::Requirement
@@ -236,14 +250,14 @@ dependencies:
236
250
  requirements:
237
251
  - - '='
238
252
  - !ruby/object:Gem::Version
239
- version: 1.7.5
253
+ version: 2.2.2
240
254
  type: :development
241
255
  prerelease: false
242
256
  version_requirements: !ruby/object:Gem::Requirement
243
257
  requirements:
244
258
  - - '='
245
259
  - !ruby/object:Gem::Version
246
- version: 1.7.5
260
+ version: 2.2.2
247
261
  - !ruby/object:Gem::Dependency
248
262
  name: fauxhai-ng
249
263
  requirement: !ruby/object:Gem::Requirement