0

[crd host][linux] List all files to be packaged in |inputs|

The remoting_me2me_host_deb_installer build target did not list all
files it packages into the deb in the |inputs| parameter, so developers
could accidentally use/copy a file without declaring a dependency on the
target that generates the file, which could cause nondeterministic build
behavior (say the required file is build by some unrelated target that
may not be built before the deb).

This CL prevents this problem by listing all files that will be packaged
into the deb in |inputs|.

Change-Id: I0a05e7440a5000c263f24deca450c8267c44ca00
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3298684
Commit-Queue: Yuwei Huang <yuweih@chromium.org>
Reviewed-by: Joe Downing <joedow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#944744}
This commit is contained in:
Yuwei Huang
2021-11-23 23:55:52 +00:00
committed by Chromium LUCI CQ
parent 5afa684146
commit e74642b889
3 changed files with 31 additions and 5 deletions
remoting/host

@ -1075,7 +1075,7 @@ if (enable_me2me_host) {
}
} else {
group("remoting_native_messaging_host") {
deps = [ "//remoting/host/linux:remoting_native_messaging_host" ]
public_deps = [ "//remoting/host/linux:remoting_native_messaging_host" ]
}
}
}

@ -2,9 +2,9 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//remoting/build/config/remoting_build.gni")
import("//build/config/zip.gni")
import("//remoting/build/config/remoting_build.gni")
import("//remoting/remoting_locales.gni")
build_deb_script = "build_deb.py"
deb_filename =
@ -59,10 +59,33 @@ action("remoting_me2me_host_deb_installer") {
"debian/rules",
"debian/triggers",
# TODO(yuweih): Include all files to be packaged into the deb here. This
# ensures that we don't miss out a dependency that is needed by the script.
# Files to be packaged into the deb.
"//remoting/host/installer/linux/Xsession",
"//remoting/host/installer/linux/chrome-remote-desktop@.service",
"//remoting/host/installer/linux/is-remoting-session",
"//remoting/host/linux/configure_url_forwarder.py",
"//remoting/host/linux/linux_me2me_host.py",
"$root_gen_dir/remoting/CREDITS.txt",
"$root_out_dir/icudtl.dat",
"$root_out_dir/libremoting_core.so",
"$root_out_dir/remote_assistance_host",
"$root_out_dir/remote_open_url",
"$root_out_dir/remote_webauthn",
"$root_out_dir/remoting_me2me_host",
"$root_out_dir/remoting_native_messaging_host",
"$root_out_dir/remoting_start_host",
"$root_out_dir/remoting_user_session",
"$root_out_dir/remoting/com.google.chrome.remote_assistance-firefox.json",
"$root_out_dir/remoting/com.google.chrome.remote_assistance.json",
"$root_out_dir/remoting/com.google.chrome.remote_desktop-firefox.json",
"$root_out_dir/remoting/com.google.chrome.remote_desktop.json",
"$root_out_dir/remoting/crd-url-forwarder.desktop",
]
inputs += process_file_template(
remoting_locales,
[ "$root_gen_dir/remoting/resources/{{source_name_part}}.pak" ])
outputs = packaging_outputs
sources = [ "build-deb.sh" ]
args = [

@ -37,6 +37,9 @@ REMOTE_WEBAUTHN_DEBUGFILE = $(REMOTE_WEBAUTHN_PROGNAME).debug
all:
# Make sure you list files to be installed in |inputs| in BUILD.gn, so that you
# don't accidentally miss a dependency, which may cause nondeterministic build
# behavior.
install:
install -d "$(CRON_DIR)"
install -d "$(DOC_DIR)"