Commit e7abd33dd54c65d36711f281d5ebcdbc3b9fe1a4

Authored by Eduardo Lúcio Amorim Costa
1 parent dc6ca0f3
Exists in master

Correção de vários bugs! Agora instalável no RedHat 6.X (ou baseado/CentOS 6.X),…

… Debian 8 (ou baseado/Ubuntu Server 14.X) e SUSE 12.X (ou baseado/openSUSE 13.X)! By Questor
.directory 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +[Dolphin]
  2 +PreviewsShown=true
  3 +Timestamp=2016,5,13,18,0,28
  4 +Version=3
  5 +ViewMode=1
  6 +
  7 +[Settings]
  8 +HiddenFilesShown=true
LBConverter.tar.gz 100755 → 100644
No preview for this file type
@@ -273,8 +273,9 @@ f_pack_is_inst() { @@ -273,8 +273,9 @@ f_pack_is_inst() {
273 273
274 Args: 274 Args:
275 PACKAGE_NM_P (str): Nome do pacote. 275 PACKAGE_NM_P (str): Nome do pacote.
276 - PACK_MANAG (str): Tipo de gerenciador de pacotes. Apenas yum é  
277 - suportado. Em caso diverso o script exibe erro e para. 276 + PACK_MANAG (str): Tipo de gerenciador de pacotes. "yum",
  277 + "apt-get" e "zypper" são suportados. Em caso diverso o script
  278 + exibe erro e para.
278 EXIST_MSG_P (Optional[str]): Mensagem a ser exibida se o 279 EXIST_MSG_P (Optional[str]): Mensagem a ser exibida se o
279 pacote já estiver instalado. Se vazio ou não informado não será 280 pacote já estiver instalado. Se vazio ou não informado não será
280 exibida mensagem. 281 exibida mensagem.
@@ -309,6 +310,30 @@ f_pack_is_inst() { @@ -309,6 +310,30 @@ f_pack_is_inst() {
309 else 310 else
310 F_PACK_IS_INST_R=0 311 F_PACK_IS_INST_R=0
311 fi 312 fi
  313 + elif [ "$PACK_MANAG" == "apt-get" ] ; then
  314 + if dpkg -s "$PACKAGE_NM_P" &> /dev/null; then
  315 + if [ ${SKIP_MSG_P} -eq 0 ] && [ ! -z "$EXIST_MSG_P" ] ; then
  316 + f_div_section
  317 + echo "$EXIST_MSG_P"
  318 + f_div_section
  319 + f_enter_to_cont
  320 + fi
  321 + F_PACK_IS_INST_R=1
  322 + else
  323 + F_PACK_IS_INST_R=0
  324 + fi
  325 + elif [ "$PACK_MANAG" == "zypper" ] ; then
  326 + if zypper se -i --match-word "$PACKAGE_NM_P" > /dev/null 2>&1; then
  327 + if [ ${SKIP_MSG_P} -eq 0 ] && [ ! -z "$EXIST_MSG_P" ] ; then
  328 + f_div_section
  329 + echo "$EXIST_MSG_P"
  330 + f_div_section
  331 + f_enter_to_cont
  332 + fi
  333 + F_PACK_IS_INST_R=1
  334 + else
  335 + F_PACK_IS_INST_R=0
  336 + fi
312 else 337 else
313 f_div_section 338 f_div_section
314 echo "ERROR! Not implemented for \"$PACK_MANAG\"!" 339 echo "ERROR! Not implemented for \"$PACK_MANAG\"!"
@@ -462,6 +487,7 @@ f_is_not_running() { @@ -462,6 +487,7 @@ f_is_not_running() {
462 CHK_INVERT=0 487 CHK_INVERT=0
463 fi 488 fi
464 F_IS_NOT_RUNNING_R=0 489 F_IS_NOT_RUNNING_R=0
  490 +
465 # NOTE: A verificação "grep -v grep" é para que ele não dê positivo 491 # NOTE: A verificação "grep -v grep" é para que ele não dê positivo
466 # para o próprio comando grep! By Questor 492 # para o próprio comando grep! By Questor
467 F_IS_NOT_RUNNING_R=0 493 F_IS_NOT_RUNNING_R=0
@@ -484,6 +510,7 @@ f_is_not_running() { @@ -484,6 +510,7 @@ f_is_not_running() {
484 510
485 F_GET_STDERR_R="" 511 F_GET_STDERR_R=""
486 F_GET_STDOUT_R="" 512 F_GET_STDOUT_R=""
  513 +F_GET_EXIT_CODE_R=0
487 f_get_stderr_stdout() { 514 f_get_stderr_stdout() {
488 : 'Executar um comando e colocar a saída de stderr e stdout nas 515 : 'Executar um comando e colocar a saída de stderr e stdout nas
489 variáveis "F_GET_STDERR_R" e "F_GET_STDOUT_R"!. 516 variáveis "F_GET_STDERR_R" e "F_GET_STDOUT_R"!.
@@ -499,8 +526,9 @@ f_get_stderr_stdout() { @@ -499,8 +526,9 @@ f_get_stderr_stdout() {
499 CMD_TO_EXEC=$1 526 CMD_TO_EXEC=$1
500 F_GET_STDERR_R="" 527 F_GET_STDERR_R=""
501 F_GET_STDOUT_R="" 528 F_GET_STDOUT_R=""
502 - unset t_std t_err  
503 - eval "$( eval "$CMD_TO_EXEC" 2> >(t_err=$(cat); typeset -p t_err) > >(t_std=$(cat); typeset -p t_std) )" 529 + unset t_std t_err t_ret
  530 + eval "$( eval "$CMD_TO_EXEC" 2> >(t_err=$(cat); typeset -p t_err) > >(t_std=$(cat); typeset -p t_std); t_ret=$?; typeset -p t_ret )"
  531 + F_GET_EXIT_CODE_R=$t_ret
504 F_GET_STDERR_R=$t_err 532 F_GET_STDERR_R=$t_err
505 F_GET_STDOUT_R=$t_std 533 F_GET_STDOUT_R=$t_std
506 } 534 }
@@ -536,7 +564,6 @@ f_ez_mv_bak() { @@ -536,7 +564,6 @@ f_ez_mv_bak() {
536 SKIP_MSG_P=1 564 SKIP_MSG_P=1
537 fi 565 fi
538 566
539 -  
540 MK_BAK=1 567 MK_BAK=1
541 F_BAK_PATH_R="" 568 F_BAK_PATH_R=""
542 F_BAK_NAME_R="" 569 F_BAK_NAME_R=""
@@ -565,6 +592,8 @@ f_error_exit() { @@ -565,6 +592,8 @@ f_error_exit() {
565 ERROR_CAUSE_P (Optional[str]): Causa do erro. 592 ERROR_CAUSE_P (Optional[str]): Causa do erro.
566 ' 593 '
567 594
  595 + EZ_I_S_ON_HOLDER=$EZ_I_SKIP_ON_V
  596 + EZ_I_SKIP_ON_V=0
568 ERROR_CAUSE_P=$1 597 ERROR_CAUSE_P=$1
569 echo 598 echo
570 f_open_section "E R R O R !" 599 f_open_section "E R R O R !"
@@ -575,9 +604,40 @@ f_error_exit() { @@ -575,9 +604,40 @@ f_error_exit() {
575 echo "$ERROR_MSG_NOW_P" 604 echo "$ERROR_MSG_NOW_P"
576 echo 605 echo
577 f_close_section 606 f_close_section
  607 + EZ_I_SKIP_ON_V=$EZ_I_S_ON_HOLDER
578 exit 1 608 exit 1
579 } 609 }
580 610
  611 +f_warning_msg() {
  612 + : '"Printa" uma mensagem de aviso.
  613 +
  614 + Args:
  615 + WARNING_P (str): aviso.
  616 + ASK_FOR_CONT_P (Optional[int]): 1 - Checa se o usuário deseja
  617 + continuar com a instalação; 0 - Solicita que pressione "enter".
  618 + Padrão 0.
  619 + '
  620 +
  621 + EZ_I_S_ON_HOLDER=$EZ_I_SKIP_ON_V
  622 + EZ_I_SKIP_ON_V=0
  623 + WARNING_P=$1
  624 + ASK_FOR_CONT_P=$2
  625 + if [ -z "$ASK_FOR_CONT_P" ] ; then
  626 + ASK_FOR_CONT_P=0
  627 + fi
  628 + echo
  629 + f_open_section "W A R N I N G !"
  630 + echo "$WARNING_P"
  631 + echo
  632 + f_close_section
  633 + if [ ${ASK_FOR_CONT_P} -eq 0 ] ; then
  634 + f_enter_to_cont
  635 + else
  636 + f_continue
  637 + fi
  638 + EZ_I_SKIP_ON_V=$EZ_I_S_ON_HOLDER
  639 +}
  640 +
581 f_continue() { 641 f_continue() {
582 : 'Questionar ao usuário se deseja continuar ou parar a instalação. 642 : 'Questionar ao usuário se deseja continuar ou parar a instalação.
583 643
@@ -600,8 +660,343 @@ f_continue() { @@ -600,8 +660,343 @@ f_continue() {
600 fi 660 fi
601 } 661 }
602 662
  663 +F_SPLIT_R=()
  664 +f_split() {
  665 + : 'Faz "split" em uma dada string e devolve um array.
603 666
604 -# < -------------------------------------------------------------------------- 667 + Args:
  668 + TARGET_P (str): String alvo do "split".
  669 + DELIMITER_P (Optional[str]): Delimitador usado no "split".
  670 + Se não informado o split vai ser feito por espaços em branco.
  671 +
  672 + Returns:
  673 + F_SPLIT_R (array): Array com a string fornecida separada pelo
  674 + delimitador informado.
  675 + '
  676 +
  677 + F_SPLIT_R=()
  678 + TARGET_P=$1
  679 + DELIMITER_P=$2
  680 + if [ -z "$DELIMITER_P" ] ; then
  681 + DELIMITER_P=" "
  682 + fi
  683 +
  684 + REMOVE_N=1
  685 + if [ "$DELIMITER_P" == "\n" ] ; then
  686 + REMOVE_N=0
  687 + fi
  688 +
  689 + if [ ${REMOVE_N} -eq 1 ] ; then
  690 +
  691 + # NOTE: Devido a limitações do bash temos alguns problemas para
  692 + # poder obter a saída de um split via awk dentro de um array e
  693 + # por isso precisamos do uso da "quebra de linha" (\n) para
  694 + # termos sucesso! Visto isso, removemos as quebras de linha
  695 + # momentaneamente depois as reintegramos! By Questor
  696 + TARGET_P=$(echo "$TARGET_P" | awk 'BEGIN {RS="dn" } {gsub("\n","£§¢¬¨") ;printf $0 }')
  697 + fi
  698 +
  699 + SPLIT_NOW=$(awk -F"$DELIMITER_P" '{for(i=1;i<=NF;i++){printf "%s\n", $i}}' <<<"${TARGET_P}")
  700 +
  701 + while IFS= read -r LINE_NOW; do
  702 + if [ ${REMOVE_N} -eq 1 ] ; then
  703 + LN_NOW_WITH_N=$(awk 'BEGIN {RS="dn"} {gsub("£§¢¬¨","\n") ;printf $0 }' <<<"${LINE_NOW}")
  704 + F_SPLIT_R+=("$LN_NOW_WITH_N")
  705 + else
  706 + F_SPLIT_R+=("$LINE_NOW")
  707 + fi
  708 + done <<< "$SPLIT_NOW"
  709 +}
  710 +
  711 +F_ABOUT_DISTRO_R=()
  712 +f_about_distro() {
  713 + : 'Obter informações sobre a distro.
  714 +
  715 + Returns:
  716 + F_ABOUT_DISTRO_R (array): Array com informações sobre a
  717 + distro na seguinte ordem: NAME, VERSION, BASED e ARCH.
  718 + '
  719 +
  720 + F_ABOUT_DISTRO_R=()
  721 + f_get_stderr_stdout "cat /etc/*-release"
  722 + ABOUT_INFO=$F_GET_STDOUT_R
  723 +
  724 + if [[ $ABOUT_INFO == *"ID=debian"* ]] ; then
  725 + f_split "$ABOUT_INFO" "\n"
  726 + F_SPLIT_R_0=("${F_SPLIT_R[@]}")
  727 + TOTAL_0=${#F_SPLIT_R_0[*]}
  728 + for (( i=0; i<=$(( $TOTAL_0 -1 )); i++ )) ; do
  729 + f_split "${F_SPLIT_R_0[$i]}" "="
  730 + F_SPLIT_R_1=("${F_SPLIT_R[@]}")
  731 + TOTAL_1=${#F_SPLIT_R_1[*]}
  732 + for (( o=0; o<=$(( $TOTAL_1 -1 )); o++ )) ; do
  733 + p=$[$o+1]
  734 + case "${F_SPLIT_R_1[$o]}" in
  735 + "NAME")
  736 + f_split "${F_SPLIT_R_1[$p]}" "\""
  737 + F_SPLIT_R_2=("${F_SPLIT_R[@]}")
  738 + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_2[1]}")
  739 + ;;
  740 + "VERSION_ID")
  741 + f_split "${F_SPLIT_R_1[$p]}" "\""
  742 + F_SPLIT_R_3=("${F_SPLIT_R[@]}")
  743 + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_3[1]}")
  744 + ;;
  745 + *)
  746 +
  747 + ;;
  748 + esac
  749 + done
  750 + done
  751 + F_ABOUT_DISTRO_R+=("Debian")
  752 + elif [[ $ABOUT_INFO == *"ID=\"sles\""* ]] ; then
  753 + f_split "$ABOUT_INFO" "\n"
  754 + F_SPLIT_R_0=("${F_SPLIT_R[@]}")
  755 + TOTAL_0=${#F_SPLIT_R_0[*]}
  756 + for (( i=0; i<=$(( $TOTAL_0 -1 )); i++ )) ; do
  757 + f_split "${F_SPLIT_R_0[$i]}" "="
  758 + F_SPLIT_R_1=("${F_SPLIT_R[@]}")
  759 + TOTAL_1=${#F_SPLIT_R_1[*]}
  760 + for (( o=0; o<=$(( $TOTAL_1 -1 )); o++ )) ; do
  761 + p=$[$o+1]
  762 + case "${F_SPLIT_R_1[$o]}" in
  763 + "NAME")
  764 + f_split "${F_SPLIT_R_1[$p]}" "\""
  765 + F_SPLIT_R_2=("${F_SPLIT_R[@]}")
  766 + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_2[1]}")
  767 + ;;
  768 + "VERSION_ID")
  769 + f_split "${F_SPLIT_R_1[$p]}" "\""
  770 + F_SPLIT_R_3=("${F_SPLIT_R[@]}")
  771 + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_3[1]}")
  772 + ;;
  773 + *)
  774 +
  775 + ;;
  776 + esac
  777 + done
  778 + done
  779 + F_ABOUT_DISTRO_R+=("Suse")
  780 + elif [[ $ABOUT_INFO == *"ID=opensuse"* ]] ||
  781 + [[ $ABOUT_INFO == *"ID_LIKE=\"suse\""* ]] ; then
  782 + f_split "$ABOUT_INFO" "\n"
  783 + F_SPLIT_R_0=("${F_SPLIT_R[@]}")
  784 + TOTAL_0=${#F_SPLIT_R_0[*]}
  785 + for (( i=0; i<=$(( $TOTAL_0 -1 )); i++ )) ; do
  786 + f_split "${F_SPLIT_R_0[$i]}" "="
  787 + F_SPLIT_R_1=("${F_SPLIT_R[@]}")
  788 + TOTAL_1=${#F_SPLIT_R_1[*]}
  789 + for (( o=0; o<=$(( $TOTAL_1 -1 )); o++ )) ; do
  790 + p=$[$o+1]
  791 + case "${F_SPLIT_R_1[$o]}" in
  792 + "NAME")
  793 + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[$p]}")
  794 + ;;
  795 + "VERSION_ID")
  796 + f_split "${F_SPLIT_R_1[$p]}" "\""
  797 + F_SPLIT_R_3=("${F_SPLIT_R[@]}")
  798 + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_3[1]}")
  799 + ;;
  800 + *)
  801 +
  802 + ;;
  803 + esac
  804 + done
  805 + done
  806 + F_ABOUT_DISTRO_R+=("Suse")
  807 + elif [[ $ABOUT_INFO == *"DISTRIB_ID=Ubuntu"* ]] ||
  808 + [[ $ABOUT_INFO == *"ID_LIKE=debian"* ]] ; then
  809 + f_split "$ABOUT_INFO" "\n"
  810 + F_SPLIT_R_0=("${F_SPLIT_R[@]}")
  811 + TOTAL_0=${#F_SPLIT_R_0[*]}
  812 + for (( i=0; i<=$(( $TOTAL_0 -1 )); i++ )) ; do
  813 + f_split "${F_SPLIT_R_0[$i]}" "="
  814 + F_SPLIT_R_1=("${F_SPLIT_R[@]}")
  815 + TOTAL_1=${#F_SPLIT_R_1[*]}
  816 + for (( o=0; o<=$(( $TOTAL_1 -1 )); o++ )) ; do
  817 + p=$[$o+1]
  818 + case "${F_SPLIT_R_1[$o]}" in
  819 + "DISTRIB_ID")
  820 + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[$p]}")
  821 + ;;
  822 + "DISTRIB_RELEASE")
  823 + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[$p]}")
  824 + ;;
  825 + *)
  826 +
  827 + ;;
  828 + esac
  829 + done
  830 + done
  831 + F_ABOUT_DISTRO_R+=("Debian")
  832 + elif [[ $ABOUT_INFO == *"CentOS release "* ]] ; then
  833 + f_split "$ABOUT_INFO" "\n"
  834 + F_SPLIT_R_0=("${F_SPLIT_R[1]}")
  835 + f_split "${F_SPLIT_R_0[0]}" " "
  836 + F_SPLIT_R_1=("${F_SPLIT_R[@]}")
  837 + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[0]}")
  838 + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[2]}")
  839 + F_ABOUT_DISTRO_R+=("RedHat")
  840 + elif [[ $ABOUT_INFO == *"Red Hat Enterprise Linux Server release "* ]] ; then
  841 + f_split "$ABOUT_INFO" "\n"
  842 + F_SPLIT_R_0=("${F_SPLIT_R[1]}")
  843 + f_split "${F_SPLIT_R_0[0]}" " "
  844 + F_SPLIT_R_1=("${F_SPLIT_R[@]}")
  845 + F_ABOUT_DISTRO_R+=("Red Hat Enterprise Linux Server")
  846 + F_ABOUT_DISTRO_R+=("${F_SPLIT_R_1[6]}")
  847 + F_ABOUT_DISTRO_R+=("RedHat")
  848 + else
  849 + F_ABOUT_DISTRO_R+=("Unknown")
  850 + F_ABOUT_DISTRO_R+=("Unknown")
  851 + F_ABOUT_DISTRO_R+=("Unknown")
  852 + fi
  853 + F_ABOUT_DISTRO_R+=($(arch))
  854 +}
  855 +
  856 +F_IS_ROOT_R=1
  857 +f_is_root() {
  858 + : 'Checar se o usuário é root.
  859 +
  860 + Args:
  861 + CHK_ONLY_P (Optional[int]): 1 - Apenas verifica e retorna o
  862 + resultado; 0 - Se não for root emite erro e encerra a execução.
  863 + Padrão 0.
  864 +
  865 + Returns:
  866 + F_IS_ROOT_R (int): 1 - É root; 0 - Não é root.
  867 + '
  868 +
  869 + CHK_ONLY_P=$1
  870 + if [ -z "$CHK_ONLY_P" ] ; then
  871 + CHK_ONLY_P=0
  872 + fi
  873 +
  874 + F_IS_ROOT_R=1
  875 + if [[ $EUID -ne 0 ]]; then
  876 + f_enter_to_cont "ERROR! You need to be root!"
  877 + F_IS_ROOT_R=0
  878 + if [ ${CHK_ONLY_P} -eq 0 ] ; then
  879 + f_error_exit
  880 + fi
  881 + fi
  882 +}
  883 +
  884 +F_CHK_DISTRO_STATUS_R=""
  885 +f_chk_distro_status() {
  886 + : 'Verifica se a distro informada está subscrita e/ou registrada
  887 + e/ou ativa perante os recursos informados.
  888 +
  889 + Args:
  890 + DISTRO_NAME_P (str): Nome da distro sobre a qual será executada
  891 + verificação.
  892 + RESOURCES_ARR_P (str): Array com a lista de recursos a serem
  893 + verificados na distro alvo.
  894 +
  895 + Returns:
  896 + F_CHK_DISTRO_STATUS_R (str): Possui a saída do comando de
  897 + verificação executado.
  898 + '
  899 +
  900 + F_CHECK_RHEL_R=""
  901 + DISTRO_NAME_P=$1
  902 + RESOURCES_ARR_P=("${!2}")
  903 + TOTAL_2=${#RESOURCES_ARR_P[*]}
  904 +
  905 + RES_OK_ARR=()
  906 + REDHAT_ACTV=0
  907 +
  908 + CHK_RES_CMD=""
  909 + if [ "$DISTRO_NAME_P" == "RedHat" ] ; then
  910 + CHK_RES_CMD="subscription-manager list --consumed"
  911 + f_get_stderr_stdout "$CHK_RES_CMD"
  912 + f_split "$F_GET_STDOUT_R" "Subscription Name:"
  913 + elif [ "$DISTRO_NAME_P" == "SLES" ] ; then
  914 + CHK_RES_CMD="zypper sl"
  915 + f_get_stderr_stdout "$CHK_RES_CMD"
  916 + f_split "$F_GET_STDOUT_R" "\n"
  917 + fi
  918 +
  919 + F_SPLIT_R_0=("${F_SPLIT_R[@]}")
  920 + TOTAL_0=${#F_SPLIT_R_0[*]}
  921 + for (( i=0; i<=$(( $TOTAL_0 -1 )); i++ )) ; do
  922 + if [[ "$DISTRO_NAME_P" == "RedHat" ]] ; then
  923 + f_split "${F_SPLIT_R_0[$i]}" "\n"
  924 + F_SPLIT_R_1=("${F_SPLIT_R[@]}")
  925 + TOTAL_1=${#F_SPLIT_R_1[*]}
  926 + CHK_ACTV=0
  927 + for (( o=0; o<=$(( $TOTAL_1 -1 )); o++ )) ; do
  928 + if [[ "${F_SPLIT_R_1[$o]}" == "Provides:"* ]] ; then
  929 + CHK_ACTV=1
  930 + fi
  931 + if [ ${CHK_ACTV} -eq 1 ] ; then
  932 + for (( w=0; w<=$(( $TOTAL_2 -1 )); w++ )) ; do
  933 + if [[ "${F_SPLIT_R_1[$o]}" == *"${RESOURCES_ARR_P[$w]}" ]] ; then
  934 + RES_OK_ARR+=($w)
  935 + break
  936 + fi
  937 + done
  938 + if [ ${REDHAT_ACTV} -eq 0 ] &&
  939 + [[ "${F_SPLIT_R_1[$o]}" == "Active:"* ]] &&
  940 + [[ "${F_SPLIT_R_1[$o]}" == *"True" ]] ; then
  941 + REDHAT_ACTV=1
  942 + fi
  943 + fi
  944 + done
  945 + elif [[ "$DISTRO_NAME_P" == "SLES" ]] ; then
  946 + REDHAT_ACTV=1
  947 + f_split "${F_SPLIT_R_0[$i]}" "|"
  948 + F_SPLIT_R_1=("${F_SPLIT_R[@]}")
  949 + for (( w=0; w<=$(( $TOTAL_2 -1 )); w++ )) ; do
  950 + if [[ "${F_SPLIT_R_1[1]}" == *"${RESOURCES_ARR_P[$w]}"* ]] ; then
  951 + if [[ "${F_SPLIT_R_1[3]}" == *"Yes"* ]] ; then
  952 + if [[ "${F_SPLIT_R_1[5]}" == *"Yes"* ]] ; then
  953 + RES_OK_ARR+=($w)
  954 + break
  955 + fi
  956 + fi
  957 + fi
  958 + done
  959 + fi
  960 + done
  961 +
  962 + WARNINGS_MSGS=()
  963 + TOTAL_3=${#RES_OK_ARR[*]}
  964 + for (( z=0; z<=$(( $TOTAL_2 -1 )); z++ )) ; do
  965 + RES_OK_NOW=1
  966 + for (( t=0; t<=$(( $TOTAL_3 -1 )); t++ )) ; do
  967 + if (( ${RES_OK_ARR[$t]} == $z )); then
  968 + RES_OK_NOW=0
  969 + break
  970 + fi
  971 + done
  972 + if (( $RES_OK_NOW == 1 )); then
  973 + WARNINGS_MSGS+=("$DISTRO_NAME_P does not have access to this resource: \"${RESOURCES_ARR_P[$z]}\".")
  974 + fi
  975 + done
  976 +
  977 + TOTAL_4=${#WARNINGS_MSGS[*]}
  978 + WAR_MSGS_STR=""
  979 + USE_NEWLINE=""
  980 + if [ ! $TOTAL_4 -eq 0 ] || [ $REDHAT_ACTV -eq 0 ]; then
  981 + WAR_MSGS_STR="SOME PROBLEM APPEAR TO HAVE BEEN DETECTED ON "
  982 + if [[ "$DISTRO_NAME_P" == "RedHat" ]] ; then
  983 + WAR_MSGS_STR+="REDHAT SUBSCRIPTION!"
  984 + elif [[ "$DISTRO_NAME_P" == "SLES" ]] ; then
  985 + WAR_MSGS_STR+="SLES REGISTRATION!"
  986 + fi
  987 + for (( y=0; y<=$(( $TOTAL_4 -1 )); y++ )) ; do
  988 + if (( $y == 0 )); then
  989 + WAR_MSGS_STR+=$'\n\n'
  990 + else
  991 + USE_NEWLINE=$'\n'
  992 + fi
  993 + WAR_MSGS_STR+="$USE_NEWLINE -> ${WARNINGS_MSGS[$y]}"
  994 + done
  995 + WAR_MSGS_STR+=$'\n\n'"FOR MORE INFORMATION TRY: \"$CHK_RES_CMD\"."
  996 + f_warning_msg "$WAR_MSGS_STR" 1
  997 + fi
  998 + F_CHK_DISTRO_STATUS_R=$F_GET_STDOUT_R
  999 +}
605 1000
606 # > -------------------------------------------------------------------------- 1001 # > --------------------------------------------------------------------------
607 # GRAFICO! 1002 # GRAFICO!
1 #!/bin/bash 1 #!/bin/bash
2 2
  3 +# > -----------------------------------------
  4 +# Run that script with bash even if the user use sh/dash or any sh like
  5 +# interpreter. This way it correctly works with either:
  6 +# "sh ./my_script.sh" or "bash ./my_script.sh" or "./my_script.sh"
  7 +
  8 +if [ -z "$BASH_VERSION" ]
  9 +then
  10 + exec bash "$0" "$@"
  11 +fi
  12 +
  13 +# < -----------------------------------------
  14 +
3 # NOTE: Evita problemas com caminhos relativos! By Questor 15 # NOTE: Evita problemas com caminhos relativos! By Questor
4 SCRIPTDIR_V="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 16 SCRIPTDIR_V="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
5 . $SCRIPTDIR_V/ez_i.sh 17 . $SCRIPTDIR_V/ez_i.sh
@@ -24,17 +36,27 @@ Have fun! =D @@ -24,17 +36,27 @@ Have fun! =D
24 EOF 36 EOF
25 37
26 read -d '' WARNINGS_F <<"EOF" 38 read -d '' WARNINGS_F <<"EOF"
27 -- Installer designed for CentOS 6 AMD64/RHEL 6 AMD64! 39 +- This installer is compatible with RHEL, SUSE, Debian or distributions
  40 +based on these.
28 41
29 - We RECOMMEND you... 42 - We RECOMMEND you...
30 Install all the components (answer yes to everything). Except 43 Install all the components (answer yes to everything). Except
31 contrary guidance! 44 contrary guidance!
32 Check for previous installations! If there is previous 45 Check for previous installations! If there is previous
33 installations consider this variant in the process! 46 installations consider this variant in the process!
  47 + Although this is not mandatory, do the installation process in an
  48 + exclusive machine for this.
  49 +
  50 +- We NOTICE you...
  51 + This installer assumes that the target distribution has a "standard
  52 + setup". This may include components such as firewall, SELinux
  53 + and others.
  54 +
34 - We WARNING you... 55 - We WARNING you...
35 - USE AT YOUR OWN RISK: WE ARE NOT RESPONSIBLE FOR ANY DAMAGE TO  
36 -YOURSELF, HARDWARE, OR CO-WORKERS. EXCEPT IN CASES WHERE THERE ARE  
37 -SIGNED CONTRACT THAT REGULATES THIS! 56 + THIS INSTALLER AND RESULTING PRODUCTS COMES WITH ABSOLUTELY NO WARRANTY!
  57 + USE AT YOUR OWN RISK! WE ARE NOT RESPONSIBLE FOR ANY DAMAGE TO YOURSELF,
  58 + HARDWARE, OR CO-WORKERS. EXCEPT IN CASES WHERE THERE ARE SIGNED CONTRACT
  59 + THAT REGULATES THIS!
38 EOF 60 EOF
39 61
40 read -d '' COMPANY_F <<"EOF" 62 read -d '' COMPANY_F <<"EOF"
@@ -54,7 +76,8 @@ WARNINGS_F=&quot;&quot; @@ -54,7 +76,8 @@ WARNINGS_F=&quot;&quot;
54 # -------------------------------------- 76 # --------------------------------------
55 77
56 read -d '' TERMS_LICEN_F <<"EOF" 78 read -d '' TERMS_LICEN_F <<"EOF"
57 -BY USING THIS INSTALLER YOU ARE AGREEING TO THE TERMS OF USE OF ALL INVOLVED SOFTWARE! 79 +BY USING THIS INSTALLER YOU ARE AGREEING TO THE TERMS OF USE OF ALL
  80 +INVOLVED SOFTWARE!
58 EOF 81 EOF
59 82
60 f_terms_licen "$TERMS_LICEN_F" 83 f_terms_licen "$TERMS_LICEN_F"
@@ -62,13 +85,18 @@ TERMS_LICEN_F=&quot;&quot; @@ -62,13 +85,18 @@ TERMS_LICEN_F=&quot;&quot;
62 85
63 # < -------------------------------------------------------------------------- 86 # < --------------------------------------------------------------------------
64 87
  88 +# > -----------------------------------------
  89 +# Checar se o usuário é root!
  90 +
  91 +f_is_root
  92 +
  93 +# < -----------------------------------------
  94 +
65 # > -------------------------------------------------------------------------- 95 # > --------------------------------------------------------------------------
66 # INTRUÇÕES! 96 # INTRUÇÕES!
67 # -------------------------------------- 97 # --------------------------------------
68 98
69 read -d '' INSTRUCT_F <<"EOF" 99 read -d '' INSTRUCT_F <<"EOF"
70 -- To run this script YOU NEED to be root!  
71 -  
72 - TO CANCEL installation at any time use Ctrl+c! 100 - TO CANCEL installation at any time use Ctrl+c!
73 EOF 101 EOF
74 102
@@ -77,6 +105,128 @@ INSTRUCT_F=&quot;&quot; @@ -77,6 +105,128 @@ INSTRUCT_F=&quot;&quot;
77 105
78 # < -------------------------------------------------------------------------- 106 # < --------------------------------------------------------------------------
79 107
  108 +DISTRO_TYPE=""
  109 +DISTRO_NAME=""
  110 +# > -----------------------------------------
  111 +# Checar se a distro é compatível!
  112 +
  113 +f_open_section
  114 +f_about_distro
  115 +f_div_section
  116 +echo "DISTRO INFORMATION:"
  117 +f_div_section
  118 +echo "NAME: .... ${F_ABOUT_DISTRO_R[0]}"
  119 +echo "VERSION: . ${F_ABOUT_DISTRO_R[1]}"
  120 +echo "BASED: ... ${F_ABOUT_DISTRO_R[2]}"
  121 +echo "ARCH: .... ${F_ABOUT_DISTRO_R[3]}"
  122 +f_div_section
  123 +
  124 +if [[ "${F_ABOUT_DISTRO_R[2]}" == "Debian" ]] || [[ "${F_ABOUT_DISTRO_R[2]}" == "RedHat" ]] ||
  125 + [[ "${F_ABOUT_DISTRO_R[2]}" == "Suse" ]] ; then
  126 + if [[ "${F_ABOUT_DISTRO_R[2]}" == "Debian" ]] ; then
  127 + DISTRO_TYPE="DEB"
  128 + if [[ "${F_ABOUT_DISTRO_R[0]}" == "Ubuntu" ]] ; then
  129 + DISTRO_NAME="Ubuntu"
  130 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "14.04" ]] ; then
  131 + f_div_section
  132 + f_yes_no "Linux version may be incompatible with this installer (expected: 14.04/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  133 + f_div_section
  134 + if [ ${YES_NO_R} -eq 0 ] ; then
  135 + exit 0
  136 + fi
  137 + fi
  138 + elif [[ "${F_ABOUT_DISTRO_R[0]}" == "Debian GNU/Linux" ]] ; then
  139 + DISTRO_NAME="Debian"
  140 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "8" ]] ; then
  141 + f_div_section
  142 + f_yes_no "Linux version may be incompatible with this installer (expected: 8/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  143 + f_div_section
  144 + if [ ${YES_NO_R} -eq 0 ] ; then
  145 + exit 0
  146 + fi
  147 + fi
  148 + else
  149 + f_div_section
  150 + f_yes_no "Linux distro may be incompatible with this installer (expected: Ubuntu or Debian/obtained: ${F_ABOUT_DISTRO_R[0]})! Continue?"
  151 + f_div_section
  152 + if [ ${YES_NO_R} -eq 0 ] ; then
  153 + exit 0
  154 + fi
  155 + fi
  156 + elif [[ "${F_ABOUT_DISTRO_R[2]}" == "RedHat" ]] ; then
  157 + DISTRO_TYPE="RH"
  158 + if [[ "${F_ABOUT_DISTRO_R[0]}" == "Red Hat Enterprise Linux Server" ]] ; then
  159 + DISTRO_NAME="RedHat"
  160 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "6."* ]] ; then
  161 + f_div_section
  162 + f_yes_no "Linux version may be incompatible with this installer (expected: 6.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  163 + f_div_section
  164 + if [ ${YES_NO_R} -eq 0 ] ; then
  165 + exit 0
  166 + fi
  167 + fi
  168 + elif [[ "${F_ABOUT_DISTRO_R[0]}" == "CentOS" ]] ; then
  169 + DISTRO_NAME="CentOS"
  170 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "6."* ]] ; then
  171 + f_div_section
  172 + f_yes_no "Linux version may be incompatible with this installer (expected: 6.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  173 + f_div_section
  174 + if [ ${YES_NO_R} -eq 0 ] ; then
  175 + exit 0
  176 + fi
  177 + fi
  178 + else
  179 + f_div_section
  180 + f_yes_no "Linux distro may be incompatible with this installer (expected: CentOS or Red Hat Enterprise Linux Server/obtained: ${F_ABOUT_DISTRO_R[0]})! Continue?"
  181 + f_div_section
  182 + if [ ${YES_NO_R} -eq 0 ] ; then
  183 + exit 0
  184 + fi
  185 + fi
  186 + elif [[ "${F_ABOUT_DISTRO_R[2]}" == "Suse" ]] ; then
  187 + DISTRO_TYPE="SUSE"
  188 + if [[ "${F_ABOUT_DISTRO_R[0]}" == "openSUSE" ]] ; then
  189 + DISTRO_NAME="openSUSE"
  190 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "13."* ]] ; then
  191 + f_div_section
  192 + f_yes_no "Linux version may be incompatible with this installer (expected: 13.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  193 + f_div_section
  194 + if [ ${YES_NO_R} -eq 0 ] ; then
  195 + exit 0
  196 + fi
  197 + fi
  198 + elif [[ "${F_ABOUT_DISTRO_R[0]}" == "SLES" ]] ; then
  199 + DISTRO_NAME="SLES"
  200 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "12."* ]] ; then
  201 + f_div_section
  202 + f_yes_no "Linux version may be incompatible with this installer (expected: 12.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  203 + f_div_section
  204 + if [ ${YES_NO_R} -eq 0 ] ; then
  205 + exit 0
  206 + fi
  207 + fi
  208 + else
  209 + f_div_section
  210 + f_yes_no "Linux distro may be incompatible with this installer (expected: openSUSE or SUSE Linux Enterprise Server/obtained: ${F_ABOUT_DISTRO_R[0]})! Continue?"
  211 + f_div_section
  212 + if [ ${YES_NO_R} -eq 0 ] ; then
  213 + exit 0
  214 + fi
  215 + fi
  216 + fi
  217 +
  218 + if [[ "${F_ABOUT_DISTRO_R[3]}" != "x86_64" ]] ; then
  219 + f_enter_to_cont "Linux architecture completely incompatible with this installer (expected: x86_64/obtained: ${F_ABOUT_DISTRO_R[3]})!"
  220 + exit 0
  221 + fi
  222 +else
  223 + f_enter_to_cont "Linux distro completely incompatible with this installer (expected: Debian(or based) or RedHat(or based) or SUSE(or based)/obtained: ${F_ABOUT_DISTRO_R[2]})!"
  224 + exit 0
  225 +fi
  226 +f_close_section
  227 +
  228 +# < -----------------------------------------
  229 +
80 # > ----------------------------------------- 230 # > -----------------------------------------
81 # Dá ao usuário mais avançado a possibilideade de usar o instalador 231 # Dá ao usuário mais avançado a possibilideade de usar o instalador
82 # simplificado! 232 # simplificado!
@@ -86,7 +236,7 @@ INSTRUCT_F=&quot;&quot; @@ -86,7 +236,7 @@ INSTRUCT_F=&quot;&quot;
86 SIMPLE_INST=0 236 SIMPLE_INST=0
87 if [ ${SIMPLE_INST} -eq 0 ] ; then 237 if [ ${SIMPLE_INST} -eq 0 ] ; then
88 f_open_section 238 f_open_section
89 - f_yes_no "Use simple install (using a default value for most of the options)?" 239 + f_yes_no "Use simple install (use default values for most of the options)?"
90 if [ ${YES_NO_R} -eq 1 ] ; then 240 if [ ${YES_NO_R} -eq 1 ] ; then
91 241
92 # NOTE: Essa variável serve apenas para "preservar" o valor 242 # NOTE: Essa variável serve apenas para "preservar" o valor
@@ -111,48 +261,93 @@ fi @@ -111,48 +261,93 @@ fi
111 # Garantir o encodamento correto para evitar problemas de 261 # Garantir o encodamento correto para evitar problemas de
112 # compatibilidade! 262 # compatibilidade!
113 263
114 -EZ_I_SKIP_ON_V=$SIMPLE_INST  
115 -f_open_section  
116 -read -d '' TITLE_F <<"EOF"  
117 -Set terminal encode? (recommended for Windows terminal clients)  
118 -EOF  
119 -  
120 -f_yes_no "$TITLE_F"  
121 -TITLE_F=""  
122 -if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then  
123 - export LANG=pt_BR.utf8 264 +if [ ${SIMPLE_INST} -eq 0 ] ; then
  265 + EZ_I_SKIP_ON_V=$SIMPLE_INST
  266 + f_open_section
  267 + f_yes_no "Set terminal encode? (in some cases recommended for Windows ssh clients)"
  268 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  269 + export LANG=pt_BR.utf8
  270 + fi
  271 + f_close_section
124 fi 272 fi
125 -f_close_section  
126 273
127 # < ----------------------------------------- 274 # < -----------------------------------------
128 275
129 # > ----------------------------------------- 276 # > -----------------------------------------
130 # Desabilita o SElinux! 277 # Desabilita o SElinux!
131 278
132 -EZ_I_SKIP_ON_V=0  
133 -f_open_section  
134 -read -d '' TITLE_F <<"EOF"  
135 -Disable SElinux (use "y" if you never did it)?  
136 -EOF  
137 -  
138 -f_yes_no "$TITLE_F"  
139 -TITLE_F=""  
140 -if [ ${YES_NO_R} -eq 1 ] ; then  
141 - setenforce 0  
142 -  
143 - # NOTE: As condições abaixo visam evitar que o arquivo seja  
144 - # desnecessariamente e erroneamente modificado! By Questor  
145 - EZ_I_SKIP_ON_V=$SIMPLE_INST  
146 - f_fl_cont_str "# SELINUX=enforcing" "/etc/sysconfig/selinux" "The file \"/etc/sysconfig/selinux\" probably has already been changed! Check it!" 279 +if [[ "$DISTRO_TYPE" == "RH" ]] ; then
147 EZ_I_SKIP_ON_V=0 280 EZ_I_SKIP_ON_V=0
148 - if [ ${FL_CONT_STR_R} -eq 0 ] ; then  
149 - f_fl_cont_str "SELINUX=disabled" "/etc/sysconfig/selinux" 281 + f_open_section
  282 + f_yes_no "Disable SElinux (use "y" if you never did it)?"
  283 + if [ ${YES_NO_R} -eq 1 ] ; then
  284 + setenforce 0
  285 +
  286 + # NOTE: As condições abaixo visam evitar que o arquivo seja
  287 + # desnecessariamente e erroneamente modificado! By Questor
  288 + EZ_I_SKIP_ON_V=$SIMPLE_INST
  289 + f_fl_cont_str "# SELINUX=enforcing" "/etc/sysconfig/selinux" "The file \"/etc/sysconfig/selinux\" probably has already been changed! Check it!"
  290 + EZ_I_SKIP_ON_V=0
150 if [ ${FL_CONT_STR_R} -eq 0 ] ; then 291 if [ ${FL_CONT_STR_R} -eq 0 ] ; then
151 - f_ez_sed "SELINUX=enforcing" "# SELINUX=enforcing\nSELINUX=disabled" "/etc/sysconfig/selinux" 292 + f_fl_cont_str "SELINUX=disabled" "/etc/sysconfig/selinux"
  293 + if [ ${FL_CONT_STR_R} -eq 0 ] ; then
  294 + f_ez_sed "SELINUX=enforcing" "# SELINUX=enforcing\nSELINUX=disabled" "/etc/sysconfig/selinux"
  295 + fi
152 fi 296 fi
153 fi 297 fi
  298 + f_close_section
  299 +fi
  300 +
  301 +# < -----------------------------------------
  302 +
  303 +# > -----------------------------------------
  304 +# Atualizar a distro (repositório)!
  305 +
  306 +EZ_I_SKIP_ON_V=$SIMPLE_INST
  307 +if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  308 + if [[ "$DISTRO_NAME" == "RedHat" ]] ; then
  309 + RESOURCES_ARR_P=("Red Hat Enterprise Linux Server")
  310 + f_chk_distro_status "$DISTRO_NAME" RESOURCES_ARR_P[@]
  311 + fi
  312 + f_div_section
  313 + f_yes_no "Update your distro? (\"y\" highly recommended)"
  314 + f_div_section
  315 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  316 + yum -y update
  317 + fi
  318 + f_pack_is_inst "git" "yum" "\"git\" already installed!"
  319 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  320 + yum -y install git
  321 + fi
  322 +elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  323 + f_div_section
  324 + f_yes_no "Update your distro? (\"y\" highly recommended)"
  325 + f_div_section
  326 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  327 + apt-get -y update
  328 + fi
  329 + f_pack_is_inst "git" "apt-get" "\"git\" already installed!"
  330 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  331 + apt-get -y install git
  332 + fi
  333 +elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  334 + if [[ "$DISTRO_NAME" == "SLES" ]] ; then
  335 + RESOURCES_ARR_P=("SUSE_Linux_Enterprise_Server_12_SP1_x86_64"
  336 +"SUSE_Linux_Enterprise_Software_Development_Kit_12_SP1_x86_64"
  337 +"Web_and_Scripting_Module_12_x86_64")
  338 + f_chk_distro_status "SLES" RESOURCES_ARR_P[@]
  339 + fi
  340 + f_div_section
  341 + f_yes_no "Update your distro? (\"y\" highly recommended)"
  342 + f_div_section
  343 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  344 + zypper --non-interactive update
  345 + fi
  346 + f_pack_is_inst "git-core" "zypper" "\"git-core\" already installed!"
  347 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  348 + zypper --non-interactive install git-core
  349 + fi
154 fi 350 fi
155 -f_close_section  
156 351
157 # < ----------------------------------------- 352 # < -----------------------------------------
158 353
@@ -184,24 +379,133 @@ f_close_section @@ -184,24 +379,133 @@ f_close_section
184 # < ----------------------------------------- 379 # < -----------------------------------------
185 380
186 # > ----------------------------------------- 381 # > -----------------------------------------
187 -# Instalar o virtualenv-1.11.6 no python2.6! 382 +# Instalar pacotes que são comuns a determinados componentes!
  383 +
  384 +F_COM_PKS_INSTALLED=0
  385 +f_common_packs() {
  386 + : 'Instalar pacotes que são comuns a determinados componentes.'
  387 +
  388 + if [ ${F_COM_PKS_INSTALLED} -eq 0 ] ; then
  389 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  390 + f_pack_is_inst "gcc-c++" "yum" "\"gcc-c++\" already installed!"
  391 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  392 + yum -y install gcc-c++
  393 + fi
  394 + f_pack_is_inst "autoconf" "yum" "\"autoconf\" already installed!"
  395 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  396 + yum -y install autoconf
  397 + fi
  398 + f_pack_is_inst "automake" "yum" "\"automake\" already installed!"
  399 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  400 + yum -y install automake
  401 + fi
  402 + f_pack_is_inst "libtool" "yum" "\"libtool\" already installed!"
  403 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  404 + yum -y install libtool
  405 + fi
  406 + f_pack_is_inst "zlib-devel" "yum" "\"zlib-devel\" already installed!"
  407 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  408 + yum -y install zlib-devel
  409 + fi
  410 + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  411 + f_pack_is_inst "g++" "apt-get" "\"g++\" already installed!"
  412 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  413 + apt-get -y install g++
  414 + fi
  415 + f_pack_is_inst "autoconf" "apt-get" "\"autoconf\" already installed!"
  416 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  417 + apt-get -y install autoconf
  418 + fi
  419 + f_pack_is_inst "make" "apt-get" "\"make\" already installed!"
  420 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  421 + apt-get -y install make
  422 + fi
  423 + f_pack_is_inst "libtool" "apt-get" "\"libtool\" already installed!"
  424 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  425 + apt-get -y install libtool
  426 + fi
  427 + f_pack_is_inst "zlib1g-dev" "apt-get" "\"zlib1g-dev\" already installed!"
  428 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  429 + apt-get -y install zlib1g-dev
  430 + fi
  431 + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  432 + f_pack_is_inst "gcc-c++" "zypper" "\"gcc-c++\" already installed!"
  433 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  434 + zypper --non-interactive install gcc-c++
  435 + fi
  436 + if [[ "$DISTRO_NAME" != "SLES" ]] ; then
  437 + f_pack_is_inst "autoconf" "zypper" "\"autoconf\" already installed!"
  438 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  439 + zypper --non-interactive install autoconf
  440 + fi
  441 + f_pack_is_inst "automake" "zypper" "\"automake\" already installed!"
  442 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  443 + zypper --non-interactive install automake
  444 + fi
  445 + f_pack_is_inst "make" "zypper" "\"make\" already installed!"
  446 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  447 + zypper --non-interactive install make
  448 + fi
  449 + f_pack_is_inst "libtool" "zypper" "\"libtool\" already installed!"
  450 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  451 + zypper --non-interactive install libtool
  452 + fi
  453 + fi
  454 + f_pack_is_inst "zlib-devel" "zypper" "\"zlib-devel\" already installed!"
  455 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  456 + zypper --non-interactive install zlib-devel
  457 + fi
  458 + fi
  459 + F_COM_PKS_INSTALLED=1
  460 + fi
  461 +}
188 462
  463 +# < -----------------------------------------
  464 +
  465 +# > -----------------------------------------
  466 +# Instalar o virtualenv-1.11.6 no python2.X!
  467 +
  468 +PYTHON_2_X=""
  469 +VE_2_X=""
  470 +if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  471 + PYTHON_2_X="2.6"
  472 + VE_2_X="ve26"
  473 +elif [[ "$DISTRO_TYPE" == "DEB" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  474 + PYTHON_2_X="2.7"
  475 + VE_2_X="ve27"
  476 +fi
189 EZ_I_SKIP_ON_V=$SIMPLE_INST 477 EZ_I_SKIP_ON_V=$SIMPLE_INST
190 f_open_section 478 f_open_section
191 -read -d '' TITLE_F <<"EOF"  
192 -Install virtualenv-1.11.6 on python2.6?  
193 -EOF  
194 -  
195 -f_yes_no "$TITLE_F"  
196 -TITLE_F="" 479 +f_yes_no "Install virtualenv-1.11.6 on python$PYTHON_2_X?"
197 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then 480 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
198 - f_chk_by_path_hlp "/usr/bin/virtualenv-2.6" "f" "virtualenv-1.11.6 already installed!" 481 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  482 + f_chk_by_path_hlp "/usr/bin/virtualenv-$PYTHON_2_X" "f" "virtualenv-1.11.6 already installed!"
  483 + elif [[ "$DISTRO_TYPE" == "DEB" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  484 + f_chk_by_path_hlp "/usr/local/bin/virtualenv-$PYTHON_2_X" "f" "virtualenv-1.11.6 already installed!"
  485 + fi
  486 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  487 + f_pack_is_inst "python-setuptools" "yum" "\"python-setuptools\" already installed!"
  488 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  489 + yum -y install python-setuptools
  490 + fi
  491 + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  492 + f_pack_is_inst "python-setuptools" "apt-get" "\"python-setuptools\" already installed!"
  493 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  494 + apt-get -y install python-setuptools
  495 + fi
  496 + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  497 + f_pack_is_inst "python-setuptools" "zypper" "\"python-setuptools\" already installed!"
  498 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  499 + zypper --non-interactive install python-setuptools
  500 + fi
  501 + fi
199 if [ ${F_CHK_BY_PATH_HLP_R} -eq 0 ] ; then 502 if [ ${F_CHK_BY_PATH_HLP_R} -eq 0 ] ; then
  503 + f_common_packs
200 cd "$SCRIPTDIR_V" 504 cd "$SCRIPTDIR_V"
201 cd ./other-srcs-n-apps 505 cd ./other-srcs-n-apps
202 tar -zxvf virtualenv-1.11.6.tar.gz 506 tar -zxvf virtualenv-1.11.6.tar.gz
203 cd virtualenv-1.11.6 507 cd virtualenv-1.11.6
204 - python2.6 setup.py install 508 + python$PYTHON_2_X setup.py install
205 cd .. 509 cd ..
206 rm -rf virtualenv-1.11.6 510 rm -rf virtualenv-1.11.6
207 fi 511 fi
@@ -211,18 +515,18 @@ f_close_section @@ -211,18 +515,18 @@ f_close_section
211 # < ----------------------------------------- 515 # < -----------------------------------------
212 516
213 # > ----------------------------------------- 517 # > -----------------------------------------
214 -# Criar o ambiente virtual (python2.6)! 518 +# Criar o ambiente virtual (python2.X)!
215 519
216 EZ_I_SKIP_ON_V=$SIMPLE_INST 520 EZ_I_SKIP_ON_V=$SIMPLE_INST
217 f_open_section 521 f_open_section
218 -f_enter_to_cont "Create the virtual environment (python2.6)!"  
219 -  
220 -f_chk_by_path_hlp "$BASE_INST_DIR_V/ve26" "d" "Virtual environment (python2.6) already created in \"$BASE_INST_DIR_V/ve26\"!" 522 +f_enter_to_cont "Create the virtual environment (python$PYTHON_2_X)!"
  523 +f_chk_by_path_hlp "$BASE_INST_DIR_V/$VE_2_X" "d" "Virtual environment (python$PYTHON_2_X) already created in \"$BASE_INST_DIR_V/$VE_2_X\"!"
221 if [ ${F_CHK_BY_PATH_HLP_R} -eq 0 ] ; then 524 if [ ${F_CHK_BY_PATH_HLP_R} -eq 0 ] ; then
  525 + f_common_packs
222 cd "$BASE_INST_DIR_V" 526 cd "$BASE_INST_DIR_V"
223 - virtualenv-2.6 ve26  
224 - mkdir "$BASE_INST_DIR_V/ve26/src"  
225 - f_enter_to_cont "Virtual environment created in \"$BASE_INST_DIR_V/ve26\"!" 527 + virtualenv-$PYTHON_2_X $VE_2_X
  528 + mkdir "$BASE_INST_DIR_V/$VE_2_X/src"
  529 + f_enter_to_cont "Virtual environment created in \"$BASE_INST_DIR_V/$VE_2_X\"!"
226 fi 530 fi
227 f_close_section 531 f_close_section
228 532
@@ -233,12 +537,19 @@ f_close_section @@ -233,12 +537,19 @@ f_close_section
233 537
234 EZ_I_SKIP_ON_V=$SIMPLE_INST 538 EZ_I_SKIP_ON_V=$SIMPLE_INST
235 f_open_section 539 f_open_section
236 -f_yes_no "Install catdoc, unzip and ImageMagick?"  
237 -TITLE_F="" 540 +INST_CATDOC_UNZIP_IMAGMAG=""
  541 +if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  542 + INST_CATDOC_UNZIP_IMAGMAG="Install catdoc, unzip and ImageMagick?"
  543 +elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  544 + INST_CATDOC_UNZIP_IMAGMAG="Install catdoc, unzip and ImageMagick?"
  545 +elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  546 + INST_CATDOC_UNZIP_IMAGMAG="Install catdoc and ImageMagick?"
  547 +fi
  548 +f_yes_no "$INST_CATDOC_UNZIP_IMAGMAG"
238 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then 549 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
239 550
240 UP_CATDOC=1 551 UP_CATDOC=1
241 - f_chk_by_path_hlp "$BASE_INST_DIR_V/ve26/lib/catdoc-0.94.2" "d" "catdoc-0.94.2 already installed in \"$BASE_INST_DIR_V/ve26/lib/catdoc-0.94.2\"!" 552 + f_chk_by_path_hlp "$BASE_INST_DIR_V/$VE_2_X/lib/catdoc-0.94.2" "d" "catdoc-0.94.2 already installed in \"$BASE_INST_DIR_V/$VE_2_X/lib/catdoc-0.94.2\"!"
242 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then 553 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then
243 if [ ${EZ_I_SKIP_ON_V} -eq 0 ] ; then 554 if [ ${EZ_I_SKIP_ON_V} -eq 0 ] ; then
244 f_div_section 555 f_div_section
@@ -246,30 +557,43 @@ if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then @@ -246,30 +557,43 @@ if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
246 f_div_section 557 f_div_section
247 UP_CATDOC=$YES_NO_R 558 UP_CATDOC=$YES_NO_R
248 if [ ${UP_CATDOC} -eq 1 ] ; then 559 if [ ${UP_CATDOC} -eq 1 ] ; then
249 - rm -rf "$BASE_INST_DIR_V/ve26/lib/catdoc-0.94.2" 560 + rm -rf "$BASE_INST_DIR_V/$VE_2_X/lib/catdoc-0.94.2"
250 fi 561 fi
251 fi 562 fi
252 fi 563 fi
253 if [ ${UP_CATDOC} -eq 1 ] ; then 564 if [ ${UP_CATDOC} -eq 1 ] ; then
254 -  
255 - f_pack_is_inst "gcc-c++" "yum" "\"gcc-c++\" already installed!"  
256 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
257 - yum -y install gcc-c++  
258 - fi  
259 - f_pack_is_inst "unzip" "yum" "\"unzip\" already installed!"  
260 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
261 - yum -y install unzip  
262 - fi  
263 - f_pack_is_inst "ImageMagick" "yum" "\"ImageMagick\" already installed!"  
264 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
265 - yum -y install ImageMagick 565 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  566 + f_common_packs
  567 + f_pack_is_inst "unzip" "yum" "\"unzip\" already installed!"
  568 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  569 + yum -y install unzip
  570 + fi
  571 + f_pack_is_inst "ImageMagick" "yum" "\"ImageMagick\" already installed!"
  572 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  573 + yum -y install ImageMagick
  574 + fi
  575 + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  576 + f_common_packs
  577 + f_pack_is_inst "unzip" "apt-get" "\"unzip\" already installed!"
  578 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  579 + apt-get -y install unzip
  580 + fi
  581 + f_pack_is_inst "imagemagick" "apt-get" "\"imagemagick\" already installed!"
  582 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  583 + apt-get -y install imagemagick
  584 + fi
  585 + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  586 + f_common_packs
  587 + f_pack_is_inst "ImageMagick" "zypper" "\"ImageMagick\" already installed!"
  588 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  589 + zypper --non-interactive install ImageMagick
  590 + fi
266 fi 591 fi
267 -  
268 cd "$SCRIPTDIR_V" 592 cd "$SCRIPTDIR_V"
269 cd ./other-srcs-n-apps 593 cd ./other-srcs-n-apps
270 tar -zxvf catdoc-0.94.2.tar.gz 594 tar -zxvf catdoc-0.94.2.tar.gz
271 - mv ./catdoc-0.94.2 $BASE_INST_DIR_V/ve26/lib  
272 - cd $BASE_INST_DIR_V/ve26/lib/catdoc-0.94.2 595 + mv ./catdoc-0.94.2 $BASE_INST_DIR_V/$VE_2_X/lib
  596 + cd $BASE_INST_DIR_V/$VE_2_X/lib/catdoc-0.94.2
273 ./configure 597 ./configure
274 make && make install 598 make && make install
275 fi 599 fi
@@ -284,7 +608,6 @@ f_close_section @@ -284,7 +608,6 @@ f_close_section
284 EZ_I_SKIP_ON_V=$SIMPLE_INST 608 EZ_I_SKIP_ON_V=$SIMPLE_INST
285 f_open_section 609 f_open_section
286 f_yes_no "Install tesseract-ocr-3.02.02?" 610 f_yes_no "Install tesseract-ocr-3.02.02?"
287 -TITLE_F=""  
288 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then 611 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
289 612
290 UP_TESSERACT_OCR=1 613 UP_TESSERACT_OCR=1
@@ -298,29 +621,88 @@ if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then @@ -298,29 +621,88 @@ if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
298 fi 621 fi
299 fi 622 fi
300 if [ ${UP_TESSERACT_OCR} -eq 1 ] ; then 623 if [ ${UP_TESSERACT_OCR} -eq 1 ] ; then
301 - f_pack_is_inst "libpng-devel" "yum" "\"libpng-devel\" already installed!"  
302 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
303 - yum -y install libpng-devel  
304 - fi  
305 - f_pack_is_inst "libjpeg-turbo-devel" "yum" "\"libjpeg-devel\" already installed!"  
306 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
307 - yum -y install libjpeg-devel  
308 - fi  
309 - f_pack_is_inst "libtiff-devel" "yum" "\"libtiff-devel\" already installed!"  
310 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
311 - yum -y install libtiff-devel  
312 - fi  
313 - f_pack_is_inst "libtool" "yum" "\"libtool\" already installed!"  
314 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
315 - yum -y install libtool  
316 - fi  
317 - f_pack_is_inst "automake" "yum" "\"automake\" already installed!"  
318 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
319 - yum -y install automake  
320 - fi  
321 - f_pack_is_inst "autoconf" "yum" "\"autoconf\" already installed!"  
322 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
323 - yum -y install autoconf 624 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  625 + f_common_packs
  626 + f_pack_is_inst "libpng12-devel" "yum" "\"libpng12-devel\" already installed!"
  627 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  628 + yum -y install libpng-devel
  629 + fi
  630 + f_pack_is_inst "libjpeg-turbo-devel" "yum" "\"libjpeg-turbo-devel\" already installed!"
  631 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  632 + yum -y install libjpeg-turbo-devel
  633 + fi
  634 + f_pack_is_inst "libtiff-devel" "yum" "\"libtiff-devel\" already installed!"
  635 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  636 + yum -y install libtiff-devel
  637 + fi
  638 + f_pack_is_inst "openjpeg-libs" "yum" "\"openjpeg-libs\" already installed!"
  639 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  640 + yum -y install openjpeg-libs
  641 + fi
  642 + f_pack_is_inst "giflib" "yum" "\"giflib\" already installed!"
  643 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  644 + yum -y install giflib
  645 + fi
  646 +
  647 + # NOTE: Esse pacote só existe no CentOS 7! By Questor
  648 + # f_pack_is_inst "libwebp-devel" "yum" "\"libwebp-devel\" already installed!"
  649 + # if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  650 + # yum -y install libwebp-devel
  651 + # fi
  652 + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  653 + f_common_packs
  654 + f_pack_is_inst "libpng-dev" "apt-get" "\"libpng-dev\" already installed!"
  655 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  656 + apt-get -y install libpng-dev
  657 + fi
  658 + f_pack_is_inst "libjpeg-dev" "apt-get" "\"libjpeg-dev\" already installed!"
  659 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  660 + apt-get -y install libjpeg-dev
  661 + fi
  662 + f_pack_is_inst "libtiff-dev" "apt-get" "\"libtiff-dev\" already installed!"
  663 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  664 + apt-get -y install libtiff-dev
  665 + fi
  666 + f_pack_is_inst "libopenjpeg2" "apt-get" "\"libopenjpeg2\" already installed!"
  667 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  668 + apt-get -y install libopenjpeg2
  669 + fi
  670 + f_pack_is_inst "libgif-dev" "apt-get" "\"libgif-dev\" already installed!"
  671 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  672 + apt-get -y install libgif-dev
  673 + fi
  674 + f_pack_is_inst "libwebp-dev" "apt-get" "\"libwebp-dev\" already installed!"
  675 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  676 + apt-get -y install libwebp-dev
  677 + fi
  678 + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  679 + f_common_packs
  680 + f_pack_is_inst "libpng-devel" "zypper" "\"libpng-devel\" already installed!"
  681 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  682 + zypper --non-interactive install libpng-devel
  683 + fi
  684 + f_pack_is_inst "libjpeg-devel" "zypper" "\"libjpeg-devel\" already installed!"
  685 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  686 + zypper --non-interactive install libjpeg-devel
  687 + fi
  688 + f_pack_is_inst "libtiff-devel" "zypper" "\"libtiff-devel\" already installed!"
  689 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  690 + zypper --non-interactive install libtiff-devel
  691 + fi
  692 + if [[ "$DISTRO_NAME" != "SLES" ]] ; then
  693 + f_pack_is_inst "libopenjp2-7" "zypper" "\"libopenjp2-7\" already installed!"
  694 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  695 + zypper --non-interactive install libopenjp2-7
  696 + fi
  697 + fi
  698 + f_pack_is_inst "libgif6" "zypper" "\"libgif6\" already installed!"
  699 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  700 + zypper --non-interactive install libgif6
  701 + fi
  702 + f_pack_is_inst "libwebp-devel" "zypper" "\"libwebp-devel\" already installed!"
  703 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  704 + zypper --non-interactive install libwebp-devel
  705 + fi
324 fi 706 fi
325 707
326 cd "$SCRIPTDIR_V" 708 cd "$SCRIPTDIR_V"
@@ -329,8 +711,9 @@ if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then @@ -329,8 +711,9 @@ if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
329 tar -zxvf leptonica-1.71.tar.gz 711 tar -zxvf leptonica-1.71.tar.gz
330 mv ./leptonica-1.71 /usr/local/lib 712 mv ./leptonica-1.71 /usr/local/lib
331 cd /usr/local/lib/leptonica-1.71 713 cd /usr/local/lib/leptonica-1.71
  714 + ./autobuild
332 ./configure 715 ./configure
333 - make && make install 716 + make -j 4 && make install
334 717
335 cd "$SCRIPTDIR_V" 718 cd "$SCRIPTDIR_V"
336 cd ./other-srcs-n-apps 719 cd ./other-srcs-n-apps
@@ -340,7 +723,7 @@ if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then @@ -340,7 +723,7 @@ if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
340 cd /usr/local/lib/tesseract-ocr 723 cd /usr/local/lib/tesseract-ocr
341 ./autogen.sh 724 ./autogen.sh
342 ./configure 725 ./configure
343 - make & make install 726 + make -j 4 && make install
344 ldconfig 727 ldconfig
345 728
346 cd "$SCRIPTDIR_V" 729 cd "$SCRIPTDIR_V"
@@ -359,11 +742,11 @@ f_close_section @@ -359,11 +742,11 @@ f_close_section
359 # < ----------------------------------------- 742 # < -----------------------------------------
360 743
361 # > ----------------------------------------- 744 # > -----------------------------------------
362 -# Instalar as dependências python2.6 da LBC - LBConverter! 745 +# Instalar as dependências python2.X da LBC - LBConverter!
363 746
364 EZ_I_SKIP_ON_V=$SIMPLE_INST 747 EZ_I_SKIP_ON_V=$SIMPLE_INST
365 cd "$SCRIPTDIR_V" 748 cd "$SCRIPTDIR_V"
366 -sh py-packs-LBConverter.sh "$EZ_I_SKIP_ON_V" "$BASE_INST_DIR_V" 749 +bash py-packs-LBConverter.sh "$EZ_I_SKIP_ON_V" "$BASE_INST_DIR_V" "$PYTHON_2_X" "$VE_2_X"
367 750
368 # < ----------------------------------------- 751 # < -----------------------------------------
369 752
@@ -374,34 +757,45 @@ HTTP_PORT_F=6544 @@ -374,34 +757,45 @@ HTTP_PORT_F=6544
374 EZ_I_SKIP_ON_V=$SIMPLE_INST 757 EZ_I_SKIP_ON_V=$SIMPLE_INST
375 f_open_section 758 f_open_section
376 f_yes_no "Install the LBC - LBConverter?" 759 f_yes_no "Install the LBC - LBConverter?"
377 -TITLE_F=""  
378 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then 760 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
379 761
380 - f_chk_by_path_hlp "$BASE_INST_DIR_V/ve26/src/LBConverter" "d" "\"LBConverter\" already installed in \"$BASE_INST_DIR_V/ve26/src\"!" 762 + f_chk_by_path_hlp "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter" "d" "\"LBConverter\" already installed in \"$BASE_INST_DIR_V/$VE_2_X/src\"!"
381 F_BAK_MD_R=1 763 F_BAK_MD_R=1
382 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then 764 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then
383 - f_ez_mv_bak "$BASE_INST_DIR_V/ve26/src/LBConverter" "Backup old version and update? (\"y\" recommended)" 765 + f_ez_mv_bak "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter" "Backup old version and update? (\"y\" recommended)"
384 fi 766 fi
385 if [ ${F_BAK_MD_R} -eq 1 ] ; then 767 if [ ${F_BAK_MD_R} -eq 1 ] ; then
386 -  
387 cd "$SCRIPTDIR_V" 768 cd "$SCRIPTDIR_V"
388 tar -zxvf LBConverter.tar.gz 769 tar -zxvf LBConverter.tar.gz
389 - mv "$SCRIPTDIR_V/LBConverter" "$BASE_INST_DIR_V/ve26/src/"  
390 - cd "$BASE_INST_DIR_V/ve26/src/LBConverter"  
391 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 770 + mv "$SCRIPTDIR_V/LBConverter" "$BASE_INST_DIR_V/$VE_2_X/src/"
  771 + cd "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter"
  772 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
392 773
393 f_enter_to_cont "Configure LBC - LBConverter!" 774 f_enter_to_cont "Configure LBC - LBConverter!"
394 - \cp "$BASE_INST_DIR_V/ve26/src/LBConverter/lbconverter-dist" "$BASE_INST_DIR_V/ve26/src/LBConverter/lbconverter-prov"  
395 - f_ez_sed "<LBCONVERTERMG_PATH>" "$BASE_INST_DIR_V/ve26/src/LBConverter/lbconvertermg" "$BASE_INST_DIR_V/ve26/src/LBConverter/lbconverter-prov" 775 + \cp "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/lbconverter-dist" "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/lbconverter-prov"
  776 +
  777 + if [[ "$DISTRO_TYPE" == "RH" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  778 + f_ez_sed "<LBI_SCRIPT_HEAD>" "# chkconfig: 2345 99 01\n# description: Esquema de inicialização do LBConverter\n# processname: lbconverter" "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/lbconverter-prov"
  779 + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  780 + f_ez_sed "<LBI_SCRIPT_HEAD>" "### BEGIN INIT INFO\n# Provides: lbconverter\n# Required-Start: \$remote_fs \$syslog\n# Required-Stop: \$remote_fs \$syslog\n# Default-Start: 2 3 4 5\n# Default-Stop: 0 1 6\n# Short-Description: Start daemon at boot time\n# Description: Enable service provided by daemon.\n### END INIT INFO" "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/lbconverter-prov"
  781 + fi
  782 +
  783 + f_ez_sed "<LBCONVERTERMG_PATH>" "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/lbconvertermg" "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/lbconverter-prov"
396 rm -rf "/etc/init.d/lbconverter" 784 rm -rf "/etc/init.d/lbconverter"
397 - mv "$BASE_INST_DIR_V/ve26/src/LBConverter/lbconverter-prov" "/etc/init.d/lbconverter" 785 + mv "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/lbconverter-prov" "/etc/init.d/lbconverter"
398 786
399 chmod 755 -R /etc/init.d/ 787 chmod 755 -R /etc/init.d/
400 cd /etc/init.d/ 788 cd /etc/init.d/
401 - chkconfig --level 2345 lbconverter on  
402 789
403 - \cp "$BASE_INST_DIR_V/ve26/src/LBConverter/lbconvertermg-dist" "$BASE_INST_DIR_V/ve26/src/LBConverter/lbconvertermg"  
404 - f_ez_sed "<VIRTUALENV_PATH>" "$BASE_INST_DIR_V/ve26" "$BASE_INST_DIR_V/ve26/src/LBConverter/lbconvertermg" 790 + if [[ "$DISTRO_TYPE" == "RH" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  791 + chkconfig --level 2345 lbconverter on
  792 + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  793 + update-rc.d -f lbconverter remove
  794 + update-rc.d lbconverter defaults
  795 + fi
  796 +
  797 + \cp "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/lbconvertermg-dist" "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/lbconvertermg"
  798 + f_ez_sed "<VIRTUALENV_PATH>" "$BASE_INST_DIR_V/$VE_2_X" "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/lbconvertermg"
405 799
406 LBG_URL_F="http://127.0.0.1/lbg" 800 LBG_URL_F="http://127.0.0.1/lbg"
407 QUESTION_F="Enter the LBG - LBGenerator URL. 801 QUESTION_F="Enter the LBG - LBGenerator URL.
@@ -422,9 +816,9 @@ Use empty for \&quot;$HTTP_PORT_F\&quot; (recommended)!&quot; @@ -422,9 +816,9 @@ Use empty for \&quot;$HTTP_PORT_F\&quot; (recommended)!&quot;
422 HTTP_PORT_F=$GET_USR_INPUT_R 816 HTTP_PORT_F=$GET_USR_INPUT_R
423 fi 817 fi
424 818
425 - \cp "$BASE_INST_DIR_V/ve26/src/LBConverter/production.ini-dist" "$BASE_INST_DIR_V/ve26/src/LBConverter/production.ini"  
426 - f_ez_sed "<HTTP_SERVICE_PORT_NUM>" "$HTTP_PORT_F" "$BASE_INST_DIR_V/ve26/src/LBConverter/production.ini"  
427 - f_ez_sed "<MACHINE_IP_OR_NAME>" "$LBG_URL_F" "$BASE_INST_DIR_V/ve26/src/LBConverter/production.ini" 819 + \cp "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/production.ini-dist" "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/production.ini"
  820 + f_ez_sed "<HTTP_SERVICE_PORT_NUM>" "$HTTP_PORT_F" "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/production.ini"
  821 + f_ez_sed "<MACHINE_IP_OR_NAME>" "$LBG_URL_F" "$BASE_INST_DIR_V/$VE_2_X/src/LBConverter/production.ini"
428 822
429 service lbconverter restart 823 service lbconverter restart
430 fi 824 fi
@@ -436,21 +830,33 @@ f_close_section @@ -436,21 +830,33 @@ f_close_section
436 # > ----------------------------------------- 830 # > -----------------------------------------
437 # Abrir o firewall para o http service! 831 # Abrir o firewall para o http service!
438 832
439 -EZ_I_SKIP_ON_V=0  
440 -f_open_section  
441 -TITLE_F="Open firewall for http service (TCP $HTTP_PORT_F)?"  
442 -  
443 -f_yes_no "$TITLE_F"  
444 -TITLE_F=""  
445 -if [ ${YES_NO_R} -eq 1 ]; then  
446 - f_chk_iptables ${HTTP_PORT_F} "Port $HTTP_PORT_F is already open!" 0 "ACCEPT" "tcp" "NEW"  
447 - if [ ${F_CHK_IPTABLES_R} -eq 1 ] ; then  
448 - iptables -I INPUT 6 -p tcp -m state --state NEW -m tcp --dport ${HTTP_PORT_F} -j ACCEPT  
449 - service iptables save  
450 - service iptables restart 833 +if [[ "$DISTRO_TYPE" == "RH" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  834 + EZ_I_SKIP_ON_V=$SIMPLE_INST
  835 + f_open_section
  836 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  837 + f_yes_no "Open firewall for http service (TCP $HTTP_PORT_F)?"
  838 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  839 + f_chk_iptables ${HTTP_PORT_F} "Port $HTTP_PORT_F is already open!" 0 "ACCEPT" "tcp" "NEW"
  840 + if [ ${F_CHK_IPTABLES_R} -eq 1 ] ; then
  841 + iptables -I INPUT 6 -p tcp -m state --state NEW -m tcp --dport ${HTTP_PORT_F} -j ACCEPT
  842 + service iptables save
  843 + service iptables restart
  844 + fi
  845 + fi
  846 + f_close_section
  847 + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  848 + f_yes_no "Open firewall for http service (TCP $HTTP_PORT_F)?"
  849 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  850 + f_chk_iptables ${HTTP_PORT_F} "Port $HTTP_PORT_F is already open!" 0 "ACCEPT" "tcp"
  851 + if [ ${F_CHK_IPTABLES_R} -eq 1 ] ; then
  852 + SuSEfirewall2 open EXT TCP ${HTTP_PORT_F}
  853 + SuSEfirewall2 stop
  854 + SuSEfirewall2 start
  855 + fi
  856 + fi
451 fi 857 fi
  858 + f_close_section
452 fi 859 fi
453 -f_close_section  
454 860
455 # < ----------------------------------------- 861 # < -----------------------------------------
456 862
@@ -464,7 +870,7 @@ Installer finished! Thanks! @@ -464,7 +870,7 @@ Installer finished! Thanks!
464 EOF 870 EOF
465 871
466 USEFUL_INFO_F="To configure... 872 USEFUL_INFO_F="To configure...
467 - vi $BASE_INST_DIR_V/ve26/src/LBConverter/production.ini 873 + vi $BASE_INST_DIR_V/$VE_2_X/src/LBConverter/production.ini
468 874
469 To start/stop... 875 To start/stop...
470 service lbconverter start 876 service lbconverter start
py-packs-LBConverter.sh
1 #!/bin/bash 1 #!/bin/bash
2 2
3 -# Instalação das dependências do LBC - LBConverter no python2.6! 3 +# Instalação das dependências do LBC - LBConverter no python2.X!
4 4
5 . ./ez_i.sh 5 . ./ez_i.sh
6 6
@@ -10,7 +10,6 @@ if [ -z &quot;$SKIP_ON_V&quot; ] ; then @@ -10,7 +10,6 @@ if [ -z &quot;$SKIP_ON_V&quot; ] ; then
10 fi 10 fi
11 11
12 BASE_INST_DIR_V=$2 12 BASE_INST_DIR_V=$2
13 -  
14 # > ----------------------------------------- 13 # > -----------------------------------------
15 # Informar o diretório base da instalação! 14 # Informar o diretório base da instalação!
16 15
@@ -31,9 +30,19 @@ fi @@ -31,9 +30,19 @@ fi
31 30
32 # < ----------------------------------------- 31 # < -----------------------------------------
33 32
  33 +PYTHON_2_X=$3
  34 +if [ -z "$PYTHON_2_X" ] ; then
  35 + PYTHON_2_X="2.6"
  36 +fi
  37 +
  38 +VE_2_X=$4
  39 +if [ -z "$VE_2_X" ] ; then
  40 + VE_2_X="ve26"
  41 +fi
  42 +
34 f_open_section 43 f_open_section
35 44
36 -TITLE_F="Install LBC - LBConverter dependencies for python2.6?" 45 +TITLE_F="Install LBC - LBConverter dependencies for python$PYTHON_2_X?"
37 46
38 f_yes_no "$TITLE_F" 47 f_yes_no "$TITLE_F"
39 TITLE_F="" 48 TITLE_F=""
@@ -45,139 +54,139 @@ if [ ${SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then @@ -45,139 +54,139 @@ if [ ${SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
45 54
46 tar -zxvf ./ordereddict-1.1.tar.gz 55 tar -zxvf ./ordereddict-1.1.tar.gz
47 cd ./ordereddict-1.1 56 cd ./ordereddict-1.1
48 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 57 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
49 cd .. 58 cd ..
50 rm -rf ./ordereddict-1.1 59 rm -rf ./ordereddict-1.1
51 60
52 tar -zxvf ./configparser-3.3.0r2.tar.gz 61 tar -zxvf ./configparser-3.3.0r2.tar.gz
53 cd ./configparser-3.3.0r2 62 cd ./configparser-3.3.0r2
54 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 63 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
55 cd .. 64 cd ..
56 rm -rf ./configparser-3.3.0r2 65 rm -rf ./configparser-3.3.0r2
57 66
58 tar -zxvf ./pdfminer-20140328.tar.gz 67 tar -zxvf ./pdfminer-20140328.tar.gz
59 cd ./pdfminer-20140328 68 cd ./pdfminer-20140328
60 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 69 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
61 cd .. 70 cd ..
62 rm -rf ./pdfminer-20140328 71 rm -rf ./pdfminer-20140328
63 72
64 tar -zxvf ./requests-2.3.0.tar.gz 73 tar -zxvf ./requests-2.3.0.tar.gz
65 cd ./requests-2.3.0 74 cd ./requests-2.3.0
66 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 75 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
67 cd .. 76 cd ..
68 rm -rf ./requests-2.3.0 77 rm -rf ./requests-2.3.0
69 78
70 tar -zxvf ./PasteDeploy-1.5.2.tar.gz 79 tar -zxvf ./PasteDeploy-1.5.2.tar.gz
71 cd ./PasteDeploy-1.5.2 80 cd ./PasteDeploy-1.5.2
72 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 81 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
73 cd .. 82 cd ..
74 rm -rf ./PasteDeploy-1.5.2 83 rm -rf ./PasteDeploy-1.5.2
75 84
76 tar -zxvf ./venusian-1.0.tar.gz 85 tar -zxvf ./venusian-1.0.tar.gz
77 cd ./venusian-1.0 86 cd ./venusian-1.0
78 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 87 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
79 cd .. 88 cd ..
80 rm -rf ./venusian-1.0 89 rm -rf ./venusian-1.0
81 90
82 tar -zxvf ./translationstring-1.3.tar.gz 91 tar -zxvf ./translationstring-1.3.tar.gz
83 cd ./translationstring-1.3 92 cd ./translationstring-1.3
84 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 93 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
85 cd .. 94 cd ..
86 rm -rf ./translationstring-1.3 95 rm -rf ./translationstring-1.3
87 96
88 tar -zxvf ./zope.deprecation-4.1.2.tar.gz 97 tar -zxvf ./zope.deprecation-4.1.2.tar.gz
89 cd ./zope.deprecation-4.1.2 98 cd ./zope.deprecation-4.1.2
90 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 99 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
91 cd .. 100 cd ..
92 rm -rf ./zope.deprecation-4.1.2 101 rm -rf ./zope.deprecation-4.1.2
93 102
94 tar -zxvf ./zope.interface-4.1.3.tar.gz 103 tar -zxvf ./zope.interface-4.1.3.tar.gz
95 cd ./zope.interface-4.1.3 104 cd ./zope.interface-4.1.3
96 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 105 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
97 cd .. 106 cd ..
98 rm -rf ./zope.interface-4.1.3 107 rm -rf ./zope.interface-4.1.3
99 108
100 tar -zxvf ./repoze.lru-0.6.tar.gz 109 tar -zxvf ./repoze.lru-0.6.tar.gz
101 cd ./repoze.lru-0.6 110 cd ./repoze.lru-0.6
102 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 111 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
103 cd .. 112 cd ..
104 rm -rf ./repoze.lru-0.6 113 rm -rf ./repoze.lru-0.6
105 114
106 tar -zxvf ./WebOb-1.5.1.tar.gz 115 tar -zxvf ./WebOb-1.5.1.tar.gz
107 cd ./WebOb-1.5.1 116 cd ./WebOb-1.5.1
108 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 117 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
109 cd .. 118 cd ..
110 rm -rf ./WebOb-1.5.1 119 rm -rf ./WebOb-1.5.1
111 120
112 tar -zxvf ./pyramid-1.6b2.tar.gz 121 tar -zxvf ./pyramid-1.6b2.tar.gz
113 cd ./pyramid-1.6b2 122 cd ./pyramid-1.6b2
114 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 123 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
115 cd .. 124 cd ..
116 rm -rf ./pyramid-1.6b2 125 rm -rf ./pyramid-1.6b2
117 126
118 tar -zxvf ./pbr-0.10.0.tar.gz 127 tar -zxvf ./pbr-0.10.0.tar.gz
119 cd ./pbr-0.10.0 128 cd ./pbr-0.10.0
120 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 129 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
121 cd .. 130 cd ..
122 rm -rf ./pbr-0.10.0 131 rm -rf ./pbr-0.10.0
123 132
124 tar -zxvf ./linecache2-1.0.0.tar.gz 133 tar -zxvf ./linecache2-1.0.0.tar.gz
125 cd ./linecache2-1.0.0 134 cd ./linecache2-1.0.0
126 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 135 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
127 cd .. 136 cd ..
128 rm -rf ./linecache2-1.0.0 137 rm -rf ./linecache2-1.0.0
129 138
130 tar -zxvf ./traceback2-1.4.0.tar.gz 139 tar -zxvf ./traceback2-1.4.0.tar.gz
131 cd ./traceback2-1.4.0 140 cd ./traceback2-1.4.0
132 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 141 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
133 cd .. 142 cd ..
134 rm -rf ./traceback2-1.4.0 143 rm -rf ./traceback2-1.4.0
135 144
136 tar -zxvf ./six-1.7.2.tar.gz 145 tar -zxvf ./six-1.7.2.tar.gz
137 cd ./six-1.7.2 146 cd ./six-1.7.2
138 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 147 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
139 cd .. 148 cd ..
140 rm -rf ./six-1.7.2 149 rm -rf ./six-1.7.2
141 150
142 tar -zxvf ./argparse-1.3.0.tar.gz 151 tar -zxvf ./argparse-1.3.0.tar.gz
143 cd ./argparse-1.3.0 152 cd ./argparse-1.3.0
144 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 153 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
145 cd .. 154 cd ..
146 rm -rf ./argparse-1.3.0 155 rm -rf ./argparse-1.3.0
147 156
148 tar -zxvf ./unittest2-1.0.1.tar.gz 157 tar -zxvf ./unittest2-1.0.1.tar.gz
149 cd ./unittest2-1.0.1 158 cd ./unittest2-1.0.1
150 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 159 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
151 cd .. 160 cd ..
152 rm -rf ./unittest2-1.0.1 161 rm -rf ./unittest2-1.0.1
153 162
154 tar -zxvf ./Chameleon-2.24.tar.gz 163 tar -zxvf ./Chameleon-2.24.tar.gz
155 cd ./Chameleon-2.24 164 cd ./Chameleon-2.24
156 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 165 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
157 cd .. 166 cd ..
158 rm -rf ./Chameleon-2.24 167 rm -rf ./Chameleon-2.24
159 168
160 tar -zxvf ./pyramid_chameleon-0.3.tar.gz 169 tar -zxvf ./pyramid_chameleon-0.3.tar.gz
161 cd ./pyramid_chameleon-0.3 170 cd ./pyramid_chameleon-0.3
162 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 171 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
163 cd .. 172 cd ..
164 rm -rf ./pyramid_chameleon-0.3 173 rm -rf ./pyramid_chameleon-0.3
165 174
166 tar -zxvf ./waitress-0.8.10.tar.gz 175 tar -zxvf ./waitress-0.8.10.tar.gz
167 cd ./waitress-0.8.10 176 cd ./waitress-0.8.10
168 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 177 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
169 cd .. 178 cd ..
170 rm -rf ./waitress-0.8.10 179 rm -rf ./waitress-0.8.10
171 180
172 tar -zxvf ./xlrd-0.9.4.tar.gz 181 tar -zxvf ./xlrd-0.9.4.tar.gz
173 cd ./xlrd-0.9.4 182 cd ./xlrd-0.9.4
174 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 183 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
175 cd .. 184 cd ..
176 rm -rf ./xlrd-0.9.4 185 rm -rf ./xlrd-0.9.4
177 186
178 tar -zxvf ./BeautifulSoup-3.2.1.tar.gz 187 tar -zxvf ./BeautifulSoup-3.2.1.tar.gz
179 cd ./BeautifulSoup-3.2.1 188 cd ./BeautifulSoup-3.2.1
180 - eval "$BASE_INST_DIR_V/ve26/bin/python2.6 setup.py install" 189 + eval "$BASE_INST_DIR_V/$VE_2_X/bin/python$PYTHON_2_X setup.py install"
181 cd .. 190 cd ..
182 rm -rf ./BeautifulSoup-3.2.1 191 rm -rf ./BeautifulSoup-3.2.1
183 192