.SRCINFO (Português)
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.
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.
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.