.SRCINFO (Español)
Los archivos .SRCINFO (originalmente llamados .AURINFO) contienen metadatos de paquetes en un formato simple e inequívoco, de modo que herramientas como devtools, el backend web del Arch User Repository (Español) o los AUR helpers (Español) puedan recuperar los metadatos de un paquete sin analizar directamente el PKGBUILD (Español). Consulte FS#25210, FS#15043 y FS#16394 para ver ejemplos de los tipos de problemas que pueden surgir al intentar analizar scripts de shell.
PKGBUILD, como las actualizaciones de pkgver(), no se propagan automáticamente a .SRCINFO. Subir un PKGBUILD editado al AUR sin actualizar también su .SRCINFO hará que el AUR muestre metadatos obsoletos.Generación
Los archivos .SRCINFO pueden ser generado usando makepkg (Español):
$ makepkg --printsrcinfo > .SRCINFO
Sintaxis
Los archivos .SRCINFO son listas de pares llave = valor separados entre secciones.
Las llaves toman sus nombres y valores desde las variables del PKGBUILD; véase PKGBUILD(5) § OPTIONS AND DIRECTIVES. Ni las claves ni los valores están entre comillas. Los datos que, en un PKGBUILD, se representarían mediante un array, se especifican varias veces. Por ejemplo, los siguientes son equivalentes:
PKGBUILD
arch=(i686 x86_64)
.SRCINFO
arch = i686 arch = x86_64
La sección principal del archivo es encabezada por una declaración pkgbase, y contiene datos aplicables al paquete en su conjunto. En un PKGBUILD estándar que describe un solo paquete, esta será la única sección, seguida de una declaración pkgname que contiene el mismo valor que el pkgbase anterior:
pkgbase = foo pkgdesc = An example package. ... md5sums = SKIP pkgname = foo
En un PKGBUILD dividido, cada sección está encabezada por un pkgname, seguido de los datos específicos de ese paquete.
Especificación
Los siguientes campos pueden aparecer solo una vez en cada archivo .SRCINFO, en la sección pkgbase:
-
pkgver,pkgrel,epoch
Los siguientes campos pueden aparecer hasta una vez en cualquier sección.
-
pkgdesc,url,install,changelog
Los siguientes campos pueden repetirse dentro de una sección para especificar varios valores:
archgroupslicensenoextractoptionsbackup-
validpgpkeys(solo puede estar en pkgbase)
Los siguientes campos pueden, además, especificar varias arquitecturas como se muestra a continuación:
source_x86_64 = https://foo.bar/file.tar.gz source_i686 = https://foo.bar/file_i686_patch.tar.gz
source-
depends,checkdepends,makedepends,optdepends -
provides,conflicts,replaces -
md5sums,sha1sums,sha224sums,sha256sums,sha384sums,sha512sums
Los campos con otros nombres se ignoran. Las líneas en blanco y las líneas de comentario que comiencen con numeral (#) también se ignoran. Las líneas pueden ser indentadas.