omnibus 6.1.7 → 6.1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/lib/omnibus/build_version_dsl.rb +1 -0
  4. data/lib/omnibus/builder.rb +6 -5
  5. data/lib/omnibus/changelog_printer.rb +7 -4
  6. data/lib/omnibus/cleaner.rb +3 -0
  7. data/lib/omnibus/cli/changelog.rb +24 -24
  8. data/lib/omnibus/compressors/dmg.rb +3 -4
  9. data/lib/omnibus/fetchers/git_fetcher.rb +1 -0
  10. data/lib/omnibus/fetchers/net_fetcher.rb +2 -3
  11. data/lib/omnibus/health_check.rb +1 -1
  12. data/lib/omnibus/licensing.rb +2 -3
  13. data/lib/omnibus/logger.rb +2 -1
  14. data/lib/omnibus/manifest.rb +1 -1
  15. data/lib/omnibus/packagers/appx.rb +1 -2
  16. data/lib/omnibus/packagers/base.rb +1 -0
  17. data/lib/omnibus/packagers/bff.rb +6 -8
  18. data/lib/omnibus/packagers/deb.rb +7 -10
  19. data/lib/omnibus/packagers/ips.rb +3 -6
  20. data/lib/omnibus/packagers/makeself.rb +1 -2
  21. data/lib/omnibus/packagers/msi.rb +12 -11
  22. data/lib/omnibus/packagers/pkg.rb +3 -6
  23. data/lib/omnibus/packagers/rpm.rb +11 -12
  24. data/lib/omnibus/packagers/solaris.rb +4 -4
  25. data/lib/omnibus/packagers/windows_base.rb +7 -6
  26. data/lib/omnibus/project.rb +1 -0
  27. data/lib/omnibus/publisher.rb +2 -2
  28. data/lib/omnibus/software.rb +18 -11
  29. data/lib/omnibus/templating.rb +1 -1
  30. data/lib/omnibus/util.rb +3 -2
  31. data/lib/omnibus/version.rb +1 -1
  32. data/omnibus.gemspec +2 -2
  33. data/spec/functional/builder_spec.rb +2 -1
  34. data/spec/functional/fetchers/file_fetcher_spec.rb +4 -4
  35. data/spec/functional/fetchers/git_fetcher_spec.rb +4 -4
  36. data/spec/functional/fetchers/net_fetcher_spec.rb +5 -6
  37. data/spec/functional/fetchers/path_fetcher_spec.rb +4 -4
  38. data/spec/functional/licensing_spec.rb +5 -5
  39. data/spec/support/examples.rb +3 -4
  40. data/spec/unit/builder_spec.rb +9 -9
  41. data/spec/unit/changelogprinter_spec.rb +8 -6
  42. data/spec/unit/compressor_spec.rb +3 -3
  43. data/spec/unit/fetchers/net_fetcher_spec.rb +16 -17
  44. data/spec/unit/health_check_spec.rb +2 -6
  45. data/spec/unit/library_spec.rb +2 -1
  46. data/spec/unit/manifest_diff_spec.rb +2 -2
  47. data/spec/unit/manifest_spec.rb +1 -1
  48. data/spec/unit/metadata_spec.rb +8 -11
  49. data/spec/unit/omnibus_spec.rb +1 -1
  50. data/spec/unit/packagers/bff_spec.rb +2 -2
  51. data/spec/unit/packagers/msi_spec.rb +2 -2
  52. data/spec/unit/packagers/pkgsrc_spec.rb +1 -1
  53. data/spec/unit/packagers/solaris_spec.rb +7 -7
  54. data/spec/unit/project_spec.rb +2 -2
  55. data/spec/unit/publisher_spec.rb +1 -2
  56. data/spec/unit/publishers/artifactory_publisher_spec.rb +2 -4
  57. data/spec/unit/publishers/s3_publisher_spec.rb +2 -4
  58. data/spec/unit/s3_cacher_spec.rb +2 -6
  59. data/spec/unit/s3_helpers_spec.rb +2 -2
  60. data/spec/unit/software_spec.rb +9 -9
  61. data/spec/unit/util_spec.rb +1 -2
  62. metadata +4 -4
@@ -15,5 +15,5 @@
15
15
  #
16
16
 
17
17
  module Omnibus
18
- VERSION = "6.1.7".freeze
18
+ VERSION = "6.1.9".freeze
19
19
  end
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.files = %w{ LICENSE README.md Rakefile Gemfile } + Dir.glob("*.gemspec") + Dir.glob("{bin,lib,resources,spec}/**/{*,.kitchen*}")
19
19
  gem.bindir = "bin"
20
20
  gem.executables = %w{omnibus}
21
- gem.test_files = gem.files.grep(/^(test|spec|features)\//)
21
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
22
22
  gem.require_paths = ["lib"]
23
23
 
24
24
  gem.add_dependency "aws-sdk-s3", "~> 1"
@@ -36,7 +36,7 @@ Gem::Specification.new do |gem|
36
36
 
37
37
  gem.add_development_dependency "artifactory", "~> 3.0"
38
38
  gem.add_development_dependency "aruba", "~> 0.5"
39
- gem.add_development_dependency "chefstyle", "= 0.12"
39
+ gem.add_development_dependency "chefstyle", "= 0.13.3"
40
40
  gem.add_development_dependency "fauxhai", ">= 5.2"
41
41
  gem.add_development_dependency "rspec", "~> 3.0"
42
42
  gem.add_development_dependency "rspec-json_expectations"
@@ -22,6 +22,7 @@ module Omnibus
22
22
  ext = name == "ruby" ? ".exe" : ".bat"
23
23
  source = Bundler.which(name + ext)
24
24
  raise "Could not find #{name} in bundler environment" unless source
25
+
25
26
  File.open(File.join(embedded_bin_dir, name + ".bat"), "w") do |f|
26
27
  f.write <<-EOH.gsub(/^ {12}/, "")
27
28
  @"#{source}" %*
@@ -221,7 +222,7 @@ module Omnibus
221
222
  output = capture_logging { subject.build }
222
223
 
223
224
  appbundler_path = File.join(embedded_bin_dir, "appbundler")
224
- appbundler_path.gsub!(/\//, '\\') if windows?
225
+ appbundler_path.gsub!(%r{/}, '\\') if windows?
225
226
  expect(output).to include("#{appbundler_path} '#{project_dir}' '#{bin_dir}'")
226
227
  end
227
228
  end
@@ -13,10 +13,10 @@ module Omnibus
13
13
 
14
14
  let(:manifest_entry) do
15
15
  double(Omnibus::ManifestEntry,
16
- name: "pathelogical",
17
- locked_version: nil,
18
- described_version: nil,
19
- locked_source: source)
16
+ name: "pathelogical",
17
+ locked_version: nil,
18
+ described_version: nil,
19
+ locked_source: source)
20
20
  end
21
21
 
22
22
  subject { described_class.new(manifest_entry, project_dir, build_dir) }
@@ -110,10 +110,10 @@ module Omnibus
110
110
  let(:remote) { remote_git_repo("zlib", annotated_tags: [version]) }
111
111
  let(:manifest_entry) do
112
112
  double(ManifestEntry,
113
- name: "software",
114
- locked_version: "efde208366abd0f91419d8a54b45e3f6e0540105",
115
- described_version: version,
116
- locked_source: source)
113
+ name: "software",
114
+ locked_version: "efde208366abd0f91419d8a54b45e3f6e0540105",
115
+ described_version: version,
116
+ locked_source: source)
117
117
  end
118
118
 
119
119
  subject { described_class.new(manifest_entry, project_dir, build_dir) }
@@ -4,8 +4,7 @@ module Omnibus
4
4
  module RSpec
5
5
  module OhaiHelpers
6
6
  # Turn off the mandatory Ohai helper.
7
- def stub_ohai(options = {}, &block)
8
- end
7
+ def stub_ohai(options = {}, &block); end
9
8
  end
10
9
  end
11
10
 
@@ -29,10 +28,10 @@ module Omnibus
29
28
 
30
29
  let(:manifest_entry) do
31
30
  double(ManifestEntry,
32
- name: "software",
33
- locked_version: "1.2.8",
34
- described_version: "1.2.8",
35
- locked_source: source)
31
+ name: "software",
32
+ locked_version: "1.2.8",
33
+ described_version: "1.2.8",
34
+ locked_source: source)
36
35
  end
37
36
 
38
37
  subject { described_class.new(manifest_entry, project_dir, build_dir) }
@@ -12,10 +12,10 @@ module Omnibus
12
12
 
13
13
  let(:manifest_entry) do
14
14
  double(Omnibus::ManifestEntry,
15
- name: "pathelogical",
16
- locked_version: nil,
17
- described_version: nil,
18
- locked_source: source)
15
+ name: "pathelogical",
16
+ locked_version: nil,
17
+ described_version: nil,
18
+ locked_source: source)
19
19
  end
20
20
 
21
21
  before do
@@ -37,14 +37,14 @@ module Omnibus
37
37
  expect(project_license).to match /This product bundles private_code 1.7.2,\nwhich is available under a "Unspecified"/
38
38
  expect(project_license).to match /This product bundles snoopy 1.0.0,\nwhich is available under a "GPL v2"/
39
39
  expect(project_license).not_to match /preparation/
40
- expect(project_license).to match /LICENSES\/snoopy-artistic.html/
41
- expect(project_license).to match /LICENSES\/snoopy-NOTICE/
40
+ expect(project_license).to match %r{LICENSES/snoopy-artistic.html}
41
+ expect(project_license).to match %r{LICENSES/snoopy-NOTICE}
42
42
  if zlib_version_override
43
43
  expect(project_license).to match /This product bundles zlib 1.8.0,\nwhich is available under a "Apache-2.0"/
44
- expect(project_license).to match /LICENSES\/zlib-APACHE/
44
+ expect(project_license).to match %r{LICENSES/zlib-APACHE}
45
45
  else
46
46
  expect(project_license).to match /This product bundles zlib 1.7.2,\nwhich is available under a "Zlib"/
47
- expect(project_license).to match /LICENSES\/zlib-LICENSE/
47
+ expect(project_license).to match %r{LICENSES/zlib-LICENSE}
48
48
  end
49
49
  end
50
50
 
@@ -263,7 +263,7 @@ module Omnibus
263
263
  it "should log a warning for the missing file" do
264
264
  output = capture_logging { create_licenses }
265
265
  expect(output).to match(/Retrying failed download/)
266
- expect(output).to match(/Can not download license file 'https:\/\/downloads.chef.io\/LICENSE' for software 'problematic'./)
266
+ expect(output).to match(%r{Can not download license file 'https://downloads.chef.io/LICENSE' for software 'problematic'.})
267
267
  end
268
268
  end
269
269
 
@@ -27,8 +27,7 @@ RSpec.shared_examples "a software" do |name = "chefdk"|
27
27
  install_dir: install_dir,
28
28
  project_dir: project_dir,
29
29
  source: source,
30
- overridden?: false
31
- )
30
+ overridden?: false)
32
31
  end
33
32
 
34
33
  before do
@@ -56,12 +55,12 @@ RSpec.shared_examples "a software" do |name = "chefdk"|
56
55
  FileUtils.mkdir_p(embedded_bin_dir)
57
56
 
58
57
  allow(software).to receive(:with_embedded_path).and_return(
59
- "PATH" => "#{bin_dir}:#{embedded_bin_dir}:#{ENV['PATH']}"
58
+ "PATH" => "#{bin_dir}:#{embedded_bin_dir}:#{ENV["PATH"]}"
60
59
  )
61
60
 
62
61
  allow(software).to receive(:embedded_bin) do |binary|
63
62
  p = File.join(embedded_bin_dir, binary)
64
- p.gsub!(/\//, '\\') if windows?
63
+ p.gsub!(%r{/}, '\\') if windows?
65
64
  p
66
65
  end
67
66
  end
@@ -6,8 +6,7 @@ module Omnibus
6
6
  double(Software,
7
7
  name: "chefdk",
8
8
  install_dir: project_dir,
9
- project_dir: project_dir
10
- )
9
+ project_dir: project_dir)
11
10
  end
12
11
 
13
12
  let(:project_dir) { on_windows ? "C:/opscode/chefdk" : "/opt/chefdk" }
@@ -238,7 +237,7 @@ module Omnibus
238
237
  it "appends platform host to the options" do
239
238
  expect(subject).to receive(:command)
240
239
  .with("./configure --build=x86_64-w64-mingw32 --prefix=#{project_dir}/embedded", in_msys_bash: true)
241
- subject.configure()
240
+ subject.configure
242
241
  end
243
242
  end
244
243
 
@@ -254,7 +253,7 @@ module Omnibus
254
253
  it "appends platform host to the options" do
255
254
  expect(subject).to receive(:command)
256
255
  .with("./configure --build=i686-w64-mingw32 --prefix=#{project_dir}/embedded", in_msys_bash: true)
257
- subject.configure()
256
+ subject.configure
258
257
  end
259
258
  end
260
259
 
@@ -305,7 +304,8 @@ module Omnibus
305
304
  .with("config/patches", "good_patch")
306
305
  .and_return(
307
306
  [ ["#{project_dir}/patch_location1/good_patch", "#{project_dir}/patch_location2/good_patch"],
308
- "#{project_dir}/patch_location2/good_patch" ])
307
+ "#{project_dir}/patch_location2/good_patch" ]
308
+ )
309
309
  end
310
310
 
311
311
  it "is a DSL method" do
@@ -355,10 +355,10 @@ module Omnibus
355
355
 
356
356
  let(:software) do
357
357
  double(Software,
358
- name: "chefdk",
359
- install_dir: tmp_dir,
360
- project_dir: tmp_dir,
361
- overridden?: false)
358
+ name: "chefdk",
359
+ install_dir: tmp_dir,
360
+ project_dir: tmp_dir,
361
+ overridden?: false)
362
362
  end
363
363
 
364
364
  let(:before_build_shasum) do
@@ -16,16 +16,18 @@ module Omnibus
16
16
 
17
17
  let(:changelog) do
18
18
  double(ChangeLog,
19
- changelog_entries: %w{entry1 entry2},
20
- authors: %w{alice bob}) end
19
+ changelog_entries: %w{entry1 entry2},
20
+ authors: %w{alice bob})
21
+ end
21
22
  let(:git_changelog) do
22
23
  double(ChangeLog,
23
- changelog_entries:
24
- %w{sub-entry1 sub-entry2}) end
24
+ changelog_entries:
25
+ %w{sub-entry1 sub-entry2})
26
+ end
25
27
  let(:now) { double(Time) }
26
28
  let(:emptydiff) { EmptyManifestDiff.new }
27
29
  let(:old_manifest) do
28
- m = Manifest.new()
30
+ m = Manifest.new
29
31
  m.add("updated-comp", manifest_entry_for("updated-comp", "v9", "v9"))
30
32
  m.add("updated-comp-2", manifest_entry_for("updated-comp-2", "someref0", "someref0", :git))
31
33
  m.add("removed-comp", manifest_entry_for("removed-comp", "v9", "v9"))
@@ -33,7 +35,7 @@ module Omnibus
33
35
  m
34
36
  end
35
37
  let(:new_manifest) do
36
- m = Manifest.new()
38
+ m = Manifest.new
37
39
  m.add("updated-comp", manifest_entry_for("updated-comp", "v10", "v10"))
38
40
  m.add("updated-comp-2", manifest_entry_for("updated-comp-2", "someotherref", "someotherref", :git))
39
41
  m.add("added-comp", manifest_entry_for("added-comp", "v100", "v100"))
@@ -8,13 +8,13 @@ module Omnibus
8
8
 
9
9
  context "when :dmg is activated" do
10
10
  it "prefers dmg" do
11
- expect(described_class.for_current_system([:tgz, :dmg])).to eq(Compressor::DMG)
11
+ expect(described_class.for_current_system(%i{tgz dmg})).to eq(Compressor::DMG)
12
12
  end
13
13
  end
14
14
 
15
15
  context "when :dmg is not activated" do
16
16
  it "prefers tgz" do
17
- expect(described_class.for_current_system([:tgz, :foo])).to eq(Compressor::TGZ)
17
+ expect(described_class.for_current_system(%i{tgz foo})).to eq(Compressor::TGZ)
18
18
  end
19
19
  end
20
20
 
@@ -30,7 +30,7 @@ module Omnibus
30
30
 
31
31
  context "when :tgz activated" do
32
32
  it "prefers tgz" do
33
- expect(described_class.for_current_system([:tgz, :foo])).to eq(Compressor::TGZ)
33
+ expect(described_class.for_current_system(%i{tgz foo})).to eq(Compressor::TGZ)
34
34
  end
35
35
  end
36
36
 
@@ -11,10 +11,10 @@ module Omnibus
11
11
 
12
12
  let(:manifest_entry) do
13
13
  double(Omnibus::ManifestEntry,
14
- name: "file",
15
- locked_version: "1.2.3",
16
- described_version: "1.2.3",
17
- locked_source: source)
14
+ name: "file",
15
+ locked_version: "1.2.3",
16
+ described_version: "1.2.3",
17
+ locked_source: source)
18
18
  end
19
19
 
20
20
  let(:cache_dir) { "/cache" }
@@ -331,11 +331,10 @@ module Omnibus
331
331
  context "when the file is a .#{extension}" do
332
332
  let(:manifest_entry) do
333
333
  double(Omnibus::ManifestEntry,
334
- name: "file",
335
- locked_version: "1.2.3",
336
- described_version: "1.2.3",
337
- locked_source: { url: "https://get.example.com/file.#{extension}", md5: "abcd1234" }.merge(source_options)
338
- )
334
+ name: "file",
335
+ locked_version: "1.2.3",
336
+ described_version: "1.2.3",
337
+ locked_source: { url: "https://get.example.com/file.#{extension}", md5: "abcd1234" }.merge(source_options))
339
338
  end
340
339
 
341
340
  subject { described_class.new(manifest_entry, project_dir, build_dir) }
@@ -361,10 +360,10 @@ module Omnibus
361
360
  context "when the downloaded file is a folder" do
362
361
  let(:manifest_entry) do
363
362
  double(Omnibus::ManifestEntry,
364
- name: "file",
365
- locked_version: "1.2.3",
366
- described_version: "1.2.3",
367
- locked_source: { url: "https://get.example.com/folder", md5: "abcd1234" })
363
+ name: "file",
364
+ locked_version: "1.2.3",
365
+ described_version: "1.2.3",
366
+ locked_source: { url: "https://get.example.com/folder", md5: "abcd1234" })
368
367
  end
369
368
 
370
369
  subject { described_class.new(manifest_entry, project_dir, build_dir) }
@@ -382,10 +381,10 @@ module Omnibus
382
381
  context "when the downloaded file is a regular file" do
383
382
  let(:manifest_entry) do
384
383
  double(Omnibus::ManifestEntry,
385
- name: "file",
386
- locked_version: "1.2.3",
387
- described_version: "1.2.3",
388
- locked_source: { url: "https://get.example.com/file", md5: "abcd1234" })
384
+ name: "file",
385
+ locked_version: "1.2.3",
386
+ described_version: "1.2.3",
387
+ locked_source: { url: "https://get.example.com/file", md5: "abcd1234" })
389
388
  end
390
389
 
391
390
  subject { described_class.new(manifest_entry, project_dir, build_dir) }
@@ -8,9 +8,7 @@ module Omnibus
8
8
  name: "chefdk",
9
9
  install_dir: "/opt/chefdk",
10
10
  library: double(Library,
11
- components: []
12
- )
13
- )
11
+ components: []))
14
12
  end
15
13
 
16
14
  def mkdump(base, size, x64 = false)
@@ -19,9 +17,7 @@ module Omnibus
19
17
  x64?: x64,
20
18
  ioh: double(x64 ? PEdump::IMAGE_OPTIONAL_HEADER64 : PEdump::IMAGE_OPTIONAL_HEADER32,
21
19
  ImageBase: base,
22
- SizeOfImage: size
23
- )
24
- )
20
+ SizeOfImage: size))
25
21
  expect(dump).to receive(:pe).and_return(pe)
26
22
  dump
27
23
  end
@@ -125,7 +125,8 @@ module Omnibus
125
125
  erchef, # project dep
126
126
  chef, # project dep
127
127
  chefdk, # project dep
128
- ])
128
+ ]
129
+ )
129
130
  end
130
131
  end
131
132
  end
@@ -12,7 +12,7 @@ module Omnibus
12
12
  end
13
13
 
14
14
  let(:manifest_one) do
15
- m = Omnibus::Manifest.new()
15
+ m = Omnibus::Manifest.new
16
16
  m.add("foo", manifest_entry_for("foo", "1.2.4", "deadbeef"))
17
17
  m.add("bar", manifest_entry_for("bar", "1.2.4", "deadbeef"))
18
18
  m.add("baz", manifest_entry_for("baz", "1.2.4", "deadbeef"))
@@ -20,7 +20,7 @@ module Omnibus
20
20
  end
21
21
 
22
22
  let(:manifest_two) do
23
- m = Omnibus::Manifest.new()
23
+ m = Omnibus::Manifest.new
24
24
  m.add("foo", manifest_entry_for("foo", "1.2.5", "deadbea0"))
25
25
  m.add("baz", manifest_entry_for("baz", "1.2.4", "deadbeef"))
26
26
  m.add("quux", manifest_entry_for("quux", "1.2.4", "deadbeef"))
@@ -45,7 +45,7 @@ module Omnibus
45
45
  second = ManifestEntry.new("wombat", {})
46
46
  subject.add("foobar", first)
47
47
  subject.add("wombat", second)
48
- expect(subject.entry_names).to eq([:foobar, :wombat])
48
+ expect(subject.entry_names).to eq(%i{foobar wombat})
49
49
  end
50
50
  end
51
51
 
@@ -16,8 +16,7 @@ module Omnibus
16
16
  md5: "abc123",
17
17
  sha1: "abc123",
18
18
  sha256: "abcd1234",
19
- sha512: "abcdef123456"
20
- )
19
+ sha512: "abcdef123456")
21
20
  end
22
21
 
23
22
  let(:project) do
@@ -29,15 +28,13 @@ module Omnibus
29
28
  build_iteration: "1",
30
29
  license: "Apache-2.0",
31
30
  built_manifest: double(Manifest,
32
- to_hash: {
33
- manifest_format: 2,
34
- build_version: "1.2.3",
35
- build_git_revision: "SHA",
36
- license: "Apache-2.0",
37
- }
38
- ),
39
- license_file_path: license_path
40
- )
31
+ to_hash: {
32
+ manifest_format: 2,
33
+ build_version: "1.2.3",
34
+ build_git_revision: "SHA",
35
+ license: "Apache-2.0",
36
+ }),
37
+ license_file_path: license_path)
41
38
  end
42
39
 
43
40
  let(:data) { { foo: "bar" } }
@@ -15,7 +15,7 @@ describe Omnibus do
15
15
 
16
16
  Omnibus::Config.project_root(File.join(tmp_path, "/foo/bar"))
17
17
  Omnibus::Config.local_software_dirs([File.join(tmp_path, "/local"), File.join(tmp_path, "/other")])
18
- Omnibus::Config.software_gems(["omnibus-software", "custom-omnibus-software"])
18
+ Omnibus::Config.software_gems(%w{omnibus-software custom-omnibus-software})
19
19
  end
20
20
 
21
21
  describe "#which" do
@@ -301,7 +301,7 @@ module Omnibus
301
301
  # A note - the /opt/ here is essentially project.install_dir one level up.
302
302
  # There is nothing magical about 'opt' as a directory.
303
303
  expect(subject).to receive(:shellout!)
304
- .with(/chown -Rh 0:0 #{staging_dir}\/opt$/)
304
+ .with(%r{chown -Rh 0:0 #{staging_dir}/opt$})
305
305
  subject.create_bff_file
306
306
  end
307
307
 
@@ -312,7 +312,7 @@ module Omnibus
312
312
 
313
313
  it "uses the correct command" do
314
314
  expect(subject).to receive(:shellout!)
315
- .with(/\/usr\/sbin\/mkinstallp -d/)
315
+ .with(%r{/usr/sbin/mkinstallp -d})
316
316
  subject.create_bff_file
317
317
  end
318
318