跳转至内容

.SRCINFO

来自 ArchWiki

.SRCINFO 文件(最初称为 .AURINFO)以一种简单且无歧义的格式包含软件包元数据,以便 devtoolsArch User Repository Web 后端或 AUR 助手 等工具可以在无需直接解析 PKGBUILD 的情况下检索软件包元数据。有关尝试解析 shell 脚本可能引发的问题示例,请参阅 FS#25210FS#15043FS#16394

警告 PKGBUILD 元数据的更改(例如 pkgver() 更新)不会自动传播到 .SRCINFO。如果将编辑后的 PKGBUILD 推送到 AUR 而不更新其 .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 中,这将是唯一的部分,随后是一个包含与前述 pkgbase 相同值的 pkgname 声明

pkgbase = foo
	pkgdesc = An example package.
	...
	md5sums = SKIP

pkgname = foo

在拆分软件包 (split package) 的 PKGBUILD 中,每个部分由一个 pkgname 引导,随后是该软件包特定的任何数据。

本文章或章节需要扩充。

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

规范

以下字段在每个 .SRCINFO 文件的 pkgbase 部分中只能出现一次

  • pkgver, pkgrel, epoch

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

  • pkgdesc, url, install, changelog

以下字段可以在一个部分中重复出现以指定多个值

  • arch
  • groups
  • license
  • noextract
  • options
  • backup
  • validpgpkeys(只能在 pkgbase 中)

以下字段还可以像下面所示地指定多个 架构 (architectures)

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

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

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.