omnibus 6.0.1 → 6.0.24
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 +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
|