.SRCINFO (Português) - ArchWiki

# .SRCINFO (Português)

From ArchWiki
Jump to navigation Jump to search
Status de tradução: Esse artigo é uma tradução de .SRCINFO. Data da última tradução: 2020-02-24. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Artigos relacionados

- Padrões de empacotamento do Arch
- Arch Build System
- Criando pacotes
- PKGBUILD
- Category:Package development (Português)
- Arch User Repository
- makepkg
- pacman
- pacman/Dicas e truques

Arquivos `.SRCINFO` contêm metadados de pacote em um formato simples e não ambíguo, de forma que as ferramentas como o backend do AUR ou auxiliares do AUR possam obter os metadados de um pacote sem analisar o PKGBUILD diretamente. Veja FS#25210, FS#15043 e FS#16394 para exemplos de questões que podem surgir de tentar analisar scripts shell.

Atenção: Alterações a metadados do `PKGBUILD`, tal como atualizações de pkgver(), não se propagam automaticamente para o `.SRCINFO`. Fazer o push de um `PKGBUILD` editado para o AUR sem atualizar também seu `.SRCINFO` fará com que o AUR forneça metadados antigos.

## Criação

Arquivos `.SRCINFO` podem ser gerados usando makepkg.

    $ makepkg --printsrcinfo > .SRCINFO

## Sintaxe

Arquivos `.SRCINFO` são listas de pares de `chave = valor`, separados em seções.

Chaves levam seus nomes e significados de variáveis do PKGBUILD. Nem as chaves nem valores são colocados entre aspas. Dados que, em um `PKGBUILD`, seriam representados por um vetor são especificados múltiplas vezes. Por exemplo, os conteúdos a seguir são equivalentes.

    # PKGBUILD
    arch=(i686 x86_64)

    # .SRCINFO
    arch = i686
    arch = x86_64

A seção principal do arquivo é iniciada por uma declaração de pkgbase e contém dados aplicáveis ao pacote como um todo. Em um `PKGBUILD` padrão descrevendo um pacote simples, essa será a única seção, seguida por uma declaração de pkgname contendo o mesmo valor que o pkgbase precedente.

    pkgbase = foo
    	pkgdesc = Um exemplo de pacote.
    	...
    	md5sums = SKIP

    pkgname = foo

Em um `PKGBUILD` dividido, cada seção é iniciada por um `pkgname`, seguido por quaisquer dados específicos daquele pacote.

This article or section needs expansion.

Reason: O exemplo acima será suficiente para alguns, seguindo abaixo uma lista detalhada de parâmetros; divida-os para melhorar legibilidade. Além disso, reduza a redundância entre isso e o PKGBUILD. (Discuss in Talk:.SRCINFO (Português)#)

## Especificação

Os seguintes campos podem aparecer apenas uma vez em cada arquivo `.SRCINFO`, na seção `pkgbase`:

- `pkgver`, `pkgrel`, `epoch`

Os seguintes campos podem aparecer mais de uma vez em qualquer seção.

- `pkgdesc`, `url`, `install`, `changelog`

Os seguintes campos podem ser repetidos dentro de uma seção para especificar múltiplos valores:

- `arch`
- `groups`
- `license`
- `noextract`
- `options`
- `backup`
- `validpgpkeys`

Os seguintes campos podem, adicionalmente, especificar múltiplas arquiteturas como mostrado abaixo:

    source_x86_64 = https://foo.bar/arquivo.tar.gz
    source_i686 = https://foo.bar/arquivo_i686_patch.tar.gz

- `source`
- `depends`, `checkdepends`, `makedepends`, `optdepends`
- `provides`, `conflicts`, `replaces`
- `md5sums`, `sha1sums`, `sha224sums`, `sha256sums`, `sha384sums`, `sha512sums`

Campos com outros nomes são ignorados. Linhas em branco e linhas de comentários iniciando com sinais de cerquilha (`#`) também são ignoradas. Linhas podem ter recuo.

Category:

- Package development (Português)

Hidden category:

- Pages or sections flagged with Template:Expansion