diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-03 03:11:14 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-03 03:11:14 +0000 |
commit | 17db9e52e399dbc4a8b857fe42c3076d0ee09ce0 (patch) | |
tree | 58d8d0a17ccdc876ad421f4fac007d9c96eb66b9 /tools/clang | |
parent | 5795629c093248519fa3953b8f5526cf8328e123 (diff) | |
download | chromium_src-17db9e52e399dbc4a8b857fe42c3076d0ee09ce0.zip chromium_src-17db9e52e399dbc4a8b857fe42c3076d0ee09ce0.tar.gz chromium_src-17db9e52e399dbc4a8b857fe42c3076d0ee09ce0.tar.bz2 |
clang: Fix security issues in update.sh script.
- Use "${FOO}" for variable expansion.
- Use "$(CMD)" for command expansion.
Issues originally pointed in http://codereview.chromium.org/6588125/ by Markus.
BUG=None
TEST=run the script. It should works as before.
Review URL: http://codereview.chromium.org/6603002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76699 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/clang')
-rwxr-xr-x | tools/clang/scripts/update.sh | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh index 97f391f..619454d 100755 --- a/tools/clang/scripts/update.sh +++ b/tools/clang/scripts/update.sh @@ -7,9 +7,9 @@ CLANG_REVISION=126303 -THIS_DIR=$(dirname $0) -LLVM_DIR=$THIS_DIR/../../../third_party/llvm -CLANG_DIR=$LLVM_DIR/tools/clang +THIS_DIR="$(dirname "${0}")" +LLVM_DIR="${THIS_DIR}"/../../../third_party/llvm +CLANG_DIR="${LLVM_DIR}"/tools/clang # Die if any command dies. set -e @@ -17,41 +17,39 @@ set -e # Echo all commands. set -x -# Build clang. - # Check out. -svn co --force http://llvm.org/svn/llvm-project/llvm/trunk@$CLANG_REVISION $LLVM_DIR -svn co --force http://llvm.org/svn/llvm-project/cfe/trunk@$CLANG_REVISION $CLANG_DIR +svn co --force http://llvm.org/svn/llvm-project/llvm/trunk@"${CLANG_REVISION}" \ + "${LLVM_DIR}" +svn co --force http://llvm.org/svn/llvm-project/cfe/trunk@"${CLANG_REVISION}" \ + "${CLANG_DIR}" -# Build (in a separate directory). +# Build clang (in a separate directory). # The clang bots have this path hardcoded in built/scripts/slave/compile.py, # so if you change it you also need to change these links. -mkdir -p $LLVM_DIR/../llvm-build -cd $LLVM_DIR/../llvm-build +mkdir -p "${LLVM_DIR}"/../llvm-build +cd "${LLVM_DIR}"/../llvm-build if [ ! -f ./config.status ]; then ../llvm/configure --enable-optimized fi NUM_JOBS=3 -if [ $(uname -s) = "Linux" ]; then - NUM_JOBS=$(grep -c "^processor" /proc/cpuinfo) -elif [ $(uname -s) = "Darwin" ]; then - NUM_JOBS=$(sysctl -n hw.ncpu) +if [ "$(uname -s)" = "Linux" ]; then + NUM_JOBS="$(grep -c "^processor" /proc/cpuinfo)" +elif [ "$(uname -s)" = "Darwin" ]; then + NUM_JOBS="$(sysctl -n hw.ncpu)" fi -make -j$NUM_JOBS +make -j"${NUM_JOBS}" cd - # Build plugin. # Copy it into the clang tree and use clang's build system to compile the # plugin. -PLUGIN_SRC_DIR=$THIS_DIR/../plugins -PLUGIN_DST_DIR=$LLVM_DIR/../llvm/tools/clang/tools/chrome-plugin -PLUGIN_BUILD_DIR=$LLVM_DIR/../llvm-build/tools/clang/tools/chrome-plugin -rm -rf $PLUGIN_DST_DIR -cp -R $PLUGIN_SRC_DIR $PLUGIN_DST_DIR -rm -rf $PLUGIN_BUILD_DIR -mkdir -p $PLUGIN_BUILD_DIR -cp $PLUGIN_SRC_DIR/Makefile $PLUGIN_BUILD_DIR -cd $PLUGIN_BUILD_DIR -make -j$NUM_JOBS -cd - +PLUGIN_SRC_DIR="${THIS_DIR}"/../plugins +PLUGIN_DST_DIR="${LLVM_DIR}"/../llvm/tools/clang/tools/chrome-plugin +PLUGIN_BUILD_DIR="${LLVM_DIR}"/../llvm-build/tools/clang/tools/chrome-plugin +rm -rf "${PLUGIN_DST_DIR}" +cp -R "${PLUGIN_SRC_DIR}" "${PLUGIN_DST_DIR}" +rm -rf "${PLUGIN_BUILD_DIR}" +mkdir -p "${PLUGIN_BUILD_DIR}" +cp "${PLUGIN_SRC_DIR}"/Makefile "${PLUGIN_BUILD_DIR}" +make -j"${NUM_JOBS}" -C "${PLUGIN_BUILD_DIR}" |