.SRCINFO
.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
其它字段名稱,換行和帶有"#"的行會被忽略.