ArchWiki / .SRCINFO
ArchWiki / .SRCINFO
es:.SRCINFO hu:.SRCINFO ja:.SRCINFO pt:.SRCINFO ru:.SRCINFO zh-hans:.SRCINFO
.SRCINFO files (originally called .AURINFO) contain package metadata in a simple, unambiguous format, so that tools such as devtools, the Arch User Repository Web back-end or AUR helpers may retrieve a package metadata without parsing the PKGBUILD directly. See 25210, 15043, and 16394 for examples of the sorts of issues that may arise from attempting to parse shell scripts.
Changes to PKGBUILD metadata, such as pkgver() updates, do not automatically propagate to .SRCINFO. Pushing an edited PKGBUILD to the AUR without also updating its .SRCINFO will cause the AUR to serve stale metadata.
Generation
.SRCINFO files may be generated using makepkg:
$ makepkg --printsrcinfo > .SRCINFOSyntax
.SRCINFO files are lists of key = value pairs, separated into sections.
Keys take their names and meanings from PKGBUILD variables; see PKGBUILD(5). Neither keys nor values are quoted. Data that, in a PKGBUILD, would be represented by an array is instead specified multiple times. For instance, the following are equivalent:
arch(i686 x86_64)PKGBUILDarch i686
arch x86_64.SRCINFOThe main section of the file is headed by a pkgbase declaration, and contains data applicable to the package as a whole. In a standard PKGBUILD describing a single package, this will be the only section, followed by a pkgname declaration containing the same value as the preceding pkgbase:
pkgbase = foo
pkgdesc = An example package.
...
md5sums = SKIP
pkgname = fooIn a split PKGBUILD, each section is headed by a pkgname, followed by any data specific to that package.
Specification
The following fields may appear only once in each .SRCINFO file, in the pkgbase section:
pkgver,pkgrel,epoch
The following fields may appear up to once in any section.
pkgdesc,url,install,changelog
The following fields may be repeated within a section to specify multiple values:
archgroupslicensenoextractoptionsbackupvalidpgpkeys(can only be in pkgbase)
The following fields may, additionally, specify multiple architectures as shown below:
source_x86_64 = https://foo.bar/file.tar.gz
source_i686 = https://foo.bar/file_i686_patch.tar.gz
sourcedepends,checkdepends,makedepends,optdependsprovides,conflicts,replacesmd5sums,sha1sums,sha224sums,sha256sums,sha384sums,sha512sums
Fields with other names are ignored. Blank lines and comment lines beginning with a hash sign (#) are also ignored. Lines may be indented.