.SRCINFO (Português)

From ArchWiki
Jump to: navigation, search

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.

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

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.