Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #===============================================================================
- #
- # FILE: dependencias.sh
- #
- # USAGE: ./dependencias.sh paquete
- #
- # DESCRIPTION: Resolver dependencias para un paquete determinado, el script
- # proporcionas un listado ordenado de paquetes a instalar
- # para sistemas basados en SLACKWARE.
- #
- # OPTIONS:
- # REQUIREMENTS: Curl, wget, gawk
- # NOTES: -
- # AUTHOR: Skilltik Henry Suarez skilltik@gmail.com
- # ORGANIZATION: ---
- # CREATED: 17/04/14
- # REVISION: 0.1
- #===============================================================================
- packages_dir=/var/log/packages/
- function resuelve(){
- for paquete in $@
- do
- lista=''
- lista=`ls $packages_dir | grep $paquete-`
- if [ "${#lista}" == 0 ]
- then
- c=" "
- echo "$paquete$c" >> resul
- curl -s "slackbuilds.org/result/?search=$paquete&sv=14.1" > salida.html ;
- variable=`grep -i $paquete\/ salida.html | gawk '{print $6}' FS="\"" | gawk '{print $4}' FS="/"`
- nombreokpaquete=`grep -i $paquete\/ salida.html | gawk '{print $6}' FS="\"" | gawk '{print $5}' FS="/"`
- wget -q http://slackbuilds.org/slackbuilds/14.1/$variable/$nombreokpaquete/$nombreokpaquete.info ;
- vari=`grep REQUIRES $nombreokpaquete.info`
- vari=`echo ${vari:10: -1}`
- rm *.info
- if [ "${#vari}" != 0 ]
- then
- resuelve $vari
- fi
- fi
- done
- }
- for arreglo in $@
- do
- curl -s "slackbuilds.org/result/?search=$arreglo&sv=14.1" > verifica.html ;
- verificapaq=`grep -i "No results" verifica.html `
- rm verifica.html
- if [ "${#verificapaq}" == 0 ]
- then
- resuelve $arreglo
- if [ -f resul ]
- then
- tac resul > resul2
- cat resul2 | tr -s " " "\n" > resul
- awk '!array_temp[$0]++' resul > resul2
- cat resul2 | tr -s "\n" " " > resul
- tr -d "\n" < resul > resul2
- echo "|-----------------------------------------------------------|"
- echo "Las dependencias a resolver para $arreglo son :"
- cat resul2
- echo " "
- echo "|-----------------------------------------------------------|"
- echo " "
- rm resul resul2
- rm salida.html
- else
- echo "|-----------------------------------------------------------|"
- echo "No hay dependencias por resolver para $arreglo "
- if ( lista=`ls $packages_dir | grep $paquete-` )
- then
- echo "$lista ya se encuentra instalado"
- fi
- echo "|-----------------------------------------------------------|"
- fi
- else
- echo "|-----------------------------------------------------------|"
- echo " $arreglo no existe en base de datos"
- echo "|-----------------------------------------------------------|"
- fi
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement