.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
下面欄位可以在一個段落裡多次出現:
archgroupslicensenoextractoptionsbackup-
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
其它欄位名稱、換行和以 # 開頭的行會被忽略。