Slackware - Duas formas (de preguiçoso) de usar o SlackBuilds

Publicado por Luís Fernando C. Cavalheiro em 25/01/2013

[ Hits: 5.536 ]

Blog: https://github.com/lcavalheiro/

 


Slackware - Duas formas (de preguiçoso) de usar o SlackBuilds



Saudações, cidadãos da República do Software Livre!

Aqui começa mais uma Dica do Dino, e desta vez, voltada para o Slackware. Hoje vou ensinar duas dicas de preguiçoso na hora de usar um SlackBuild.

A primeira ensina como baixar apenas o arquivo com o SlackBuild e usar o terminal para pegar o resto. A outra ensina como usar um script SlackBuild para uma versão diferente daquela disponibilizada no site.

1. Automatizando processo de download dos sources

Para quem nunca reparou, no ".tar.gz", que contém o script SlackBuild, existe um arquivo ".info". O do Cairo-Dock, por exemplo, é assim:

PRGNAM="cairo-dock"
VERSION="2.3.0~2.1"
HOMEPAGE="http://www.glx-dock.org"
DOWNLOAD="http://launchpad.net/cairo-dock-core/2.3/2.3.0/+download/cairo-dock-2.3.0~2.1.tar.gz"
MD5SUM="8b0f016affc1dd5b3d2272ff99db4507"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="gtkglext"
MAINTAINER="Robert Goodall"
EMAIL="cmd.line.geek@gmail.com"

Para automatizar o processo (criar um script, por exemplo, ou fazer tudo pelo terminal), após descompactar o ".tar.gz", use o ".info" para setar as variáveis necessárias para o processo de automatização:
  • DOWNLOAD: Para a versão 32bits
  • DOWNLOAD_x86_64: Caso exista a versão de 64bits

Usando o "cairo-dock.info" como exemplo, rode o comando:

# . ./cairo-dock.info

Sim, o ponto no início da linha é parte obrigatória do comando. Depois disso, baixe os sources com o comando:

# wget ${DOWNLOAD}   # Para a versão em 32 bits.

Ou:

# wget ${DOWNLOAD_x86_64}   # Para a versão de 64 bits.

Isso pode parecer besteira, mas olhe, por exemplo, a variável DOWNLOAD do "nvidia-driver":

DOWNLOAD="ftp://download.nvidia.com/XFree86/Linux-x86/310.19/NVIDIA-Linux-x86-310.19.run \
          ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-310.19.tar.bz2 \
          ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-310.19.tar.bz2 \
          ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-310.19.tar.bz2"

Usando este macete, você garante que não vai esquecer de baixar nada. ;-)

2. Usando um script SlackBuild

Usando o script para uma versão diferente da disponibilizada em:
Este é um pequeno macete sobre os scripts do SlackBuilds que, apesar de bobo, pouca gente conhece.

Existe quem goste de usar tecnologias bleeding edge mesmo no Slackware, mas ao usar o SlackBuilds, se depara com versões mais antigas dos programas que gostaria de usar.

O Cairo-Dock é um exemplo, ele já está na versão 3.1.2.1, mas a versão disponibilizada no SlackBuilds é a 2.3.0~2.1. Mas você não está restrito a usar a versão do SlackBuilds, pode usar a versão que você quiser do programa!

E esta dica vai ensiná-lo como!

Em primeiro lugar, uma breve explicação sobre como um script SlackBuild funciona. Após algumas linhas comentadas, nas quais o autor do script coloca a parafernália legal necessária, aparecerá sempre um bloquinho de definição de variáveis.

Vamos manter o exemplo do Cairo-Dock. No "cairo-dock.SlackBuild", o bloquinho de variáveis é este aqui:

PRGNAM=cairo-dock
VERSION=${VERSION:-2.3.0~2}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}

Alguns pacotes têm um bloquinho de variáveis maior, mas estes quatro são os principais:
  • PRGNAM → Nome final do pacote
  • VERSION → Versão do pacote
  • BUILD → Número de controle da compilação do pacote
  • TAG → Um marcador que é acrescentado ao nome do pacote para diferenciá-lo dos pacotes "padrão" do Slack.

A variável que nos interessa aqui é a VERSION, que diz qual é versão do source que deverá ser usada. O arquivo com o source do programa será testado, e caso sua versão não combine com o número de VERSION, o script abortará o processo.

Então, como contornar isso, editando o script? CLARO QUE NÃO!

No Slackware, sempre existe o "método do preguiçoso" para fazer as coisas, e com o SlackBuild isso não é diferente. A forma como a variável é definida no script permite uma coisa muito curiosa: Se você não definir nenhum valor para VERSION, então ela usará o valor padrão (depois dos dois-pontos), do contrário, ela usará o valor que você definir para VERSION.

Então, voltando ao exemplo do SlackBuild do Cairo-Dock, se eu quiser instalar o source do 3.1.2.1 usando o script do SlackBuilds, basta pegar o script e o source dessa versão e rodar o comando assim:

# VERSION=3.1.2.1 ./cairo-dock.SlackBuild

E o script compilará e empacotará a versão 3.1.2.1 do Cairo-Dock.

Simples, né?

Outras dicas deste autor

Testando microfone pelo terminal sob o ALSA

Google Chrome Stable no CentOS 6.x

usbboot.img - A mídia de instalação mínima do Slackware

Compilando OpenJDK e IcedTea no Slackware usando SlackBuild de AlienBOB

FFmpeg: criando dois ou mais arquivos de saída simultaneamente

Leitura recomendada

Dicas para instalação do ENVI 4.6 (Environment for Visualizing Images) no Ubuntu Linux 9.04

Como instalar o Indy no Lazarus

Resolvendo problema com logout ao abrir vídeos

Reproduzindo arquivo MOV no openSUSE 11.3 64 bits com SMPlayer

Backported d-i images para o Debian Squeeze

  

Comentários
[1] Comentário enviado por izaias em 25/01/2013 - 20:23h

Adivinhou, né?

Acredita que somente agora consegui entender esse método que explicou no meu tópico?! rs


Ótimo trabalho, Luís.

[2] Comentário enviado por lcavalheiro em 25/01/2013 - 20:26h


[1] Comentário enviado por izaias em 25/01/2013 - 20:23h:

Adivinhou, né?

Acredita que somente agora consegui entender esse método que explicou no meu tópico?! rs


Ótimo trabalho, Luís.


Na verdade, eu criei a dica me inspirando no que tentei te explicar no tópico ;-) Valeu o elogio, chapa!

[3] Comentário enviado por izaias em 25/01/2013 - 20:30h

Mas agora ficou muito mais claro.

Vou retornar ao tópico e apontar sua dica.

Abração.

[4] Comentário enviado por lcavalheiro em 25/01/2013 - 20:33h

É uma boa, já que até os exemplos da dica aqui eu tirei de lá ;-)

[5] Comentário enviado por viniciusalmeida em 26/01/2013 - 23:12h

kra, adorei a dica.

agora uma duvida meio boba: pq o . ./cairo-doc.info no inicio?

[6] Comentário enviado por lcavalheiro em 27/01/2013 - 22:51h


[5] Comentário enviado por viniciusalmeida em 26/01/2013 - 23:12h:

kra, adorei a dica.

agora uma duvida meio boba: pq o . ./cairo-doc.info no inicio?


Esse comando faz o seguinte: ele lê o arquivo .info e seta as variáveis para o shell atual de acordo com o que ele ler no arquivo. Logo, ele define o valor da variável DOWNLOAD, que é o que nos interessa, para o endereço no qual eu pegarei os fontes para instalação. Isso é bom para quem usa o Slack no runlevel 3, acredite ;-)

[7] Comentário enviado por viniciusalmeida em 30/01/2013 - 16:36h

Até imagino, hhehe. Vlw pela explicação e parabéns pelo artigo (não só esse, mas os outros também, li bastante eles quando fui instalar o slack)



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts