deb-substvars(5)

名前
deb-substvars - Debian ソースにおける変数

書式
substvars

説明
dpkg-source, dpkg-gencontrol, dpkg-genchanges が制御情報を (dpkg-source 用のソース制御ファイル .dsc 、dpkg-gencontrol や dpkg-genchanges の標準出力に) 書き出す際に、変数の置換が行われる。 変数が置換される箇所は ${変数名} という形式になっている。変数名には英数字、ハイフン、コロンを使用できるが、先頭文字は英数字である必要がある。変数の置換は、置換が不要になるまで再帰的に何度でも行われる。これは、置換後のフィールドの全文に対して、再度置換対象がないかの確認が行われることを意味する。 置換がすべて完了した後で、文字列 ${} (これは置換対象ではない) が $ 記号に置き換えられる。 変数の置換は、すべての制御フィールドに対して行われるが、フィールドによっては変数が置換される前のビルド段階で用いられるものがある。そのため、Package, Source, Architecture フィールドで変数を用いてはならない。 変数の置換は、各フィールドが解析され、切り出された後の内容に対して行われる。そのため、置換した結果が複数行にわたる場合も、改行の後にスペースを含めておく必要はない。これは、置換された変数の内容がフィールドに展開される際に暗黙的に行われる。例えば "foo is bar.${Newline}foo is great." という内容が ${Description} という変数に格納されており、フィールドの内容が以下のようになっていた場合、
 Description: foo application
  ${Description}
  .
  More text. 置換後の結果は次のようになる:
 Description: foo application
  foo is bar.
  foo is great.
  .
  More text. 共通オプション -V により変数を設定することが可能である。debian/substvars ファイル (もしくは -T オプションで指定したファイル中) で設定してもよい。このファイルには name=value 形式の行から構成する。行末の空白文字、空白行、# 記号から始まる行 (コメント行) は無視される。 その他に、以下の標準変数を使用することができる:

Arch
    現在ビルドしているアーキテクチャ (dpkg --print-architecture オプションより)。

source:Version
    ソースパッケージのバージョン

source:Upstream-Version
    アップストリームのソースパッケージのバージョン、Debian の epoch が存在している場合、それも含まれる。

binary:Version
    バイナリパッケージのバージョン (binNMU などの場合、source:Version と異なることもある)

Source-Version
    ソースパッケージのバージョン (changelog ファイルより)。この変数は、名が体を表さなくなってしまっているため、廃止予定である。用途に応じて source:Versionもしくは binary:Version を使用すること。

Installed-Size
    パッケージによりインストールされるファイルの合計サイズ。この変数の値はcontrol ファイルの適切なフィールドにも適用され、該当フィールドの値を上書きする。この変数が設定されていなかった場合、dpkg-gencontrol はデフォルト値として du -k debian/tmp の値を設定する。

Extra-Size
    パッケージのインストール時に追加で用いられるディスク領域。この変数が設定されていると、Installed-Size 変数の値 (明示的に設定されたものか、デフォルト値かは問わない) に本変数の値を足した値が control ファイルの Installed-Sizeフィールドに適用される。

F:fieldname
    fieldname というフィールド (大文字で指定する必要がある) の値。この変数は、展開する箇所を明示的に指定するという以上の意味を持たない。

Format
    ソースパッケージングスクリプトによって生成される .changes ファイルのフォーマットのバージョン。この変数を設定すると、.changes ファイルの Format フィールドの内容も変更される。

Newline, Space, Tab
    これらの変数は、各々対応する文字を示す。

shlibs:dependencyfield
    この形式の名前のついた変数は、dpkg-shlibdeps により生成される。

dpkg:Upstream-Version
    dpkg のアップストリームのバージョン

dpkg:Version
    dpkg の完全なバージョン表記

変数が定義されていないにもかかわらず参照されている場合は、値として空文字列が想定されるとともに、警告が生成される。

ファイル

debian/substvars
    変数およびその値のリスト。

バグ
標準の出力フィールドの設定と比較すると、フィールドの上書きが発生する箇所は混乱を引き起こす。

関連項目
dpkg(1), dpkg-genchanges(1), dpkg-gencontrol(1), dpkg-shlibdeps(1), dpkg-source(1).

翻訳者
高橋 基信 <monyo@monyo.com>. 喜瀬 浩 <kise@fuyuneko.jp>. 関戸 幸一 <sekido@mbox.kyoto-inet.or.jp>. 鍋谷 栄展 <nabe@debian.or.jp>. 倉澤 望 <nabetaro@debian.or.jp>. 石川 睦 <ishikawa@linux.or.jp>. 鵜飼 文敏 <ukai@debian.or.jp>. 中野 武雄 <nakano@apm.seikei.ac.jp>.

翻訳校正
Debian JP Documentation ML <debian-doc@debian.or.jp>.