omnibus 6.0.30 → 7.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -1
- data/README.md +24 -8
- data/Rakefile +1 -1
- data/lib/omnibus/build_version_dsl.rb +1 -0
- data/lib/omnibus/builder.rb +6 -5
- 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_files/README.md.erb +18 -15
- 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/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 +11 -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 +6 -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/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/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 +17 -11
@@ -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/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) }
|
@@ -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
|
data/spec/unit/library_spec.rb
CHANGED
@@ -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"))
|
data/spec/unit/manifest_spec.rb
CHANGED
data/spec/unit/metadata_spec.rb
CHANGED
@@ -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
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
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" } }
|
@@ -219,6 +216,7 @@ module Omnibus
|
|
219
216
|
it_behaves_like "a version manipulator", "fedora", "11.5", "11"
|
220
217
|
it_behaves_like "a version manipulator", "freebsd", "10.0", "10"
|
221
218
|
it_behaves_like "a version manipulator", "gentoo", "4.9.95-gentoo", "rolling"
|
219
|
+
it_behaves_like "a version manipulator", "kali", "rolling", "rolling"
|
222
220
|
it_behaves_like "a version manipulator", "mac_os_x", "10.9.1", "10.9"
|
223
221
|
it_behaves_like "a version manipulator", "omnios", "r151010", "r151010"
|
224
222
|
it_behaves_like "a version manipulator", "openbsd", "5.4.4", "5.4"
|
data/spec/unit/omnibus_spec.rb
CHANGED
@@ -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(
|
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(
|
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(
|
315
|
+
.with(%r{/usr/sbin/mkinstallp -d})
|
316
316
|
subject.create_bff_file
|
317
317
|
end
|
318
318
|
|
@@ -419,7 +419,7 @@ module Omnibus
|
|
419
419
|
end
|
420
420
|
|
421
421
|
it "outputs a source.wxs file to the staging directory" do
|
422
|
-
expect(subject.candle_command).to include("#{subject.windows_safe_path(staging_dir,
|
422
|
+
expect(subject.candle_command).to include("#{subject.windows_safe_path(staging_dir, "source.wxs")}")
|
423
423
|
end
|
424
424
|
end
|
425
425
|
|
@@ -433,7 +433,7 @@ module Omnibus
|
|
433
433
|
end
|
434
434
|
|
435
435
|
it "outputs a bundle.wxs file to the staging directory" do
|
436
|
-
expect(subject.candle_command(is_bundle: true)).to include("#{subject.windows_safe_path(staging_dir,
|
436
|
+
expect(subject.candle_command(is_bundle: true)).to include("#{subject.windows_safe_path(staging_dir, "bundle.wxs")}")
|
437
437
|
end
|
438
438
|
end
|
439
439
|
end
|