SBoupgrade - Atualize seu SlackBuild!

Publicado por edps em 23/04/2015

[ Hits: 2.152 ]

Blog: https://edpsblog.wordpress.com/

 


SBoupgrade - Atualize seu SlackBuild!



Olá, pessoal.

Hoje veremos um script, cuja finalidade é a atualização de SlackBuilds.

Escrito por Michales Michaloudes, a.k.a korgman, mantenedor do pacote qmmp para o SlackBuild, esse script simples lhe poupará algum trabalho na hora de atualizar qualquer Slackbuild.

Vejamos, então:

#!/bin/bash
# Script written by Michales Michaloudes (korgie@gmail.com) for the SlackBuild community.
# Feel free to modify it, or to take the project to higher levels :)
#
# Use it at your own risk.

# Variables
SOURCES=${SOURCES:-../../sources} # the folder with the sources. I suggest to use relative path.
TEMPLATEFOLDER=${TEMPLATEFOLDER:-~/SlackBuilds} # the folder with template.README template.SlackBuild template.info template.slack-desc

if [ "$2" = "" ]; then
	APPNAME=$(ls *.SlackBuild | gawk -F'.SlackBuild' ' { print $1 } ')
	echo "You didn't provided program name, guessed: $APPNAME."
else
	APPNAME=$2
fi
. $APPNAME.info

if [ "$1" = "" ]; then
	NEWVERSION=$(ls -t1 $APPNAME*.tar* | head -1 | sed -e 's/.*-//' -e 's/.tar.*//g')
	echo "You didn't provided version, guessed: $NEWVERSION."
else
	NEWVERSION=$1
fi

echo -e "\nUpdating with $APPNAME-$NEWVERSION."
SOURCE=$(ls $APPNAME-$NEWVERSION.tar.* | sort | head -1)

# Append the md5sum to the info file
if [ -e $SOURCE ]; then
	MD5SUMPRG=$(md5sum $SOURCE | cut -c 1-32)
else
	echo "ERROR, source absent?"
	exit 1
fi

#-----------------------------
#- SED bonanza               -
#-----------------------------
# All files like slack-desc, Slackbuild, info will have the correct application name to be compiled
# find $TEMPLATEFOLDER/$NEWVERSION/$APPNAME -name $APPNAME.\* -exec sed -i "s/appname/$APPNAME/g" {} \;
# APPURL=$(cat ${SOURCES}/${APPNAME}.link)

sed -i "s/VERSION:-.*}/VERSION:-$NEWVERSION}/g" ./$APPNAME.SlackBuild
sed -i "s/VERSION=\".*\"/VERSION=\"$NEWVERSION\"/g" ./$APPNAME.info
sed -i "s/MD5SUM=\".*\"/MD5SUM=\"${MD5SUMPRG}\"/g" ./$APPNAME.info
sed -i "s,$VERSION,$NEWVERSION,g" ./$APPNAME.info

echo
echo "Check for yourself for errors."
grep $APPNAME $APPNAME.info
grep VERSION $APPNAME.SlackBuild

# vi $APPNAME.info

Aqui, salvei-o tal como recebi, em minha pasta "$HOME/bin" mantendo o mesmo nome e extensão: "SBoupgrade.cvl". Salve-o onde achar melhor.

Em uso

Tomemos como exemplo o pacote DeadBeef, que tratei numa outra dica do meu blog:
Então, copiamos a pasta do mesmo contida em "/var/lib/sbopkg/SBo/14.1/audio/deadbeef/":

cp -a /var/lib/sbopkg/SBo/14.1/audio/deadbeef .

Entramos no diretório:

cd deadbeef

Baixamos o source do programa:

wget -nv http://downloads.sourceforge.net/deadbeef/deadbeef-0.6.2.tar.bz2

Com a execução do comando abaixo "SBoupgrade.cvl", todas as informações necessárias para o empacotamento serão obtidas através do novo source do programa (versão, md5 etc), as modificações serão realizadas nos arquivos ".info" e ".SlackBuild":

SBoupgrade.cvl
Linux: SBoupgrade, atualize seu SlackBuild!
Feito isto, basta executar seu SlackBuild e aguardar o término do processo:

sudo sh deadbeef.SlackBuild
Linux: SBoupgrade, atualize seu SlackBuild!
E instalar o novo pacote:

sudo installpkg /tmp/deadbeef-0.6.2-*_SBo.tgz
Linux: SBoupgrade, atualize seu SlackBuild!

Agradecimento

Aqui vai o meu agradecimento ao autor do script, não só pelo envio do mesmo, mas também pela atenção dada aos emails que lhe enviei, respeitando inclusive as diferenças linguísticas que somente o GT é capaz de dirimir, acho. (rsrs)

Dica previamente publicada em meu blog:
T+

Outras dicas deste autor

Backported d-i images para o Debian Squeeze

Firefox no Linux em apenas 5 passos

Mantendo o cache de pacotes no Fedora

MobileMediaConverter no Arch Linux e em distros Debian-like

"sources.list" para o Ubuntu 11.10 - Oneiric Ocelot

Leitura recomendada

Sistema de backup em shell script

Criando um usuário exclusivo para desligar/reiniciar o PC ou para executar um programa/script

Criando um alias (atalho) no bash - Slackware 10.2

FATAL: Module ndiswrapper not found - Linux Mint Debian

Resolvendo problemas ao montar SMBFS

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts