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

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

[ Hits: 6.515 ]

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

Instalação do emulador mednafen no Slackware 14.2

Descompactando arquivos ZIP divididos em partes

Impedindo atualização de pacotes específicos no Fedora

Tornando o cliente oficial do Discord multiusuário em GNU/Linux

Slackpkg: escolha qual programa usar para fazer o download de dados

Leitura recomendada

Instalando Microsoft Edge no Debian 12

Screenshot em qualquer gerenciador com Captura

Instalando Bashtop no Debian 10 Buster

Google Chrome no Fedora 17

Convertendo wma em mp3 com o Ubuntu Linux

  

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