deploy.sh 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/bin/bash
  2. set -e
  3. set -o pipefail
  4. # install gfanet "%{CurrentBuild:Type}" "%{CurrentKit:Name}" "%{SysRoot:FilePath}" "%{sourceDir}"
  5. # clean gfanet "%{CurrentBuild:Type}" "%{CurrentKit:Name}" "%{SysRoot:FilePath}" "%{sourceDir}"
  6. # deploy gfanet "%{CurrentBuild:Type}" "%{CurrentKit:Name}" "%{SysRoot:FilePath}" "%{sourceDir}" "%{CurrentDevice:HostAddress}" "%{CurrentDevice:UserName}" "root"
  7. COMMAND=$1
  8. LIB_BASE=$2
  9. BUILD_TYPE=$3
  10. KIT_NAME=$4
  11. SYS_ROOT=$5
  12. SRC_DIR=$6
  13. #echo $SRC_DIR
  14. #exit 0
  15. if [ "$BUILD_TYPE" == "debug" ]; then
  16. LIB_NAME="lib"$LIB_BASE"d.so"
  17. elif [ "$BUILD_TYPE" == "release" ]; then
  18. LIB_NAME="lib"$LIB_BASE".so"
  19. else
  20. echo "Invalid Build-type: "$BUILD_TYPE
  21. exit 1
  22. fi
  23. if [ "$KIT_NAME" == "Desktop Qt 5.7.0 GCC 64bit" ]; then
  24. LIB_PREFIX=$SYS_ROOT"/usr/lib"
  25. INC_PREFIX=$SYS_ROOT"/usr/include/gfa"
  26. elif [ "$KIT_NAME" == "GfA-Device" ]; then
  27. LIB_PREFIX=$SYS_ROOT"/usr/lib"
  28. INC_PREFIX=$SYS_ROOT"/usr/include/gfa"
  29. else
  30. echo "Invalid Kit-name: "$KIT_NAME
  31. exit 1
  32. fi
  33. LIB_TARGET=$LIB_NAME".1.0.0"
  34. LIB_LINK0=$LIB_NAME
  35. LIB_LINK1=$LIB_NAME".1"
  36. if [ "$COMMAND" == "deploy" ]; then
  37. HOST=$7
  38. USER=$8@$HOST
  39. PASS=$9
  40. # echo pscp -pw $PASS $LIB_NAME $USER:/usr/lib/$LIB_TARGET
  41. pscp -pw $PASS $LIB_NAME $USER:/usr/lib/$LIB_TARGET > /dev/null
  42. plink -batch -t -pw $PASS $USER ln -sfn /usr/lib/$LIB_TARGET /usr/lib/$LIB_LINK0
  43. plink -batch -t -pw $PASS $USER ln -sfn /usr/lib/$LIB_TARGET /usr/lib/$LIB_LINK1
  44. exit 0
  45. fi
  46. if [ ! -d "$INC_PREFIX" ]; then
  47. sudo mkdir -p "$INC_PREFIX"
  48. fi
  49. if [ -f $LIB_PREFIX/$LIB_LINK0 ]; then
  50. sudo rm -f $LIB_PREFIX/$LIB_LINK0
  51. fi
  52. if [ -f $LIB_PREFIX/$LIB_LINK1 ]; then
  53. sudo rm -f $LIB_PREFIX/$LIB_LINK1
  54. fi
  55. if [ -f $LIB_PREFIX/$LIB_TARGET ]; then
  56. sudo rm -f $LIB_PREFIX/$LIB_TARGET
  57. fi
  58. if [ "$COMMAND" == "clean" ]; then
  59. sudo rm -f $LIB_PREFIX/$LIB_LINK0
  60. sudo rm -f $LIB_PREFIX/$LIB_LINK1
  61. sudo rm -f $LIB_PREFIX/$LIB_TARGET
  62. sudo rm -f "$INC_PREFIX/gfanet.h" "$INC_PREFIX/interfaces.h" "$INC_PREFIX/inet4s.h" "$INC_PREFIX/inet4d.h" "$INC_PREFIX/inet4m.h"
  63. fi
  64. if [ "$COMMAND" == "install" ]; then
  65. sudo cp $LIB_NAME $LIB_PREFIX/$LIB_TARGET
  66. sudo ln -s $LIB_PREFIX/$LIB_TARGET $LIB_PREFIX/$LIB_LINK0
  67. sudo ln -s $LIB_PREFIX/$LIB_TARGET $LIB_PREFIX/$LIB_LINK1
  68. sudo cp -f "$SRC_DIR/gfanet.h" "$SRC_DIR/interfaces.h" "$SRC_DIR/inet4s.h" "$SRC_DIR/inet4d.h" "$SRC_DIR/inet4m.h" "$INC_PREFIX"
  69. fi