MAKEPKG(8) Manual do pacman MAKEPKG(8) NOME makepkg - utilitario de compilacao de pacotes SINOPSE makepkg [opcoes] [ENVVAR=valor] [ENVVAR+=valor] ... DESCRICAO makepkg e um script para automatizar a compilacao de pacotes. Os requisitos para usar o script sao uma plataforma *nix com capacidade de compilacao e um script de compilacao personalizado para cada pacote que voce deseja compilar (conhecido como PKGBUILD). Consulte PKGBUILD(5) para obter detalhes sobre como criar seus proprios scripts de compilacao. A vantagem de uma compilacao baseada em script e que o trabalho e feito apenas uma vez. Depois que voce tiver o script de compilacao para um pacote, o makepkg fara o resto: baixa e valida arquivos-fonte, verifica dependencias, define as configuracoes de tempo de compilacao, compila o pacote, instala o pacote em uma raiz temporaria, faz personalizacoes, gera metainfo e empacota tudo para o pacman usar. Nota makepkg usa seu codigo de localidade atual por padrao e nao o desmarca ao criar pacotes. Se voce deseja compartilhar sua saida de compilacao com outras pessoas ao procurar ajuda ou para outros fins, convem executar "LC_ALL=C makepkg" para que seus logs e saidas nao sejam localizados. OPCOES -A, --ignorearch Ignora um campo de arquitetura ausente ou incompleto no script de compilacao. Isso serve para recompilar pacotes do codigo-fonte quando o PKGBUILD pode estar um pouco desatualizado e nao atualizado com um campo arch=('sua-arquitetura'). -c, --clean Limpa os arquivos e diretorios de trabalho restantes apos uma compilacao bem-sucedida. --config Usa um arquivo de configuracao alternativo em vez do /etc/makepkg.conf padrao. -d, --nodeps Nao executa nenhuma verificacao de dependencias. Isso permitira que voce substitua e ignore todas as dependencias necessarias. Ha uma boa chance de que essa opcao interrompa o processo de compilacao se todas as dependencias nao estiverem instaladas. -e, --noextract Nao extrai arquivos-fonte nem executa a funcao prepare() (se houver); usa qualquer fonte que ja exista no diretorio $srcdir/. Isso e util se voce quiser acessar o $srcdir/ e manualmente corrigir ou ajustar o codigo e criar um pacote com o resultado. Lembre-se de que criar um patch pode ser uma solucao melhor para permitir que outras pessoas usem seu PKGBUILD. --verifysource Para cada arquivo-fonte no vetor de fontes do PKGBUILD, faz o download do arquivo, se necessario, e executa as verificacoes de integridade. Nenhuma extracao ou compilacao e executada. As dependencias especificadas no PKGBUILD nao serao tratadas, a menos que --syncdeps seja usada. Util para executar compilacoes off-line subsequentes. -f, --force O makepkg nao compilara um pacote se ele ja existir no diretorio PKGDEST (definido no makepkg.conf(5)), que pode ser o diretorio atual. Isso permite que o pacote compilado seja substituido. -g, --geninteg Para cada arquivo-fonte no vetor de fontes do PKGBUILD, faz o download do arquivo, se necessario, e gera verificacoes de integridade. As verificacoes de integridade geradas sao determinadas pelas verificacoes presentes no PKGBUILD, retornando ao valor do vetor INTEGRITY_CHECK em makepkg.conf(5), se estas estiverem ausentes. Esta saida pode ser redirecionada para o seu PKGBUILD para validacao de origem usando "makepkg -g >> PKGBUILD". --skipinteg Nao realiza nenhuma verificacao de integridade (soma de verificacao e PGP) nos arquivos-fonte. --skipchecksums Nao verifica somas de verificacao de arquivos-fonte. --skippgpcheck Nao verifica assinaturas PGP de arquivos-fonte. -h, --help Emite sintaxe e opcoes de linha de comando. --holdver Ao usar fontes VCS (PKGBUILD(5)), qualquer atual checkout de fontes nao sera atualizado para a revisao mais recente. -i, --install Instala ou atualiza o pacote apos uma compilacao bem-sucedida usando pacman(8). -L, --log Ativa o log. Isso usara o programa tee para enviar a saida de cada uma das funcoes PKGBUILD para o console e para um arquivo texto no diretorio de compilacao chamado pkgbase-pkgver-pkgrel-arch-.log. Como mencionado acima, os logs serao localizados (traduzidos), portanto, convem definir seu codigo de idioma de acordo se compartilhar a saida do log com outras pessoas. -m, --nocolor Desabilita cores nas mensagens de saida. -o, --nobuild Baixa e extrai arquivos, executa a funcao prepare(), mas nao os compila. Util com a opcao --noextract se voce deseja ajustar os arquivos em $srcdir/ antes de compilar. -p Le o script de pacote "buildscript" em vez do padrao PKGBUILD; consulte PKGBUILD(5). Este script deve estar localizado no diretorio de onde o makepkg e chamado. -r, --rmdeps Apos uma compilacao bem-sucedida, remove quaisquer dependencias instaladas pelo makepkg durante a resolucao automatica e a instalacao da dependencia ao usar -s. -R, --repackage Reempacota o conteudo do pacote sem recompilar o pacote. Isso e util se voce esquecer, por exemplo, um arquivo de dependencia ou instalacao no seu PKGBUILD e a compilacao em si nao sera alterada. -s, --syncdeps Instala dependencias em falta usando pacman. Quando nao sao encontradas dependencias de tempo de compilacao ou tempo de execucao, o pacman tentara resolve-las. Se for bem-sucedido, os pacotes ausentes serao baixados e instalados. -S, --source Nao chega a compilar o pacote, mas cria um tarball com apenas os arquivos-fonte que nao inclui fontes que possam ser buscados por meio de uma URL de download. Isso e util para passar um unico tarball para outro programa, como um chroot, compilador remoto ou envio de um tarball. Como as verificacoes de integridade sao verificadas, todos os arquivos-fonte do pacote precisam estar presentes ou disponiveis para download. -V, --version Exibe informacoes da versao. -C, --cleanbuild Apaga artefatos de compilacao de execucoes anteriores do makepkg no diretorio atual removendo $srcdir antes de compilar o pacote. -D , --dir Mude para o diretorio antes de ler o PKGBUILD ou fazer qualquer outra coisa. --allsource Nao chega a compilar o pacote, mas cria um tarball com apenas os arquivos-fonte que inclui todos fontes, incluindo aqueles que normalmente sao baixados via makepkg. Isso e util para passar um unico tarball para outro programa, como um chroot ou compilador remoto. Ele tambem vai satisfazer os requisitos da GPL ao distribuir pacotes binarios. --check Executa a funcao check() no PKGBUILD, sobrescreve a configuracao no makepkg.conf(5). --noarchive Nao cria o pacote no final do processo de compilacao. Isto pode ser util para testar a funcao package() ou se sua distribuicao alvo nao usa pacman. --nocheck Nao executa a funcao check() no PKGBUILD nem lida com as checkdepends. --noprepare Nao executa a funcao prepare() no PKGBUILD. --noverify Nao executa a funcao verify() no PKGBUILD. --sign Assina o pacote resultante com gpg, sobrescrevendo a configuracao no makepkg.conf(5). --nosign Nao cria uma assinatura para o pacote compilado. --key Especifica uma chave para usar ao assinar pacotes, sobrescrevendo a configuracao GPGKEY no makepkg.conf(5). Se nao especificado em nenhum local, a chave padrao do chaveiro sera usado. --noconfirm (Passado para o pacman) Evita do pacman ficar aguardando entrada do usuario antes de proceder com as operacoes. --needed (Passado para o pacman) Diz ao pacman para nao reinstalar um alvo se ele ja estiver atualizado. (usado com -i / --install). --asdeps (Passado para o pacman) Instala pacotes como instalado nao explicitamente (usado com -i / --install). --noprogressbar (Passado para o pacman) Evita do pacman exibir uma barra de progresso; util se voce esta redirecionando a saida do makepkg para um arquivo. --packagelist Lista os nomes de pacote que seriam produzidos sem compilar. Nomes de arquivos de pacotes listados inclui PKGDEST e PKGEXT. --printsrcinfo Gera e imprime o arquivo SRCINFO para saida padrao (stdout). RECURSOS ADICIONAIS O makepkg tem suporte a compilacao de versoes de desenvolvimento de pacotes sem a necessidade de atualizar manualmente o pkgver no PKGBUILD. Isso era feito anteriormente usando o utilitario separado versionpkg. Consulte PKGBUILD(5) para obter detalhes sobre como configurar um PKGBUILD de desenvolvimento. REPRODUTIBILIDADE O makepkg foi projetado para ser compativel com Reproducible Builds. Se a variavel de ambiente SOURCE_DATE_EPOCH estiver configurada, ela sera exportada para subprocessos, e os tempos de modificacao do arquivo-fonte e de pacote e os metadados do pacote serao unificados com base no registro de data e hora especificado. Se a variavel de ambiente SOURCE_DATE_EPOCH nao estiver configurada, makepkg usara sua propria data de inicio para uso interno, mas nao unificara os registros de data e hora do arquivo-fonte antes de compilar. VARIAVEIS DE AMBIENTE MAKEPKG_LIBRARY="/caminho/para/diretorio" Usa um caminho do libmakepkg alternativo em vez do /usr/share/makepkg padrao. PACMAN O comando que sera usado para verificar as dependencias ausentes e instalar e remover pacotes. As operacoes -Qq, -Rns, -S, -T e -U do pacman devem ser suportadas por este comando. Se a variavel nao estiver configurada nem vazia, o makepkg recorrera a `pacman'. MAKEPKG_CONF="/caminho/para/arquivo" Usa um arquivo de configuracao alternativo em vez do /etc/makepkg.conf padrao. MAKEPKG_GIT_CONFIG="/caminho/para/arquivo" Usa um arquivo de configuracao alternativo para o Git em vez do /etc/makepkg.d/gitconfig padrao. makepkg sempre evita que o Git carregue outros arquivos de configuracao. PKGDEST="/caminho/para/diretorio" Diretorio onde os pacotes resultantes serao armazenados. Substitui o valor correspondente definido no makepkg.conf(5). SRCDEST="/caminho/para/diretorio" Diretorio onde as fontes baixadas serao armazenadas. Substitui o valor correspondente definido no makepkg.conf(5). SRCPKGDEST="/caminho/para/diretorio" Diretorio onde os arquivos de pacote fonte serao armazenados. Substitui o valor correspondente definido no makepkg.conf(5). LOGDEST="/caminho/para/diretorio" Diretorio onde os arquivos de log gerados serao armazenados. Substitui o valor correspondente definido no makepkg.conf(5). PACKAGER="John Doe " String para identificar o criador do pacote resultante. Substitui o valor correspondente definido no makepkg.conf(5). BUILDDIR="/caminho/para/diretorio" Diretorio onde o pacote sera compilado. Substitui o valor correspondente definido no makepkg.conf(5). CARCH="(i686|x86_64)" Forca compilacao para uma arquitetura especifica. Util para compilacao cruzada. Substitui o valor correspondente definido no makepkg.conf(5). PKGEXT=".pkg.tar.gz", SRCEXT=".src.tar.gz" Define a compactacao usada ao criar pacotes compilados ou fonte. Substitui o valor correspondente definido no makepkg.conf(5). GNUPGHOME="/caminho/para/diretorio" Diretorio onde o chaveiro gpg para assinar o pacote compilado esta armazenado. GPGKEY="keyid" Especifica uma chave a ser usada ao assinar pacotes, substituindo a configuracao GPGKEY no makepkg.conf(5). SOURCE_DATE_EPOCH="" Usado para Reproducible Builds. BUILDTOOL="" O nome de um ecossistema de ferramentas usado para configurar o ambiente de compilacao. Usado para definir um spec para compilacoes reprodutiveis. Por exemplo, o makepkg.conf(5) usado. BUILDTOOLVER="" A versao do $BUILDTOOL usado. MAKEPKG_LINT_PKGBUILD=0 Definir como 0 desabilita o linting de PKGBUILD dentro do makepkg. Util em sistemas com operacoes lentas de subshell bash ou em PKGBUILDs com quantidades extremas de divisao de pacotes. CONFIGURACAO Consulte makepkg.conf(5) para mais detalhes sobre configurar makepkg usando o arquivo makepkg.conf. ERROS Ao sair, o makepkg vai retornar um dos codigos de erro a seguir. 0 Condicao de saida normal. 1 Causa desconhecida de falha. 2 Erro no arquivo de configuracao. 3 O usuario especificou uma opcao invalida. 4 Erro na funcao fornecida pelo usuario no PKGBUILD. 5 Falha ao criar um pacote viavel. 6 Um arquivo-fonte ou auxiliar especificado no PKGBUILD esta faltando. 7 O PKGDIR esta faltando. 8 Falha ao instalar dependencias. 9 Falha ao remover dependencias. 10 O usuario tentou executar makepkg como root. 11 O usuario carece de permissoes para compilar ou instalar na localizacao dada. 12 Erro de analise do PKGBUILD. 13 Um pacote ja foi compilado. 14 O pacote falhou em instalar. 15 Os programas necessarios para executar o makepkg estao faltando. 16 A chave GPG especificada nao existe ou ocorreu uma falha ao assinar o pacote. 17 O repositorio local nao e um clone do repositorio de fontes especificado em PKGBUILD. VEJA TAMBEM makepkg.conf(5), PKGBUILD(5), pacman(8) Consulte o site do pacman em https://archlinux.org/pacman/ para obter informacoes atuais sobre o pacman e suas ferramentas relacionadas. BUGS Bugs? Voce deve estar brincando; nao ha erros neste software. Mas se por acaso estivermos errados, relate-os no rastreador problemas em https://gitlab.archlinux.org/pacman/pacman/-/issues com informacoes especificas tal como sua linha de comando, a natureza do erro e ate mesmo a base de dados se isso ajudar. AUTORES Atuais mantenedores: o Allan McRae o Andrew Gregory o Morgan Adamiec Principais colaboradores anteriores: o Judd Vinet o Aurelien Foret o Aaron Griffin o Dan McGee o Xavier Chantry o Nagy Gabor o Dave Reisner o Eli Schwartz Para outros contribuidores, use git shortlog -s no repositorio pacman.git. TRADUCAO A traducao para portugues brasileiro desta pagina man foi criada por Rafael Fontenelle Esta traducao e uma documentacao livre; leia a Licenca Publica Geral GNU Versao 3 ou posterior para as condicoes de direitos autorais. Nenhuma responsabilidade e aceita. Se voce encontrar algum erro na traducao desta pagina de manual, envie um e-mail para a lista de discussao de tradutores . Pacman 7.1.0 12 janeiro 2026 MAKEPKG(8)