MAKEPKG(8)

NOME
makepkg - utilitário de compilação de pacotes

SINOPSE

makepkg [opções] [ENVVAR=valor] [ENVVAR+=valor] ...

DESCRIÇÃO

makepkg é um script para automatizar a compilação de pacotes. Os requisitos para usar o script são uma plataforma *nix com capacidade de compilação e um script de compilação personalizado para cada pacote que você deseja compilar (conhecido como PKGBUILD). Consulte PKGBUILD(5) para obter detalhes sobre como criar seus próprios scripts de compilação.

A vantagem de uma compilação baseada em script é que o trabalho é feito apenas uma vez. Depois que você tiver o script de compilação para um pacote, o makepkg fará o resto: baixa e valida arquivos-fonte, verifica dependências, define as configurações de tempo de compilação, compila o pacote, instala o pacote em uma raiz temporária, faz personalizações, gera metainfo e empacota tudo para o pacman usar.

    Nota

    makepkg usa seu código de localidade atual por padrão e não o desmarca ao criar pacotes. Se você deseja compartilhar sua saída de compilação com outras pessoas ao procurar ajuda ou para outros fins, convém executar "LC_ALL=C makepkg" para que seus logs e saídas não sejam localizados.

OPÇÕES

-A, --ignorearch
    Ignora um campo de arquitetura ausente ou incompleto no script de compilação. Isso serve para recompilar pacotes do código-fonte quando o PKGBUILD pode estar um pouco desatualizado e não atualizado com um campo arch=('sua-arquitetura').

-c, --clean
    Limpa os arquivos e diretórios de trabalho restantes após uma compilação bem-sucedida.

--config <arquivo>
    Usa um arquivo de configuração alternativo em vez do /etc/makepkg.conf padrão.

-d, --nodeps
    Não executa nenhuma verificação de dependências. Isso permitirá que você substitua e ignore todas as dependências necessárias. Há uma boa chance de que essa opção interrompa o processo de compilação se todas as dependências não estiverem instaladas.

-e, --noextract
    Não extrai arquivos-fonte nem executa a função prepare() (se houver); usa qualquer fonte que já exista no diretório $srcdir/. Isso é útil se você quiser acessar o $srcdir/ e manualmente corrigir ou ajustar o código e criar um pacote com o resultado. Lembre-se de que criar um patch pode ser uma solução 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 necessário, e executa as verificações de integridade. Nenhuma extração ou compilação é executada. As dependências especificadas no PKGBUILD não serão tratadas, a menos que --syncdeps seja usada. Útil para executar compilações off-line subsequentes.

-f, --force
    O makepkg não compilará um pacote se ele já existir no diretório PKGDEST (definido no makepkg.conf(5)), que pode ser o diretório atual. Isso permite que o pacote compilado seja substituído.

-g, --geninteg
    Para cada arquivo-fonte no vetor de fontes do PKGBUILD, faz o download do arquivo, se necessário, e gera verificações de integridade. As verificações de integridade geradas são determinadas pelas verificações presentes no PKGBUILD, retornando ao valor do vetor INTEGRITY_CHECK em makepkg.conf(5), se estas estiverem ausentes. Esta saída pode ser redirecionada para o seu PKGBUILD para validação de origem usando "makepkg -g >> PKGBUILD".

--skipinteg
    Não realiza nenhuma verificação de integridade (soma de verificação e PGP) nos arquivos-fonte.

--skipchecksums
    Não verifica somas de verificação de arquivos-fonte.

--skippgpcheck
    Não verifica assinaturas PGP de arquivos-fonte.

-h, --help
    Emite sintaxe e opções de linha de comando.

--holdver
    Ao usar fontes VCS (PKGBUILD(5)), qualquer atual checkout de fontes não será atualizado para a revisão mais recente.

-i, --install
    Instala ou atualiza o pacote após uma compilação bem-sucedida usando pacman(8).

-L, --log
    Ativa o log. Isso usará o programa tee para enviar a saída de cada uma das funções PKGBUILD para o console e para um arquivo texto no diretório de compilação chamado pkgbase-pkgver-pkgrel-arch-<função>.log. Como mencionado acima, os logs serão localizados (traduzidos), portanto, convém definir seu código de idioma de acordo se compartilhar a saída do log com outras pessoas.

-m, --nocolor
    Desabilita cores nas mensagens de saída.

-o, --nobuild
    Baixa e extrai arquivos, executa a função prepare(), mas não os compila. Útil com a opção --noextract se você deseja ajustar os arquivos em $srcdir/ antes de compilar.

-p <buildscript>
    Lê o script de pacote "buildscript" em vez do padrão PKGBUILD; consulte PKGBUILD(5). Este script deve estar localizado no diretório de onde o makepkg é chamado.

-r, --rmdeps
    Após uma compilação bem-sucedida, remove quaisquer dependências instaladas pelo makepkg durante a resolução automática e a instalação da dependência ao usar -s.

-R, --repackage
    Reempacota o conteúdo do pacote sem recompilar o pacote. Isso é útil se você esquecer, por exemplo, um arquivo de dependência ou instalação no seu PKGBUILD e a compilação em si não será alterada.

-s, --syncdeps
    Instala dependências em falta usando pacman. Quando não são encontradas dependências de tempo de compilação ou tempo de execução, o pacman tentará resolvê-las. Se for bem-sucedido, os pacotes ausentes serão baixados e instalados.

-S, --source
    Não chega a compilar o pacote, mas cria um tarball com apenas os arquivos-fonte que não inclui fontes que possam ser buscados por meio de uma URL de download. Isso é útil para passar um único tarball para outro programa, como um chroot, compilador remoto ou envio de um tarball. Como as verificações de integridade são verificadas, todos os arquivos-fonte do pacote precisam estar presentes ou disponíveis para download.

-V, --version
    Exibe informações da versão.

-C, --cleanbuild
    Remove o $srcdir antes de compilar o pacote.

-D <dir>, --dir <dir>
    Mude para o diretório <dir> antes de ler o PKGBUILD ou fazer qualquer outra coisa.

--allsource
    Não chega a compilar o pacote, mas cria um tarball com apenas os arquivos-fonte que inclui todos fontes, incluindo aqueles que normalmente são baixados via makepkg. Isso é útil para passar um único tarball para outro programa, como um chroot ou compilador remoto. Ele também vai satisfazer os requisitos da GPL ao distribuir pacotes binários.

--check
    Executa a função check() no PKGBUILD, sobrescreve a configuração no makepkg.conf(5).

--noarchive
    Não cria o pacote no final do processo de compilação. Isto pode ser útil para testar a função package() ou se sua distribuição alvo não usa pacman.

--nocheck
    Não executa a função check() no PKGBUILD nem lida com as checkdepends.

--noprepare
    Não executa a função prepare() no PKGBUILD.

--noverify
    Não executa a função verify() no PKGBUILD.

--sign
    Assina o pacote resultante com gpg, sobrescrevendo a configuração no makepkg.conf(5).

--nosign
    Não cria uma assinatura para o pacote compilado.

--key <chave>
    Especifica uma chave para usar ao assinar pacotes, sobrescrevendo a configuração GPGKEY no makepkg.conf(5). Se não especificado em nenhum local, a chave padrão do chaveiro será usado.

--noconfirm
    (Passado para o pacman) Evita do pacman ficar aguardando entrada do usuário antes de proceder com as operações.

--needed
    (Passado para o pacman) Diz ao pacman para não reinstalar um alvo se ele já estiver atualizado. (usado com -i / --install).

--asdeps
    (Passado para o pacman) Instala pacotes como instalado não explicitamente (usado com -i / --install).

--noprogressbar
    (Passado para o pacman) Evita do pacman exibir uma barra de progresso; útil se você está redirecionando a saída 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 saída padrão (stdout).

RECURSOS ADICIONAIS

O makepkg tem suporte à compilação de versões de desenvolvimento de pacotes sem a necessidade de atualizar manualmente o pkgver no PKGBUILD. Isso era feito anteriormente usando o utilitário separado versionpkg. Consulte PKGBUILD(5) para obter detalhes sobre como configurar um PKGBUILD de desenvolvimento.

REPRODUTIBILIDADE

O makepkg foi projetado para ser compatível com Reproducible Builds. Se a variável de ambiente SOURCE_DATE_EPOCH estiver configurada, ela será exportada para subprocessos, e os tempos de modificação do arquivo-fonte e de pacote e os metadados do pacote serão unificados com base no registro de data e hora especificado.

Se a variável de ambiente SOURCE_DATE_EPOCH não estiver configurada, makepkg usará sua própria data de início para uso interno, mas não unificará os registros de data e hora do arquivo-fonte antes de compilar.

VARIÁVEIS DE AMBIENTE

MAKEPKG_LIBRARY="/caminho/para/diretório"
    Usa um caminho do libmakepkg alternativo em vez do /usr/share/makepkg padrão.

PACMAN
    O comando que será usado para verificar as dependências ausentes e instalar e remover pacotes. As operações -Qq, -Rns, -S, -T e -U do pacman devem ser suportadas por este comando. Se a variável não estiver configurada nem vazia, o makepkg recorrerá a ‘pacman’.

MAKEPKG_CONF="/caminho/para/arquivo"
    Usa um arquivo de configuração alternativo em vez do /etc/makepkg.conf padrão.

PKGDEST="/caminho/para/diretório"
    Diretório onde os pacotes resultantes serão armazenados. Substitui o valor correspondente definido no makepkg.conf(5).

SRCDEST="/caminho/para/diretório"
    Diretório onde as fontes baixadas serão armazenadas. Substitui o valor correspondente definido no makepkg.conf(5).

SRCPKGDEST="/caminho/para/diretório"
    Diretório onde os arquivos de pacote fonte serão armazenados. Substitui o valor correspondente definido no makepkg.conf(5).

LOGDEST="/caminho/para/diretório"
    Diretório onde os arquivos de log gerados serão armazenados. Substitui o valor correspondente definido no makepkg.conf(5).

PACKAGER="John Doe <john@doe.com>"
    String para identificar o criador do pacote resultante. Substitui o valor correspondente definido no makepkg.conf(5).

BUILDDIR="/caminho/para/diretório"
    Diretório onde o pacote será compilado. Substitui o valor correspondente definido no makepkg.conf(5).

CARCH="(i686|x86_64)"
    Força compilação para uma arquitetura específica. Útil para compilação cruzada. Substitui o valor correspondente definido no makepkg.conf(5).

PKGEXT=".pkg.tar.gz", SRCEXT=".src.tar.gz"
    Define a compactação usada ao criar pacotes compilados ou fonte. Substitui o valor correspondente definido no makepkg.conf(5).

GNUPGHOME="/caminho/para/diretório"
    Diretório onde o chaveiro gpg para assinar o pacote compilado está armazenado.

GPGKEY="keyid"
    Especifica uma chave a ser usada ao assinar pacotes, substituindo a configuração GPGKEY no makepkg.conf(5).

SOURCE_DATE_EPOCH="<data>"
    Usado para Reproducible Builds.

BUILDTOOL="<nome>"
    O nome de um ecossistema de ferramentas usado para configurar o ambiente de compilação. Usado para definir um spec para compilações reprodutíveis. Por exemplo, o makepkg.conf(5) usado.

BUILDTOOLVER="<versão>"
    A versão do $BUILDTOOL usado.

GITFLAGS
    As opções a serem passadas ao verificar fontes git, substituindo o padrão "--mirror".

CONFIGURAÇÃO

Consulte makepkg.conf(5) para mais detalhes sobre configurar makepkg usando o arquivo makepkg.conf.

ERROS

Ao sair, o makepkg vai retornar um dos códigos de erro a seguir.

0
    Condição de saída normal.

1
    Causa desconhecida de falha.

2
    Erro no arquivo de configuração.

3
    O usuário especificou uma opção inválida.

4
    Erro na função fornecida pelo usuário no PKGBUILD.

5
    Falha ao criar um pacote viável.

6
    Um arquivo-fonte ou auxiliar especificado no PKGBUILD está faltando.

7
    O PKGDIR está faltando.

8
    Falha ao instalar dependências.

9
    Falha ao remover dependências.

10
    O usuário tentou executar makepkg como root.

11
    O usuário carece de permissões para compilar ou instalar na localização dada.

12
    Erro de análise do PKGBUILD.

13
    Um pacote já foi compilado.

14
    O pacote falhou em instalar.

15
    Os programas necessários para executar o makepkg estão faltando.

16
    A chave GPG especificada não existe ou ocorreu uma falha ao assinar o pacote.

VEJA TAMBÉM

makepkg.conf(5), PKGBUILD(5), pacman(8)

Consulte o site do pacman em https://archlinux.org/pacman/ para obter informações atuais sobre o pacman e suas ferramentas relacionadas.

BUGS

Bugs? Você deve estar brincando; não há erros neste software. Mas se por acaso estivermos errados, envie um relatório de erro com o máximo de detalhes possível no rastreador de erros do Arch Linux na seção Pacman.

AUTORES

Atuais mantenedores:

    • Allan McRae <allan@archlinux.org>

    • Andrew Gregory <andrew.gregory.8@gmail.com>

    • Morgan Adamiec <morganamilo@archlinux.org>

Principais colaboradores anteriores:

    • Judd Vinet <jvinet@zeroflux.org>

    • Aurelien Foret <aurelien@archlinux.org>

    • Aaron Griffin <aaron@archlinux.org>

    • Dan McGee <dan@archlinux.org>

    • Xavier Chantry <shiningxc@gmail.com>

    • Nagy Gabor <ngaba@bibl.u-szeged.hu>

    • Dave Reisner <dreisner@archlinux.org>

    • Eli Schwartz <eschwartz@archlinux.org>

Para outros contribuidores, use git shortlog -s no repositório pacman.git.

TRADUÇÃO
A tradução para português brasileiro desta página man foi criada por Rafael Fontenelle <rafaelff@gnome.org>

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 (https://www.gnu.org/licenses/gpl-3.0.html) ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores (debian-l10n-portuguese@lists.debian.org).