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

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

[ Hits: 6.535 ]

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

VMVolMan - Dockapp para gerenciar mídias removíveis no Window Maker

Telegram Desktop parou de funcionar após atualização ou troca de idioma? Corrija isso já!

Recuperando inicialização do Slackware após atualização do kernel via slackpkg

Utilizando as configurações do GNOME em outros gerenciadores de janelas

Criando o comando grub-update no Fedora

Leitura recomendada

Tradução e dependências do K3b - Ubuntu e derivados pelo Synaptic

Como ter todos os efeitos do Compiz, todos mesmo!

Instalando o NTOP 4.1.0 no CentOS 5.7

Scribus 1.5.1 no Linux Mint 17.1 e derivados

Skype no Ubuntu - Hoary

  

Comentários
[1] Comentário enviado por removido 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 removido 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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts