Advertisement
insaneisnotfree

Dependencias slackware

Apr 20th, 2014
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. #===============================================================================
  3. #
  4. #          FILE: dependencias.sh
  5. #
  6. #         USAGE: ./dependencias.sh paquete
  7. #
  8. #   DESCRIPTION: Resolver dependencias para un paquete determinado, el script
  9. #                proporcionas un listado ordenado de paquetes a instalar
  10. #                para sistemas basados en SLACKWARE.
  11. #
  12. #       OPTIONS:
  13. #  REQUIREMENTS: Curl, wget, gawk
  14. #         NOTES: -
  15. #        AUTHOR: Skilltik Henry Suarez skilltik@gmail.com
  16. #  ORGANIZATION: ---
  17. #       CREATED: 17/04/14
  18. #      REVISION: 0.1
  19. #===============================================================================
  20.  
  21. packages_dir=/var/log/packages/
  22.  
  23. function resuelve(){
  24.     for paquete in $@
  25.     do
  26.         lista=''
  27.         lista=`ls $packages_dir | grep $paquete-`
  28.         if [ "${#lista}" == 0 ]
  29.         then
  30.         c=" "
  31.         echo "$paquete$c" >> resul
  32.         curl -s "slackbuilds.org/result/?search=$paquete&sv=14.1" > salida.html ;
  33.         variable=`grep -i $paquete\/ salida.html | gawk '{print $6}' FS="\"" | gawk '{print $4}' FS="/"`
  34.         nombreokpaquete=`grep -i $paquete\/ salida.html | gawk '{print $6}' FS="\"" | gawk '{print $5}' FS="/"`
  35.         wget -q http://slackbuilds.org/slackbuilds/14.1/$variable/$nombreokpaquete/$nombreokpaquete.info ;
  36.         vari=`grep REQUIRES $nombreokpaquete.info`
  37.         vari=`echo ${vari:10: -1}`
  38.         rm *.info
  39.         if [ "${#vari}" != 0 ]
  40.         then
  41.             resuelve $vari
  42.         fi
  43.         fi
  44.     done  
  45.  }
  46.  
  47. for arreglo in $@
  48. do
  49.     curl -s "slackbuilds.org/result/?search=$arreglo&sv=14.1" > verifica.html ;
  50.     verificapaq=`grep -i "No results" verifica.html `
  51.     rm verifica.html
  52.     if [ "${#verificapaq}" == 0  ]
  53.     then
  54.     resuelve $arreglo
  55.     if [ -f resul ]
  56.     then
  57.         tac resul > resul2
  58.         cat resul2 | tr -s " " "\n" > resul
  59.         awk '!array_temp[$0]++' resul > resul2
  60.         cat resul2 | tr -s "\n" " " > resul
  61.         tr -d "\n" < resul > resul2
  62.         echo "|-----------------------------------------------------------|"
  63.         echo "Las dependencias a resolver para $arreglo son :"
  64.         cat resul2
  65.         echo " "
  66.         echo "|-----------------------------------------------------------|"
  67.         echo " "
  68.         rm resul resul2
  69.         rm salida.html
  70.     else
  71.             echo "|-----------------------------------------------------------|"
  72.         echo "No hay dependencias por resolver para $arreglo "
  73.         if ( lista=`ls $packages_dir | grep $paquete-` )
  74.         then
  75.         echo "$lista ya se encuentra instalado"
  76.         fi
  77.         echo "|-----------------------------------------------------------|"
  78.     fi
  79.     else
  80.     echo "|-----------------------------------------------------------|"
  81.     echo " $arreglo no existe en base de datos"
  82.     echo "|-----------------------------------------------------------|"
  83.     fi
  84. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement