.SRCINFO (Português)

From ArchWiki
Status de tradução: Esse artigo é uma tradução de .SRCINFO. Data da última tradução: 2024-01-08. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Arquivos .SRCINFO contêm metadados de pacote em um formato simples e não ambíguo, de forma que as ferramentas como devtools, 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 (só pode ser usado no pkgbase)

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.