Remove workaround to copy reclient binaries

With Kernel caching enabled for files in Cog, we no longer need this workaround. This also makes clean builds after make clean simpler (no need to rerun source again after m clean).

Bug: b/289391270
TESTED: Ran ~5 full builds without workaround and none of them stalled

NOTE FOR REVIEWERS - original patch and result patch are not identical.
PLEASE REVIEW CAREFULLY.
Diffs between the patches:
 # This function moves the reclient binaries into a directory that exists in a
> -# non-cog part of the overall filesystem.  This is to workaround the problem
> -# described in b/289391270.
> -function _copy_reclient_binaries_from_cog() {
> -  if [[ "${OUT_DIR}" == "" ]]; then
> -    OUT_DIR="out"
> -  fi
> -  local RECLIENT_VERSION=`readlink prebuilts/remoteexecution-client/live`
> -
> -  local NONCOG_RECLIENT_BIN_DIR_BASE="${OUT_DIR}/.reclient"
> -  local NONCOG_RECLIENT_BIN_DIR="${NONCOG_RECLIENT_BIN_DIR_BASE}/${RECLIENT_VERSION}"
> -
> -  # Create the non cog directory and setup live symlink.
> -  mkdir -p ${NONCOG_RECLIENT_BIN_DIR}
> -
> -  if [ `ls ${NONCOG_RECLIENT_BIN_DIR} | wc -l` -lt 8 ]; then
> -    # Not all binaries exist, copy them from the Cog directory.
> -    local TOP=$(gettop)
> -    cp ${TOP}/prebuilts/remoteexecution-client/live/* ${NONCOG_RECLIENT_BIN_DIR}
> -  fi
> -
> -  ln -sfn ${RECLIENT_VERSION} ${NONCOG_RECLIENT_BIN_DIR_BASE}/live
> -  export RBE_DIR="${NONCOG_RECLIENT_BIN_DIR_BASE}/live"
> -}
> -
> -  _copy_reclient_binaries_from_cog

Original patch:
 diff --git a/cogsetup.sh b/cogsetup.sh
old mode 100644
new mode 100644
--- a/cogsetup.sh
+++ b/cogsetup.sh
@@ -34,31 +34,6 @@
   mkdir -p ${DEFAULT_OUTPUT_DIR}
   ln -s ${DEFAULT_OUTPUT_DIR} `pwd`/out
 }
-
-# This function moves the reclient binaries into a directory that exists in a
-# non-cog part of the overall filesystem.  This is to workaround the problem
-# described in b/289391270.
-function _copy_reclient_binaries_from_cog() {
-  if [[ "${OUT_DIR}" == "" ]]; then
-    OUT_DIR="out"
-  fi
-  local RECLIENT_VERSION=`readlink prebuilts/remoteexecution-client/live`
-
-  local NONCOG_RECLIENT_BIN_DIR_BASE="${OUT_DIR}/.reclient"
-  local NONCOG_RECLIENT_BIN_DIR="${NONCOG_RECLIENT_BIN_DIR_BASE}/${RECLIENT_VERSION}"
-
-  # Create the non cog directory and setup live symlink.
-  mkdir -p ${NONCOG_RECLIENT_BIN_DIR}
-
-  if [ `ls ${NONCOG_RECLIENT_BIN_DIR} | wc -l` -lt 8 ]; then
-    # Not all binaries exist, copy them from the Cog directory.
-    local TOP=$(gettop)
-    cp ${TOP}/prebuilts/remoteexecution-clie
[[[Original patch trimmed due to size. Decoded string size: 1502. Decoded string SHA1: f5a824559440a15a8ccb76dbf414facf5d578da9.]]]

Result patch:
 diff --git a/cogsetup.sh b/cogsetup.sh
index 3005d58..6439af0 100644
--- a/cogsetup.sh
+++ b/cogsetup.sh
@@ -35,31 +35,6 @@
   ln -s ${DEFAULT_OUTPUT_DIR} `pwd`/out
 }
 
-# This function moves the reclient binaries into a directory that exists in a
-# non-cog part of the overall filesystem.  This is to workaround the problem
-# described in b/289391270.
-function _copy_reclient_binaries_from_cog() {
-  if [[ "${OUT_DIR}" == "" ]]; then
-    OUT_DIR="out"
-  fi
-  local RECLIENT_VERSION=`readlink prebuilts/remoteexecution-client/live`
-
-  local NONCOG_RECLIENT_BIN_DIR_BASE="${OUT_DIR}/.reclient"
-  local NONCOG_RECLIENT_BIN_DIR="${NONCOG_RECLIENT_BIN_DIR_BASE}/${RECLIENT_VERSION}"
-
-  # Create the non cog directory and setup live symlink.
-  mkdir -p ${NONCOG_RECLIENT_BIN_DIR}
-
-  if [ `ls ${NONCOG_RECLIENT_BIN_DIR} | wc -l` -lt 8 ]; then
-    # Not all binaries exist, copy them from the Cog directory.
-    local TOP=$(gettop)
-    cp ${TOP}/prebuilts/remoteexecution-client/live/* ${NONCOG_RECLIENT_BIN_DIR}
[[[Result patch trimmed due to size. Decoded string size: 1500. Decoded string SHA1: 75090baaf2a80305e8faea0e882e7edf257a2420.]]]

Change-Id: Id9963c3f1de7d3d4151a2e84fe52cf9d2f66ba10
1 file changed
tree: 3f632a2997d1ef07b02df38ad2bdae87a98035f1
  1. ci/
  2. common/
  3. core/
  4. packaging/
  5. target/
  6. tests/
  7. tools/
  8. .gitignore
  9. banchanHelp.sh
  10. buildspec.mk.default
  11. Changes.md
  12. CleanSpec.mk
  13. cogsetup.sh
  14. Deprecation.md
  15. envsetup.sh
  16. help.sh
  17. METADATA
  18. navbar.md
  19. OWNERS
  20. PREUPLOAD.cfg
  21. rbesetup.sh
  22. README.md
  23. shell_utils.sh
  24. tapasHelp.sh
  25. Usage.txt
README.md

Android Make Build System

This is the Makefile-based portion of the Android Build System.

For documentation on how to run a build, see Usage.txt

For a list of behavioral changes useful for Android.mk writers see Changes.md

For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.

This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.