tagtool 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #!/bin/sh
  2. #========HEADER==============================================================|
  3. #AUTOR
  4. # Jefferson Rocha <root@slackjeff.com.br>
  5. #Programa
  6. # tagtools
  7. #Descrição
  8. # Cria o o diretório 'tagfile' cria suas respectivas séries e baixa
  9. # o tagfile de cada série.
  10. # O mirror é o oficial do Slackware, com suporte a mirrors de 32 e 64 bits
  11. #Licença
  12. # MIT
  13. # https://notabug.org/jeffersonrocha/tagtool/src/master/LICENSE
  14. #CHANGELOG
  15. # V 1.1 - Jefferson Rocha 04/10/2018
  16. # -Inserido menu interativo com os mirrors
  17. #============================================================================|
  18. #=======VARS
  19. version='1.1'
  20. archive_name='tagfile'
  21. dir="${HOME}/tagfiles"
  22. # Caso Deseja fazer o processo automatico
  23. # e não exibir o menu interativo de links
  24. # set a variável 'setlink' com o número
  25. # do mirror desejavel.
  26. setlink=''
  27. link=( # MIRRORS DISPONIVEIS.
  28. # X86
  29. [0]='https://mirrors.slackware.com/slackware/slackware-11.0/slackware/'
  30. [1]='https://mirrors.slackware.com/slackware/slackware-12.0/slackware/'
  31. [2]='https://mirrors.slackware.com/slackware/slackware-12.1/slackware/'
  32. [3]='https://mirrors.slackware.com/slackware/slackware-12.2/slackware/'
  33. [4]='https://mirrors.slackware.com/slackware/slackware-13.0/slackware/'
  34. [5]='https://mirrors.slackware.com/slackware/slackware-13.1/slackware/'
  35. [6]='https://mirrors.slackware.com/slackware/slackware-13.37/slackware/'
  36. [7]='https://mirrors.slackware.com/slackware/slackware-14.0/slackware/'
  37. [8]='https://mirrors.slackware.com/slackware/slackware-14.1/slackware/'
  38. [9]='https://mirrors.slackware.com/slackware/slackware-14.2/slackware/'
  39. [10]='https://mirrors.slackware.com/slackware/slackware-current/slackware/'
  40. # X86_64
  41. [11]='https://mirrors.slackware.com/slackware/slackware64-13.0/slackware64/'
  42. [12]='https://mirrors.slackware.com/slackware/slackware64-13.1/slackware64/'
  43. [13]='https://mirrors.slackware.com/slackware/slackware64-13.37/slackware64/'
  44. [14]='https://mirrors.slackware.com/slackware/slackware64-14.0/slackware64/'
  45. [15]='https://mirrors.slackware.com/slackware/slackware64-14.1/slackware64/'
  46. [16]='https://mirrors.slackware.com/slackware/slackware64-14.2/slackware64/'
  47. [17]='https://mirrors.slackware.com/slackware/slackware64-current/slackware64/'
  48. )
  49. #========TESTE
  50. # Verificação se deve ou não
  51. # mostrar o menu interativo para o usuário.
  52. # se caso a variável setlink esta setada
  53. # com algum mirror o menu interativo não roda.
  54. # e vai direto para o ponto G ~:)
  55. [ "$setlink" ] && active='1'
  56. #========INICIO
  57. if [ "$active" = '1' ]; then
  58. echo -e "Mirror Active in Script, SKIP interactive menu.\n"
  59. else
  60. i='0'
  61. for print in "${link[@]}"; do
  62. if [ "$i" = '0' ]; then
  63. echo "==========> X86"
  64. elif [ "$i" = '11' ]; then
  65. echo -e "\n==========> X86_64"
  66. fi
  67. echo "[${i}] - $print"
  68. i=$((i + 1)) # Incremento
  69. done
  70. read -p $'\nSelect a Mirror/Number: ' setlink
  71. # Entrada nula?
  72. [ "$setlink" ] || { echo "You not selected any Mirror."; exit 1;}
  73. fi
  74. # Cortando a / do link
  75. link="${link[$setlink]%/}"
  76. series=( # Todas Series de a~y
  77. 'a' 'ap' 'd'
  78. 'e' 'f' 'k'
  79. 'kde' 'kdei' 'l'
  80. 'n' 't' 'tcl'
  81. 'x' 'xap' 'xfce'
  82. 'y'
  83. )
  84. # Criando o diretorio tagfiles
  85. # no home do usuário.
  86. [ ! -d "$dir" ] && { mkdir "$dir"; echo "==========>${dir} created.";}
  87. cd "$dir"
  88. echo "==========> INITIALIZING DOWNLOAD.\n"
  89. echo -e "Mirror: ${link}\n"
  90. for serie in "${series[@]}"; do
  91. # Criando diretório da série
  92. [ ! -d "$serie" ] && mkdir "$serie"
  93. # Download da serie, deu pau para.
  94. wget -q --show-progress "${link}/${serie}/${archive_name}" \
  95. -O "${serie}/${archive_name}" || { echo "ERROR in serie: ${serie}"; exit 1;}
  96. done
  97. echo -e "\n==========> OK, COMPLETED.\n"