blob: 05e0c5f9f789e140989b16e9a4347b4fd4d11e1f [file] [log] [blame]
brettwa874dcc2015-08-28 23:59:181# Copyright 2015 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
thomasanderson018ffc7f2017-06-22 01:25:335import("//build/config/c++/c++.gni")
brettwa874dcc2015-08-28 23:59:186import("//build/config/chrome_build.gni")
dpranke3b870612015-09-10 23:42:047import("//build/config/features.gni")
brettw4cab0f12015-09-14 21:40:018import("//build/config/sanitizers/sanitizers.gni")
thomasanderson7a01af42016-10-18 21:22:429import("//build/config/sysroot.gni")
Takuto Ikuta36541eb82018-08-01 02:09:5610import("//build/util/lastchange.gni")
raphael.kubo.da.costadc683d22016-09-17 19:41:1311import("//build/util/process_version.gni")
brettwa874dcc2015-08-28 23:59:1812import("//build/util/version.gni")
raphael.kubo.da.costadc683d22016-09-17 19:41:1313import("//chrome/process_version_rc_template.gni") # For branding_file_path.
Dirk Prankeccc0c362017-09-28 22:15:1114import("//components/nacl/features.gni")
Xiaohan Wang7b76fce32018-10-01 23:21:2915import("//third_party/widevine/cdm/widevine.gni")
brettwa874dcc2015-08-28 23:59:1816
Xiaohan Wang7b76fce32018-10-01 23:21:2917if (bundle_widevine_cdm) {
Xiaohan Wangcc32f2e2018-01-30 01:09:0518 import("//media/cdm/library_cdm/cdm_paths.gni")
xhwangc3a252b2016-05-23 02:35:4819}
20
Tom Anderson372cee72018-02-23 19:00:1321declare_args() {
22 # Enables checks that ensure the packages are installable on all supported
23 # distributions.
24 enable_distro_version_check = true
25}
26
sbcfa8f43b2016-10-05 17:11:3527assert(is_linux)
brettwa874dcc2015-08-28 23:59:1828
Tom Anderson7f6acf62017-09-08 03:13:0929packaging_files_executables = [
Tom Andersone068dcb2017-09-01 18:31:2130 "$root_out_dir/chrome",
31 "$root_out_dir/chrome_sandbox",
32]
Tom Anderson7f6acf62017-09-08 03:13:0933packaging_files_shlibs = []
Tom Andersone068dcb2017-09-01 18:31:2134
35if (enable_nacl) {
Tom Anderson7f6acf62017-09-08 03:13:0936 packaging_files_executables += [
Tom Andersone068dcb2017-09-01 18:31:2137 "$root_out_dir/nacl_helper",
38 "$root_out_dir/nacl_helper_bootstrap",
39 ]
40
41 if (current_cpu == "x86") {
Tom Anderson7f6acf62017-09-08 03:13:0942 packaging_files_executables += [ "$root_out_dir/nacl_irt_x86_32.nexe" ]
Tom Andersone068dcb2017-09-01 18:31:2143 } else if (current_cpu == "x64") {
Tom Anderson7f6acf62017-09-08 03:13:0944 packaging_files_executables += [ "$root_out_dir/nacl_irt_x86_64.nexe" ]
Tom Andersone068dcb2017-09-01 18:31:2145 } else if (current_cpu == "arm") {
Tom Anderson7f6acf62017-09-08 03:13:0946 packaging_files_executables += [ "$root_out_dir/nacl_irt_arm.nexe" ]
Milko Leporis0f74ee82017-10-02 22:37:0747 } else if (current_cpu == "mipsel") {
48 packaging_files_executables += [ "$root_out_dir/nacl_irt_mips32.nexe" ]
Tom Andersone068dcb2017-09-01 18:31:2149 }
50}
51
Xiaohan Wang7b76fce32018-10-01 23:21:2952if (bundle_widevine_cdm) {
Xiaohan Wangd5b69c82018-03-20 22:18:3553 packaging_files_shlibs +=
54 [ "$root_out_dir/$widevine_cdm_path/libwidevinecdm.so" ]
Tom Andersone068dcb2017-09-01 18:31:2155}
56
Tom Anderson7f6acf62017-09-08 03:13:0957packaging_files_binaries = packaging_files_executables + packaging_files_shlibs
58
Tom Andersone068dcb2017-09-01 18:31:2159# TODO(mmoss) Any convenient way to get all the relevant build files?
60# (e.g. all locales, resources, etc.)
61packaging_files = packaging_files_binaries + [
62 "$root_out_dir/xdg-mime",
63 "$root_out_dir/xdg-settings",
64 "$root_out_dir/locales/en-US.pak",
Becca Hughesd89f6ff2017-12-13 13:20:4465 "$root_out_dir/MEIPreload/manifest.json",
66 "$root_out_dir/MEIPreload/preloaded_data.pb",
Tom Andersone068dcb2017-09-01 18:31:2167 ]
68
Tom Andersona80a9b42017-09-07 02:35:3369action_foreach("calculate_deb_dependencies") {
Tom Andersone068dcb2017-09-01 18:31:2170 deps = [
71 ":installer_deps",
72 ]
Tom Andersona80a9b42017-09-07 02:35:3373 script = "debian/calculate_package_deps.py"
Tom Andersone068dcb2017-09-01 18:31:2174 sources = packaging_files_binaries
Tom Anderson3a3c5882017-09-12 21:16:2475 inputs = [
76 "debian/deb_version.py",
Lei Zhange680353b2017-09-25 23:03:5077 "debian/dist_package_versions.json",
Tom Anderson3a3c5882017-09-12 21:16:2478 "debian/package_version_interval.py",
79 ]
Tom Andersone068dcb2017-09-01 18:31:2180 outputs = [
Tom Andersona80a9b42017-09-07 02:35:3381 "$root_out_dir/deb_{{source_name_part}}.deps",
Tom Andersone068dcb2017-09-01 18:31:2182 ]
83 args = [
84 "{{source}}",
85 rebase_path(sysroot, root_build_dir),
86 target_cpu,
Tom Andersona80a9b42017-09-07 02:35:3387 "deb_{{source_name_part}}.deps",
Tom Andersone068dcb2017-09-01 18:31:2188 ]
Tom Anderson372cee72018-02-23 19:00:1389 if (is_desktop_linux && target_cpu == "x64" && enable_distro_version_check) {
Tom Andersonc92bc272017-09-15 23:12:5790 args += [ "--distro-check" ]
91 }
Tom Andersone068dcb2017-09-01 18:31:2192}
93
Tom Andersona80a9b42017-09-07 02:35:3394action("merge_deb_dependencies") {
95 deps = [
96 ":calculate_deb_dependencies",
97 ]
98 script = "debian/merge_package_versions.py"
Tom Anderson21254bb2017-09-07 04:07:1899 additional_deps = "debian/additional_deps"
100 inputs = [
101 additional_deps,
Tom Anderson3a3c5882017-09-12 21:16:24102 "debian/deb_version.py",
103 "debian/package_version_interval.py",
Tom Andersona80a9b42017-09-07 02:35:33104 ]
Tom Anderson21254bb2017-09-07 04:07:18105 outputs = [
106 "$root_out_dir/deb_common.deps",
107 ]
108 args = [
109 "deb_common.deps",
110 rebase_path(additional_deps, root_build_dir),
111 ]
Tom Andersona80a9b42017-09-07 02:35:33112 args += rebase_path(get_target_outputs(":calculate_deb_dependencies"),
113 root_build_dir)
114}
115
Tom Anderson7f6acf62017-09-08 03:13:09116action_foreach("calculate_rpm_dependencies") {
117 deps = [
118 ":installer_deps",
119 ]
120 script = "rpm/calculate_package_deps.py"
121 sources = packaging_files_binaries
Tom Anderson3a3c5882017-09-12 21:16:24122 inputs = [
Lei Zhange680353b2017-09-25 23:03:50123 "rpm/dist_package_provides.json",
Tom Anderson3a3c5882017-09-12 21:16:24124 ]
Tom Anderson7f6acf62017-09-08 03:13:09125 outputs = [
126 "$root_out_dir/rpm_{{source_name_part}}.deps",
127 ]
128 args = [
129 "{{source}}",
130 "rpm_{{source_name_part}}.deps",
131 ]
132 args += rebase_path(packaging_files_shlibs, root_build_dir)
Tom Anderson372cee72018-02-23 19:00:13133 if (is_desktop_linux && target_cpu == "x64" && enable_distro_version_check) {
Tom Andersonc92bc272017-09-15 23:12:57134 args += [ "--distro-check" ]
135 }
Tom Anderson7f6acf62017-09-08 03:13:09136}
137
138action("merge_rpm_dependencies") {
139 deps = [
140 ":calculate_rpm_dependencies",
141 ]
142 script = "rpm/merge_package_deps.py"
Tom Anderson3a3c5882017-09-12 21:16:24143 additional_deps = "rpm/additional_deps"
144 inputs = [
145 additional_deps,
146 ]
Tom Anderson7f6acf62017-09-08 03:13:09147 outputs = [
148 "$root_out_dir/rpm_common.deps",
149 ]
Tom Anderson3a3c5882017-09-12 21:16:24150 args = [
151 "rpm_common.deps",
152 rebase_path(additional_deps, root_build_dir),
153 ]
Tom Anderson7f6acf62017-09-08 03:13:09154 args += rebase_path(get_target_outputs(":calculate_rpm_dependencies"),
155 root_build_dir)
156}
157
Tom Andersonce16a0c2017-09-02 00:27:51158action("strip_chrome_binary") {
159 prog_name = "$root_out_dir/chrome"
160 debug_file = prog_name + ".debug"
161 stripped_file = prog_name + ".stripped"
162 deps = [
163 "//chrome",
164 ]
Tom Anderson2bb2b382017-09-26 20:21:53165 script = "//build/gn_run_binary.py"
Tom Andersonce16a0c2017-09-02 00:27:51166 sources = [
167 prog_name,
168 ]
169 outputs = [
170 debug_file,
171 stripped_file,
172 ]
173 args = [
Michael Spangab3960d2019-01-30 17:06:47174 rebase_path("//buildtools/third_party/eu-strip/bin/eu-strip",
175 root_build_dir),
Tom Anderson2bb2b382017-09-26 20:21:53176 "-o",
Tom Andersonce16a0c2017-09-02 00:27:51177 rebase_path(stripped_file, root_build_dir),
Tom Anderson2bb2b382017-09-26 20:21:53178 "-f",
179 rebase_path(debug_file, root_build_dir),
180 rebase_path(prog_name, root_build_dir),
Tom Andersonce16a0c2017-09-02 00:27:51181 ]
182}
183
brettwa874dcc2015-08-28 23:59:18184# This target builds all "normal" Linux installers.
brettwa874dcc2015-08-28 23:59:18185#
186# The bot setup is to build stable, unstable, and beta packages for the current
187# build. Then a later step picks up the package corresponding to what the
188# current build is supposed to be. This is wasteful since one build will only
Tom Anderson1d582482017-09-05 20:41:28189# be one of these.
brettwa874dcc2015-08-28 23:59:18190#
191# TODO it would be much nicer to have a build variable so the bot can tell us
192# what the current build should be, so we only have to make one .deb/.rpm pair.
193#
194#
195# TO BUILD LINUX INSTALLER PACKAGES
196#
197# The packages list the exact versions of each library used. The versions used
198# on the bots are likely different than those on your workstation, so you'll
199# get a stream of errors like:
200# < libasound2 (>= 1.0.23)
201# ---
202# > libasound2 (>= 1.0.16)
203#
204# To avoid these warnings for testing purposes, do:
205#
206# export IGNORE_DEPS_CHANGES=1
207#
208# before you build.
209group("linux") {
210 deps = [
211 ":beta",
212 ":stable",
213 ":unstable",
214 ]
215}
216
217branding_dir = "//chrome/app/theme/$branding_path_component"
218branding_dir_100 =
219 "//chrome/app/theme/default_100_percent/$branding_path_component"
220
221copy("common_packaging_files") {
222 visibility = [ ":*" ]
223 sources = [
Tom Anderson64b96142017-09-26 21:00:54224 "//chrome/app/resources/manpage.1.in",
brettwa874dcc2015-08-28 23:59:18225 "common/apt.include",
226 "common/default-app-block.template",
227 "common/default-app.template",
228 "common/desktop.template",
brettwa874dcc2015-08-28 23:59:18229 "common/installer.include",
230 "common/postinst.include",
231 "common/prerm.include",
232 "common/repo.cron",
233 "common/rpm.include",
234 "common/rpmrepo.cron",
235 "common/symlinks.include",
236 "common/variables.include",
237 "common/wrapper",
238 ]
239
sbcfa8f43b2016-10-05 17:11:35240 if (is_chrome_branded) {
tomas.popeladd765c02017-03-21 14:44:16241 sources += [
242 "common/google-chrome/google-chrome.appdata.xml.template",
243 "common/google-chrome/google-chrome.info",
244 ]
sbcfa8f43b2016-10-05 17:11:35245 } else {
tomas.popeladd765c02017-03-21 14:44:16246 sources += [
247 "common/chromium-browser/chromium-browser.appdata.xml",
248 "common/chromium-browser/chromium-browser.info",
249 ]
sbcfa8f43b2016-10-05 17:11:35250 }
251
Michael Spangab3960d2019-01-30 17:06:47252 sources += [ "//buildtools/third_party/eu-strip/bin/eu-strip" ]
brettwa874dcc2015-08-28 23:59:18253
254 outputs = [
255 "$root_out_dir/installer/common/{{source_file_part}}",
256 ]
257}
258
259copy("deb_packaging_files") {
260 visibility = [ ":*" ]
261 sources = [
262 "debian/build.sh",
263 "debian/changelog.template",
264 "debian/control.template",
265 "debian/debian.menu",
brettwa874dcc2015-08-28 23:59:18266 "debian/postinst",
267 "debian/postrm",
268 "debian/prerm",
269 ]
270 outputs = [
271 "$root_out_dir/installer/debian/{{source_file_part}}",
272 ]
273}
274
275copy("theme_files") {
276 visibility = [ ":*" ]
277 sources = [
278 "$branding_dir/BRANDING",
279 "$branding_dir/linux/product_logo_32.xpm",
280 "$branding_dir/product_logo_128.png",
281 "$branding_dir/product_logo_22.png",
282 "$branding_dir/product_logo_24.png",
283 "$branding_dir/product_logo_256.png",
284 "$branding_dir/product_logo_48.png",
285 "$branding_dir/product_logo_64.png",
286 "$branding_dir_100/product_logo_16.png",
287 "$branding_dir_100/product_logo_32.png",
288 ]
Tom Andersonc8ebf272017-11-17 23:41:33289 if (is_chrome_branded) {
290 sources += [
291 "$branding_dir/linux/product_logo_32_beta.xpm",
292 "$branding_dir/linux/product_logo_32_dev.xpm",
293 "$branding_dir/product_logo_128_beta.png",
294 "$branding_dir/product_logo_128_dev.png",
295 "$branding_dir/product_logo_22_beta.png",
296 "$branding_dir/product_logo_22_dev.png",
297 "$branding_dir/product_logo_24_beta.png",
298 "$branding_dir/product_logo_24_dev.png",
299 "$branding_dir/product_logo_256_beta.png",
300 "$branding_dir/product_logo_256_dev.png",
301 "$branding_dir/product_logo_48_beta.png",
302 "$branding_dir/product_logo_48_dev.png",
303 "$branding_dir/product_logo_64_beta.png",
304 "$branding_dir/product_logo_64_dev.png",
305 "$branding_dir_100/product_logo_16_beta.png",
306 "$branding_dir_100/product_logo_16_dev.png",
307 "$branding_dir_100/product_logo_32_beta.png",
308 "$branding_dir_100/product_logo_32_dev.png",
309 ]
310 }
brettwa874dcc2015-08-28 23:59:18311 outputs = [
312 "$root_out_dir/installer/theme/{{source_file_part}}",
313 ]
314}
315
316if (!is_chromeos) {
317 copy("rpm_packaging_files") {
318 visibility = [ ":*" ]
319 sources = [
320 "rpm/build.sh",
321 "rpm/chrome.spec.template",
brettwa874dcc2015-08-28 23:59:18322 ]
323 outputs = [
324 "$root_out_dir/installer/rpm/{{source_file_part}}",
325 ]
326 }
327}
328
329process_version("save_build_info") {
330 # Just output the default version info variables (no template).
331 process_only = true
raphael.kubo.da.costadc683d22016-09-17 19:41:13332 sources = [
raphael.kubo.da.costadc683d22016-09-17 19:41:13333 "//chrome/VERSION",
334 branding_file_path,
Takuto Ikuta36541eb82018-08-01 02:09:56335 lastchange_file,
raphael.kubo.da.costadc683d22016-09-17 19:41:13336 ]
brettwa874dcc2015-08-28 23:59:18337 output = "$root_out_dir/installer/version.txt"
338}
339
340# Dependencies for all Linux installer targets.
341group("installer_deps") {
mcgrathr6edf192f2015-10-19 19:39:11342 # Though many of these things appear in data_deps further down the
343 # dependency chain, they must appear here as public_deps so that they can
344 # be listed as inputs to the actions that depend on ":installer_deps"
345 # and are guaranteed to have been built before those actions run.
346
brettwa874dcc2015-08-28 23:59:18347 public_deps = [
348 ":common_packaging_files",
349 ":deb_packaging_files",
350 ":save_build_info",
Tom Andersonce16a0c2017-09-02 00:27:51351 ":strip_chrome_binary",
brettwa874dcc2015-08-28 23:59:18352 ":theme_files",
353 "//chrome",
354 "//chrome:packed_resources",
Becca Hughesd89f6ff2017-12-13 13:20:44355 "//chrome/browser/resources/media/mei_preload:component",
brettwa874dcc2015-08-28 23:59:18356 "//sandbox/linux:chrome_sandbox",
brettwa874dcc2015-08-28 23:59:18357 ]
dpranke3b870612015-09-10 23:42:04358 if (enable_nacl) {
mcgrathr6edf192f2015-10-19 19:39:11359 public_deps += [
brettwf4b4a4282015-12-16 00:41:13360 "//components/nacl/loader:nacl_helper",
mcgrathr6edf192f2015-10-19 19:39:11361
362 # These are data_deps of nacl_helper, but that is not enough,
363 # as explained above.
364 "//native_client/src/trusted/service_runtime/linux:bootstrap",
365 "//ppapi/native_client:irt",
366 ]
dpranke3b870612015-09-10 23:42:04367 }
Xiaohan Wang7b76fce32018-10-01 23:21:29368 if (bundle_widevine_cdm) {
Xiaohan Wangd5b69c82018-03-20 22:18:35369 public_deps += [ "//third_party/widevine/cdm" ]
brettwa874dcc2015-08-28 23:59:18370 }
371 if (!is_chromeos) {
372 public_deps += [ ":rpm_packaging_files" ]
373 }
374}
375
376# Creates .deb and .rpm (RPM for non-ChromeOS only) installer packages.
377#
378# channel:
379# Name of the channel.
380template("linux_package") {
381 assert(defined(invoker.channel))
382 channel = invoker.channel
383
384 if (current_cpu == "x86") {
mcgrathr6edf192f2015-10-19 19:39:11385 # The shell scripts use "ia32" instead of "x86".
brettwa874dcc2015-08-28 23:59:18386 build_script_arch = "ia32"
387 } else {
388 build_script_arch = current_cpu
389 }
390
brettwa874dcc2015-08-28 23:59:18391 deb_target_name = "${target_name}_deb"
392 action(deb_target_name) {
393 visibility = [ ":*" ]
Tom Anderson2bb2b382017-09-26 20:21:53394 script = "//build/gn_run_binary.py"
brettwa874dcc2015-08-28 23:59:18395
396 if (current_cpu == "x86") {
397 deb_arch = "i386"
398 } else if (current_cpu == "x64") {
399 deb_arch = "amd64"
400 } else if (current_cpu == "arm") {
401 deb_arch = "arm"
Halton Huoa8501eb2018-06-25 03:46:53402 } else if (current_cpu == "arm64") {
403 deb_arch = "arm64"
Milko Leporis0f74ee82017-10-02 22:37:07404 } else if (current_cpu == "mipsel") {
405 deb_arch = "mipsel"
Milko Leporisb6e93fc2018-01-24 21:40:19406 } else if (current_cpu == "mips64el") {
407 deb_arch = "mips64el"
brettwa874dcc2015-08-28 23:59:18408 } else {
409 assert(false, "Linux installer not configured for this architecture.")
410 }
411
Tom Andersone068dcb2017-09-01 18:31:21412 inputs = packaging_files
Tom Andersonfa4860c2017-09-15 23:23:40413 if (is_chrome_branded) {
414 package = "google-chrome"
415 } else {
416 package = "chromium-browser"
417 }
brettwa874dcc2015-08-28 23:59:18418 outputs = [
Tom Andersonfa4860c2017-09-15 23:23:40419 "$root_out_dir/${package}-${channel}_${chrome_version_full}-1_${deb_arch}.deb",
brettwa874dcc2015-08-28 23:59:18420 ]
421
422 args = [
brettwa874dcc2015-08-28 23:59:18423 rebase_path("$root_out_dir/installer/debian/build.sh", root_build_dir),
brettwa874dcc2015-08-28 23:59:18424 "-a",
425 build_script_arch,
Tom Andersoncae008e2017-09-01 01:47:35426 "-b",
427 rebase_path(root_out_dir, root_build_dir),
brettwa874dcc2015-08-28 23:59:18428 "-c",
429 invoker.channel,
430 "-d",
431 branding_path_component,
Tom Andersoncae008e2017-09-01 01:47:35432 "-o",
433 rebase_path(root_out_dir, root_build_dir),
thomasanderson7a01af42016-10-18 21:22:42434 "-s",
Tom Anderson04125932017-11-28 03:13:13435 rebase_path(sysroot, root_build_dir),
Tom Andersond7f95c632017-12-07 02:18:42436 "-t",
437 target_os,
brettwa874dcc2015-08-28 23:59:18438 ]
Tom Andersoncae008e2017-09-01 01:47:35439 if (is_official_build) {
440 args += [ "-f" ]
441 }
brettwa874dcc2015-08-28 23:59:18442 deps = [
443 ":installer_deps",
Tom Anderson21254bb2017-09-07 04:07:18444 ":merge_deb_dependencies",
brettwa874dcc2015-08-28 23:59:18445 ]
446 }
447
448 if (!is_chromeos) {
449 rpm_target_name = "${target_name}_rpm"
450 action(rpm_target_name) {
451 visibility = [ ":*" ]
Tom Anderson2bb2b382017-09-26 20:21:53452 script = "//build/gn_run_binary.py"
brettwa874dcc2015-08-28 23:59:18453
454 if (current_cpu == "x86") {
455 rpm_arch = "i386"
456 } else if (current_cpu == "x64") {
457 rpm_arch = "x86_64"
458 } else if (current_cpu == "arm") {
459 rpm_arch = "arm"
Halton Huoa8501eb2018-06-25 03:46:53460 } else if (current_cpu == "arm64") {
461 rpm_arch = "arm64"
Milko Leporis0f74ee82017-10-02 22:37:07462 } else if (current_cpu == "mipsel") {
463 rpm_arch = "mipsel"
Milko Leporisb6e93fc2018-01-24 21:40:19464 } else if (current_cpu == "mips64el") {
465 rpm_arch = "mips64el"
brettwa874dcc2015-08-28 23:59:18466 } else {
467 assert(false, "Linux installer not configured for this architecture.")
468 }
469
Tom Andersone068dcb2017-09-01 18:31:21470 inputs = packaging_files
Tom Andersonfa4860c2017-09-15 23:23:40471 if (is_chrome_branded) {
472 package = "google-chrome"
473 } else {
474 package = "chromium-browser"
475 }
brettwa874dcc2015-08-28 23:59:18476 outputs = [
Tom Andersonfa4860c2017-09-15 23:23:40477 "$root_out_dir/${package}-${channel}-${chrome_version_full}-1.${rpm_arch}.rpm",
brettwa874dcc2015-08-28 23:59:18478 ]
479
480 args = [
brettwa874dcc2015-08-28 23:59:18481 rebase_path("$root_out_dir/installer/rpm/build.sh", root_build_dir),
brettwa874dcc2015-08-28 23:59:18482 "-a",
483 build_script_arch,
Tom Andersoncae008e2017-09-01 01:47:35484 "-b",
485 rebase_path(root_out_dir, root_build_dir),
brettwa874dcc2015-08-28 23:59:18486 "-c",
487 invoker.channel,
488 "-d",
489 branding_path_component,
Tom Andersoncae008e2017-09-01 01:47:35490 "-o",
491 rebase_path(root_out_dir, root_build_dir),
Tom Andersond7f95c632017-12-07 02:18:42492 "-t",
493 target_os,
brettwa874dcc2015-08-28 23:59:18494 ]
Tom Andersoncae008e2017-09-01 01:47:35495 if (is_official_build) {
496 args += [ "-f" ]
497 }
brettwa874dcc2015-08-28 23:59:18498 deps = [
499 ":installer_deps",
Tom Anderson3a3c5882017-09-12 21:16:24500 ":merge_rpm_dependencies",
brettwa874dcc2015-08-28 23:59:18501 ]
502 }
503 }
504
505 group(target_name) {
506 deps = [
507 ":$deb_target_name",
508 ]
509 if (!is_chromeos) {
510 deps += [ ":$rpm_target_name" ]
511 }
512 }
513}
514
515# Standard packages.
516linux_package("stable") {
517 channel = "stable"
518}
519linux_package("beta") {
520 channel = "beta"
521}
522linux_package("unstable") {
523 channel = "unstable"
524}