omnibus 6.0.25 → 7.0.12
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 +4 -3
- data/README.md +25 -9
- data/Rakefile +1 -1
- data/lib/omnibus/build_version_dsl.rb +1 -0
- data/lib/omnibus/builder.rb +10 -7
- data/lib/omnibus/changelog_printer.rb +7 -4
- data/lib/omnibus/cleaner.rb +3 -0
- data/lib/omnibus/cli.rb +1 -1
- data/lib/omnibus/cli/changelog.rb +24 -24
- data/lib/omnibus/cli/publish.rb +5 -5
- data/lib/omnibus/compressor.rb +2 -2
- data/lib/omnibus/compressors/base.rb +1 -1
- data/lib/omnibus/compressors/dmg.rb +45 -7
- data/lib/omnibus/config.rb +12 -2
- data/lib/omnibus/fetchers/git_fetcher.rb +1 -0
- data/lib/omnibus/fetchers/net_fetcher.rb +2 -3
- data/lib/omnibus/file_syncer.rb +2 -2
- data/lib/omnibus/generator.rb +1 -0
- data/lib/omnibus/generator_files/Gemfile.erb +2 -2
- data/lib/omnibus/generator_files/README.md.erb +18 -15
- data/lib/omnibus/generator_files/config/projects/project.rb.erb +0 -3
- data/lib/omnibus/generator_files/config/software/preparation.rb.erb +30 -0
- data/lib/omnibus/generator_files/omnibus.rb.erb +5 -4
- data/lib/omnibus/health_check.rb +1 -1
- data/lib/omnibus/licensing.rb +3 -4
- data/lib/omnibus/logger.rb +2 -1
- data/lib/omnibus/manifest.rb +1 -1
- data/lib/omnibus/metadata.rb +2 -2
- data/lib/omnibus/packagers/appx.rb +1 -2
- data/lib/omnibus/packagers/base.rb +1 -0
- data/lib/omnibus/packagers/bff.rb +6 -8
- data/lib/omnibus/packagers/deb.rb +7 -10
- data/lib/omnibus/packagers/ips.rb +3 -6
- data/lib/omnibus/packagers/makeself.rb +1 -2
- data/lib/omnibus/packagers/msi.rb +12 -11
- data/lib/omnibus/packagers/pkg.rb +125 -9
- data/lib/omnibus/packagers/rpm.rb +13 -12
- data/lib/omnibus/packagers/solaris.rb +4 -4
- data/lib/omnibus/packagers/windows_base.rb +7 -6
- data/lib/omnibus/project.rb +1 -0
- data/lib/omnibus/publisher.rb +14 -12
- data/lib/omnibus/publishers/s3_publisher.rb +6 -4
- data/lib/omnibus/s3_cache.rb +3 -1
- data/lib/omnibus/s3_helpers.rb +6 -6
- data/lib/omnibus/software.rb +66 -30
- data/lib/omnibus/templating.rb +1 -1
- data/lib/omnibus/util.rb +3 -2
- data/lib/omnibus/version.rb +1 -1
- data/lib/omnibus/whitelist.rb +6 -1
- data/omnibus.gemspec +7 -6
- data/resources/rpm/signing.erb +7 -10
- data/spec/functional/builder_spec.rb +2 -1
- data/spec/functional/fetchers/file_fetcher_spec.rb +4 -4
- data/spec/functional/fetchers/git_fetcher_spec.rb +4 -4
- data/spec/functional/fetchers/net_fetcher_spec.rb +5 -6
- data/spec/functional/fetchers/path_fetcher_spec.rb +4 -4
- data/spec/functional/file_syncer_spec.rb +42 -0
- data/spec/functional/licensing_spec.rb +5 -5
- data/spec/spec_helper.rb +6 -0
- data/spec/support/examples.rb +3 -4
- data/spec/unit/builder_spec.rb +9 -9
- data/spec/unit/changelogprinter_spec.rb +8 -6
- data/spec/unit/compressor_spec.rb +3 -3
- data/spec/unit/compressors/dmg_spec.rb +43 -4
- data/spec/unit/fetchers/net_fetcher_spec.rb +16 -17
- data/spec/unit/generator_spec.rb +1 -0
- data/spec/unit/health_check_spec.rb +2 -6
- data/spec/unit/library_spec.rb +2 -1
- data/spec/unit/manifest_diff_spec.rb +2 -2
- data/spec/unit/manifest_spec.rb +1 -1
- data/spec/unit/metadata_spec.rb +9 -11
- data/spec/unit/omnibus_spec.rb +1 -1
- data/spec/unit/packagers/bff_spec.rb +2 -2
- data/spec/unit/packagers/msi_spec.rb +2 -2
- data/spec/unit/packagers/pkg_spec.rb +354 -0
- data/spec/unit/packagers/pkgsrc_spec.rb +1 -1
- data/spec/unit/packagers/solaris_spec.rb +7 -7
- data/spec/unit/project_spec.rb +2 -2
- data/spec/unit/publisher_spec.rb +8 -9
- data/spec/unit/publishers/artifactory_publisher_spec.rb +2 -4
- data/spec/unit/publishers/s3_publisher_spec.rb +2 -4
- data/spec/unit/s3_cacher_spec.rb +19 -6
- data/spec/unit/s3_helpers_spec.rb +22 -3
- data/spec/unit/software_spec.rb +72 -42
- data/spec/unit/util_spec.rb +1 -2
- metadata +32 -11
@@ -13,10 +13,10 @@ module Omnibus
|
|
13
13
|
|
14
14
|
let(:manifest_entry) do
|
15
15
|
double(Omnibus::ManifestEntry,
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
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
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
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
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
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
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
name: "pathelogical",
|
16
|
+
locked_version: nil,
|
17
|
+
described_version: nil,
|
18
|
+
locked_source: source)
|
19
19
|
end
|
20
20
|
|
21
21
|
before do
|
@@ -56,6 +56,14 @@ module Omnibus
|
|
56
56
|
FileUtils.touch(File.join(source, ".dot_folder", "file_f"))
|
57
57
|
|
58
58
|
FileUtils.touch(File.join(source, ".file_g"))
|
59
|
+
|
60
|
+
FileUtils.mkdir_p(File.join(source, "nested", "deep", "folder"))
|
61
|
+
FileUtils.touch(File.join(source, "nested", "deep", "folder", "file_h"))
|
62
|
+
FileUtils.touch(File.join(source, "nested", "deep", "folder", "file_i"))
|
63
|
+
|
64
|
+
FileUtils.mkdir_p(File.join(source, "nested", "deep", "deep", "folder"))
|
65
|
+
FileUtils.touch(File.join(source, "nested", "deep", "deep", "folder", "file_j"))
|
66
|
+
FileUtils.touch(File.join(source, "nested", "deep", "deep", "folder", "file_k"))
|
59
67
|
source
|
60
68
|
end
|
61
69
|
|
@@ -233,6 +241,40 @@ module Omnibus
|
|
233
241
|
expect("#{destination}/.file_g").to be_a_file
|
234
242
|
end
|
235
243
|
|
244
|
+
it "does not copy files and folders that match the wildcard pattern" do
|
245
|
+
described_class.sync(source, destination, exclude: "nested/*/folder")
|
246
|
+
|
247
|
+
expect("#{destination}/file_a").to be_a_file
|
248
|
+
expect("#{destination}/file_b").to be_a_file
|
249
|
+
expect("#{destination}/file_c").to be_a_file
|
250
|
+
expect("#{destination}/folder/file_d").to be_a_file
|
251
|
+
expect("#{destination}/folder/file_e").to be_a_file
|
252
|
+
expect("#{destination}/.dot_folder").to be_a_directory
|
253
|
+
expect("#{destination}/.dot_folder/file_f").to be_a_file
|
254
|
+
expect("#{destination}/.file_g").to be_a_file
|
255
|
+
expect("#{destination}/nested/deep/folder/file_h").to_not be_a_file
|
256
|
+
expect("#{destination}/nested/deep/folder/file_i").to_not be_a_file
|
257
|
+
expect("#{destination}/nested/deep/deep/folder/file_j").to be_a_file
|
258
|
+
expect("#{destination}/nested/deep/deep/folder/file_k").to be_a_file
|
259
|
+
end
|
260
|
+
|
261
|
+
it "does not copy files and folders that match the super wildcard pattern" do
|
262
|
+
described_class.sync(source, destination, exclude: "nested/**/folder")
|
263
|
+
|
264
|
+
expect("#{destination}/file_a").to be_a_file
|
265
|
+
expect("#{destination}/file_b").to be_a_file
|
266
|
+
expect("#{destination}/file_c").to be_a_file
|
267
|
+
expect("#{destination}/folder/file_d").to be_a_file
|
268
|
+
expect("#{destination}/folder/file_e").to be_a_file
|
269
|
+
expect("#{destination}/.dot_folder").to be_a_directory
|
270
|
+
expect("#{destination}/.dot_folder/file_f").to be_a_file
|
271
|
+
expect("#{destination}/.file_g").to be_a_file
|
272
|
+
expect("#{destination}/nested/deep/folder/file_h").to_not be_a_file
|
273
|
+
expect("#{destination}/nested/deep/folder/file_i").to_not be_a_file
|
274
|
+
expect("#{destination}/nested/deep/deep/folder/file_j").to_not be_a_file
|
275
|
+
expect("#{destination}/nested/deep/deep/folder/file_k").to_not be_a_file
|
276
|
+
end
|
277
|
+
|
236
278
|
it "removes existing files and folders in destination" do
|
237
279
|
FileUtils.mkdir_p("#{destination}/existing_folder")
|
238
280
|
FileUtils.touch("#{destination}/existing_file")
|
@@ -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 /
|
41
|
-
expect(project_license).to match /
|
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 /
|
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 /
|
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(
|
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
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
Encoding.default_external = Encoding::UTF_8
|
2
|
+
|
1
3
|
require "rspec"
|
2
4
|
require "rspec/its"
|
3
5
|
require "rspec/json_expectations"
|
@@ -16,6 +18,10 @@ def mac?
|
|
16
18
|
end
|
17
19
|
|
18
20
|
RSpec.configure do |config|
|
21
|
+
config.expect_with :rspec do |c|
|
22
|
+
c.max_formatted_output_length = 1000
|
23
|
+
end
|
24
|
+
|
19
25
|
# Custom matchers and shared examples
|
20
26
|
require_relative "support/examples"
|
21
27
|
require_relative "support/matchers"
|
data/spec/support/examples.rb
CHANGED
@@ -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[
|
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!(
|
63
|
+
p.gsub!(%r{/}, '\\') if windows?
|
65
64
|
p
|
66
65
|
end
|
67
66
|
end
|
data/spec/unit/builder_spec.rb
CHANGED
@@ -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
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
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
|
-
|
20
|
-
|
19
|
+
changelog_entries: %w{entry1 entry2},
|
20
|
+
authors: %w{alice bob})
|
21
|
+
end
|
21
22
|
let(:git_changelog) do
|
22
23
|
double(ChangeLog,
|
23
|
-
|
24
|
-
|
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(
|
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(
|
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(
|
33
|
+
expect(described_class.for_current_system(%i{tgz foo})).to eq(Compressor::TGZ)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
@@ -90,7 +90,8 @@ module Omnibus
|
|
90
90
|
-fs HFS+ \\
|
91
91
|
-fsargs "-c c=64,a=16,e=16" \\
|
92
92
|
-size 512000k \\
|
93
|
-
"#{staging_dir}/project-writable.dmg"
|
93
|
+
"#{staging_dir}/project-writable.dmg" \\
|
94
|
+
-puppetstrings
|
94
95
|
EOH
|
95
96
|
|
96
97
|
subject.create_writable_dmg
|
@@ -114,6 +115,7 @@ module Omnibus
|
|
114
115
|
expect(subject).to receive(:shellout!)
|
115
116
|
.with <<-EOH.gsub(/^ {12}/, "")
|
116
117
|
hdiutil attach \\
|
118
|
+
-puppetstrings \\
|
117
119
|
-readwrite \\
|
118
120
|
-noverify \\
|
119
121
|
-noautoopen \\
|
@@ -215,20 +217,57 @@ module Omnibus
|
|
215
217
|
.with <<-EOH.gsub(/^ {12}/, "")
|
216
218
|
chmod -Rf go-w "/Volumes/Project One"
|
217
219
|
sync
|
218
|
-
hdiutil
|
220
|
+
hdiutil unmount "#{device}"
|
221
|
+
# Give some time to the system so unmount dmg
|
222
|
+
sleep 5
|
223
|
+
hdiutil detach "#{device}" &&\
|
219
224
|
hdiutil convert \\
|
220
225
|
"#{staging_dir}/project-writable.dmg" \\
|
221
226
|
-format UDZO \\
|
222
227
|
-imagekey \\
|
223
228
|
zlib-level=9 \\
|
224
|
-
-o "#{package_dir}/project-1.2.3-2.dmg"
|
225
|
-
|
229
|
+
-o "#{package_dir}/project-1.2.3-2.dmg" \\
|
230
|
+
-puppetstrings
|
226
231
|
EOH
|
227
232
|
|
228
233
|
subject.compress_dmg
|
229
234
|
end
|
230
235
|
end
|
231
236
|
|
237
|
+
describe "#verify_dmg" do
|
238
|
+
it "logs a message" do
|
239
|
+
output = capture_logging { subject.verify_dmg }
|
240
|
+
expect(output).to include("Verifying dmg")
|
241
|
+
end
|
242
|
+
|
243
|
+
it "runs the command" do
|
244
|
+
expect(subject).to receive(:shellout!)
|
245
|
+
.with <<-EOH.gsub(/^ {12}/, "")
|
246
|
+
hdiutil verify \\
|
247
|
+
"#{package_dir}/project-1.2.3-2.dmg" \\
|
248
|
+
-puppetstrings
|
249
|
+
EOH
|
250
|
+
|
251
|
+
subject.verify_dmg
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
255
|
+
describe "#remove_writable_dmg" do
|
256
|
+
it "logs a message" do
|
257
|
+
output = capture_logging { subject.remove_writable_dmg }
|
258
|
+
expect(output).to include("Removing writable dmg")
|
259
|
+
end
|
260
|
+
|
261
|
+
it "runs the command" do
|
262
|
+
expect(subject).to receive(:shellout!)
|
263
|
+
.with <<-EOH.gsub(/^ {12}/, "")
|
264
|
+
rm -rf "#{staging_dir}/project-writable.dmg"
|
265
|
+
EOH
|
266
|
+
|
267
|
+
subject.remove_writable_dmg
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
232
271
|
describe "#set_dmg_icon" do
|
233
272
|
it "logs a message" do
|
234
273
|
output = capture_logging { subject.set_dmg_icon }
|
@@ -11,10 +11,10 @@ module Omnibus
|
|
11
11
|
|
12
12
|
let(:manifest_entry) do
|
13
13
|
double(Omnibus::ManifestEntry,
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
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
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
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
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
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
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
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) }
|
data/spec/unit/generator_spec.rb
CHANGED
@@ -36,6 +36,7 @@ module Omnibus
|
|
36
36
|
omnibus-name/config/projects/name.rb
|
37
37
|
omnibus-name/config/software
|
38
38
|
omnibus-name/config/software/name-zlib.rb
|
39
|
+
omnibus-name/config/software/preparation.rb
|
39
40
|
omnibus-name/omnibus.rb
|
40
41
|
omnibus-name/package-scripts
|
41
42
|
omnibus-name/package-scripts/name
|