diff --git a/tools/deploy/copy.sh b/tools/deploy/copy.sh index 58710ebcea..6b5e65158e 100755 --- a/tools/deploy/copy.sh +++ b/tools/deploy/copy.sh @@ -1,12 +1,11 @@ #!/bin/bash -x +SOURCE_DIR=$(readlink -f "$(dirname ${BASH_SOURCE[0]})/../..") if [ $# -lt 1 ] then echo "Usage ./copy.sh [oceanbase_dev_dir]" - BUILD_DIR=$(find $PWD/../../ -maxdepth 1 -name 'build_*' -type d | grep -v 'build_ccls' | head -1) - SOURCE_DIR=$PWD/../../ + BUILD_DIR=$(find $SOURCE_DIR -maxdepth 1 -name 'build_*' -type d | grep -v 'build_ccls' | head -1) else BUILD_DIR=$1 - SOURCE_DIR=$PWD/../../ fi BIN_DIR=`pwd`/bin${VER} @@ -15,6 +14,30 @@ TOOL_DIR=`pwd`/tools ETC_DIR=`pwd`/etc DEBUG_DIR=`pwd`/debug ADMIN_DIR=`pwd`/admin + +function do_install { + quiet=false + if [ $# -eq 3 ] && [[ "$3" == "true" ]] + then + quiet=true + fi + [[ "$quiet" == "false" ]] && echo -n "Installing $1 " + sources=$(ls $1 2>/dev/null) + if [[ "$sources" == "" ]] + then + [[ "$quiet" == "false" ]] && echo -e "\033[0;31mFAIL\033[0m\nNo such file: $1" + return 1 + fi + target=$2 + err_msg=$(libtool --mode=install cp $sources $target 2>&1 >/dev/null) + if [ $? -eq 0 ] + then + [[ "$quiet" == "false" ]] && echo -e "\033[0;32mOK\033[0m" + else + [[ "$quiet" == "false" ]] && echo -e "\033[0;31mFAIL\033[0m\n$err_msg" + fi +} + if [ $# -lt 2 ] then mkdir -p $BIN_DIR @@ -24,25 +47,24 @@ then mkdir -p $DEBUG_DIR mkdir -p $ADMIN_DIR if [ -f $SOURCE_DIR/deps/oblib/src/lib/compress/liblz4_1.0.la ]; then - libtool --mode=install cp $SOURCE_DIR/deps/oblib/src/lib/compress/liblz4_1.0.la $LIB_DIR - libtool --mode=install cp $SOURCE_DIR/deps/oblib/src/lib/compress/libnone.la $LIB_DIR - libtool --mode=install cp $SOURCE_DIR/deps/oblib/src/lib/compress/libsnappy_1.0.la $LIB_DIR - libtool --mode=install cp $SOURCE_DIR/deps/oblib/src/lib/compress/libzlib_1.0.la $LIB_DIR + do_install $SOURCE_DIR/deps/oblib/src/lib/compress/liblz4_1.0.la $LIB_DIR + do_install $SOURCE_DIR/deps/oblib/src/lib/compress/libnone.la $LIB_DIR + do_install $SOURCE_DIR/deps/oblib/src/lib/compress/libsnappy_1.0.la $LIB_DIR + do_install $SOURCE_DIR/deps/oblib/src/lib/compress/libzlib_1.0.la $LIB_DIR fi - libtool --mode=install cp $SOURCE_DIR/rpm/.dep_create/lib/libstdc++.so.6 $LIB_DIR - libtool --mode=install cp $SOURCE_DIR/deps/oblib/src/lib/profile/obperf $TOOL_DIR/ - libtool --mode=install cp $BUILD_DIR/src/observer/observer $BIN_DIR/observer - libtool --mode=install cp $SOURCE_DIR/src/share/inner_table/sys_package/*.sql $ADMIN_DIR + do_install $BUILD_DIR/src/observer/observer $BIN_DIR/observer + do_install "$SOURCE_DIR/src/share/inner_table/sys_package/*.sql" $ADMIN_DIR + do_install $SOURCE_DIR/deps/3rd/usr/local/oceanbase/devtools/bin/llvm-symbolizer $TOOL_DIR/ + do_install $SOURCE_DIR/rpm/.dep_create/lib/libstdc++.so.6 $LIB_DIR true + do_install $SOURCE_DIR/deps/oblib/src/lib/profile/obperf $TOOL_DIR/ true - libtool --mode=install cp ./usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1 $LIB_DIR - libtool --mode=install cp ./usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1 $LIB_DIR/libclntsh.so - libtool --mode=install cp ./usr/lib/oracle/12.2/client64/lib/libclntshcore.so.12.1 $LIB_DIR - libtool --mode=install cp ./usr/lib/oracle/12.2/client64/lib/libnnz12.so $LIB_DIR - libtool --mode=install cp ./usr/lib/oracle/12.2/client64/lib/libons.so $LIB_DIR - libtool --mode=install cp ./usr/lib/oracle/12.2/client64/lib/libociei.so $LIB_DIR - libtool --mode=install cp ./usr/lib/oracle/12.2/client64/lib/libmql1.so $LIB_DIR - libtool --mode=install cp ./usr/lib/oracle/12.2/client64/lib/libipc1.so $LIB_DIR - - libtool --mode=install cp $SOURCE_DIR/deps/3rd/usr/local/oceanbase/devtools/bin/llvm-symbolizer $TOOL_DIR/ + do_install ./usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1 $LIB_DIR true + do_install ./usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1 $LIB_DIR/libclntsh.so true + do_install ./usr/lib/oracle/12.2/client64/lib/libclntshcore.so.12.1 $LIB_DIR true + do_install ./usr/lib/oracle/12.2/client64/lib/libnnz12.so $LIB_DIR true + do_install ./usr/lib/oracle/12.2/client64/lib/libons.so $LIB_DIR true + do_install ./usr/lib/oracle/12.2/client64/lib/libociei.so $LIB_DIR true + do_install ./usr/lib/oracle/12.2/client64/lib/libmql1.so $LIB_DIR true + do_install ./usr/lib/oracle/12.2/client64/lib/libipc1.so $LIB_DIR true fi