# .SRCINFO (Português)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Status de tradução: Esse artigo é uma tradução de .SRCINFO. Data da última tradução: 2020-08-06. 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 das variáveis do PKGBUILD; veja PKGBUILD(5) § OPTIONS AND DIRECTIVES. 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