.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 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.
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
(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.