blob: fbabd6c3414f5cb69cf4c7ab6ef5f957cb391376 [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")
raphael.kubo.da.costadc683d22016-09-17 19:41:1310import("//build/util/process_version.gni")
brettwa874dcc2015-08-28 23:59:1811import("//build/util/version.gni")
raphael.kubo.da.costadc683d22016-09-17 19:41:1312import("//chrome/process_version_rc_template.gni") # For branding_file_path.
Dirk Prankeccc0c362017-09-28 22:15:1113import("//components/nacl/features.gni")
brettwa874dcc2015-08-28 23:59:1814
xhwangc3a252b2016-05-23 02:35:4815if (current_cpu == "x86" || current_cpu == "x64") {
Xiaohan Wangcc32f2e2018-01-30 01:09:0516 import("//media/cdm/library_cdm/cdm_paths.gni")
xhwangc3a252b2016-05-23 02:35:4817}
18
Tom Anderson372cee72018-02-23 19:00:1319declare_args() {
20 # Enables checks that ensure the packages are installable on all supported
21 # distributions.
22 enable_distro_version_check = true
23}
24
sbcfa8f43b2016-10-05 17:11:3525assert(is_linux)
brettwa874dcc2015-08-28 23:59:1826
Tom Anderson7f6acf62017-09-08 03:13:0927packaging_files_executables = [
Tom Andersone068dcb2017-09-01 18:31:2128 "$root_out_dir/chrome",
29 "$root_out_dir/chrome_sandbox",
30]
Tom Anderson7f6acf62017-09-08 03:13:0931packaging_files_shlibs = []
Tom Andersone068dcb2017-09-01 18:31:2132
33if (enable_nacl) {
Tom Anderson7f6acf62017-09-08 03:13:0934 packaging_files_executables += [
Tom Andersone068dcb2017-09-01 18:31:2135 "$root_out_dir/nacl_helper",
36 "$root_out_dir/nacl_helper_bootstrap",
37 ]
38
39 if (current_cpu == "x86") {
Tom Anderson7f6acf62017-09-08 03:13:0940 packaging_files_executables += [ "$root_out_dir/nacl_irt_x86_32.nexe" ]
Tom Andersone068dcb2017-09-01 18:31:2141 } else if (current_cpu == "x64") {
Tom Anderson7f6acf62017-09-08 03:13:0942 packaging_files_executables += [ "$root_out_dir/nacl_irt_x86_64.nexe" ]
Tom Andersone068dcb2017-09-01 18:31:2143 } else if (current_cpu == "arm") {
Tom Anderson7f6acf62017-09-08 03:13:0944 packaging_files_executables += [ "$root_out_dir/nacl_irt_arm.nexe" ]
Milko Leporis0f74ee82017-10-02 22:37:0745 } else if (current_cpu == "mipsel") {
46 packaging_files_executables += [ "$root_out_dir/nacl_irt_mips32.nexe" ]
Tom Andersone068dcb2017-09-01 18:31:2147 }
48}
49
50# The widevine BUILD.gn only produces shared libraries for x86 and x64
51if (is_chrome_branded && (current_cpu == "x86" || current_cpu == "x64")) {
Xiaohan Wangd5b69c82018-03-20 22:18:3552 packaging_files_shlibs +=
53 [ "$root_out_dir/$widevine_cdm_path/libwidevinecdm.so" ]
Tom Andersone068dcb2017-09-01 18:31:2154}
55
56if (!libcpp_is_static && use_custom_libcxx) {
Tom Anderson7f6acf62017-09-08 03:13:0957 packaging_files_shlibs += [ "$root_out_dir/libc++.so" ]
Tom Andersone068dcb2017-09-01 18:31:2158}
59
Tom Anderson7f6acf62017-09-08 03:13:0960packaging_files_binaries = packaging_files_executables + packaging_files_shlibs
61
Tom Andersone068dcb2017-09-01 18:31:2162# TODO(mmoss) Any convenient way to get all the relevant build files?
63# (e.g. all locales, resources, etc.)
64packaging_files = packaging_files_binaries + [
65 "$root_out_dir/xdg-mime",
66 "$root_out_dir/xdg-settings",
67 "$root_out_dir/locales/en-US.pak",
Becca Hughesd89f6ff2017-12-13 13:20:4468 "$root_out_dir/MEIPreload/manifest.json",
69 "$root_out_dir/MEIPreload/preloaded_data.pb",
Tom Andersone068dcb2017-09-01 18:31:2170 ]
71
Tom Andersona80a9b42017-09-07 02:35:3372action_foreach("calculate_deb_dependencies") {
Tom Andersone068dcb2017-09-01 18:31:2173 deps = [
74 ":installer_deps",
75 ]
Tom Andersona80a9b42017-09-07 02:35:3376 script = "debian/calculate_package_deps.py"
Tom Andersone068dcb2017-09-01 18:31:2177 sources = packaging_files_binaries
Tom Anderson3a3c5882017-09-12 21:16:2478 inputs = [
79 "debian/deb_version.py",
Lei Zhange680353b2017-09-25 23:03:5080 "debian/dist_package_versions.json",
Tom Anderson3a3c5882017-09-12 21:16:2481 "debian/package_version_interval.py",
82 ]
Tom Andersone068dcb2017-09-01 18:31:2183 outputs = [
Tom Andersona80a9b42017-09-07 02:35:3384 "$root_out_dir/deb_{{source_name_part}}.deps",
Tom Andersone068dcb2017-09-01 18:31:2185 ]
86 args = [
87 "{{source}}",
88 rebase_path(sysroot, root_build_dir),
89 target_cpu,
Tom Andersona80a9b42017-09-07 02:35:3390 "deb_{{source_name_part}}.deps",
Tom Andersone068dcb2017-09-01 18:31:2191 ]
Tom Anderson372cee72018-02-23 19:00:1392 if (is_desktop_linux && target_cpu == "x64" && enable_distro_version_check) {
Tom Andersonc92bc272017-09-15 23:12:5793 args += [ "--distro-check" ]
94 }
Tom Andersone068dcb2017-09-01 18:31:2195}
96
Tom Andersona80a9b42017-09-07 02:35:3397action("merge_deb_dependencies") {
98 deps = [
99 ":calculate_deb_dependencies",
100 ]
101 script = "debian/merge_package_versions.py"
Tom Anderson21254bb2017-09-07 04:07:18102 additional_deps = "debian/additional_deps"
103 inputs = [
104 additional_deps,
Tom Anderson3a3c5882017-09-12 21:16:24105 "debian/deb_version.py",
106 "debian/package_version_interval.py",
Tom Andersona80a9b42017-09-07 02:35:33107 ]
Tom Anderson21254bb2017-09-07 04:07:18108 outputs = [
109 "$root_out_dir/deb_common.deps",
110 ]
111 args = [
112 "deb_common.deps",
113 rebase_path(additional_deps, root_build_dir),
114 ]
Tom Andersona80a9b42017-09-07 02:35:33115 args += rebase_path(get_target_outputs(":calculate_deb_dependencies"),
116 root_build_dir)
117}
118
Tom Anderson7f6acf62017-09-08 03:13:09119action_foreach("calculate_rpm_dependencies") {
120 deps = [
121 ":installer_deps",
122 ]
123 script = "rpm/calculate_package_deps.py"
124 sources = packaging_files_binaries
Tom Anderson3a3c5882017-09-12 21:16:24125 inputs = [
Lei Zhange680353b2017-09-25 23:03:50126 "rpm/dist_package_provides.json",
Tom Anderson3a3c5882017-09-12 21:16:24127 ]
Tom Anderson7f6acf62017-09-08 03:13:09128 outputs = [
129 "$root_out_dir/rpm_{{source_name_part}}.deps",
130 ]
131 args = [
132 "{{source}}",
133 "rpm_{{source_name_part}}.deps",
134 ]
135 args += rebase_path(packaging_files_shlibs, root_build_dir)
Tom Anderson372cee72018-02-23 19:00:13136 if (is_desktop_linux && target_cpu == "x64" && enable_distro_version_check) {
Tom Andersonc92bc272017-09-15 23:12:57137 args += [ "--distro-check" ]
138 }
Tom Anderson7f6acf62017-09-08 03:13:09139}
140
141action("merge_rpm_dependencies") {
142 deps = [
143 ":calculate_rpm_dependencies",
144 ]
145 script = "rpm/merge_package_deps.py"
Tom Anderson3a3c5882017-09-12 21:16:24146 additional_deps = "rpm/additional_deps"
147 inputs = [
148 additional_deps,
149 ]
Tom Anderson7f6acf62017-09-08 03:13:09150 outputs = [
151 "$root_out_dir/rpm_common.deps",
152 ]
Tom Anderson3a3c5882017-09-12 21:16:24153 args = [
154 "rpm_common.deps",
155 rebase_path(additional_deps, root_build_dir),
156 ]
Tom Anderson7f6acf62017-09-08 03:13:09157 args += rebase_path(get_target_outputs(":calculate_rpm_dependencies"),
158 root_build_dir)
159}
160
Tom Andersonce16a0c2017-09-02 00:27:51161action("strip_chrome_binary") {
162 prog_name = "$root_out_dir/chrome"
163 debug_file = prog_name + ".debug"
164 stripped_file = prog_name + ".stripped"
165 deps = [
166 "//chrome",
167 ]
Tom Anderson2bb2b382017-09-26 20:21:53168 script = "//build/gn_run_binary.py"
Tom Andersonce16a0c2017-09-02 00:27:51169 sources = [
170 prog_name,
171 ]
172 outputs = [
173 debug_file,
174 stripped_file,
175 ]
176 args = [
177 rebase_path("//third_party/eu-strip/bin/eu-strip", root_build_dir),
Tom Anderson2bb2b382017-09-26 20:21:53178 "-o",
Tom Andersonce16a0c2017-09-02 00:27:51179 rebase_path(stripped_file, root_build_dir),
Tom Anderson2bb2b382017-09-26 20:21:53180 "-f",
181 rebase_path(debug_file, root_build_dir),
182 rebase_path(prog_name, root_build_dir),
Tom Andersonce16a0c2017-09-02 00:27:51183 ]
184}
185
brettwa874dcc2015-08-28 23:59:18186# This target builds all "normal" Linux installers.
brettwa874dcc2015-08-28 23:59:18187#
188# The bot setup is to build stable, unstable, and beta packages for the current
189# build. Then a later step picks up the package corresponding to what the
190# current build is supposed to be. This is wasteful since one build will only
Tom Anderson1d582482017-09-05 20:41:28191# be one of these.
brettwa874dcc2015-08-28 23:59:18192#
193# TODO it would be much nicer to have a build variable so the bot can tell us
194# what the current build should be, so we only have to make one .deb/.rpm pair.
195#
196#
197# TO BUILD LINUX INSTALLER PACKAGES
198#
199# The packages list the exact versions of each library used. The versions used
200# on the bots are likely different than those on your workstation, so you'll
201# get a stream of errors like:
202# < libasound2 (>= 1.0.23)
203# ---
204# > libasound2 (>= 1.0.16)
205#
206# To avoid these warnings for testing purposes, do:
207#
208# export IGNORE_DEPS_CHANGES=1
209#
210# before you build.
211group("linux") {
212 deps = [
213 ":beta",
214 ":stable",
215 ":unstable",
216 ]
217}
218
219branding_dir = "//chrome/app/theme/$branding_path_component"
220branding_dir_100 =
221 "//chrome/app/theme/default_100_percent/$branding_path_component"
222
223copy("common_packaging_files") {
224 visibility = [ ":*" ]
225 sources = [
Tom Anderson64b96142017-09-26 21:00:54226 "//chrome/app/resources/manpage.1.in",
brettwa874dcc2015-08-28 23:59:18227 "common/apt.include",
228 "common/default-app-block.template",
229 "common/default-app.template",
230 "common/desktop.template",
brettwa874dcc2015-08-28 23:59:18231 "common/installer.include",
232 "common/postinst.include",
233 "common/prerm.include",
234 "common/repo.cron",
235 "common/rpm.include",
236 "common/rpmrepo.cron",
237 "common/symlinks.include",
238 "common/variables.include",
239 "common/wrapper",
240 ]
241
sbcfa8f43b2016-10-05 17:11:35242 if (is_chrome_branded) {
tomas.popeladd765c02017-03-21 14:44:16243 sources += [
244 "common/google-chrome/google-chrome.appdata.xml.template",
245 "common/google-chrome/google-chrome.info",
246 ]
sbcfa8f43b2016-10-05 17:11:35247 } else {
tomas.popeladd765c02017-03-21 14:44:16248 sources += [
249 "common/chromium-browser/chromium-browser.appdata.xml",
250 "common/chromium-browser/chromium-browser.info",
251 ]
sbcfa8f43b2016-10-05 17:11:35252 }
253
Tom Anderson4312d5e2017-06-22 21:07:43254 sources += [ "//third_party/eu-strip/bin/eu-strip" ]
brettwa874dcc2015-08-28 23:59:18255
256 outputs = [
257 "$root_out_dir/installer/common/{{source_file_part}}",
258 ]
259}
260
261copy("deb_packaging_files") {
262 visibility = [ ":*" ]
263 sources = [
264 "debian/build.sh",
265 "debian/changelog.template",
266 "debian/control.template",
267 "debian/debian.menu",
brettwa874dcc2015-08-28 23:59:18268 "debian/postinst",
269 "debian/postrm",
270 "debian/prerm",
271 ]
272 outputs = [
273 "$root_out_dir/installer/debian/{{source_file_part}}",
274 ]
275}
276
277copy("theme_files") {
278 visibility = [ ":*" ]
279 sources = [
280 "$branding_dir/BRANDING",
281 "$branding_dir/linux/product_logo_32.xpm",
282 "$branding_dir/product_logo_128.png",
283 "$branding_dir/product_logo_22.png",
284 "$branding_dir/product_logo_24.png",
285 "$branding_dir/product_logo_256.png",
286 "$branding_dir/product_logo_48.png",
287 "$branding_dir/product_logo_64.png",
288 "$branding_dir_100/product_logo_16.png",
289 "$branding_dir_100/product_logo_32.png",
290 ]
Tom Andersonc8ebf272017-11-17 23:41:33291 if (is_chrome_branded) {
292 sources += [
293 "$branding_dir/linux/product_logo_32_beta.xpm",
294 "$branding_dir/linux/product_logo_32_dev.xpm",
295 "$branding_dir/product_logo_128_beta.png",
296 "$branding_dir/product_logo_128_dev.png",
297 "$branding_dir/product_logo_22_beta.png",
298 "$branding_dir/product_logo_22_dev.png",
299 "$branding_dir/product_logo_24_beta.png",
300 "$branding_dir/product_logo_24_dev.png",
301 "$branding_dir/product_logo_256_beta.png",
302 "$branding_dir/product_logo_256_dev.png",
303 "$branding_dir/product_logo_48_beta.png",
304 "$branding_dir/product_logo_48_dev.png",
305 "$branding_dir/product_logo_64_beta.png",
306 "$branding_dir/product_logo_64_dev.png",
307 "$branding_dir_100/product_logo_16_beta.png",
308 "$branding_dir_100/product_logo_16_dev.png",
309 "$branding_dir_100/product_logo_32_beta.png",
310 "$branding_dir_100/product_logo_32_dev.png",
311 ]
312 }
brettwa874dcc2015-08-28 23:59:18313 outputs = [
314 "$root_out_dir/installer/theme/{{source_file_part}}",
315 ]
316}
317
318if (!is_chromeos) {
319 copy("rpm_packaging_files") {
320 visibility = [ ":*" ]
321 sources = [
322 "rpm/build.sh",
323 "rpm/chrome.spec.template",
brettwa874dcc2015-08-28 23:59:18324 ]
325 outputs = [
326 "$root_out_dir/installer/rpm/{{source_file_part}}",
327 ]
328 }
329}
330
331process_version("save_build_info") {
332 # Just output the default version info variables (no template).
333 process_only = true
raphael.kubo.da.costadc683d22016-09-17 19:41:13334 sources = [
335 "//build/util/LASTCHANGE",
336 "//chrome/VERSION",
337 branding_file_path,
338 ]
brettwa874dcc2015-08-28 23:59:18339 output = "$root_out_dir/installer/version.txt"
340}
341
342# Dependencies for all Linux installer targets.
343group("installer_deps") {
mcgrathr6edf192f2015-10-19 19:39:11344 # Though many of these things appear in data_deps further down the
345 # dependency chain, they must appear here as public_deps so that they can
346 # be listed as inputs to the actions that depend on ":installer_deps"
347 # and are guaranteed to have been built before those actions run.
348
brettwa874dcc2015-08-28 23:59:18349 public_deps = [
350 ":common_packaging_files",
351 ":deb_packaging_files",
352 ":save_build_info",
Tom Andersonce16a0c2017-09-02 00:27:51353 ":strip_chrome_binary",
brettwa874dcc2015-08-28 23:59:18354 ":theme_files",
355 "//chrome",
356 "//chrome:packed_resources",
Becca Hughesd89f6ff2017-12-13 13:20:44357 "//chrome/browser/resources/media/mei_preload:component",
brettwa874dcc2015-08-28 23:59:18358 "//sandbox/linux:chrome_sandbox",
brettwa874dcc2015-08-28 23:59:18359 ]
dpranke3b870612015-09-10 23:42:04360 if (enable_nacl) {
mcgrathr6edf192f2015-10-19 19:39:11361 public_deps += [
brettwf4b4a4282015-12-16 00:41:13362 "//components/nacl/loader:nacl_helper",
mcgrathr6edf192f2015-10-19 19:39:11363
364 # These are data_deps of nacl_helper, but that is not enough,
365 # as explained above.
366 "//native_client/src/trusted/service_runtime/linux:bootstrap",
367 "//ppapi/native_client:irt",
368 ]
dpranke3b870612015-09-10 23:42:04369 }
brettwa874dcc2015-08-28 23:59:18370 if (current_cpu == "x86" || current_cpu == "x64") {
Xiaohan Wangd5b69c82018-03-20 22:18:35371 public_deps += [ "//third_party/widevine/cdm" ]
brettwa874dcc2015-08-28 23:59:18372 }
373 if (!is_chromeos) {
374 public_deps += [ ":rpm_packaging_files" ]
375 }
Tom Anderson45583c72017-07-08 02:53:34376
Tom Anderson45583c72017-07-08 02:53:34377 if (!libcpp_is_static && use_custom_libcxx) {
378 public_deps += [ "//buildtools/third_party/libc++:libc++" ]
379 }
brettwa874dcc2015-08-28 23:59:18380}
381
382# Creates .deb and .rpm (RPM for non-ChromeOS only) installer packages.
383#
384# channel:
385# Name of the channel.
386template("linux_package") {
387 assert(defined(invoker.channel))
388 channel = invoker.channel
389
390 if (current_cpu == "x86") {
mcgrathr6edf192f2015-10-19 19:39:11391 # The shell scripts use "ia32" instead of "x86".
brettwa874dcc2015-08-28 23:59:18392 build_script_arch = "ia32"
393 } else {
394 build_script_arch = current_cpu
395 }
396
brettwa874dcc2015-08-28 23:59:18397 deb_target_name = "${target_name}_deb"
398 action(deb_target_name) {
399 visibility = [ ":*" ]
Tom Anderson2bb2b382017-09-26 20:21:53400 script = "//build/gn_run_binary.py"
brettwa874dcc2015-08-28 23:59:18401
402 if (current_cpu == "x86") {
403 deb_arch = "i386"
404 } else if (current_cpu == "x64") {
405 deb_arch = "amd64"
406 } else if (current_cpu == "arm") {
407 deb_arch = "arm"
Milko Leporis0f74ee82017-10-02 22:37:07408 } else if (current_cpu == "mipsel") {
409 deb_arch = "mipsel"
Milko Leporisb6e93fc2018-01-24 21:40:19410 } else if (current_cpu == "mips64el") {
411 deb_arch = "mips64el"
brettwa874dcc2015-08-28 23:59:18412 } else {
413 assert(false, "Linux installer not configured for this architecture.")
414 }
415
Tom Andersone068dcb2017-09-01 18:31:21416 inputs = packaging_files
Tom Andersonfa4860c2017-09-15 23:23:40417 if (is_chrome_branded) {
418 package = "google-chrome"
419 } else {
420 package = "chromium-browser"
421 }
brettwa874dcc2015-08-28 23:59:18422 outputs = [
Tom Andersonfa4860c2017-09-15 23:23:40423 "$root_out_dir/${package}-${channel}_${chrome_version_full}-1_${deb_arch}.deb",
brettwa874dcc2015-08-28 23:59:18424 ]
425
426 args = [
brettwa874dcc2015-08-28 23:59:18427 rebase_path("$root_out_dir/installer/debian/build.sh", root_build_dir),
brettwa874dcc2015-08-28 23:59:18428 "-a",
429 build_script_arch,
Tom Andersoncae008e2017-09-01 01:47:35430 "-b",
431 rebase_path(root_out_dir, root_build_dir),
brettwa874dcc2015-08-28 23:59:18432 "-c",
433 invoker.channel,
434 "-d",
435 branding_path_component,
Tom Andersoncae008e2017-09-01 01:47:35436 "-o",
437 rebase_path(root_out_dir, root_build_dir),
thomasanderson7a01af42016-10-18 21:22:42438 "-s",
Tom Anderson04125932017-11-28 03:13:13439 rebase_path(sysroot, root_build_dir),
Tom Andersond7f95c632017-12-07 02:18:42440 "-t",
441 target_os,
brettwa874dcc2015-08-28 23:59:18442 ]
Tom Andersoncae008e2017-09-01 01:47:35443 if (is_official_build) {
444 args += [ "-f" ]
445 }
brettwa874dcc2015-08-28 23:59:18446 deps = [
447 ":installer_deps",
Tom Anderson21254bb2017-09-07 04:07:18448 ":merge_deb_dependencies",
brettwa874dcc2015-08-28 23:59:18449 ]
450 }
451
452 if (!is_chromeos) {
453 rpm_target_name = "${target_name}_rpm"
454 action(rpm_target_name) {
455 visibility = [ ":*" ]
Tom Anderson2bb2b382017-09-26 20:21:53456 script = "//build/gn_run_binary.py"
brettwa874dcc2015-08-28 23:59:18457
458 if (current_cpu == "x86") {
459 rpm_arch = "i386"
460 } else if (current_cpu == "x64") {
461 rpm_arch = "x86_64"
462 } else if (current_cpu == "arm") {
463 rpm_arch = "arm"
Milko Leporis0f74ee82017-10-02 22:37:07464 } else if (current_cpu == "mipsel") {
465 rpm_arch = "mipsel"
Milko Leporisb6e93fc2018-01-24 21:40:19466 } else if (current_cpu == "mips64el") {
467 rpm_arch = "mips64el"
brettwa874dcc2015-08-28 23:59:18468 } else {
469 assert(false, "Linux installer not configured for this architecture.")
470 }
471
Tom Andersone068dcb2017-09-01 18:31:21472 inputs = packaging_files
Tom Andersonfa4860c2017-09-15 23:23:40473 if (is_chrome_branded) {
474 package = "google-chrome"
475 } else {
476 package = "chromium-browser"
477 }
brettwa874dcc2015-08-28 23:59:18478 outputs = [
Tom Andersonfa4860c2017-09-15 23:23:40479 "$root_out_dir/${package}-${channel}-${chrome_version_full}-1.${rpm_arch}.rpm",
brettwa874dcc2015-08-28 23:59:18480 ]
481
482 args = [
brettwa874dcc2015-08-28 23:59:18483 rebase_path("$root_out_dir/installer/rpm/build.sh", root_build_dir),
brettwa874dcc2015-08-28 23:59:18484 "-a",
485 build_script_arch,
Tom Andersoncae008e2017-09-01 01:47:35486 "-b",
487 rebase_path(root_out_dir, root_build_dir),
brettwa874dcc2015-08-28 23:59:18488 "-c",
489 invoker.channel,
490 "-d",
491 branding_path_component,
Tom Andersoncae008e2017-09-01 01:47:35492 "-o",
493 rebase_path(root_out_dir, root_build_dir),
Tom Andersond7f95c632017-12-07 02:18:42494 "-t",
495 target_os,
brettwa874dcc2015-08-28 23:59:18496 ]
Tom Andersoncae008e2017-09-01 01:47:35497 if (is_official_build) {
498 args += [ "-f" ]
499 }
brettwa874dcc2015-08-28 23:59:18500 deps = [
501 ":installer_deps",
Tom Anderson3a3c5882017-09-12 21:16:24502 ":merge_rpm_dependencies",
brettwa874dcc2015-08-28 23:59:18503 ]
504 }
505 }
506
507 group(target_name) {
508 deps = [
509 ":$deb_target_name",
510 ]
511 if (!is_chromeos) {
512 deps += [ ":$rpm_target_name" ]
513 }
514 }
515}
516
517# Standard packages.
518linux_package("stable") {
519 channel = "stable"
520}
521linux_package("beta") {
522 channel = "beta"
523}
524linux_package("unstable") {
525 channel = "unstable"
526}