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: 392 ]

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

Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário

Hardening NTP/Chrony no Linux

Compilando o Squid3

Atualizar Debian Online de uma Versão para outra

Instalar certificado SSL/TLS digital válido gratuito no Linux

Leitura recomendada

Instalando Ubuntu 7.04 Feisty Fawn

Minix 3.2.0 no ESXi 5.0 - Instalação usando o vSphere Client 5.0

ArchLinux: Configuração pós-instalação

ASP.NET no Linux

Sabayon 5.0 - Transformando Sabayon 4.0r1 em Sabayon 5.0 "Full" (parte 2)

  
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