omnibus 6.0.1 → 6.0.24
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -22,16 +22,16 @@ module Omnibus
|
|
22
22
|
include DownloadHelpers
|
23
23
|
|
24
24
|
# Use 7-zip to extract 7z/zip for Windows
|
25
|
-
WIN_7Z_EXTENSIONS = %w{.7z .zip}
|
25
|
+
WIN_7Z_EXTENSIONS = %w{.7z .zip}.freeze
|
26
26
|
|
27
27
|
# tar probably has compression scheme linked in, otherwise for tarballs
|
28
|
-
COMPRESSED_TAR_EXTENSIONS = %w{.tar.gz .tgz tar.bz2 .tar.xz .txz .tar.lzma}
|
28
|
+
COMPRESSED_TAR_EXTENSIONS = %w{.tar.gz .tgz tar.bz2 .tar.xz .txz .tar.lzma}.freeze
|
29
29
|
TAR_EXTENSIONS = COMPRESSED_TAR_EXTENSIONS + [".tar"]
|
30
30
|
|
31
31
|
ALL_EXTENSIONS = WIN_7Z_EXTENSIONS + TAR_EXTENSIONS
|
32
32
|
|
33
33
|
# Digest types used for verifying file checksums
|
34
|
-
DIGESTS = [:sha512, :sha256, :sha1, :md5]
|
34
|
+
DIGESTS = [:sha512, :sha256, :sha1, :md5].freeze
|
35
35
|
|
36
36
|
#
|
37
37
|
# A fetch is required if the downloaded_file (such as a tarball) does not
|
@@ -112,13 +112,15 @@ module Omnibus
|
|
112
112
|
end
|
113
113
|
|
114
114
|
#
|
115
|
-
# The path on disk to the downloaded asset.
|
116
|
-
#
|
115
|
+
# The path on disk to the downloaded asset. The filename is defined by
|
116
|
+
# +source :cached_name+. If ommited, then it comes from the software's
|
117
|
+
# +source :url+ value
|
117
118
|
#
|
118
119
|
# @return [String]
|
119
120
|
#
|
120
121
|
def downloaded_file
|
121
|
-
filename =
|
122
|
+
filename = source[:cached_name] if source[:cached_name]
|
123
|
+
filename ||= File.basename(source[:url], "?*")
|
122
124
|
File.join(Config.cache_dir, filename)
|
123
125
|
end
|
124
126
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#
|
2
|
+
# The .kitchen.local.yml takes preference and is compiled into the top-level
|
3
|
+
# .kitchen.yml. Uncomment the following section to use VMWare Fusion instead of
|
4
|
+
# the default Vagrant driver of VirtualBox.
|
5
|
+
#
|
6
|
+
|
7
|
+
# driver:
|
8
|
+
# provider: vmware_fusion
|
9
|
+
# customize:
|
10
|
+
# memsize: 4096
|
@@ -0,0 +1,41 @@
|
|
1
|
+
driver:
|
2
|
+
name: vagrant
|
3
|
+
forward_agent: yes
|
4
|
+
customize:
|
5
|
+
cpus: 2
|
6
|
+
memory: 2048
|
7
|
+
synced_folders:
|
8
|
+
- ['.', '/home/vagrant/<%= config[:name] %>']
|
9
|
+
|
10
|
+
provisioner:
|
11
|
+
name: chef_zero
|
12
|
+
|
13
|
+
platforms:
|
14
|
+
- name: centos-6
|
15
|
+
run_list: yum-epel::default
|
16
|
+
- name: centos-7
|
17
|
+
run_list: yum-epel::default
|
18
|
+
- name: debian-8
|
19
|
+
run_list: apt::default
|
20
|
+
- name: debian-9
|
21
|
+
run_list: apt::default
|
22
|
+
- name: freebsd-10
|
23
|
+
run_list: freebsd::portsnap
|
24
|
+
- name: freebsd-11
|
25
|
+
run_list: freebsd::portsnap
|
26
|
+
- name: ubuntu-14.04
|
27
|
+
run_list: apt::default
|
28
|
+
- name: ubuntu-16.04
|
29
|
+
run_list: apt::default
|
30
|
+
- name: ubuntu-18.04
|
31
|
+
run_list: apt::default
|
32
|
+
|
33
|
+
suites:
|
34
|
+
- name: default
|
35
|
+
run_list: omnibus::default
|
36
|
+
attributes:
|
37
|
+
omnibus:
|
38
|
+
build_user: vagrant
|
39
|
+
build_user_group: vagrant
|
40
|
+
build_user_password: vagrant
|
41
|
+
install_dir: /opt/<%= config[:name] %>
|
@@ -13,9 +13,9 @@ gem 'omnibus', '~> <%= Omnibus::VERSION.split('.')[0...-1].join('.') %>'
|
|
13
13
|
# by running `bundle install --without development` to speed up build times.
|
14
14
|
group :development do
|
15
15
|
# Use Berkshelf for resolving cookbook dependencies
|
16
|
-
gem 'berkshelf'
|
16
|
+
gem 'berkshelf'
|
17
17
|
|
18
18
|
# Use Test Kitchen with Vagrant for converging the build environment
|
19
|
-
gem 'test-kitchen',
|
20
|
-
gem 'kitchen-vagrant',
|
19
|
+
gem 'test-kitchen',
|
20
|
+
gem 'kitchen-vagrant',
|
21
21
|
end
|
data/lib/omnibus/licensing.rb
CHANGED
@@ -657,6 +657,7 @@ EOH
|
|
657
657
|
"AGPL-3.0", # GNU Affero General Public License v3
|
658
658
|
"GPL-2.0", # GNU General Public License version 2.0
|
659
659
|
"GPL-3.0", # GNU General Public License version 3.0
|
660
|
+
"LGPL-2.0", # GNU Library or "Lesser" General Public License version 2.0
|
660
661
|
"LGPL-2.1", # GNU Library or "Lesser" General Public License version 2.1
|
661
662
|
"LGPL-3.0", # GNU Library or "Lesser" General Public License version 3.0
|
662
663
|
"HPND", # Historical Permission Notice and Disclaimer
|
data/lib/omnibus/metadata.rb
CHANGED
@@ -46,24 +46,24 @@ module Omnibus
|
|
46
46
|
|
47
47
|
data = {
|
48
48
|
# Package
|
49
|
-
basename:
|
50
|
-
md5:
|
51
|
-
sha1:
|
52
|
-
sha256:
|
53
|
-
sha512:
|
54
|
-
platform:
|
49
|
+
basename: package.name,
|
50
|
+
md5: package.md5,
|
51
|
+
sha1: package.sha1,
|
52
|
+
sha256: package.sha256,
|
53
|
+
sha512: package.sha512,
|
54
|
+
platform: platform_shortname,
|
55
55
|
platform_version: platform_version,
|
56
|
-
arch:
|
56
|
+
arch: arch,
|
57
57
|
|
58
58
|
# Project
|
59
|
-
name:
|
60
|
-
friendly_name:
|
61
|
-
homepage:
|
62
|
-
version:
|
63
|
-
iteration:
|
64
|
-
license:
|
59
|
+
name: project.name,
|
60
|
+
friendly_name: project.friendly_name,
|
61
|
+
homepage: project.homepage,
|
62
|
+
version: project.build_version,
|
63
|
+
iteration: project.build_iteration,
|
64
|
+
license: project.license,
|
65
65
|
version_manifest: project.built_manifest.to_hash,
|
66
|
-
license_content:
|
66
|
+
license_content: File.exist?(project.license_file_path) ? File.read(project.license_file_path) : "",
|
67
67
|
}
|
68
68
|
|
69
69
|
instance = new(package, data)
|
@@ -170,7 +170,7 @@ module Omnibus
|
|
170
170
|
# rubocop:disable Lint/DuplicateCaseCondition
|
171
171
|
def truncate_platform_version(platform_version, platform)
|
172
172
|
case platform
|
173
|
-
when "centos", "debian", "el", "fedora", "freebsd", "omnios", "pidora", "raspbian", "rhel", "sles", "suse", "smartos"
|
173
|
+
when "centos", "debian", "el", "fedora", "freebsd", "omnios", "pidora", "raspbian", "rhel", "sles", "suse", "smartos"
|
174
174
|
# Only want MAJOR (e.g. Debian 7, OmniOS r151006, SmartOS 20120809T221258Z)
|
175
175
|
platform_version.split(".").first
|
176
176
|
when "aix", "alpine", "mac_os_x", "openbsd", "slackware", "solaris2", "opensuse", "opensuseleap", "ubuntu", "amazon"
|
data/lib/omnibus/packager.rb
CHANGED
@@ -38,17 +38,18 @@ module Omnibus
|
|
38
38
|
# @return [Hash<String, Class>]
|
39
39
|
#
|
40
40
|
PLATFORM_PACKAGER_MAP = {
|
41
|
-
"debian"
|
42
|
-
"fedora"
|
43
|
-
"suse"
|
44
|
-
"rhel"
|
45
|
-
"wrlinux"
|
46
|
-
"
|
47
|
-
"
|
48
|
-
"
|
49
|
-
"
|
41
|
+
"debian" => DEB,
|
42
|
+
"fedora" => RPM,
|
43
|
+
"suse" => RPM,
|
44
|
+
"rhel" => RPM,
|
45
|
+
"wrlinux" => RPM,
|
46
|
+
"amazon" => RPM,
|
47
|
+
"aix" => BFF,
|
48
|
+
"solaris" => Solaris,
|
49
|
+
"ips" => IPS,
|
50
|
+
"windows" => [MSI, APPX],
|
50
51
|
"mac_os_x" => PKG,
|
51
|
-
"smartos"
|
52
|
+
"smartos" => PKGSRC,
|
52
53
|
}.freeze
|
53
54
|
|
54
55
|
#
|
@@ -64,10 +64,10 @@ module Omnibus
|
|
64
64
|
render_template(resource_path("AppxManifest.xml.erb"),
|
65
65
|
destination: "#{windows_safe_path(project.install_dir)}/AppxManifest.xml",
|
66
66
|
variables: {
|
67
|
-
name:
|
68
|
-
friendly_name:
|
69
|
-
version:
|
70
|
-
maintainer:
|
67
|
+
name: project.package_name,
|
68
|
+
friendly_name: project.friendly_name,
|
69
|
+
version: windows_package_version,
|
70
|
+
maintainer: project.maintainer,
|
71
71
|
certificate_subject: certificate_subject.gsub('"', """),
|
72
72
|
}
|
73
73
|
)
|
@@ -127,6 +127,25 @@ module Omnibus
|
|
127
127
|
#
|
128
128
|
expose :windows_safe_path
|
129
129
|
|
130
|
+
#
|
131
|
+
# Skip this packager during build process
|
132
|
+
#
|
133
|
+
# @example
|
134
|
+
# skip_package true
|
135
|
+
#
|
136
|
+
# @param [TrueClass, FalseClass] value
|
137
|
+
# whether to delay validation or not
|
138
|
+
#
|
139
|
+
# @return [TrueClass, FalseClass]
|
140
|
+
# whether to skip this packager type or not
|
141
|
+
def skip_packager(val = false)
|
142
|
+
unless val.is_a?(TrueClass) || val.is_a?(FalseClass)
|
143
|
+
raise InvalidValue.new(:skip_packager, "be TrueClass or FalseClass")
|
144
|
+
end
|
145
|
+
@skip_package ||= val
|
146
|
+
end
|
147
|
+
expose :skip_packager
|
148
|
+
|
130
149
|
#
|
131
150
|
# @!endgroup
|
132
151
|
# --------------------------------------------------
|
@@ -19,12 +19,12 @@ module Omnibus
|
|
19
19
|
# @return [Hash]
|
20
20
|
SCRIPT_MAP = {
|
21
21
|
# Default Omnibus naming
|
22
|
-
preinst:
|
22
|
+
preinst: "Pre-installation Script",
|
23
23
|
postinst: "Post-installation Script",
|
24
|
-
config:
|
24
|
+
config: "Configuration Script",
|
25
25
|
unconfig: "Unconfiguration Script",
|
26
|
-
prerm:
|
27
|
-
postrm:
|
26
|
+
prerm: "Pre_rm Script",
|
27
|
+
postrm: "Unconfiguration Script",
|
28
28
|
}.freeze
|
29
29
|
|
30
30
|
id :bff
|
@@ -144,11 +144,11 @@ module Omnibus
|
|
144
144
|
alt = path.gsub(/(:|,)/, "__")
|
145
145
|
log.debug(log_key) { "Renaming #{path} to #{alt}" }
|
146
146
|
|
147
|
-
File.rename(path, alt) if File.
|
147
|
+
File.rename(path, alt) if File.exist?(path)
|
148
148
|
|
149
149
|
# Create a config script if needed based on resources/bff/config.erb
|
150
150
|
config_script_path = File.join(scripts_staging_dir, "config")
|
151
|
-
unless File.
|
151
|
+
unless File.exist? config_script_path
|
152
152
|
render_template(resource_path("config.erb"),
|
153
153
|
destination: "#{scripts_staging_dir}/config",
|
154
154
|
variables: {
|
@@ -182,13 +182,13 @@ module Omnibus
|
|
182
182
|
render_template(resource_path("gen.template.erb"),
|
183
183
|
destination: File.join(staging_dir, "gen.template"),
|
184
184
|
variables: {
|
185
|
-
name:
|
186
|
-
install_dir:
|
187
|
-
friendly_name:
|
188
|
-
version:
|
189
|
-
description:
|
190
|
-
files:
|
191
|
-
scripts:
|
185
|
+
name: safe_base_package_name,
|
186
|
+
install_dir: project.install_dir,
|
187
|
+
friendly_name: project.friendly_name,
|
188
|
+
version: bff_version,
|
189
|
+
description: project.description,
|
190
|
+
files: files,
|
191
|
+
scripts: scripts,
|
192
192
|
}
|
193
193
|
)
|
194
194
|
|
@@ -305,21 +305,21 @@ module Omnibus
|
|
305
305
|
render_template(resource_path("control.erb"),
|
306
306
|
destination: File.join(debian_dir, "control"),
|
307
307
|
variables: {
|
308
|
-
name:
|
309
|
-
version:
|
310
|
-
iteration:
|
311
|
-
vendor:
|
312
|
-
license:
|
313
|
-
architecture:
|
314
|
-
maintainer:
|
308
|
+
name: safe_base_package_name,
|
309
|
+
version: safe_version,
|
310
|
+
iteration: safe_build_iteration,
|
311
|
+
vendor: vendor,
|
312
|
+
license: license,
|
313
|
+
architecture: safe_architecture,
|
314
|
+
maintainer: project.maintainer,
|
315
315
|
installed_size: package_size,
|
316
|
-
homepage:
|
317
|
-
description:
|
318
|
-
priority:
|
319
|
-
section:
|
320
|
-
conflicts:
|
321
|
-
replaces:
|
322
|
-
dependencies:
|
316
|
+
homepage: project.homepage,
|
317
|
+
description: project.description,
|
318
|
+
priority: priority,
|
319
|
+
section: section,
|
320
|
+
conflicts: project.conflicts,
|
321
|
+
replaces: project.replaces,
|
322
|
+
dependencies: project.runtime_dependencies,
|
323
323
|
}
|
324
324
|
)
|
325
325
|
end
|
@@ -223,16 +223,16 @@ module Omnibus
|
|
223
223
|
# @return [String]
|
224
224
|
#
|
225
225
|
def symlinks_file
|
226
|
-
if File.
|
226
|
+
if File.exist?(resource_path("#{safe_base_package_name}-symlinks.erb"))
|
227
227
|
"#{safe_base_package_name}-symlinks.erb"
|
228
|
-
elsif File.
|
228
|
+
elsif File.exist?(resource_path("symlinks.erb"))
|
229
229
|
"symlinks.erb"
|
230
230
|
end
|
231
231
|
end
|
232
232
|
|
233
233
|
#
|
234
234
|
# A set of symbolic links to installed commands that
|
235
|
-
|
235
|
+
# `pkgmogrify' will apply to the package manifest. Is called only when
|
236
236
|
# "#{safe_base_package_name}-symlinks.erb" or "symlinks.erb" template resource
|
237
237
|
# exists locally
|
238
238
|
#
|
@@ -257,11 +257,11 @@ module Omnibus
|
|
257
257
|
render_template(resource_path("gen.manifestfile.erb"),
|
258
258
|
destination: pkg_metadata_file,
|
259
259
|
variables: {
|
260
|
-
name:
|
260
|
+
name: safe_base_package_name,
|
261
261
|
fmri_package_name: fmri_package_name,
|
262
|
-
description:
|
263
|
-
summary:
|
264
|
-
arch:
|
262
|
+
description: project.description,
|
263
|
+
summary: project.friendly_name,
|
264
|
+
arch: safe_architecture,
|
265
265
|
}
|
266
266
|
)
|
267
267
|
|
@@ -166,6 +166,29 @@ module Omnibus
|
|
166
166
|
end
|
167
167
|
expose :wix_light_extension
|
168
168
|
|
169
|
+
#
|
170
|
+
# Signal delay validation for wix light
|
171
|
+
#
|
172
|
+
# @example
|
173
|
+
# wix_light_deplay_validation true
|
174
|
+
#
|
175
|
+
# @param [TrueClass, FalseClass] value
|
176
|
+
# whether to delay validation or not
|
177
|
+
#
|
178
|
+
# @return [String]
|
179
|
+
# whether we're a bundle or not
|
180
|
+
def wix_light_delay_validation(val = false)
|
181
|
+
unless val.is_a?(TrueClass) || val.is_a?(FalseClass)
|
182
|
+
raise InvalidValue.new(:iwix_light_delay_validation, "be TrueClass or FalseClass")
|
183
|
+
end
|
184
|
+
@delay_validation ||= val
|
185
|
+
unless @delay_validation
|
186
|
+
return ""
|
187
|
+
end
|
188
|
+
"-sval"
|
189
|
+
end
|
190
|
+
expose :wix_light_delay_validation
|
191
|
+
|
169
192
|
#
|
170
193
|
# Set the wix candle extensions to load
|
171
194
|
#
|
@@ -225,6 +248,29 @@ module Omnibus
|
|
225
248
|
end
|
226
249
|
expose :fast_msi
|
227
250
|
|
251
|
+
#
|
252
|
+
# Set or retrieve the localization. Take a look at
|
253
|
+
# this list[https://www.firegiant.com/wix/tutorial/user-interface/do-you-speak-english/]
|
254
|
+
# of valid localizations.
|
255
|
+
#
|
256
|
+
# @example
|
257
|
+
# localization 'de-de'
|
258
|
+
#
|
259
|
+
# @param [String] val
|
260
|
+
# the localization to set
|
261
|
+
#
|
262
|
+
# @return [String]
|
263
|
+
# the set localization
|
264
|
+
#
|
265
|
+
def localization(val = "en-us")
|
266
|
+
unless val.is_a?(String)
|
267
|
+
raise InvalidValue.new(:localization, "be a String")
|
268
|
+
end
|
269
|
+
|
270
|
+
@localization ||= val
|
271
|
+
end
|
272
|
+
expose :localization
|
273
|
+
|
228
274
|
#
|
229
275
|
# Discovers a path to a gem/file included in a gem under the install directory.
|
230
276
|
#
|
@@ -288,12 +334,12 @@ module Omnibus
|
|
288
334
|
# @return [void]
|
289
335
|
#
|
290
336
|
def write_localization_file
|
291
|
-
render_template(resource_path("localization
|
292
|
-
destination: "#{staging_dir}/localization
|
337
|
+
render_template(resource_path("localization-#{localization}.wxl.erb"),
|
338
|
+
destination: "#{staging_dir}/localization-#{localization}.wxl",
|
293
339
|
variables: {
|
294
|
-
name:
|
340
|
+
name: project.package_name,
|
295
341
|
friendly_name: project.friendly_name,
|
296
|
-
maintainer:
|
342
|
+
maintainer: project.maintainer,
|
297
343
|
}
|
298
344
|
)
|
299
345
|
end
|
@@ -307,12 +353,12 @@ module Omnibus
|
|
307
353
|
render_template(resource_path("parameters.wxi.erb"),
|
308
354
|
destination: "#{staging_dir}/parameters.wxi",
|
309
355
|
variables: {
|
310
|
-
name:
|
311
|
-
friendly_name:
|
312
|
-
maintainer:
|
313
|
-
upgrade_code:
|
314
|
-
parameters:
|
315
|
-
version:
|
356
|
+
name: project.package_name,
|
357
|
+
friendly_name: project.friendly_name,
|
358
|
+
maintainer: project.maintainer,
|
359
|
+
upgrade_code: upgrade_code,
|
360
|
+
parameters: parameters,
|
361
|
+
version: windows_package_version,
|
316
362
|
display_version: msi_display_version,
|
317
363
|
}
|
318
364
|
)
|
@@ -356,11 +402,11 @@ module Omnibus
|
|
356
402
|
render_template(resource_path("source.wxs.erb"),
|
357
403
|
destination: "#{staging_dir}/source.wxs",
|
358
404
|
variables: {
|
359
|
-
name:
|
405
|
+
name: project.package_name,
|
360
406
|
friendly_name: project.friendly_name,
|
361
|
-
maintainer:
|
362
|
-
hierarchy:
|
363
|
-
fastmsi:
|
407
|
+
maintainer: project.maintainer,
|
408
|
+
hierarchy: hierarchy,
|
409
|
+
fastmsi: fast_msi,
|
364
410
|
wix_install_dir: wix_install_dir,
|
365
411
|
}
|
366
412
|
)
|
@@ -375,14 +421,14 @@ module Omnibus
|
|
375
421
|
render_template(resource_path("bundle.wxs.erb"),
|
376
422
|
destination: "#{staging_dir}/bundle.wxs",
|
377
423
|
variables: {
|
378
|
-
name:
|
379
|
-
friendly_name:
|
380
|
-
maintainer:
|
381
|
-
upgrade_code:
|
382
|
-
parameters:
|
383
|
-
version:
|
424
|
+
name: project.package_name,
|
425
|
+
friendly_name: project.friendly_name,
|
426
|
+
maintainer: project.maintainer,
|
427
|
+
upgrade_code: upgrade_code,
|
428
|
+
parameters: parameters,
|
429
|
+
version: windows_package_version,
|
384
430
|
display_version: msi_display_version,
|
385
|
-
msi:
|
431
|
+
msi: windows_safe_path(Config.package_dir, msi_name),
|
386
432
|
}
|
387
433
|
)
|
388
434
|
end
|
@@ -465,11 +511,12 @@ module Omnibus
|
|
465
511
|
<<-EOH.split.join(" ").squeeze(" ").strip
|
466
512
|
light.exe
|
467
513
|
-nologo
|
514
|
+
#{wix_light_delay_validation}
|
468
515
|
-ext WixUIExtension
|
469
516
|
-ext WixBalExtension
|
470
517
|
#{wix_extension_switches(wix_light_extensions)}
|
471
|
-
-cultures
|
472
|
-
-loc "#{windows_safe_path(staging_dir,
|
518
|
+
-cultures:#{localization}
|
519
|
+
-loc "#{windows_safe_path(staging_dir, "localization-#{localization}.wxl")}"
|
473
520
|
bundle.wixobj
|
474
521
|
-out "#{out_file}"
|
475
522
|
EOH
|
@@ -477,10 +524,11 @@ module Omnibus
|
|
477
524
|
<<-EOH.split.join(" ").squeeze(" ").strip
|
478
525
|
light.exe
|
479
526
|
-nologo
|
527
|
+
#{wix_light_delay_validation}
|
480
528
|
-ext WixUIExtension
|
481
529
|
#{wix_extension_switches(wix_light_extensions)}
|
482
|
-
-cultures
|
483
|
-
-loc "#{windows_safe_path(staging_dir,
|
530
|
+
-cultures:#{localization}
|
531
|
+
-loc "#{windows_safe_path(staging_dir, "localization-#{localization}.wxl")}"
|
484
532
|
project-files.wixobj source.wixobj
|
485
533
|
-out "#{out_file}"
|
486
534
|
EOH
|