PageRenderTime 296ms CodeModel.GetById 283ms RepoModel.GetById 0ms app.codeStats 0ms

/install/script/install.sh

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/
Shell | 132 lines | 120 code | 3 blank | 9 comment | 0 complexity | 74447aa4f24a24193d06e04a53484c57 MD5 | raw file
Possible License(s): LGPL-3.0, Apache-2.0, GPL-3.0, GPL-2.0, AGPL-3.0, JSON, BSD-3-Clause
  1. #!/bin/bash
  2. #
  3. #Einstellen des Programmverzeichnisses
  4. unset PROGRAM_DIR
  5. #wenn root installiert, dann /usr/local/bin/
  6. #wenn user installiert, dann ~/bin/
  7. #wenn es wo anders hin soll, dann in der folgenden Zeile anders eintragen
  8. #PROGRAM_DIR=""
  9. #
  10. #######################
  11. MSG2="Java exec found in "
  12. MSG3="OOPS, your java version is too old "
  13. MSG4="You need to upgrade to JRE 1.6.x or newer from http://java.sun.com"
  14. MSG5="Java version found: "
  15. MSG6="Java version ok.."
  16. MSG7="OOPS, you don't seem to have a valid JRE "
  17. MSG8="OOPS, unable to locate java exec in "
  18. MSG9=" hierarchy"
  19. MSG10="Java exec not found in PATH, starting search.."
  20. MSG11="Java exec found in PATH. Verifying.."
  21. JARNAME="yabs.jar"
  22. SAVEIFS=$IFS
  23. IFS=$(echo -en "\n\b")
  24. look_for_java()
  25. {
  26. JAVADIR=/usr/java
  27. IFS=$'\n'
  28. potential_java_dirs=(`ls -1 "$JAVADIR" | sort | tac`)
  29. IFS=
  30. for D in "${potential_java_dirs[@]}"; do
  31. if [[ -d "$JAVADIR/$D" && -x "$JAVADIR/$D/bin/java" ]]; then
  32. JAVA_PROGRAM_DIR="$JAVADIR/$D/bin/"
  33. echo $MSG2 $JAVA_PROGRAM_DIR
  34. if check_version ; then
  35. return 0
  36. else
  37. return 1
  38. fi
  39. fi
  40. done
  41. echo $MSG8 "${JAVADIR}/" $MSG9 ; echo $MSG4
  42. return 1
  43. }
  44. check_version()
  45. {
  46. JAVA_HEADER=`${JAVA_PROGRAM_DIR}java -version 2>&1 | head -n 1`
  47. JAVA_IYABSL=`echo ${JAVA_HEADER} | cut -f1 -d' '`
  48. VERSION=`echo ${JAVA_HEADER} | sed "s/java version \"\(.*\)\"/\1/"`
  49. if echo $VERSION | grep "^1.[0-5]" ; then
  50. echo $MSG3 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG4
  51. return 1
  52. else
  53. echo $MSG5 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG6
  54. return 0
  55. fi
  56. }
  57. # locate and test the java executable
  58. if [ "$JAVA_PROGRAM_DIR" = "" ]; then
  59. if ! command -v java &>/dev/null; then
  60. echo $MSG10
  61. if ! look_for_java ; then
  62. exit 1
  63. fi
  64. else
  65. echo $MSG11
  66. if ! check_version ; then
  67. if ! look_for_java ; then
  68. exit 1
  69. fi
  70. fi
  71. fi
  72. fi
  73. # get the app dir
  74. if [ "$PROGRAM_DIR" = "" ]
  75. then
  76. if [ $(id -u) -eq 0 ]
  77. then PROGRAM_DIR=/usr/local/bin
  78. fi
  79. else
  80. PROGRAM_DIR=$HOME/bin
  81. fi
  82. #Programmpfad zusammenbauen
  83. YABS=$PROGRAM_DIR/YaBS
  84. mkdir -p $YABS
  85. cp -r * $YABS
  86. echo "Program directory: ${YABS}"
  87. # build the classpath
  88. for FILE in ${YABS}/*.jar; do
  89. CLASSPATH="${CLASSPATH:+${CLASSPATH}:}$FILE"
  90. done
  91. IFS=$SAVEIFS
  92. echo "#!/bin/bash" > yabs.sh
  93. echo "CLASSPATH=${CLASSPATH}" >> yabs.sh
  94. echo "IFS=$SAVEIFS" >> yabs.sh
  95. echo "${JAVA_PROGRAM_DIR}java -jar $YABS/$JARNAME $1 $2 $3 $4 $5 $6" >> yabs.sh
  96. chmod +x yabs.sh
  97. mv yabs.sh $YABS
  98. pushd . > /dev/null
  99. cd $PROGRAM_DIR
  100. ln -s YaBS/yabs.sh yabs
  101. popd > /dev/null
  102. echo "Installation beendet. Programmstart mit 'yabs'"
  103. sync