MAKEPKG-TEMPLATE(1)

NOME
makepkg-template - utilitário de manipulação de modelos de compilação do pacotes

SINOPSE

makepkg-template [opções]

DESCRIÇÃO

makepkg-template é um script para facilitar o trabalho de manter vários PKGBUILDs semelhantes. Ele permite mover a maior parte do código do PKGBUILD para um arquivo de modelo e usa marcadores para permitir a atualização no local dos PKGBUILDs existentes se o modelo tiver sido alterado.

Os arquivos de modelo podem conter qualquer código permitido em um PKGBUILD. Você pode pensar neles como arquivos externos incluídos em "." ou "fonte", mas eles serão incorporados no PKGBUILD por makepkg-template para que você não dependa do arquivo de modelo ao criar o pacote.

Os marcadores são comentários bash na forma de:

    # template start; chave=valor; chave2=valor2; ...

e

    # template end;

As chaves usadas atualmente são: name (obrigatório) e version. Os nomes dos modelos são limitados a alfanuméricos, "@", "+", ".", "-" e "_". As versões são limitadas a números e ".".

Para a criação inicial, existe um atalho de uma linha que não precisa de um marcador final:

    # template input; chave=valor;

O uso desse atalho resultará no makepkg-template substituir com marcadores de início e fim e o código de modelo na primeira execução.

Os arquivos de modelo devem ser armazenados em um diretório e os nomes de arquivos devem ser "$template_name-$version.template" com um link simbólico "$template_name.template" apontando para o modelo mais recente. Se a versão não estiver definida no marcador, makepkg-template utilizará automaticamente o destino de "$template_name.template", caso contrário, a versão especificada será usada. Isso permite uma verificação mais fácil de PKGBUILDs não confiáveis se o modelo for confiável. Você verifica o código que não é do modelo e usa um comando semelhante a este:

    diff -u <(makepkg-template -o -) PKGBUILD

Os arquivos de modelo também podem conter marcadores que levam a modelos aninhados no PKGBUILD resultante. Se você usar marcadores em um modelo, defina a versão que você usou/testou no marcador de início/entrada para que outras pessoas possam recriar adequadamente a partir de modelos.

OPÇÕES

-p, --input <script de compilação>
    Lê o script de pacote "script de compilação" em vez do padrão.

-o, --output <script de compilação>
    Escreve o arquivo atualizado para o script de compilação em vez de sobrescrever o arquivo de entrada.

-n, --newest
    Sempre usa o arquivo de modelo mais novo disponível.

--template-dir <diretório>
    Modifica o diretório em que estamos procurando arquivos de modelo. Esta opção pode ser fornecida várias vezes; nesse caso, os arquivos encontrados no diretório especificado em último lugar terão precedência.

EXEMPLO de PKGBUILD

    pkgname=perl-config-simple
    pkgver=4.58
    pkgrel=1
    pkgdesc="simple configuration file class"
    arch=('any')
    license=('PerlArtistic' 'GPL')
    depends=('perl')
    source=("http://search.cpan.org/CPAN/authors/id/S/SH/SHERZODR/Config-Simple-${pkgver}.tar.gz")
    sha256sums=('dd9995706f0f9384a15ccffe116c3b6e22f42ba2e58d8f24ed03c4a0e386edb4')
    _distname="Config-Simple"

    # template start; name=perl-module; version=1.0;
    _distdir="${_distname}-${pkgver}"
    url="https://metacpan.org/release/${_distname}"
    options+=('!emptydirs')

    build() {
            cd "$srcdir/$_distdir"
            perl Makefile.PL INSTALLDIRS=vendor
            make
    }

    check() {
            cd "$srcdir/$_distdir"
            make test
    }

    package() {
            cd "$srcdir/$_distdir"
            make DESTDIR="$pkgdir" install
    }
    # template end;

VEJA TAMBÉM

makepkg(8), PKGBUILD(5)

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, relate-os no rastreador problemas em https://gitlab.archlinux.org/pacman/pacman/-/issues com informações específicas tal como sua linha de comando, a natureza do erro e até mesmo a base de dados se isso ajudar.

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