#!/bin/sh # # --- FUNCIONES PARA EL ECHO #--- error() imprime el mensaje de error error() { echo -e "\033[1;31m==> ERROR:\033[1;0m \033[1;1m$1\033[1;0m" >&2 } # # --- LIMPIA LAS VARIABLES DE LA MEMORIA # --- LIMPIA LAS VARIABLES A UTILIZAR unset pkgname pkgver pkgrel pkgdesc url license groups provides md5sums force unset replaces depends conflicts backup source install build makedepends unset options # LEE LAS VARIABLES DEL PKGBUILD if [ ! -f PKGBUILD ]; then error "PKGBUILD no encontrado en $(pwd)" error "Recuerda estar ejecutando $(basename $0)" error "donde se encuentra el PKGBUILD" exit 123 fi source PKGBUILD # ANADE LAS FALTANTES [ -z "$prefix" ] && prefix=/usr [ -z "$arch" ] && arch=i386 [ -z "$license" ] && license="No especificada" # CHEKEA LAS VARIABLES MAS IMPORTANTES AL PKGBUILD # --- CHEKEA EL PKGBUILD if [ ! "$pkgname" ]; then error "Variable 'pkgname' no especificada en $PKGBUILD" exit 1 elif [ ! "$pkgver" ]; then error "Variable 'pkgver' no especificada en $PKGBUILD" exit 1 elif [ ! "$pkgrel" ]; then error "Variable 'pkgrel' no especificada en PKGBUILD" exit 1 elif [ "`type -t build`" != "function" ]; then error "Funcion 'build' no especificada en PKGBUILD" exit 1 fi # --- UN CHEQUEADO MAS AL PKGBUILD. =) if [ `echo $pkgver | grep '-'` ]; then error "pkgver no perimte contener guiones" exit 1 fi if [ `echo $pkgrel | grep '-'` ]; then error "pkgrel no permite contener guiones" exit 1 fi # --- AHORA QUE ESTA TODO EN ORDEN COMENZAMOS CON EL NUEVO PKGBUILD # ESTAS VARIABLES TIENEN Q SER SI O SI DE UNA LINEA. echo "pkgname=$pkgname" > new echo "pkgver=$pkgver" >> new echo "pkgrel=$pkgrel" >> new [[ ! -z $pkgdesc ]] && echo "pkgdesc=$pkgdesc" >> new [ ! -z $url ] && echo "url=$url" >> new [ ! -z $groups ] && echo "groups=$groups" >> new [ ! -z $conflicts ] && echo "conflicts=$conflicts" >> new [ ! -z $arch ] && echo "arch=$arch" >> new [ ! -z $install ] && echo "install=$install" >> new # --- AQUI VAMOS A CAMBIAR LAS VARIABLES QUE PUEDAN CONTENER # MAS DE UNA LINEA if [[ ! -z "$depends" ]]; then echo -en "depends=(" >> new for d in ${depends[@]} do echo -en "'$d' " >> new done echo ")" >> new fi # if [[ ! -z "$makedepends" ]]; then echo -en "makedepends=(" >> new for d in ${makedepends[@]} do echo -en "'$d' " >> new done echo ")" >> new fi # if [[ -z "$options" ]]; then echo -en "options=(" >> new for d in ${options[@]} do echo -en "'$d' " >> new done echo ")" >> new fi # if [[ ! -z "$provides" ]]; then echo -en "provides=(" >> new for d in ${provides[@]} do echo -en "'$d' " >> new done echo ")" >> new fi # if [[ ! -z "$backup" ]]; then echo -en "backup=(" >> new for d in ${backup[@]} do echo -en "'$d' " >> new done echo ")" >> new fi # if [[ ! -z "$source" ]]; then echo -en "source=(" >> new for d in ${source[@]} do echo -en "'$d' " >> new done echo ")" >> new fi # if [[ ! -z "$md5sums" ]]; then echo -en "md5sums=(" >> new for d in ${md5sums[@]} do echo -en "'$d' " >> new done echo ")" >> new fi [[ ! -z "$_svntrunk" ]] && echo "_svntrunk=$_svntrunk" >> new [[ ! -z "$_svnmod" ]] && echo "_svnmod=$_svnmod" >> new # --- AHORA COPIA LA FUNCION BUILD() TAL COMO ESTA # UN POKO DE MATEMATIKAS:::: XD n="$(cat -n PKGBUILD | grep -i "build()" | awk '{ print $1 }')" tl="$(wc -l PKGBUILD | awk '{ print $1 }')" bf="$(echo $(( $n - 1 )) )" lm="$(echo $(( $tl - $bf )) )" tail -n $lm PKGBUILD >> new # --- AHORA SOLO RESTA RENOMBRAR EL ARCHIVO mv PKGBUILD PKGBUILD.OLD mv new PKGBUILD