.SRCINFO
関連記事
.SRCINFO ファイルにはパッケージのメタデータが記述されています。わかりやすいフォーマットが使われており、AUR のウェブバックエンドや AUR ヘルパーは .SRCINFO ファイルを使用することで PKGBUILD を直接パースしなくてもパッケージのメタデータを取得することができます。シェルスクリプトのパースによって起こる問題については FS#25210, FS#15043, FS#16394 などがあります。
生成
.SRCINFO ファイルは以下のように makepkg を使って生成することができます。もしくは、pkgbuild-introspection に含まれている mksrcinfo を実行してください。
$ makepkg --printsrcinfo > .SRCINFO
構文
.SRCINFO ファイルは key = value の組み合わせからなり、さらに複数のセクションに分かれています。
キーの名前は PKGBUILD 変数 と同じです。キーや値をクォートで囲う必要はありません。また、PKGBUILD の中で配列として記述されるデータは同じキーを使って複数回記述されます。例えば、以下は同じ内容になります:
# PKGBUILD arch=(i686 x86_64)
# .SRCINFO arch = i686 arch = x86_64
ファイルのメインセクションは pkgbase の宣言から始まり、それからパッケージのデータを記述します。単体のパッケージしか定義していない標準的な PKGBUILD の場合、セクションは一つだけとなり、pkgbase と同じ値を持った pkgname の宣言がセクションの後に続きます:
pkgbase = foo pkgdesc = An example package. [...] md5sums = SKIP pkgname = foo
分割 PKGBUILD の場合、各セクションの先頭に pkgname がきて、その後ろに各パッケージのデータを記述します。
仕様
以下のフィールドは .SRCINFO ファイルの pkgbase セクションの中で一回だけしか使うことができません:
pkgver,pkgrel,epoch
以下のフィールドは全てのセクションの中で一回だけしか使うことができません:
pkgdesc,url,install,changelog
以下のフィールドは複数回使用して複数の値を記述することができます:
archgroupslicensenoextractoptionsbackupvalidpgpkeys
以下のフィールドは複数のアーキテクチャを指定することができます:
source_x86_64 = https://foo.bar/file.tar.gz source_i686 = https://foo.bar/file_i686_patch.tar.gz
sourcedepends,checkdepends,makedepends,optdependsprovides,conflicts,replacesmd5sums,sha1sums,sha224sums,sha256sums,sha384sums,sha512sums
他の名前のフィールドは無視されます。空行やハッシュ記号 (#) が先頭に付いているコメント行も同じく無視されます。インデントは自由に追加できます。