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: