generate_reclient_inputs: use sudo to write output
Use sudo when writing output file so that the script
does not require to be called with sudo.
BUG=b:201570160
TEST=generate_reclient_inputs
TEST=checked /usr/bin/remote_toolchain_inputs contents
Change-Id: I3fd62b2d6e41bc32f1c31025c6002aed315d39b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3407713
Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Auto-Submit: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/generate_reclient_inputs.py b/scripts/generate_reclient_inputs.py
index f0b86f1..4e285cb 100644
--- a/scripts/generate_reclient_inputs.py
+++ b/scripts/generate_reclient_inputs.py
@@ -24,6 +24,7 @@
from chromite.lib import commandline
from chromite.lib import cros_build_lib
+from chromite.lib import osutils
from chromite.third_party import lddtree
@@ -81,8 +82,10 @@
paths.add(Path('/etc/env.d/gcc'))
# Write the files relative to clang binary location.
- with (clang_dir / out_file).open('w', encoding='utf-8') as f:
- f.writelines(os.path.relpath(x, clang_dir) + '\n' for x in sorted(paths))
+ osutils.WriteFile(
+ clang_dir / out_file,
+ [os.path.relpath(x, clang_dir) + '\n' for x in sorted(paths)],
+ sudo=True)
def ParseArgs(argv: Optional[List[str]]) -> commandline.argparse.Namespace: