Commit dbf6f7d1586831b943bf858cbfad7bb1d3079a2c

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

Correções pontuais! By Questor

.directory 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +[Dolphin]
  2 +PreviewsShown=true
  3 +Timestamp=2016,6,14,9,58,21
  4 +Version=3
  5 +ViewMode=1
  6 +
  7 +[Settings]
  8 +HiddenFilesShown=true
README.md
@@ -1,44 +0,0 @@ @@ -1,44 +0,0 @@
1 -Instalador LBD - LBDoc  
2 -=============  
3 -  
4 -Instalador da aplicação LBD - LBDoc uma aplicação LightBase! Trata-se de uma aplicação LightBase completa e cheia de exemplos de uso. Excelente para a gestão documental foi implementada em Mono/.Net 4.0 podendo ser usada em ambientes Linux ou Windows. Instalador para Linux.  
5 -  
6 -Instruções:  
7 ------  
8 -  
9 -Baixe usando o comando...  
10 -  
11 -```  
12 -git clone git@softwarepublico.gov.br:lightbase/lbdinst.git  
13 -```  
14 -  
15 -Na pasta principal do projeto instale usando o comando...  
16 -  
17 -```  
18 -bash install.sh  
19 -```  
20 -  
21 -O instalador é muito simples, dedutível e todo auto-explicativo. Se o objetivo da instalação é conhecer/testar a plataforma recomendados usar todos os valores padrão sugeridos e responder sim ("y") à tudo!  
22 -  
23 -**Nota I:** Esse instalador é p/ uso, por hora, no CentOS6/RHEL6!  
24 -  
25 -LightBase - Direto à informação!  
26 -=============  
27 -  
28 -O que é o LightBase?  
29 ------  
30 -  
31 -O LightBase começou a ser desenvolvido na década de 80 no Brasil sendo pioneiro no modelo documental, possui características únicas não sendo igualado por nenhum software nacional ou estrangeiro.  
32 -  
33 -O LightBase foi totalmente reformulado pela BRLight tendo como base a expertise de seus fundadores adquirida em mais de 30 anos de vivência em tecnologia. Essa nova versão foi chamada de LightBaseNeo e traz todas as boas qualidade das versões anteriores, mais paralelização de processamento das informações, paralelização de indexação, paralelização de conteúdo e outros processos e funcionalidades inéditas que visam melhorar a sua performance, manutenção e usabilidade. Essa nova versão está pronta para comportar novos tipos de indexação como fuzzy, web semântica, relacional entre outras sendo bastante dimensionável.  
34 -  
35 -O LightBaseNeo é um banco de dados textual, de modelo documental mas que também guarda os dados de forma relacional e visa em seu âmago a recuperação ágil e fácil de conteúdo, inclusive textos de arquivos (OCR). Possui dados auto contidos o que torna fácil de estender e manter. O LightBaseNeo possui módulos separados para indexação, para persistência, para recuperação de conteúdo e todos os seus componentes são baseados em tecnologias livres.  
36 -  
37 - Sendo um banco de dados simples, intuitivo, e fácil de aprender e sua meta é ser acessível para o usuário final, uma vez que seu modelo de composição e sua forma de operar é extremamente simples. Não possui relacionamentos, embora se o desenvolvedor desejar, também poderá utilizar o modelo relacional, isso porque o novo LightBase também é aderente a esse modelo. O LightBaseNeo permite guardar grande quantidade de informação e encontrá-la de forma simples, direta e objetiva. Possui tecnologia livre e nacional sendo um projeto grande e ambicioso, mas que sempre almejou a simplicidade. É um software público que pertence a cada cidadão brasileiro, que pode ser usado de forma irrestrita para tratar das necessidades mais simples às mais complexas.  
38 -  
39 -Contato  
40 ------  
41 -  
42 -BR Light LTDA - LightBase Consulting in Public Software/LightBase Consultoria em Software Público  
43 -Free Software + Our Ideas = Best Solution!/Software Livre + Nossas Idéias = Melhor Solução!  
44 -+55-61-3347-1949 - http://www.LightBase.com.br - Brazil-DF  
@@ -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,344 @@ f_continue() { @@ -600,8 +660,344 @@ 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 + WAR_MSGS_STR+="PLEASE CHECK IT!"
  988 + for (( y=0; y<=$(( $TOTAL_4 -1 )); y++ )) ; do
  989 + if (( $y == 0 )); then
  990 + WAR_MSGS_STR+=$'\n\n'
  991 + else
  992 + USE_NEWLINE=$'\n'
  993 + fi
  994 + WAR_MSGS_STR+="$USE_NEWLINE -> ${WARNINGS_MSGS[$y]}"
  995 + done
  996 + WAR_MSGS_STR+=$'\n\n'"FOR MORE INFORMATION TRY: \"$CHK_RES_CMD\"."
  997 + f_warning_msg "$WAR_MSGS_STR" 1
  998 + fi
  999 + F_CHK_DISTRO_STATUS_R=$F_GET_STDOUT_R
  1000 +}
605 1001
606 # > -------------------------------------------------------------------------- 1002 # > --------------------------------------------------------------------------
607 # GRAFICO! 1003 # 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
@@ -23,17 +35,27 @@ Have fun! =D @@ -23,17 +35,27 @@ Have fun! =D
23 EOF 35 EOF
24 36
25 read -d '' WARNINGS_F <<"EOF" 37 read -d '' WARNINGS_F <<"EOF"
26 -- Installer designed for CentOS 6 AMD64/RHEL 6 AMD64! 38 +- This installer is compatible with RHEL, SUSE, Debian or distributions
  39 +based on these.
27 40
28 - We RECOMMEND you... 41 - We RECOMMEND you...
29 Install all the components (answer yes to everything). Except 42 Install all the components (answer yes to everything). Except
30 contrary guidance! 43 contrary guidance!
31 Check for previous installations! If there is previous 44 Check for previous installations! If there is previous
32 installations consider this variant in the process! 45 installations consider this variant in the process!
  46 + Although this is not mandatory, do the installation process in an
  47 + exclusive machine for this.
  48 +
  49 +- We NOTICE you...
  50 + This installer assumes that the target distribution has a "standard
  51 + setup". This may include components such as firewall, SELinux
  52 + and others.
  53 +
33 - We WARNING you... 54 - We WARNING you...
34 - USE AT YOUR OWN RISK: WE ARE NOT RESPONSIBLE FOR ANY DAMAGE TO  
35 -YOURSELF, HARDWARE, OR CO-WORKERS. EXCEPT IN CASES WHERE THERE ARE  
36 -SIGNED CONTRACT THAT REGULATES THIS! 55 + THIS INSTALLER AND RESULTING PRODUCTS COMES WITH ABSOLUTELY NO WARRANTY!
  56 + USE AT YOUR OWN RISK! WE ARE NOT RESPONSIBLE FOR ANY DAMAGE TO YOURSELF,
  57 + HARDWARE, OR CO-WORKERS. EXCEPT IN CASES WHERE THERE ARE SIGNED CONTRACT
  58 + THAT REGULATES THIS!
37 EOF 59 EOF
38 60
39 read -d '' COMPANY_F <<"EOF" 61 read -d '' COMPANY_F <<"EOF"
@@ -62,13 +84,18 @@ TERMS_LICEN_F=&quot;&quot; @@ -62,13 +84,18 @@ TERMS_LICEN_F=&quot;&quot;
62 84
63 # < -------------------------------------------------------------------------- 85 # < --------------------------------------------------------------------------
64 86
  87 +# > -----------------------------------------
  88 +# Checar se o usuário é root!
  89 +
  90 +f_is_root
  91 +
  92 +# < -----------------------------------------
  93 +
65 # > -------------------------------------------------------------------------- 94 # > --------------------------------------------------------------------------
66 # INTRUÇÕES! 95 # INTRUÇÕES!
67 # -------------------------------------- 96 # --------------------------------------
68 97
69 read -d '' INSTRUCT_F <<"EOF" 98 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! 99 - TO CANCEL installation at any time use Ctrl+c!
73 EOF 100 EOF
74 101
@@ -77,6 +104,128 @@ INSTRUCT_F=&quot;&quot; @@ -77,6 +104,128 @@ INSTRUCT_F=&quot;&quot;
77 104
78 # < -------------------------------------------------------------------------- 105 # < --------------------------------------------------------------------------
79 106
  107 +DISTRO_TYPE=""
  108 +DISTRO_NAME=""
  109 +# > -----------------------------------------
  110 +# Checar se a distro é compatível!
  111 +
  112 +f_open_section
  113 +f_about_distro
  114 +f_div_section
  115 +echo "DISTRO INFORMATION:"
  116 +f_div_section
  117 +echo "NAME: .... ${F_ABOUT_DISTRO_R[0]}"
  118 +echo "VERSION: . ${F_ABOUT_DISTRO_R[1]}"
  119 +echo "BASED: ... ${F_ABOUT_DISTRO_R[2]}"
  120 +echo "ARCH: .... ${F_ABOUT_DISTRO_R[3]}"
  121 +f_div_section
  122 +
  123 +if [[ "${F_ABOUT_DISTRO_R[2]}" == "Debian" ]] || [[ "${F_ABOUT_DISTRO_R[2]}" == "RedHat" ]] ||
  124 + [[ "${F_ABOUT_DISTRO_R[2]}" == "Suse" ]] ; then
  125 + if [[ "${F_ABOUT_DISTRO_R[2]}" == "Debian" ]] ; then
  126 + DISTRO_TYPE="DEB"
  127 + if [[ "${F_ABOUT_DISTRO_R[0]}" == "Ubuntu" ]] ; then
  128 + DISTRO_NAME="Ubuntu"
  129 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "14.04" ]] ; then
  130 + f_div_section
  131 + f_yes_no "Linux version may be incompatible with this installer (expected: 14.04/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  132 + f_div_section
  133 + if [ ${YES_NO_R} -eq 0 ] ; then
  134 + exit 0
  135 + fi
  136 + fi
  137 + elif [[ "${F_ABOUT_DISTRO_R[0]}" == "Debian GNU/Linux" ]] ; then
  138 + DISTRO_NAME="Debian"
  139 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "8" ]] ; then
  140 + f_div_section
  141 + f_yes_no "Linux version may be incompatible with this installer (expected: 8/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  142 + f_div_section
  143 + if [ ${YES_NO_R} -eq 0 ] ; then
  144 + exit 0
  145 + fi
  146 + fi
  147 + else
  148 + f_div_section
  149 + f_yes_no "Linux distro may be incompatible with this installer (expected: Ubuntu or Debian/obtained: ${F_ABOUT_DISTRO_R[0]})! Continue?"
  150 + f_div_section
  151 + if [ ${YES_NO_R} -eq 0 ] ; then
  152 + exit 0
  153 + fi
  154 + fi
  155 + elif [[ "${F_ABOUT_DISTRO_R[2]}" == "RedHat" ]] ; then
  156 + DISTRO_TYPE="RH"
  157 + if [[ "${F_ABOUT_DISTRO_R[0]}" == "Red Hat Enterprise Linux Server" ]] ; then
  158 + DISTRO_NAME="RedHat"
  159 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "6."* ]] ; then
  160 + f_div_section
  161 + f_yes_no "Linux version may be incompatible with this installer (expected: 6.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  162 + f_div_section
  163 + if [ ${YES_NO_R} -eq 0 ] ; then
  164 + exit 0
  165 + fi
  166 + fi
  167 + elif [[ "${F_ABOUT_DISTRO_R[0]}" == "CentOS" ]] ; then
  168 + DISTRO_NAME="CentOS"
  169 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "6."* ]] ; then
  170 + f_div_section
  171 + f_yes_no "Linux version may be incompatible with this installer (expected: 6.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  172 + f_div_section
  173 + if [ ${YES_NO_R} -eq 0 ] ; then
  174 + exit 0
  175 + fi
  176 + fi
  177 + else
  178 + f_div_section
  179 + 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?"
  180 + f_div_section
  181 + if [ ${YES_NO_R} -eq 0 ] ; then
  182 + exit 0
  183 + fi
  184 + fi
  185 + elif [[ "${F_ABOUT_DISTRO_R[2]}" == "Suse" ]] ; then
  186 + DISTRO_TYPE="SUSE"
  187 + if [[ "${F_ABOUT_DISTRO_R[0]}" == "openSUSE" ]] ; then
  188 + DISTRO_NAME="openSUSE"
  189 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "13."* ]] ; then
  190 + f_div_section
  191 + f_yes_no "Linux version may be incompatible with this installer (expected: 13.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  192 + f_div_section
  193 + if [ ${YES_NO_R} -eq 0 ] ; then
  194 + exit 0
  195 + fi
  196 + fi
  197 + elif [[ "${F_ABOUT_DISTRO_R[0]}" == "SLES" ]] ; then
  198 + DISTRO_NAME="SLES"
  199 + if [[ "${F_ABOUT_DISTRO_R[1]}" != "12."* ]] ; then
  200 + f_div_section
  201 + f_yes_no "Linux version may be incompatible with this installer (expected: 12.X/obtained: ${F_ABOUT_DISTRO_R[1]})! Continue?"
  202 + f_div_section
  203 + if [ ${YES_NO_R} -eq 0 ] ; then
  204 + exit 0
  205 + fi
  206 + fi
  207 + else
  208 + f_div_section
  209 + 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?"
  210 + f_div_section
  211 + if [ ${YES_NO_R} -eq 0 ] ; then
  212 + exit 0
  213 + fi
  214 + fi
  215 + fi
  216 +
  217 + if [[ "${F_ABOUT_DISTRO_R[3]}" != "x86_64" ]] ; then
  218 + f_enter_to_cont "Linux architecture completely incompatible with this installer (expected: x86_64/obtained: ${F_ABOUT_DISTRO_R[3]})!"
  219 + exit 0
  220 + fi
  221 +else
  222 + 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]})!"
  223 + exit 0
  224 +fi
  225 +f_close_section
  226 +
  227 +# < -----------------------------------------
  228 +
80 # > ----------------------------------------- 229 # > -----------------------------------------
81 # Dá ao usuário mais avançado a possibilideade de usar o instalador 230 # Dá ao usuário mais avançado a possibilideade de usar o instalador
82 # simplificado! 231 # simplificado!
@@ -86,7 +235,7 @@ INSTRUCT_F=&quot;&quot; @@ -86,7 +235,7 @@ INSTRUCT_F=&quot;&quot;
86 SIMPLE_INST=0 235 SIMPLE_INST=0
87 if [ ${SIMPLE_INST} -eq 0 ] ; then 236 if [ ${SIMPLE_INST} -eq 0 ] ; then
88 f_open_section 237 f_open_section
89 - f_yes_no "Use simple install (using a default value for most of the options)?" 238 + f_yes_no "Use simple install (use default values for most of the options)?"
90 if [ ${YES_NO_R} -eq 1 ] ; then 239 if [ ${YES_NO_R} -eq 1 ] ; then
91 240
92 # NOTE: Essa variável serve apenas para "preservar" o valor 241 # NOTE: Essa variável serve apenas para "preservar" o valor
@@ -111,124 +260,309 @@ fi @@ -111,124 +260,309 @@ fi
111 # Garantir o encodamento correto para evitar problemas de 260 # Garantir o encodamento correto para evitar problemas de
112 # compatibilidade! 261 # compatibilidade!
113 262
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 263 +if [ ${SIMPLE_INST} -eq 0 ] ; then
  264 + EZ_I_SKIP_ON_V=$SIMPLE_INST
  265 + f_open_section
  266 + f_yes_no "Set terminal encode? (in some cases recommended for Windows ssh clients)"
  267 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  268 + export LANG=pt_BR.utf8
  269 + fi
  270 + f_close_section
124 fi 271 fi
125 -f_close_section  
126 272
127 # < ----------------------------------------- 273 # < -----------------------------------------
128 274
129 # > ----------------------------------------- 275 # > -----------------------------------------
130 # Desabilita o SElinux! 276 # Desabilita o SElinux!
131 277
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!" 278 +if [[ "$DISTRO_TYPE" == "RH" ]] ; then
147 EZ_I_SKIP_ON_V=0 279 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" 280 + f_open_section
  281 + f_yes_no "Disable SElinux (use "y" if you never did it)?"
  282 + if [ ${YES_NO_R} -eq 1 ] ; then
  283 + setenforce 0
  284 +
  285 + # NOTE: As condições abaixo visam evitar que o arquivo seja
  286 + # desnecessariamente e erroneamente modificado! By Questor
  287 + EZ_I_SKIP_ON_V=$SIMPLE_INST
  288 + f_fl_cont_str "# SELINUX=enforcing" "/etc/sysconfig/selinux" "The file \"/etc/sysconfig/selinux\" probably has already been changed! Check it!"
  289 + EZ_I_SKIP_ON_V=0
150 if [ ${FL_CONT_STR_R} -eq 0 ] ; then 290 if [ ${FL_CONT_STR_R} -eq 0 ] ; then
151 - f_ez_sed "SELINUX=enforcing" "# SELINUX=enforcing\nSELINUX=disabled" "/etc/sysconfig/selinux" 291 + f_fl_cont_str "SELINUX=disabled" "/etc/sysconfig/selinux"
  292 + if [ ${FL_CONT_STR_R} -eq 0 ] ; then
  293 + f_ez_sed "SELINUX=enforcing" "# SELINUX=enforcing\nSELINUX=disabled" "/etc/sysconfig/selinux"
  294 + fi
152 fi 295 fi
153 fi 296 fi
  297 + f_close_section
154 fi 298 fi
155 -f_close_section  
156 299
157 # < ----------------------------------------- 300 # < -----------------------------------------
158 301
159 # > ----------------------------------------- 302 # > -----------------------------------------
160 -# Instalar o Apache (httpd)! 303 +# Atualizar a distro (repositório)!
161 304
162 EZ_I_SKIP_ON_V=$SIMPLE_INST 305 EZ_I_SKIP_ON_V=$SIMPLE_INST
163 -f_open_section  
164 -read -d '' TITLE_F <<"EOF"  
165 -Install Apache (httpd)?  
166 -EOF  
167 -  
168 -f_yes_no "$TITLE_F"  
169 -TITLE_F=""  
170 -if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then  
171 - f_pack_is_inst "httpd-devel" "yum" "Apache (httpd) already installed!" 306 +if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  307 + if [[ "$DISTRO_NAME" == "RedHat" ]] ; then
  308 + RESOURCES_ARR_P=("Red Hat Enterprise Linux Server")
  309 + f_chk_distro_status "$DISTRO_NAME" RESOURCES_ARR_P[@]
  310 + fi
  311 + f_div_section
  312 + f_yes_no "Update your distro? (\"y\" highly recommended)"
  313 + f_div_section
  314 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  315 + yum -y update
  316 + fi
  317 + f_pack_is_inst "git" "yum" "\"git\" already installed!"
  318 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  319 + yum -y install git
  320 + fi
  321 +elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  322 + f_div_section
  323 + f_yes_no "Update your distro? (\"y\" highly recommended)"
  324 + f_div_section
  325 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  326 + apt-get -y update
  327 + fi
  328 + f_pack_is_inst "git" "apt-get" "\"git\" already installed!"
172 if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then 329 if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
173 - yum -y install httpd-devel httpd  
174 - chkconfig httpd on  
175 - chown -R apache /var/www  
176 - chmod -R 755 /var/www 330 + apt-get -y install git
  331 + fi
  332 +elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  333 + if [[ "$DISTRO_NAME" == "SLES" ]] ; then
  334 + RESOURCES_ARR_P=("SUSE_Linux_Enterprise_Server_12_SP1_x86_64"
  335 +"SUSE_Linux_Enterprise_Software_Development_Kit_12_SP1_x86_64"
  336 +"Web_and_Scripting_Module_12_x86_64")
  337 + f_chk_distro_status "SLES" RESOURCES_ARR_P[@]
  338 + fi
  339 + f_div_section
  340 + f_yes_no "Update your distro? (\"y\" highly recommended)"
  341 + f_div_section
  342 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  343 + zypper --non-interactive update
  344 + fi
  345 + f_pack_is_inst "git-core" "zypper" "\"git-core\" already installed!"
  346 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  347 + zypper --non-interactive install git-core
177 fi 348 fi
178 fi 349 fi
179 -f_close_section  
180 350
181 # < ----------------------------------------- 351 # < -----------------------------------------
182 352
183 # > ----------------------------------------- 353 # > -----------------------------------------
184 -# Abrir o firewall para o Apache (httpd)! 354 +# Instalar pacotes que são comuns a determinados componentes!
  355 +
  356 +F_COM_PKS_INSTALLED=0
  357 +f_common_packs() {
  358 + : 'Instalar pacotes que são comuns a determinados componentes.'
  359 +
  360 + if [ ${F_COM_PKS_INSTALLED} -eq 0 ] ; then
  361 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  362 +
  363 + # NOTE: Set básico e "universal" para compilação...
  364 + # --------------------------->
  365 + f_pack_is_inst "gcc-c++" "yum" "\"gcc-c++\" already installed!"
  366 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  367 + yum -y install gcc-c++
  368 + fi
  369 + f_pack_is_inst "libtool" "yum" "\"libtool\" already installed!"
  370 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  371 + yum -y install libtool
  372 + fi
  373 + f_pack_is_inst "zlib-devel" "yum" "\"zlib-devel\" already installed!"
  374 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  375 + yum -y install zlib-devel
  376 + fi
  377 + # <---------------------------
  378 +
  379 + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  380 +
  381 + # NOTE: Set básico e "universal" para compilação...
  382 + # --------------------------->
  383 + f_pack_is_inst "g++" "apt-get" "\"g++\" already installed!"
  384 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  385 + apt-get -y install g++
  386 + fi
  387 + f_pack_is_inst "libtool" "apt-get" "\"libtool\" already installed!"
  388 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  389 + apt-get -y install libtool
  390 + fi
  391 + f_pack_is_inst "autoconf" "apt-get" "\"autoconf\" already installed!"
  392 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  393 + apt-get -y install autoconf
  394 + fi
  395 + f_pack_is_inst "make" "apt-get" "\"make\" already installed!"
  396 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  397 + apt-get -y install make
  398 + fi
  399 + f_pack_is_inst "zlib1g-dev" "apt-get" "\"zlib1g-dev\" already installed!"
  400 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  401 + apt-get -y install zlib1g-dev
  402 + fi
  403 + # <---------------------------
  404 +
  405 + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  406 +
  407 + # NOTE: Set básico e "universal" para compilação...
  408 + # --------------------------->
  409 + f_pack_is_inst "gcc-c++" "zypper" "\"gcc-c++\" already installed!"
  410 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  411 + zypper --non-interactive install gcc-c++
  412 + fi
  413 + if [[ "$DISTRO_NAME" != "SLES" ]] ; then
  414 + f_pack_is_inst "automake" "zypper" "\"automake\" already installed!"
  415 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  416 + zypper --non-interactive install automake
  417 + fi
  418 + f_pack_is_inst "make" "zypper" "\"make\" already installed!"
  419 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  420 + zypper --non-interactive install make
  421 + fi
  422 + f_pack_is_inst "libtool" "zypper" "\"libtool\" already installed!"
  423 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  424 + zypper --non-interactive install libtool
  425 + fi
  426 + fi
  427 + f_pack_is_inst "zlib-devel" "zypper" "\"zlib-devel\" already installed!"
  428 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  429 + zypper --non-interactive install zlib-devel
  430 + fi
  431 + # <---------------------------
  432 +
  433 + fi
  434 + F_COM_PKS_INSTALLED=1
  435 + fi
  436 +}
  437 +
  438 +# < -----------------------------------------
  439 +
  440 +# > -----------------------------------------
  441 +# Instalar o Apache (httpd)!
  442 +
  443 +HTTPD_SERV_NAME=""
  444 +HTTPD_USR=""
  445 +HTTPD_GRP=""
  446 +HTTPD_DEF_DOC_ROOT=""
  447 +if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  448 + HTTPD_SERV_NAME="httpd"
  449 + HTTPD_USR="apache"
  450 + HTTPD_GRP="apache"
  451 + HTTPD_DEF_DOC_ROOT="/var/www"
  452 +elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  453 + HTTPD_SERV_NAME="apache2"
  454 + HTTPD_USR="www-data"
  455 + HTTPD_GRP="www-data"
  456 + HTTPD_DEF_DOC_ROOT="/var/www"
  457 +elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  458 + HTTPD_SERV_NAME="apache2"
  459 + HTTPD_USR="wwwrun"
  460 + HTTPD_GRP="www"
  461 + HTTPD_DEF_DOC_ROOT="/srv/www"
  462 +fi
185 463
186 EZ_I_SKIP_ON_V=$SIMPLE_INST 464 EZ_I_SKIP_ON_V=$SIMPLE_INST
187 f_open_section 465 f_open_section
188 -read -d '' TITLE_F <<"EOF"  
189 -Open firewall for Apache (httpd) (TCP 80)?  
190 -EOF  
191 -  
192 -f_yes_no "$TITLE_F"  
193 -TITLE_F="" 466 +f_yes_no "Install Apache ($HTTPD_SERV_NAME)?"
194 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then 467 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
195 - f_chk_iptables 80 "Port 80 is already open!" 0 "ACCEPT" "tcp" "NEW"  
196 - if [ ${F_CHK_IPTABLES_R} -eq 1 ] ; then  
197 - iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT  
198 - service iptables save  
199 - service iptables restart 468 + f_common_packs
  469 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  470 + f_pack_is_inst "httpd-devel" "yum" "Apache ($HTTPD_SERV_NAME) already installed!"
  471 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  472 + yum -y install httpd-devel httpd
  473 + chkconfig httpd on
  474 + fi
  475 + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  476 + f_pack_is_inst "apache2-dev" "apt-get" "Apache ($HTTPD_SERV_NAME) already installed!"
  477 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  478 + apt-get -y install apache2-dev apache2
  479 + update-rc.d -f $HTTPD_SERV_NAME remove
  480 + update-rc.d $HTTPD_SERV_NAME defaults
  481 + fi
  482 + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  483 + f_pack_is_inst "apache2-devel" "zypper" "Apache ($HTTPD_SERV_NAME) already installed!"
  484 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  485 + zypper --non-interactive install apache2-devel apache2
  486 + chkconfig apache2 on
  487 + fi
200 fi 488 fi
  489 + eval "chown -R $HTTPD_USR $HTTPD_DEF_DOC_ROOT"
  490 + eval "chown -R :$HTTPD_GRP $HTTPD_DEF_DOC_ROOT"
  491 + eval "chmod -R 755 $HTTPD_DEF_DOC_ROOT"
  492 +
  493 + eval "service $HTTPD_SERV_NAME restart" &>/dev/null
201 fi 494 fi
202 f_close_section 495 f_close_section
203 496
204 # < ----------------------------------------- 497 # < -----------------------------------------
205 498
206 # > ----------------------------------------- 499 # > -----------------------------------------
  500 +# Abrir o firewall para o Apache (httpd)!
  501 +
  502 +if [[ "$DISTRO_TYPE" == "RH" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  503 + EZ_I_SKIP_ON_V=$SIMPLE_INST
  504 + f_open_section
  505 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  506 + f_yes_no "Open firewall for Apache ($HTTPD_SERV_NAME) (TCP 80)?"
  507 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  508 + f_chk_iptables 80 "Port 80 is already open!" 0 "ACCEPT" "tcp" "NEW"
  509 + if [ ${F_CHK_IPTABLES_R} -eq 1 ] ; then
  510 + iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
  511 + service iptables save
  512 + service iptables restart
  513 + fi
  514 + fi
  515 + f_close_section
  516 + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  517 + f_yes_no "Open firewall for Apache ($HTTPD_SERV_NAME) (TCP 80)?"
  518 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  519 + f_chk_iptables 80 "Port 80 is already open!" 0 "ACCEPT" "tcp"
  520 + if [ ${F_CHK_IPTABLES_R} -eq 1 ] ; then
  521 + SuSEfirewall2 open EXT TCP 80
  522 + SuSEfirewall2 stop
  523 + SuSEfirewall2 start
  524 + fi
  525 + fi
  526 + fi
  527 + f_close_section
  528 +fi
  529 +
  530 +# < -----------------------------------------
  531 +
  532 +# > -----------------------------------------
207 # Instalar arquivos de configuração do Apache (httpd) e fontes do LBD - LBDoc! 533 # Instalar arquivos de configuração do Apache (httpd) e fontes do LBD - LBDoc!
208 534
  535 +if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  536 + VAR_LOG_HTTPD="/var/log/httpd"
  537 +elif [[ "$DISTRO_TYPE" == "DEB" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  538 + VAR_LOG_HTTPD="/var/log/apache2"
  539 +fi
  540 +
  541 +# NOTE: Caminho de instalação do mono com a versão! By Questor
  542 +MONO_PATH="/opt/mono-4.4.0"
  543 +
209 EZ_I_SKIP_ON_V=$SIMPLE_INST 544 EZ_I_SKIP_ON_V=$SIMPLE_INST
210 f_open_section 545 f_open_section
211 -read -d '' TITLE_F <<"EOF"  
212 -Install LBD - LBDoc?  
213 -EOF  
214 -  
215 -f_yes_no "$TITLE_F"  
216 -TITLE_F="" 546 +f_yes_no "Install LBD - LBDoc?"
217 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then 547 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
218 548
219 - f_chk_by_path_hlp "/var/www/html/docslightbase" "d" "\"LBD - LBDoc\" already installed in \"/var/www/html\"!" 549 + HT_FOLDER=""
  550 + if [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  551 + mkdir $HTTPD_DEF_DOC_ROOT/html
  552 + fi
  553 +
  554 + f_chk_by_path_hlp "$HTTPD_DEF_DOC_ROOT/html/docslightbase" "d" "\"LBD - LBDoc\" already installed in \"$HTTPD_DEF_DOC_ROOT/html\"!"
220 F_BAK_MD_R=1 555 F_BAK_MD_R=1
221 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then 556 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then
222 - f_ez_mv_bak "/var/www/html/docslightbase" "Backup old version and update? (\"y\" recommended)" 557 + f_ez_mv_bak "$HTTPD_DEF_DOC_ROOT/html/docslightbase" "Backup old version and update? (\"y\" recommended)"
223 fi 558 fi
224 if [ ${F_BAK_MD_R} -eq 1 ] ; then 559 if [ ${F_BAK_MD_R} -eq 1 ] ; then
225 cd "$SCRIPTDIR_V" 560 cd "$SCRIPTDIR_V"
226 cd ./lbd-src 561 cd ./lbd-src
227 tar -zxvf ./docslightbase.tar.gz 562 tar -zxvf ./docslightbase.tar.gz
228 - mv ./docslightbase /var/www/html/ 563 + mv ./docslightbase $HTTPD_DEF_DOC_ROOT/html/
229 rm -rf ./docslightbase 564 rm -rf ./docslightbase
230 - chown -R apache /var/www/html  
231 - chmod -R 755 /var/www/html 565 +
232 LBG_URL="http://127.0.0.1/lbg" 566 LBG_URL="http://127.0.0.1/lbg"
233 QUESTION_F="Enter lightbase URL. 567 QUESTION_F="Enter lightbase URL.
234 Use empty for \"$LBG_URL\"!" 568 Use empty for \"$LBG_URL\"!"
@@ -239,38 +573,47 @@ Use empty for \&quot;$LBG_URL\&quot;!&quot; @@ -239,38 +573,47 @@ Use empty for \&quot;$LBG_URL\&quot;!&quot;
239 if [ -n "$GET_USR_INPUT_R" ] ; then 573 if [ -n "$GET_USR_INPUT_R" ] ; then
240 LBG_URL=$GET_USR_INPUT_R 574 LBG_URL=$GET_USR_INPUT_R
241 fi 575 fi
242 - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/portal/Web.config" 1  
243 - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/recebidos/Web.config" 1  
244 - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/manutencao/Web.config" 1  
245 - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/docspro/Web.config" 1  
246 - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/atosnotaspareceres/Web.config" 1  
247 - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/gsa/Web.config" 1  
248 - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/inativos/Web.config" 1  
249 - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/apps/Web.config" 1  
250 - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/expedidos/Web.config" 1  
251 - f_ez_sed "<LBG_URL>" "$LBG_URL" "/var/www/html/docslightbase/auditoria/Web.config" 1 576 + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/portal/Web.config" 1
  577 + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/recebidos/Web.config" 1
  578 + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/manutencao/Web.config" 1
  579 + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/docspro/Web.config" 1
  580 + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/atosnotaspareceres/Web.config" 1
  581 + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/gsa/Web.config" 1
  582 + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/inativos/Web.config" 1
  583 + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/apps/Web.config" 1
  584 + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/expedidos/Web.config" 1
  585 + f_ez_sed "<LBG_URL>" "$LBG_URL" "$HTTPD_DEF_DOC_ROOT/html/docslightbase/auditoria/Web.config" 1
  586 + fi
  587 +
  588 + HTTPD_CONF_PATH=""
  589 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  590 + HTTPD_CONF_PATH="/etc/httpd/conf.d"
  591 + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  592 + HTTPD_CONF_PATH="/etc/apache2/sites-available"
  593 + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  594 + HTTPD_CONF_PATH="/etc/apache2/conf.d"
252 fi 595 fi
253 596
254 - f_chk_by_path_hlp "/etc/httpd/conf.d/expedidos.conf" "f" "\"LBD - LBDoc\" (Apache/httpd) configuration files already installed in \"/etc/httpd/conf.d\"!" 597 + f_chk_by_path_hlp "$HTTPD_CONF_PATH/expedidos.conf" "f" "\"LBD - LBDoc\" (Apache/httpd) configuration files already installed in \"$HTTPD_CONF_PATH\"!"
255 F_BAK_MD_R=1 598 F_BAK_MD_R=1
256 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then 599 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then
257 f_yes_no "Backup old version and update? (\"y\" recommended)" 600 f_yes_no "Backup old version and update? (\"y\" recommended)"
258 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then 601 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
259 SUFFIX=$(date +"-D%Y-%m-%d-T%H-%M-%S") 602 SUFFIX=$(date +"-D%Y-%m-%d-T%H-%M-%S")
260 - NEW_FDL="/etc/httpd/conf.d/conf-bak$SUFFIX" 603 + NEW_FDL="$HTTPD_CONF_PATH/conf-bak$SUFFIX"
261 mkdir "$NEW_FDL" 604 mkdir "$NEW_FDL"
262 - mv "/etc/httpd/conf.d/apps.conf" "$NEW_FDL/"  
263 - mv "/etc/httpd/conf.d/atosnotaspareceres.conf" "$NEW_FDL/"  
264 - mv "/etc/httpd/conf.d/auditoria.conf" "$NEW_FDL/"  
265 - mv "/etc/httpd/conf.d/docslightbase.conf" "$NEW_FDL/"  
266 - mv "/etc/httpd/conf.d/docspro.conf" "$NEW_FDL/"  
267 - mv "/etc/httpd/conf.d/expedidos.conf" "$NEW_FDL/"  
268 - mv "/etc/httpd/conf.d/GSA.conf" "$NEW_FDL/"  
269 - mv "/etc/httpd/conf.d/inativos.conf" "$NEW_FDL/"  
270 - mv "/etc/httpd/conf.d/manutencao.conf" "$NEW_FDL/"  
271 - mv "/etc/httpd/conf.d/mod_mono.conf" "$NEW_FDL/"  
272 - mv "/etc/httpd/conf.d/portal.conf" "$NEW_FDL/"  
273 - mv "/etc/httpd/conf.d/recebidos.conf" "$NEW_FDL/" 605 + mv "$HTTPD_CONF_PATH/apps.conf" "$NEW_FDL/"
  606 + mv "$HTTPD_CONF_PATH/atosnotaspareceres.conf" "$NEW_FDL/"
  607 + mv "$HTTPD_CONF_PATH/auditoria.conf" "$NEW_FDL/"
  608 + mv "$HTTPD_CONF_PATH/docslightbase.conf" "$NEW_FDL/"
  609 + mv "$HTTPD_CONF_PATH/docspro.conf" "$NEW_FDL/"
  610 + mv "$HTTPD_CONF_PATH/expedidos.conf" "$NEW_FDL/"
  611 + mv "$HTTPD_CONF_PATH/GSA.conf" "$NEW_FDL/"
  612 + mv "$HTTPD_CONF_PATH/inativos.conf" "$NEW_FDL/"
  613 + mv "$HTTPD_CONF_PATH/manutencao.conf" "$NEW_FDL/"
  614 + mv "$HTTPD_CONF_PATH/mod_mono.conf" "$NEW_FDL/"
  615 + mv "$HTTPD_CONF_PATH/portal.conf" "$NEW_FDL/"
  616 + mv "$HTTPD_CONF_PATH/recebidos.conf" "$NEW_FDL/"
274 fi 617 fi
275 F_BAK_MD_R=${YES_NO_R} 618 F_BAK_MD_R=${YES_NO_R}
276 fi 619 fi
@@ -278,10 +621,104 @@ Use empty for \&quot;$LBG_URL\&quot;!&quot; @@ -278,10 +621,104 @@ Use empty for \&quot;$LBG_URL\&quot;!&quot;
278 cd "$SCRIPTDIR_V" 621 cd "$SCRIPTDIR_V"
279 cd ./other-srcs-n-apps 622 cd ./other-srcs-n-apps
280 tar -zxvf ./lbdoc-httpd-conf.tar.gz 623 tar -zxvf ./lbdoc-httpd-conf.tar.gz
281 - mv ./lbdoc-httpd-conf/* /etc/httpd/conf.d/ 624 + mv ./lbdoc-httpd-conf/* $HTTPD_CONF_PATH/
282 rm -rf ./lbdoc-httpd-conf 625 rm -rf ./lbdoc-httpd-conf
283 - chown -R apache /etc/httpd/conf.d  
284 - chmod -R 755 /etc/httpd/conf.d 626 +
  627 + MOD_MONO_SO_PATH=""
  628 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  629 + MOD_MONO_SO_PATH="/usr/lib64/httpd/modules/mod_mono.so"
  630 + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  631 + MOD_MONO_SO_PATH="/usr/lib/apache2/modules/mod_mono.so"
  632 + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  633 + MOD_MONO_SO_PATH="/usr/lib64/apache2/mod_mono.so"
  634 + fi
  635 + f_ez_sed "<MOD_MONO_SO_PATH>" "$MOD_MONO_SO_PATH" "$HTTPD_CONF_PATH/mod_mono.conf" 1
  636 +
  637 + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/apps.conf" 1
  638 + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/atosnotaspareceres.conf" 1
  639 + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/auditoria.conf" 1
  640 + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/docslightbase.conf" 1
  641 + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/docspro.conf" 1
  642 + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/expedidos.conf" 1
  643 + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/GSA.conf" 1
  644 + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/inativos.conf" 1
  645 + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/manutencao.conf" 1
  646 + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/portal.conf" 1
  647 + f_ez_sed "<HTTPD_DEF_DOC_ROOT>" "$HTTPD_DEF_DOC_ROOT" "$HTTPD_CONF_PATH/recebidos.conf" 1
  648 +
  649 + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/apps.conf"
  650 + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/atosnotaspareceres.conf"
  651 + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/auditoria.conf"
  652 + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/docspro.conf"
  653 + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/expedidos.conf"
  654 + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/GSA.conf"
  655 + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/inativos.conf"
  656 + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/manutencao.conf"
  657 + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/portal.conf"
  658 + f_ez_sed "<MONO_PATH>" "$MONO_PATH" "$HTTPD_CONF_PATH/recebidos.conf"
  659 +
  660 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  661 + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/apps.conf"
  662 + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/atosnotaspareceres.conf"
  663 + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/auditoria.conf"
  664 + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/docslightbase.conf"
  665 + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/docspro.conf"
  666 + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/expedidos.conf"
  667 + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/GSA.conf"
  668 + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/inativos.conf"
  669 + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/manutencao.conf"
  670 + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/portal.conf"
  671 + f_ez_sed "<DIR_RULES>" "Order allow,deny\n Allow from all" "$HTTPD_CONF_PATH/recebidos.conf"
  672 + elif [[ "$DISTRO_TYPE" == "DEB" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  673 + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/apps.conf"
  674 + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/atosnotaspareceres.conf"
  675 + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/auditoria.conf"
  676 + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/docslightbase.conf"
  677 + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/docspro.conf"
  678 + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/expedidos.conf"
  679 + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/GSA.conf"
  680 + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/inativos.conf"
  681 + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/manutencao.conf"
  682 + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/portal.conf"
  683 + f_ez_sed "<DIR_RULES>" "Require all granted" "$HTTPD_CONF_PATH/recebidos.conf"
  684 + fi
  685 + if [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  686 + ln -s "$HTTPD_CONF_PATH/apps.conf" "/etc/apache2/sites-enabled/apps.conf" &>/dev/null
  687 + ln -s "$HTTPD_CONF_PATH/atosnotaspareceres.conf" "/etc/apache2/sites-enabled/atosnotaspareceres.conf" &>/dev/null
  688 + ln -s "$HTTPD_CONF_PATH/auditoria.conf" "/etc/apache2/sites-enabled/auditoria.conf" &>/dev/null
  689 + ln -s "$HTTPD_CONF_PATH/docslightbase.conf" "/etc/apache2/sites-enabled/docslightbase.conf" &>/dev/null
  690 + ln -s "$HTTPD_CONF_PATH/docspro.conf" "/etc/apache2/sites-enabled/docspro.conf" &>/dev/null
  691 + ln -s "$HTTPD_CONF_PATH/expedidos.conf" "/etc/apache2/sites-enabled/expedidos.conf" &>/dev/null
  692 + ln -s "$HTTPD_CONF_PATH/GSA.conf" "/etc/apache2/sites-enabled/GSA.conf" &>/dev/null
  693 + ln -s "$HTTPD_CONF_PATH/inativos.conf" "/etc/apache2/sites-enabled/inativos.conf" &>/dev/null
  694 + ln -s "$HTTPD_CONF_PATH/manutencao.conf" "/etc/apache2/sites-enabled/manutencao.conf" &>/dev/null
  695 + ln -s "$HTTPD_CONF_PATH/mod_mono.conf" "/etc/apache2/sites-enabled/mod_mono.conf" &>/dev/null
  696 + ln -s "$HTTPD_CONF_PATH/portal.conf" "/etc/apache2/sites-enabled/portal.conf" &>/dev/null
  697 + ln -s "$HTTPD_CONF_PATH/recebidos.conf" "/etc/apache2/sites-enabled/recebidos.conf" &>/dev/null
  698 +
  699 + eval "chown -R $HTTPD_USR /etc/apache2/sites-enabled"
  700 + eval "chown -R :$HTTPD_GRP /etc/apache2/sites-enabled"
  701 + eval "chmod -R 755 /etc/apache2/sites-enabled"
  702 + fi
  703 +
  704 + eval "chown -R $HTTPD_USR $HTTPD_CONF_PATH"
  705 + eval "chown -R :$HTTPD_GRP $HTTPD_CONF_PATH"
  706 + eval "chmod -R 755 $HTTPD_CONF_PATH"
  707 +
  708 + eval "chown -R $HTTPD_USR $HTTPD_DEF_DOC_ROOT"
  709 + eval "chown -R :$HTTPD_GRP $HTTPD_DEF_DOC_ROOT"
  710 + eval "chmod -R 755 $HTTPD_DEF_DOC_ROOT"
  711 +
  712 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  713 + f_fl_cont_str "# NOTE: Fixing leaking semaphores with mod_mono!" "/etc/httpd/conf/httpd.conf"
  714 + if [ ${FL_CONT_STR_R} -eq 0 ] ; then
  715 + f_ez_sed "User apache" "# User apache" "/etc/httpd/conf/httpd.conf"
  716 + f_ez_sed "Group apache" "# Group apache" "/etc/httpd/conf/httpd.conf"
  717 + f_ez_sed "Include conf.d/*.conf" "\n# NOTE: Fixing leaking semaphores with mod_mono!\nUser apache\nGroup apache\n\nInclude conf.d/*.conf" "/etc/httpd/conf/httpd.conf"
  718 + fi
  719 + fi
  720 +
  721 + eval "service $HTTPD_SERV_NAME restart" &>/dev/null
285 fi 722 fi
286 fi 723 fi
287 f_close_section 724 f_close_section
@@ -295,11 +732,11 @@ PG_DB_F=&quot;lb&quot; @@ -295,11 +732,11 @@ PG_DB_F=&quot;lb&quot;
295 EZ_I_SKIP_ON_V=$SIMPLE_INST 732 EZ_I_SKIP_ON_V=$SIMPLE_INST
296 f_open_section 733 f_open_section
297 734
298 -f_yes_no "Install LBD - LBDoc (postgres 9.4) basic LightBase/LBG data structures?" 735 +f_yes_no "Install LBD - LBDoc (postgres 9.X) basic LightBase/LBG - LBGenerator data structures?"
299 736
300 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then 737 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
301 738
302 - QUESTION_F="Enter the postgres 9.4 database name for LightBase (LBG). 739 + QUESTION_F="Enter the postgres 9.X database name for LightBase (LBG - LBGenerator).
303 Use empty for \"$PG_DB_F\" (default)!" 740 Use empty for \"$PG_DB_F\" (default)!"
304 f_get_usr_input "$QUESTION_F" 1 741 f_get_usr_input "$QUESTION_F" 1
305 QUESTION_F="" 742 QUESTION_F=""
@@ -327,7 +764,7 @@ Use empty for \&quot;$PG_DB_F\&quot; (default)!&quot; @@ -327,7 +764,7 @@ Use empty for \&quot;$PG_DB_F\&quot; (default)!&quot;
327 EZ_I_SKIP_ON_V=0 764 EZ_I_SKIP_ON_V=0
328 fi 765 fi
329 else 766 else
330 - f_enter_to_cont "The file \"./lbd-basic-dt-strt/lbd-basic-dt-strt.sql\" has the LBD - LBDoc (postgres 9.4) basic LightBase/LBG data structures! Check it!" 767 + f_enter_to_cont "The file \"./lbd-basic-dt-strt/lbd-basic-dt-strt.sql\" has the LBD - LBDoc (postgres 9.X) basic LightBase/LBG - LBGenerator data structures! Check it!"
331 fi 768 fi
332 f_close_section 769 f_close_section
333 770
@@ -338,119 +775,270 @@ f_close_section @@ -338,119 +775,270 @@ f_close_section
338 775
339 EZ_I_SKIP_ON_V=$SIMPLE_INST 776 EZ_I_SKIP_ON_V=$SIMPLE_INST
340 f_open_section 777 f_open_section
341 -read -d '' TITLE_F <<"EOF"  
342 -Install LBD - LBDoc/mono components?  
343 -EOF  
344 -  
345 -f_yes_no "$TITLE_F"  
346 -TITLE_F="" 778 +f_yes_no "Install LBD - LBDoc/mono components?"
347 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then 779 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${YES_NO_R} -eq 1 ] ; then
  780 + f_common_packs
  781 + if [[ "$DISTRO_TYPE" == "RH" ]] ; then
  782 + f_pack_is_inst "bison" "yum" "\"bison\" already installed!"
  783 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  784 + yum -y install bison
  785 + fi
  786 + f_pack_is_inst "cairo-devel" "yum" "\"cairo-devel\" already installed!"
  787 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  788 + yum -y install cairo-devel
  789 + fi
  790 + f_pack_is_inst "gnome-utils-libs" "yum" "\"gnome-utils-libs\" already installed!"
  791 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  792 + yum -y install gnome-utils-libs
  793 + fi
  794 + f_pack_is_inst "urw-fonts" "yum" "\"urw-fonts\" already installed!"
  795 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  796 + yum -y install urw-fonts
  797 + fi
  798 + f_pack_is_inst "gettext" "yum" "\"gettext\" already installed!"
  799 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  800 + yum -y install gettext
  801 + fi
  802 + f_pack_is_inst "unzip" "yum" "\"unzip\" already installed!"
  803 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  804 + yum -y install unzip
  805 + fi
  806 + f_pack_is_inst "glib2-devel" "yum" "\"glib2-devel\" already installed!"
  807 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  808 + yum -y install glib2-devel
  809 + fi
  810 + f_pack_is_inst "libexif-devel" "yum" "\"libexif-devel\" already installed!"
  811 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  812 + yum -y install libexif-devel
  813 + fi
  814 + f_pack_is_inst "libjpeg-turbo-devel" "yum" "\"libjpeg-turbo-devel\" already installed!"
  815 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  816 + yum -y install libjpeg-turbo-devel
  817 + fi
  818 + f_pack_is_inst "openjpeg-libs" "yum" "\"openjpeg-libs\" already installed!"
  819 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  820 + yum -y install openjpeg-libs
  821 + fi
  822 + f_pack_is_inst "giflib" "yum" "\"giflib\" already installed!"
  823 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  824 + yum -y install giflib
  825 + fi
  826 + f_pack_is_inst "libtiff-devel" "yum" "\"libtiff-devel\" already installed!"
  827 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  828 + yum -y install libtiff-devel
  829 + fi
  830 + elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  831 + f_pack_is_inst "mono-devel" "apt-get" "\"mono-devel\" already installed!"
  832 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  833 + apt-get -y install mono-devel
  834 + fi
  835 + f_pack_is_inst "mono-gmcs" "apt-get" "\"mono-gmcs\" already installed!"
  836 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  837 + apt-get -y install mono-gmcs
  838 + fi
  839 + f_pack_is_inst "libcairo2-dev" "apt-get" "\"libcairo2-dev\" already installed!"
  840 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  841 + apt-get -y install libcairo2-dev
  842 + fi
  843 + f_pack_is_inst "libbison-dev" "apt-get" "\"libbison-dev\" already installed!"
  844 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  845 + apt-get -y install libbison-dev
  846 + fi
  847 + f_pack_is_inst "giflib-tools" "apt-get" "\"giflib-tools\" already installed!"
  848 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  849 + apt-get -y install giflib-tools
  850 + fi
  851 + f_pack_is_inst "libtiff5-dev" "apt-get" "\"libtiff5-dev\" already installed!"
  852 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  853 + apt-get -y install libtiff5-dev
  854 + fi
  855 + f_pack_is_inst "libgdict-1.0-dev" "apt-get" "\"libgdict-1.0-dev\" already installed!"
  856 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  857 + apt-get -y install libgdict-1.0-dev
  858 + fi
  859 + f_pack_is_inst "fonts-texgyre" "apt-get" "\"fonts-texgyre\" already installed!"
  860 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  861 + apt-get -y install fonts-texgyre
  862 + fi
  863 + f_pack_is_inst "tex-gyre" "apt-get" "\"tex-gyre\" already installed!"
  864 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  865 + apt-get -y install tex-gyre
  866 + fi
  867 + f_pack_is_inst "unzip" "apt-get" "\"unzip\" already installed!"
  868 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  869 + apt-get -y install unzip
  870 + fi
  871 + if [[ "$DISTRO_NAME" == "Debian" ]] ; then
  872 + f_pack_is_inst "glibc-source" "apt-get" "\"glibc-source\" already installed!"
  873 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  874 + apt-get -y install glibc-source
  875 + fi
  876 + else
  877 + f_pack_is_inst "eglibc-source" "apt-get" "\"eglibc-source\" already installed!"
  878 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  879 + apt-get -y install eglibc-source
  880 + fi
  881 + fi
  882 + elif [[ "$DISTRO_TYPE" == "SUSE" ]] ; then
  883 + f_pack_is_inst "bison" "zypper" "\"bison\" already installed!"
  884 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  885 + zypper --non-interactive install bison
  886 + fi
  887 + f_pack_is_inst "cairo-devel" "zypper" "\"cairo-devel\" already installed!"
  888 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  889 + zypper --non-interactive install cairo-devel
  890 + fi
  891 + f_pack_is_inst "freetype-devel" "zypper" "\"freetype-devel\" already installed!"
  892 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  893 + zypper --non-interactive install freetype-devel
  894 + fi
  895 + f_pack_is_inst "gconf2-devel" "zypper" "\"gconf2-devel\" already installed!"
  896 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  897 + zypper --non-interactive install gconf2-devel
  898 + fi
  899 + f_pack_is_inst "giflib-devel" "zypper" "\"giflib-devel\" already installed!"
  900 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  901 + zypper --non-interactive install giflib-devel
  902 + fi
  903 + f_pack_is_inst "gtk2-devel" "zypper" "\"gtk2-devel\" already installed!"
  904 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  905 + zypper --non-interactive install gtk2-devel
  906 + fi
  907 + f_pack_is_inst "intltool" "zypper" "\"intltool\" already installed!"
  908 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  909 + zypper --non-interactive install intltool
  910 + fi
  911 + f_pack_is_inst "libexif-devel" "zypper" "\"libexif-devel\" already installed!"
  912 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  913 + zypper --non-interactive install libexif-devel
  914 + fi
  915 + f_pack_is_inst "libjpeg8-devel" "zypper" "\"libjpeg8-devel\" already installed!"
  916 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  917 + zypper --non-interactive install libjpeg8-devel
  918 + fi
  919 + f_pack_is_inst "libtiff-devel" "zypper" "\"libtiff-devel\" already installed!"
  920 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  921 + zypper --non-interactive install libtiff-devel
  922 + fi
  923 + f_pack_is_inst "xorg-x11-devel" "zypper" "\"xorg-x11-devel\" already installed!"
  924 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  925 + zypper --non-interactive install xorg-x11-devel
  926 + fi
  927 + if [[ "$DISTRO_NAME" != "SLES" ]] ; then
  928 + f_pack_is_inst "mono-devel" "zypper" "\"mono-devel\" already installed!"
  929 + if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then
  930 + zypper --non-interactive install mono-devel
  931 + fi
  932 + fi
  933 + fi
  934 +
  935 + # NOTE: To debug!
  936 + # f_enter_to_cont
348 937
349 cd "$SCRIPTDIR_V" 938 cd "$SCRIPTDIR_V"
350 cd ./other-srcs-n-apps 939 cd ./other-srcs-n-apps
351 940
352 - f_pack_is_inst "gcc-c++" "yum" "\"gcc-c++\" already installed!"  
353 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
354 - yum -y install gcc-c++  
355 - fi  
356 - f_pack_is_inst "glib2-devel" "yum" "\"glib2-devel\" already installed!"  
357 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
358 - yum -y install glib2-devel  
359 - fi  
360 - f_pack_is_inst "libX11-devel" "yum" "\"libX11-devel\" already installed!"  
361 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
362 - yum -y install libX11-devel  
363 - fi  
364 - f_pack_is_inst "freetype-devel" "yum" "\"freetype-devel\" already installed!"  
365 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
366 - yum -y install freetype-devel  
367 - fi  
368 - f_pack_is_inst "fontconfig-devel" "yum" "\"fontconfig-devel\" already installed!"  
369 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
370 - yum -y install fontconfig-devel  
371 - fi  
372 - f_pack_is_inst "libexif-devel" "yum" "\"libexif-devel\" already installed!"  
373 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
374 - yum -y install libexif-devel  
375 - fi  
376 - f_pack_is_inst "bison" "yum" "\"bison\" already installed!"  
377 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
378 - yum -y install bison 941 + UP_LIBGDIPLUS=1
  942 + f_chk_by_path_hlp "$MONO_PATH/lib/pkgconfig/libgdiplus.pc" "f" "\"libgdiplus-4.2\" already installed in \"$MONO_PATH\"!"
  943 + if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then
  944 + f_div_section
  945 + f_yes_no "Update/reinstall \"libgdiplus-4.2\"? (\"y\" recommended)"
  946 + f_div_section
  947 + UP_LIBGDIPLUS=$YES_NO_R
  948 + else
  949 + f_enter_to_cont "Install \"libgdiplus-4.2\"!"
379 fi 950 fi
380 - f_pack_is_inst "gettext" "yum" "\"gettext\" already installed!"  
381 - if [ ${F_PACK_IS_INST_R} -eq 0 ] ; then  
382 - yum -y install gettext 951 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_LIBGDIPLUS} -eq 1 ] ; then
  952 + tar -zxvf libgdiplus-4.2.tar.gz
  953 + cd ./libgdiplus-4.2
  954 + ./configure --prefix=$MONO_PATH
  955 + make -j 4 && make install
  956 + cd ..
  957 + rm -rf ./libgdiplus-4.2
383 fi 958 fi
384 959
  960 + # NOTE: To debug!
  961 + # f_enter_to_cont
  962 +
  963 + cd "$SCRIPTDIR_V"
  964 + cd ./other-srcs-n-apps
  965 +
385 UP_MONO=1 966 UP_MONO=1
386 - f_chk_by_path_hlp "/opt/mono" "d" "\"mono-2.10.2\" already installed in \"/opt/mono\"!" 967 + f_chk_by_path_hlp "$MONO_PATH/lib/pkgconfig/mono.pc" "f" "\"mono-4.4.0\" already installed in \"$MONO_PATH\"!"
387 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then 968 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then
388 f_div_section 969 f_div_section
389 - f_yes_no "Update/reinstall \"mono-2.10.2\"? (\"y\" recommended)" 970 + f_yes_no "Update/reinstall \"mono-4.4.0\"? (\"y\" recommended)"
390 f_div_section 971 f_div_section
391 UP_MONO=$YES_NO_R 972 UP_MONO=$YES_NO_R
392 else 973 else
393 - f_enter_to_cont "Install \"mono-2.10.2\"!" 974 + f_enter_to_cont "Install \"mono-4.4.0\"!"
394 fi 975 fi
395 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_MONO} -eq 1 ] ; then 976 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_MONO} -eq 1 ] ; then
396 - tar -xjf mono-2.10.2.tar.bz2  
397 - cd ./mono-2.10.2  
398 - ./configure --prefix=/opt/mono --with-libgdiplus=/opt/mono  
399 - make  
400 - make install  
401 - export PATH=$PATH:/opt/mono/bin  
402 - export PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig 977 + tar -xjvf mono-4.4.0.148.tar.bz2
  978 + cd ./mono-4.4.0
  979 + ./configure --prefix=$MONO_PATH --with-libgdiplus=$MONO_PATH
  980 + make -j 4 && make install
  981 +
  982 + # NOTE: Esse passo é crucial, pois instrui o OS sobre onde
  983 + # os componentes do mono estão! By Questor
  984 + export PATH=$MONO_PATH/bin:$PATH
  985 + export LD_LIBRARY_PATH=$MONO_PATH/lib:$LD_LIBRARY_PATH
  986 + export PKG_CONFIG_PATH=$MONO_PATH/lib/pkgconfig:$PKG_CONFIG_PATH
  987 +
403 cd .. 988 cd ..
404 - rm -rf ./mono-2.10.2 989 + rm -rf ./mono-4.4.0
405 fi 990 fi
406 991
  992 + # NOTE: To debug!
  993 + # f_enter_to_cont
  994 +
407 cd "$SCRIPTDIR_V" 995 cd "$SCRIPTDIR_V"
408 cd ./other-srcs-n-apps 996 cd ./other-srcs-n-apps
409 997
410 UP_XSP=1 998 UP_XSP=1
411 - f_chk_by_path_hlp "/opt/mono/bin/xsp" "d" "\"xsp-2.10.2\" already installed in \"/opt/mono/bin/xsp\"!" 999 + f_chk_by_path_hlp "$MONO_PATH/lib/pkgconfig/xsp-4.pc" "f" "\"xsp-4.2\" already installed in \"$MONO_PATH\"!"
412 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then 1000 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then
413 f_div_section 1001 f_div_section
414 - f_yes_no "Update/reinstall \"xsp-2.10.2\"? (\"y\" recommended)" 1002 + f_yes_no "Update/reinstall \"xsp-4.2\"? (\"y\" recommended)"
415 f_div_section 1003 f_div_section
416 UP_XSP=$YES_NO_R 1004 UP_XSP=$YES_NO_R
417 else 1005 else
418 - f_enter_to_cont "Install \"xsp-2.10.2\"!" 1006 + f_enter_to_cont "Install \"xsp-4.2\"!"
419 fi 1007 fi
420 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_XSP} -eq 1 ] ; then 1008 if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_XSP} -eq 1 ] ; then
421 - tar -xjf xsp-2.10.2.tar.bz2  
422 - cd ./xsp-2.10.2  
423 - ./configure --prefix=/opt/mono  
424 - make  
425 - make install 1009 + tar -zxvf xsp-4.2.tar.gz
  1010 + cd ./xsp-4.2
  1011 + ./configure --prefix=$MONO_PATH
  1012 + make -j 4 && make install
426 cd .. 1013 cd ..
427 - rm -rf ./xsp-2.10.2 1014 + rm -rf ./xsp-4.2
428 fi 1015 fi
429 1016
  1017 + # NOTE: To debug!
  1018 + # f_enter_to_cont
  1019 +
430 cd "$SCRIPTDIR_V" 1020 cd "$SCRIPTDIR_V"
431 cd ./other-srcs-n-apps 1021 cd ./other-srcs-n-apps
432 -  
433 - UP_XSP=1  
434 - f_chk_by_path_hlp "/usr/lib64/httpd/modules/mod_mono.so" "f" "\"mod_mono-2.10\" already installed in \"/usr/lib64/httpd/modules\"!" 1022 + UP_MOD_MONO=1
  1023 + f_chk_by_path_hlp "$MONO_PATH/share/man/man8/mod_mono.8" "f" "\"mod_mono-3.12\" already installed in \"$MONO_PATH\"!"
435 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then 1024 if [ ${F_CHK_BY_PATH_HLP_R} -eq 1 ] ; then
436 f_div_section 1025 f_div_section
437 - f_yes_no "Update/reinstall \"mod_mono-2.10\"? (\"y\" recommended)" 1026 + f_yes_no "Update/reinstall \"mod_mono-3.12\"? (\"y\" recommended)"
438 f_div_section 1027 f_div_section
439 - UP_XSP=$YES_NO_R 1028 + UP_MOD_MONO=$YES_NO_R
440 else 1029 else
441 - f_enter_to_cont "Install \"mod_mono-2.10\"!" 1030 + f_enter_to_cont "Install \"mod_mono-3.12\"!"
442 fi 1031 fi
443 - if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_XSP} -eq 1 ] ; then  
444 - tar -xjf mod_mono-2.10.tar.bz2  
445 - cd ./mod_mono-2.10  
446 - ./configure --prefix=/opt/mono --with-mono-prefix=/opt/mono  
447 - make  
448 - make install 1032 + if [ ${EZ_I_SKIP_ON_V} -eq 1 ] || [ ${UP_MOD_MONO} -eq 1 ] ; then
  1033 + tar -zxvf mod_mono-3.12.tar.gz
  1034 + cd ./mod_mono-3.12
  1035 + ./configure --prefix=$MONO_PATH --with-mono-prefix=$MONO_PATH
  1036 + make -j 4 && make install
449 cd .. 1037 cd ..
450 - rm -rf ./mod_mono-2.10 1038 + rm -rf ./mod_mono-3.12
451 fi 1039 fi
452 1040
453 - service httpd restart 1041 + service $HTTPD_SERV_NAME restart &>/dev/null
454 fi 1042 fi
455 f_close_section 1043 f_close_section
456 1044
@@ -460,14 +1048,23 @@ f_close_section @@ -460,14 +1048,23 @@ f_close_section
460 # FINAL! 1048 # FINAL!
461 # -------------------------------------- 1049 # --------------------------------------
462 1050
  1051 +ERROR_LOG_FL=""
  1052 +if [[ "$DISTRO_TYPE" == "RH" ]] || [[ "$DISTRO_TYPE" == "SUSE" ]]; then
  1053 + ERROR_LOG_FL="error_log"
  1054 +elif [[ "$DISTRO_TYPE" == "DEB" ]] ; then
  1055 + ERROR_LOG_FL="error.log"
  1056 +fi
  1057 +
463 EZ_I_SKIP_ON_V=0 1058 EZ_I_SKIP_ON_V=0
464 read -d '' TITLE_F <<"EOF" 1059 read -d '' TITLE_F <<"EOF"
465 Installer finished! Thanks! 1060 Installer finished! Thanks!
466 EOF 1061 EOF
467 1062
468 USEFUL_INFO_F=" To start/stop... 1063 USEFUL_INFO_F=" To start/stop...
469 - service httpd start  
470 - service httpd stop 1064 +
  1065 + Apache ($HTTPD_SERV_NAME)
  1066 + service $HTTPD_SERV_NAME start
  1067 + service $HTTPD_SERV_NAME stop
471 1068
472 To access... 1069 To access...
473 http://<ip>/docslightbase/apps/ 1070 http://<ip>/docslightbase/apps/
@@ -476,10 +1073,10 @@ USEFUL_INFO_F=&quot; To start/stop... @@ -476,10 +1073,10 @@ USEFUL_INFO_F=&quot; To start/stop...
476 000.000.000-00/123456 1073 000.000.000-00/123456
477 1074
478 To configure httpd (Apache)... 1075 To configure httpd (Apache)...
479 - See \"/etc/httpd/conf.d\" folder! 1076 + See \"$HTTPD_CONF_PATH\" folder!
480 1077
481 Log... 1078 Log...
482 - less /var/log/httpd/error_log" 1079 + less $VAR_LOG_HTTPD/$ERROR_LOG_FL"
483 1080
484 f_end "$TITLE_F" "$USEFUL_INFO_F" 1081 f_end "$TITLE_F" "$USEFUL_INFO_F"
485 TITLE_F="" 1082 TITLE_F=""
lbd-src/.directory 0 → 100755
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +[Dolphin]
  2 +PreviewsShown=true
  3 +Timestamp=2016,5,18,16,37,29
  4 +Version=3
  5 +ViewMode=1
lbd-src/.directory.lock 0 → 100755
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +11614
  2 +dolphin
  3 +eduardo-nb
other-srcs-n-apps/.directory 0 → 100755
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +[Dolphin]
  2 +PreviewsShown=true
  3 +Timestamp=2016,5,18,12,16,47
  4 +Version=3
  5 +ViewMode=1
other-srcs-n-apps/.directory.lock 0 → 100755
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +29601
  2 +dolphin
  3 +eduardo-nb
other-srcs-n-apps/lbdoc-httpd-conf.tar.gz 100755 → 100644
No preview for this file type
other-srcs-n-apps/libgdiplus-4.2.tar.gz 0 → 100755
No preview for this file type
other-srcs-n-apps/mod_mono-2.10.tar.bz2
No preview for this file type
other-srcs-n-apps/mod_mono-3.12.tar.gz 0 → 100755
No preview for this file type
other-srcs-n-apps/mono-2.10.2.tar.bz2
No preview for this file type
other-srcs-n-apps/mono-4.4.0.148.tar.bz2 0 → 100755
No preview for this file type
other-srcs-n-apps/xsp-2.10.2.tar.bz2
No preview for this file type
other-srcs-n-apps/xsp-4.2.tar.gz 0 → 100755
No preview for this file type