.SRCINFO (简体中文)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
翻译状态:本文是 .SRCINFO翻译。上次翻译日期:2019-10-26。如果英文版本有所更改,则您可以帮助同步翻译。

.SRCINFO 用一个简单直接的格式记录软件包的元数据。AUR 的网站后台或 AUR 工具 可以不用解析 PKGBUILD 就获得需要的信息。

警告:PKGBUILD 元数据的修改例如 pkgver() 更新,不会自动同步到 .SRCINFO. 如果修改了 PKGBUILD 但是没更新 .SRCINFO 会导致 AUR 使用错误的数据。

生成

可以通过 makepkg 自动生成 .SRCINFO 文件:

$ makepkg --printsrcinfo > .SRCINFO

语法

.SRCINFO 按行解析,每一行由像key[_arch] = value一样的键值对组成.

每一个键都是一个字段,键值与PKGBUILD 变量对应. 变量和数值都不应该加引号。等号两边一定要有一个空格(即使值为空)而且值之间不能包含逗号. 有些值在 PKGBUILD 中是数组,需要变为同样的值多次指定,例如:

# PKGBUILD
arch=(i686 x86_64)

需要变为:

# .SRCINFO
arch = i686
arch = x86_64

文件以 pkgbase 声明开头,此段落包含适用于整个程序的数据。标准的 PKGBUILD 描述了一个单独的软件包,那么这就是唯一的主段落,后面跟着 pkgname 声明包含软件包的名称。

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

下列的字段名称会重复出现,也许有 体系结构 作为后缀

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

其它字段名称,换行和带有"#"的行会被忽略.