.SRCINFO
文件(舊稱 .AURINFO
)用一個簡單直接的格式記錄軟體包的元數據,這樣像 devtools包 的工具和 AUR 網站後台或 AUR 助手可以不用解析 PKGBUILD 就獲得需要的信息。直接解析 shell 腳本的潛在問題可參考 FS#25210,FS#15043 和 FS#16394。
生成
可以通過 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
對應:
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
(只能在 pkgbase 出現)
下列的欄位可以重複出現,以多個體系結構為例:
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
其它欄位名稱、換行和以 #
開頭的行會被忽略。