rust_uprev: emerge rust instead of ebuilding it

if `ebuild merge` fails, the build directory might not be in a great
state where we can skip recompilation when we try again. emerge'ing is
probably what we actually want to do here, since that's representative
of what builders and users are going to do when they get the new rust
uprev.

BUG=chromium:1136579, chromium:1112551
TEST=Ran the script

Change-Id: I84f12769e32fada3f858a2889f0ead7555b58256
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2462928
Reviewed-by: Tiancong Wang <tcwang@google.com>
Tested-by: George Burgess <gbiv@chromium.org>
diff --git a/rust_tools/rust_uprev.py b/rust_tools/rust_uprev.py
index 4fdae60..3c0ad01 100755
--- a/rust_tools/rust_uprev.py
+++ b/rust_tools/rust_uprev.py
@@ -510,8 +510,8 @@
   run_step('update manifest to add new version', lambda: update_manifest(
       ebuild_file))
   if not skip_compile:
-    run_step('compile rust', lambda: rust_ebuild_actions(['clean', 'compile']))
-    run_step('merge rust', lambda: rust_ebuild_actions(['merge'], sudo=True))
+    run_step('emerge rust', lambda: subprocess.check_call(
+        ['sudo', 'emerge', 'dev-lang/rust']))
   run_step('insert version into rust packages', lambda: update_rust_packages(
       rust_version, add=True))
   run_step('upgrade virtual/rust', lambda: update_virtual_rust(