Você está na página 1de 12

20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

 

Início / Tecnologia

PKGBUILD, o script responsável pela criação de pacotes


para o Arch Linux
por Durval Henrique · 11/09/2021

Se você já usou distros como o Arch Linux e Manjaro, é provável que tenha se
deparado com um repositório não oficial chamado AUR (Arch User Repository –
Repositório de usuários do Arch), onde há diversos pacotes mantidos pela
comunidade. O repositório contém scripts que permitem compilar um pacote e
instalá-lo via pacman, que é o gerenciador de pacotes do Arch Linux e
derivados, tais scripts são chamados de PKGBUILDs. 

O que é um PKGBUILD?
Quem curte utilizar o terminal e automatizar tarefas com scripts de shell, já
deve ter uma noção do que são PKGBUILDs, são scripts de shell com algumas

https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 1/12
20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

variáveis e funções que possuem instruções para que determinado pacote seja
 
compilado.

Variáveis comumente usadas num


PKGBUILD
Para você entender um pouco melhor o que está acontecendo no script,
falaremos um pouco sobre as principais variáveis que compõem um PKGBUILD.

pkgname: A variável pkgname definirá o nome do seu pacote ao instalar e


como o gerenciador de pacotes (pacman) irá registrá-lo. O formato dessa
variável, assume a forma de “variável=valor”, com o nome da variável à
esquerda, o valor da variável à direita, separado por um sinal de igual.

pkgver: A variável pkgver, define a versão do pacote. Isso é muito importante


para que o usuário saiba quando o pacote é atualizado pelo mantenedor ao ser

https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 2/12
20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

configurado com uma versão mais alta.


 

pkgrel: A variável pkgrel notificará upgrades ao usuário caso o pacote seja


configurado com uma versão maior. Ele serve para qualquer alteração que
requeira que o pacote permaneça o mesmo, como qualquer alteração no
próprio PKGBUILD. Isso será útil se você criou um PKGBUILD para um
programa que usa (e deseja manter a versão igual à do pacote) e precisa
corrigir um bug no próprio PKGBUILD.

pkgdesc: A variável pkgdesc define uma breve descrição do pacote para ajudar
a identificá-lo.

arch: A variável arch define a arquitetura em que o pacote é compatível.

depends: A variável depends lista todas as dependências das quais o pacote


necessita para funcionar.

optdepends: A variável optdepends lista dependências que não são


necessárias para o funcionamento do pacote, mas que adicionam a ele
funcionalidades extras.

conflicts: A variável conflicts dirá ao gerenciador de pacotes quais pacotes são


conflitantes, os pacotes listados serão excluídos para que o pacote que será
compilado pelo PKGBUILD possa ser instalado sem problemas.

license: A variável license define a licença de software sob a qual o programa


será licenciado.

source: A variável source faz com que o makepkg saiba quais arquivos usar
para compilar o pacote, pode conter uma variedade de tipos diferentes de
fontes, incluindo arquivos e URLs locais.

sha512sums: A variável sha512sums verifica se os arquivos da variável source


não foram modificados ou baixados incorretamente.

https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 3/12
20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

package: A package é considerada a variável mais importante para, de fato,


 
gerar o pacote. É importante conhecer duas variáveis que compõem a package,
são elas:

${srcdir}: É através dessa variável que o makepkg coloca os arquivos na


variável source. Este é o diretório onde você pode interagir com os arquivos e
fazer qualquer outra modificação necessária para os arquivos.

${pkgdir}: É nessa variável que são colocados os arquivos que serão instalados
no sistema. A estrutura de pastas para $ {pkgdir} é configurada como se
estivesse em um sistema real (ou seja, $ {pkgdir} /usr/bin/nome-do-script criará
o arquivo /usr/bin/nome-do-script ao instalar com pacman.

Como ler o conteúdo de um PKGBUILD


Se você preza por segurança e entende o básico de shell script, é provável que
queira ler o conteúdo de um PKGBUILD antes de compilar e instalar o pacote
em seu sistema, para ter certeza que não se trata de um script malicioso. Fazer
isso é muito simples, basta seguir o passo a passo:

Neste passo a passo, utilizarei o PKGBUILD do popular navegador Google


Chrome partindo do preceito que você já tenha baixado o snapshot do arquivo.

Passo 1 – Abra o terminal e vá até o diretório no qual você baixou o arquivo. No


meu caso, está no diretório “Downloads”.

https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 4/12
20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

 

Passo 2 – Você notará que o arquivo está empacotado (.tar) e comprimido (.gz),
para desempacotar e descomprimir basta rodar o comando abaixo. O
PKGBUILD é um dos arquivos que compõem o .tar.gz.

tar -xvf nome-do-arquivo.tar.gz

https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 5/12
20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

Passo 3 – Agora basta entrar no diretório descompactado e lá estará o


 
PKGBUILD. Para fazer isso basta rodar o comando:

cd nome-do-diretorio

Passo 4 – O último passo, é abrir o arquivo e pronto, todo o conteúdo do


PKGBUILD estará diante dos seus olhos. Para isso, basta utilizar o comando
CAT, como mostra o exemplo abaixo, ou abra o arquivo no seu editor de texto
favorito, afinal, o PKGBUILD é um arquivo de texto normal como qualquer
outro.

https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 6/12
20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

 cat PKGBUILD 

Compilando um PKGBUILD e instalando o


pacote via PACMAN
Você deve estar se perguntando:  “Mas como eu transformo um PKGBUILD em
um pacote instalável?” Bom, é mais fácil do que aparenta ser.

Primeiro basta compilar o PKGBUILD utilizando a ferramenta makepkg


seguindo os passos abaixo:
https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 7/12
20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

Passo 1 – Uma vez tendo desempacotado e descomprimido o arquivo .tar.gz e


 
estando dentro do diretório do pacote, basta rodar o comando abaixo. O
comando iniciará a compilação do pacote e resolverá todas as dependências.

makepkg -s

Passo 2 – Ao término da compilação, você terá um pacote instalável que


possuirá as extensões .pkg.tar.xz e você poderá instalá-lo facilmente utilizando
o gerenciador de pacotes pacman executando o comando:

sudo pacman -U nome-do-pacote.pkg.tar.xz

INSTALANDO GOOGLE CHROME NO ARCH LINUX

Prontinho! O pacote instalado já estará pronto para ser utilizado em seu


sistema.

Parece que chegamos ao fim. Você já conhecia o PKGBUILD? Espero que tenha
compreendido como tudo funciona. Caso queira estudar mais a fundo o
PKGBUILD e aprender até mesmo a criar o seu próprio, a wiki do Arch poderá
lhe ajudar muito nessa aventura.

https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 8/12
20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

 
Abraços e até a próxima.

     

Durval Henrique
Opa! Fala, meus consagrados. Me chamo Durval Henrique, mais conhecido por aí
como Lavrudinho. Apaixonado pelo conceito de tiling window manager, entusiasta
da tecnologia em geral e um projeto de desenvolvedor web.

  

6 Confira os comentários

TALVEZ VOCÊ TAMBÉM GOSTE

https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 9/12
20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

 
T — TECNOLOGIA

Como importar as configurações e temas do OhMyZsh para


o usuário “root”
por Jedi Fonseca · 24/09/2019

Os usuários de computadores e tecnologia em geral podem ser divididos em dois grupos. Aqueles que
gostam das coisas apenas funcionais, sem se importar com a estética. E aqueles (como eu), que além
das coisas funcionais também gostam delas “bonitinhas”. Sim, gostamos de uma boa “perfumaria”.
😃

T — TECNOLOGIA

Microsoft entra para a Open Invention Network e libera 60


mil patentes para Linux
por Dionatan Simioni · 11/10/2018

E esse ano de 2018, hein?!? Surpreendente em vários sentidos, especialmente na relação da Microsoft
com a comunidade…

https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 10/12
20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

 

T — TECNOLOGIA

Quer ser programador? Conheça as peculiaridades da


profissão – DioCast #9
por Dionatan Simioni · 01/04/2016

Hoje em dia existem muitas iniciativas para incentivar a programação entre os jovens. Com a
tecnologia entrando em nossas vidas a cada dia mais é natural existir interesse nas pessoas em
estudar programação para poder controlar essa tecnologia melhor.

https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 11/12
20/09/2021 PKGBUILD, o script responsável pela criação de pacotes para o Arch Linux - Diolinux

 

T — TECNOLOGIA

Curso de Fedora no Diolinux Play – #19 Diolinux News


por Ricardo A. V. Bugim · 20/11/2020

Resumão da Semana, cobrindo do dia 14 até o dia 20 de Novembro! Com o anúncio do Curso de
Fedora no Diolinux Play e tudo o que aconteceu no mundo Linux e na Tecnologia.

Diolinux
Blog Diolinux © all rights reserved

Política de privacidade Seja membro Contato Autores Links

     

https://diolinux.com.br/tecnologia/pkgbuild-o-script-responsavel-pela-criacao-de-pacotes-para-o-arch-linux.html 12/12

Você também pode gostar