.SRCINFO
.SRCINFO
文件(最初 称为 .AURINFO
)以简单、明确的格式包含软件包元数据,以便 devtools、Arch 用户仓库 Web 后端或 AUR 助手 等工具可以检索软件包元数据,而无需直接解析 PKGBUILD。 请参阅 FS#25210、FS#15043 和 FS#16394,了解尝试解析 shell 脚本可能出现的各种问题示例。
警告: 对
PKGBUILD
元数据的更改,例如 pkgver() 更新,不会自动传播到 .SRCINFO
。 将编辑后的 PKGBUILD
推送到 AUR 而不同时更新其 .SRCINFO
将导致 AUR 提供过时的元数据。生成
可以使用 makepkg 生成 .SRCINFO
文件
$ makepkg --printsrcinfo > .SRCINFO
语法
.SRCINFO
文件是 key = value
对的列表,分为多个部分。
键的名称和含义取自 PKGBUILD 变量;请参阅 PKGBUILD(5) § 选项和指令。 键和值均未加引号。 在 PKGBUILD
中,将由数组表示的数据改为多次指定。 例如,以下是等效的
PKGBUILD
arch=(i686 x86_64)
.SRCINFO
arch = i686 arch = x86_64
文件的主部分以 pkgbase 声明开头,并包含适用于整个软件包的数据。 在描述单个软件包的标准 PKGBUILD
中,这将是唯一的部分,后跟一个 pkgname 声明,其中包含与前面的 pkgbase
相同的值
pkgbase = foo pkgdesc = An example package. ... md5sums = SKIP pkgname = foo
在拆分 PKGBUILD
中,每个部分都以 pkgname
开头,后跟特定于该软件包的任何数据。
规范
以下字段在每个 .SRCINFO
文件中只能出现一次,位于 pkgbase
部分中
pkgver
、pkgrel
、epoch
以下字段在任何部分中最多可以出现一次。
pkgdesc
、url
、install
、changelog
以下字段可以在一个部分内重复以指定多个值
arch
groups
license
noextract
options
backup
validpgpkeys
(只能在 pkgbase 中)
以下字段还可以指定多个 架构,如下所示
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
忽略具有其他名称的字段。 空行和以井号 (#
) 开头的注释行也会被忽略。 行可以缩进。