SBoupgrade - Atualize seu SlackBuild!

Publicado por edps em 23/04/2015

[ Hits: 1.991 ]

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

QMPlay2 no Devuan, Debian e derivados

Mantendo o cache de pacotes no Fedora

Obtendo informações do sistema com o script INXI

Emerald + Compiz no Debian

MobileMediaConverter no Arch Linux e em distros Debian-like

Leitura recomendada

Conversão de vídeo escalonada ( batch ) em diferentes formatos

Script que automatiza o envio de backup para o email

Comando sed para formatar datas

Entrando com argumentos em shell script

Configurando acesso à VPN no Ubuntu Linux

  

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