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 Remove o $srcdir antes de compilar o pacote. --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. --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 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. 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. 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. 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, envie um relatorio de erro com o maximo de detalhes possivel no rastreador de erros do Arch Linux na secao Pacman. AUTORES Atuais mantenedores: o Allan McRae o Andrew Gregory o Eli Schwartz 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 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 6.0.2 6 fevereiro 2024 MAKEPKG(8)