SBoupgrade - Atualize seu SlackBuild!

Publicado por edps em 23/04/2015

[ Hits: 2.310 ]

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

Auto-login no GDM3 no Debian Squeeze ou outros

QMPlay2 no Devuan, Debian e derivados

Flite - um sintetizador de voz pequeno e simples

PepperFlash no Debian 32Bits

Há mais no Linux que o Ubuntu

Leitura recomendada

Criando um simples script para desmontar e ejetar o CD-ROM

Sistema de backup em shell script

Como obter informações sobre o sistema com inxi

Clonar HDs em máquinas Windows 7 via servidor openSUSE

online_man - Páginas de manual online no terminal

  

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