Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor

Veremos como fazer suas próprias atualizações de pacotes/programas no Void Linux e tornar-se um Contribuidor para os repositórios.

[ Hits: 477 ]

Por: Buckminster em 06/04/2026


Fazendo Atualizações



Tomarei como exemplo o Google Chrome.
Supondo que está desatualizado e aparecendo a mensagem ao abrir o Chrome.

1- Faça o download oficial do .deb (o .deb é melhor de trabalhar do que o .rpm):
https://www.google.com/chrome/?platform=linux

2- Entre no diretório onde fez o download e gere o hash:
$ cd Downloads
$ sha256sum google-chrome-stable_current_amd64.deb
4dbd78d88a1e69a6036ba8e8adb99fca808790e23b2ea92d8610494ad7f57328 google-chrome-stable_current_amd64.deb

3- Veja a versão do novo programa:
$ tar -xJf control.tar.xz ./control -O | grep Version
Version: 146.0.7680.177-1

4- Atualize o sistema e instale o necessário:
$ sudo xbps-install -Su
$ sudo xbps-install xtools

5- Clone o repositório git do Void (fará somente uma vez):
$ git clone https://github.com/void-linux/void-packages.git

6- Entre no diretório criado e prepare o ambiente:
$ cd void-packages
$ ./xbps-src binary-bootstrap

7- Entre na pasta e edite o template:
$ cd void-packages
$ vim srcpkgs/google-chrome/template

# Template file for 'google-chrome'
pkgname=google-chrome
version=146.0.7680.164
revision=1
_channel=stable
archs="x86_64"
hostmakedepends="python3-html2text python3-setuptools"
depends="gtk+3"
short_desc="Attempt at creating a safer, faster, and more stable browser"
maintainer="Michael Aldridge "
license="custom:chrome"
homepage="https://www.google.com/chrome/"
distfiles="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-${_channel}_${version}-1_amd64.deb"
checksum=f6dd8715a3f10f0cd37b2e7b8831a96359ea856c747da222d3b2623ae651b374

...

version: Altere para a versão que você descobriu (ex.: 146.0.7680.177-1).
revision: Resete para 1.
checksum: Substitua pelo hash que você gerou no Passo 2.

Salve e saia.

8- Autorize (o Chrome é um pacote proprietário) e gere o pacote:
$ echo "XBPS_ALLOW_RESTRICTED=yes" >> etc/conf
$ ./xbps-src pkg google-chrome

Caso der um erro de hash, o xbps-src já apresenta a solução, pois compara o hash informado com o atual porque a Google atualiza o binário do Chrome com muita frequência (às vezes várias vezes ao dia para correções de segurança), o que altera o hash (SHA256) do arquivo mesmo que o número da versão do pacote .deb baixado pareça o mesmo:

=> ERROR: SHA256 mismatch for 'google-chrome-stable_146.0.7680.164-1_amd64.deb:'f6dd8715a3f10f0cd37b2e7b8831a96359ea856c747da222d3b2623ae651b374=> ERROR: google-chrome-146.0.7680.164_1: couldn't verify distfiles, exiting...

Copie o hash da mensagem, reabra o template e cole nele.
Execute:
$ ./xbps-src pkg google-chrome

9- Instale atualizando:
$ sudo xbps-install --repository=hostdir/binpkgs/nonfree -fu google-chrome

Como essa alteração foi feita manualmente somente no repositório local (void-packages), o comando "git pull" no futuro pode acusar um conflito quando os mantenedores do Void atualizarem o Chrome no GitHub deles.
Caso isso acontecer, resolva limpando e atualizando suas alterações locais:
$ git checkout srcpkgs/google-chrome/template
$ git pull --rebase

No Void Linux, o arquivo template não é apenas um registro de versão; ele é o roteiro de construção do pacote.
Quando você altera a "version" e o "checksum" no template, o xbps-src faz o seguinte "por baixo dos panos":
Download Dinâmico: Ele utiliza a variável "version" para montar a URL de download (ex: https://google.com{version}_amd64.deb).
Troca do Binário: Ele descarta o .deb antigo, baixa o novo arquivo .deb da Google correspondente à versão que você digitou e verifica se o checksum bate.
Descompactação:  Ele extrai o conteúdo desse novo .deb.
Reempacotamento: Ele converte a estrutura do Debian para o formato .xbps do Void.
O xbps-src não atualiza somente o número da versão, ele atualiza o pacote em si, através do número da versão e do checksum no template.

Depois de atualizar localmente o pacote, você pode enviá-lo para o repositório oficial do Void tornando-se um contribuidor do Void Linux.

    Próxima página

Páginas do artigo
   1. Fazendo Atualizações
   2. Tornando-se um Contribuidor
Outros artigos deste autor

Resolver problemas de Internet

INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX

Compilando kernel no Debian Squeeze

Manual do IPtables - Comentários e sugestões de regras

Compilação e instalação do Vim e habilitando a copiar e colar com o mouse

Leitura recomendada

Driver SiS 771/671 no Ubuntu - Configuração

Configurando uma impressora com Samba e CUPS

Configurando e instalando o Java com Tomcat no Linux

Compartilhando a internet do seu celular (3G Claro) com o seu PC através do Blueman (Bluetooth)

Recuperando RouterOS na RouterBOARD 450

  
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