.SRCINFO

出自 Arch Linux 中文维基

.SRCINFO 用一個簡單直接的格式記錄軟件包的元數據。AUR 的網站後台或 AUR 工具可以不用解析 PKGBUILD 就獲得需要的信息。

警告:PKGBUILD 元數據的修改例如 pkgver() 更新,不會自動同步到 .SRCINFO. 如果修改了 PKGBUILD 但是沒更新 .SRCINFO 會導致 AUR 使用錯誤的數據。

生成[編輯 | 編輯原始碼]

可以通過 makepkg 自動生成 .SRCINFO 文件:

$ makepkg --printsrcinfo > .SRCINFO

語法[編輯 | 編輯原始碼]

.SRCINFO 按行解析,每一行由像key = value一樣的鍵值對組成.

每一個鍵都是一個字段,鍵值與 PKGBUILD 變量對應, PKGBUILD(5) § OPTIONS AND DIRECTIVES. 變量和數值都不應該加引號。等號兩邊一定要有一個空格(即使值為空)而且值之間不能包含逗號. 有些值在 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

其它字段名稱,換行和帶有"#"的行會被忽略.