.SRCINFO
Related articles
- Arch packaging standards
- Arch Build System
- Creating packages
- PKGBUILD
- Category:Package development
- Arch User Repository
- makepkg
- pacman files contain package metadata in a simple, unambiguous format, so that tools such as the AUR's Web back-end or AUR helpers may retrieve a package's metadata without parsing the PKGBUILD directly. See , , and for examples of the sorts of issues that may arise from attempting to parse shell scripts.
- , ,
- ,
url
,install
, - (can only be in pkgbase)
depends
, , ,- , ,
- ,
sha1sums
, ,sha256sums
, ,
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
files may be generated using makepkg: $ makepkg --printsrcinfo > .SRCINFOSyntax
files are lists ofkey = value
pairs, separated into sections.
Keys take their names and meanings from PKGBUILD variables; see . Neither keys nor values are quoted. Data that, in a , would be represented by an array is instead specified multiple times. For instance, the following are equivalent:
# PKGBUILD arch=(i686 x86_64) # .SRCINFO arch = i686 arch = x86_64The main section of the file is headed by a pkgbase declaration, and contains data applicable to the package as a whole. In a standard describing a single package, this will be the only section, followed by a pkgname declaration containing the same value as the preceding :
pkgbase = foo pkgdesc = An example package. ... md5sums = SKIP pkgname = fooIn a split , each section is headed by a , followed by any data specific to that package.
Specification
The following fields may appear only once in each file, in the section:
The following fields may appear up to once in any section.
The following fields may be repeated within a section to specify multiple values:
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
Fields with other names are ignored. Blank lines and comment lines beginning with a hash sign () are also ignored. Lines may be indented.