跳转至内容

.SRCINFO

来自 ArchWiki

.SRCINFO 文件(最初称为 .AURINFO)以一种简单、无歧义的格式包含包元数据,以便 devtoolsArch 用户仓库 Web 后端或 AUR 助手等工具无需直接解析 PKGBUILD 即可检索包元数据。有关尝试解析 shell 脚本可能出现问题的示例,请参阅 FS#25210FS#15043FS#16394

警告PKGBUILD 元数据的更改(例如 pkgver() 更新)不会自动传播到 .SRCINFO。在 AUR 中推送已编辑的 PKGBUILD 而不更新其 .SRCINFO 会导致 AUR 提供过时的元数据。

.SRCINFO 文件可以使用 makepkg 生成。

$ makepkg --printsrcinfo > .SRCINFO

语法

.SRCINFO 文件是由“键 = 值”对组成的列表,并分为不同的段。

键的名称和含义取自 PKGBUILD 变量;请参阅 PKGBUILD(5) § OPTIONS AND DIRECTIVES。键和值都不需要引号。在 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 标题,后跟特定于该包的任何数据。

本文章或章节需要扩充。

原因: 上述内容对某些人来说已经足够,以下是详细的参数列表;请将它们分开以提高可读性。另外,寻找方法来减少此文件与 PKGBUILD 之间的冗余。(在 Talk:.SRCINFO 中讨论)

规范

以下字段在每个 .SRCINFO 文件中只能出现一次,位于 pkgbase 段中。

  • pkgverpkgrelepoch

以下字段在任何段中最多可以出现一次。

  • pkgdescurlinstallchangelog

以下字段可以在段内重复出现,以指定多个值。

  • 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
  • dependscheckdependsmakedependsoptdepends
  • providesconflictsreplaces
  • md5sumssha1sumssha224sumssha256sumssha384sumssha512sums

其他名称的字段将被忽略。空白行和以井号(#)开头的注释行也将被忽略。行可以缩进。