Scroll to navigation

MAKEPKG(8) Manual do pacman 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

For each source file in the source array of PKGBUILD, download the file if required and generate integrity checks. The integrity checks generated are determined by the checks present in the PKGBUILD, falling back to the value of the INTEGRITY_CHECK array in makepkg.conf(5) if these are absent This output can be redirected into your PKGBUILD for source validation using "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.

--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.

--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

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.

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>

•Eli Schwartz <eschwartz@archlinux.org>

•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>

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 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.

21 novembro 2022 Pacman 6.0.2