SBoupgrade - Atualize seu SlackBuild!
Dica publicada em Shell Script / Miscelânea
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:
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.
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 Feito isto, basta executar seu SlackBuild e aguardar o término do processo:
sudo sh deadbeef.SlackBuild E instalar o novo pacote:
sudo installpkg /tmp/deadbeef-0.6.2-*_SBo.tgz
Dica previamente publicada em meu blog:
T+
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 Feito isto, basta executar seu SlackBuild e aguardar o término do processo:
sudo sh deadbeef.SlackBuild E instalar o novo pacote:
sudo installpkg /tmp/deadbeef-0.6.2-*_SBo.tgz
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+