cros_workon_make: Fix cleaning stale workdir.

Make the script work with CROS_WORKON_OUTOFTREE_BUILD.

When CROS_WORKON_OUTOFTREE_BUILD is set, cros-workon.eclass does not make the
symlink anymore, and always resulted in `WARN: Cleaning up stale workdir:
/build/rammus-arc-r/tmp/portage/chromeos-base/debugd-9999/work/debugd-9999`

BUG=chromium:1212997
TEST=cros_workon_make --board=rammus-arc-r debugd --test  # 14 seconds -> 2 seconds
TEST=cros_workon_make --board=rammus-arc-r crosvm  # uses --reconf
  # an example of CROS_WORKON_OUTOFTREE_BUILD=0
TEST=cros_workon_make --board=rammus-arc-r debugd  # Doesn't --reconf
  # an example of CROS_WORKON_OUTOFTREE_BUILD=1

Change-Id: Iad464f9214f177d4bc0efe609ac11c9a5606362f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/2916533
Commit-Queue: Junichi Uekawa <uekawa@chromium.org>
Tested-by: Junichi Uekawa <uekawa@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/cros_workon_make b/cros_workon_make
index 9a469ae..97da13c 100755
--- a/cros_workon_make
+++ b/cros_workon_make
@@ -122,8 +122,13 @@
   rm -f "${workpath}/.tested"
 fi
 
+# See if the ebuild declares CROS_WORKON_OUTOFTREE_BUILD=1.
+is_cros_workon_outoftree_build() {
+  grep -qs '^CROS_WORKON_OUTOFTREE_BUILD=.*1' "${pkgfile}"
+}
+
 workdir="${workpath}/work/${workon_name}"
-if [ ! -h "${workdir}" ]; then
+if [[ ! -h "${workdir}" ]] && ! is_cros_workon_outoftree_build; then
   warn "Cleaning up stale workdir: ${workdir}"
   FLAGS_reconf="${FLAGS_TRUE}"  # To force symlinking in the user's src dir.
 fi