You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by he...@apache.org on 2017/07/27 23:13:03 UTC

[2/2] incubator-impala git commit: IMPALA-5716: Don't delete cmake_modules/* when enabling distcc

IMPALA-5716: Don't delete cmake_modules/* when enabling distcc

If $IMPALA_HOME ends with a /, the clean_cmake_files function in
distcc_env.sh will emit a find command with a double // at the end for
the cmake_modules directory, and since it contains the substring cmake,
find will match and delete its contents.

Fix is to use a whitelist of locations and filenames to look for, and
delete only those.

Testing: manually ran enable_distcc, observed that my files were still
there.

Change-Id: I8a6e34bedf8000aed9e2b0597cfe86f73222c6ed
Reviewed-on: http://gerrit.cloudera.org:8080/7493
Reviewed-by: Tim Armstrong <ta...@cloudera.com>
Tested-by: Impala Public Jenkins


Project: http://git-wip-us.apache.org/repos/asf/incubator-impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-impala/commit/41e3055f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/41e3055f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/41e3055f

Branch: refs/heads/master
Commit: 41e3055f925093f971a3a800ae9601728ff9e37c
Parents: 78845e5
Author: Henry Robinson <he...@cloudera.com>
Authored: Mon Jul 24 17:50:02 2017 -0700
Committer: Impala Public Jenkins <im...@gerrit.cloudera.org>
Committed: Wed Jul 26 22:08:35 2017 +0000

----------------------------------------------------------------------
 bin/clean.sh             | 13 ++++++-------
 bin/distcc/distcc_env.sh | 14 ++++++--------
 2 files changed, 12 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/41e3055f/bin/clean.sh
----------------------------------------------------------------------
diff --git a/bin/clean.sh b/bin/clean.sh
index 8c009c7..aeb6067 100755
--- a/bin/clean.sh
+++ b/bin/clean.sh
@@ -74,10 +74,9 @@ if [ -e "$IMPALA_LZO" ]; then
 fi
 
 # When switching to and from toolchain, make sure to remove all CMake generated files
-FIND_ARGS=("$IMPALA_HOME" -iname '*cmake*' -not -name CMakeLists.txt \
-    -not -path "$IMPALA_HOME/cmake_modules*" \
-    -not -path "$IMPALA_HOME/thirdparty*")
-if [[ -n "$IMPALA_TOOLCHAIN" ]]; then
-  FIND_ARGS+=(-not -path "$IMPALA_TOOLCHAIN/*")
-fi
-find "${FIND_ARGS[@]}" -exec rm -Rf {} +
+ROOT_DIR=${IMPALA_HOME%%/}
+for loc in "${ROOT_DIR}/ -maxdepth 1" "$ROOT_DIR/be/" "$ROOT_DIR/fe/" "$ROOT_DIR/common/"\
+           "$ROOT_DIR/ext-data-source/"; do
+  find $loc \( -iname CMakeCache.txt -o -iname CMakeFiles \
+       -o -iname CTestTestfile.cmake -o -iname cmake_install.cmake \) -exec rm -Rf {} +
+done

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/41e3055f/bin/distcc/distcc_env.sh
----------------------------------------------------------------------
diff --git a/bin/distcc/distcc_env.sh b/bin/distcc/distcc_env.sh
index 28d8096..e1129e3 100644
--- a/bin/distcc/distcc_env.sh
+++ b/bin/distcc/distcc_env.sh
@@ -114,14 +114,12 @@ function clean_cmake_files {
     echo IMPALA_HOME=$IMPALA_HOME is not valid. 1>&2
     return 1
   fi
-  # Copied from $IMPALA_HOME/bin/clean.sh.
-  FIND_ARGS=("$IMPALA_HOME" -iname '*cmake*' -not -name CMakeLists.txt \
-      -not -path "$IMPALA_HOME/cmake_modules*" \
-      -not -path "$IMPALA_HOME/thirdparty*")
-  if [[ -n "$IMPALA_TOOLCHAIN" ]]; then
-    FIND_ARGS+=(-not -path "$IMPALA_TOOLCHAIN/*")
-  fi
-  find "${FIND_ARGS[@]}" -exec rm -Rf {} +
+  ROOT_DIR=${IMPALA_HOME%%/}
+  for loc in "${ROOT_DIR}/ -maxdepth 1" "$ROOT_DIR/be/" "$ROOT_DIR/fe/" \
+             "$ROOT_DIR/common/" "$ROOT_DIR/ext-data-source/"; do
+    find $loc \( -iname CMakeCache.txt -o -iname CMakeFiles \
+         -o -iname CTestTestfile.cmake -o -iname cmake_install.cmake \) -exec rm -Rf {} +
+  done
 }
 
 function switch_compiler {