設定ファイルリファレンス

設定ファイルの ~/.config/jhbuildrc は、標準的な Python の構文を使用します。このファイルは実行され、その名前空間で定義された実行結果の変数は、JHBuild の挙動を制御するのに使用されます。ユーザーの設定ファイルが実行される前に、各変数のデフォルト値がこの名前空間に読み込まれます。

変数にブール値をセットする場合、以下の例で示す構文が使用されます。

use_local_modulesets = True

変数に文字列をセットする場合、以下の例で示す構文が使用されます。

autogenargs = '--disable-static --disable-gtk-doc'

リストへ設定値をセットする場合、以下の例で示す構文が使用されます。

skip = ['mozilla'、'pulseaudio']

ディクショナリへ設定値をセットする場合、以下の例で示す構文が使用されます。

repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'

6.1. 設定変数

alwaysautogen

A boolean value if set to True, always run autogen.sh. This is equivalent to passing --autogen option to JHBuild. Defaults to False.

autogenargs

autogen.sh スクリプトに渡す引数を指定する文字列です。すべてのモジュールに適用されます。module_autogenargs ディクショナリで、特定のモジュールにたいして上書きできます。

branches

特定のモジュールで使用するブランチを指定するディクショナリです。あるモジュールのあるブランチで変更を加えている場合に、モジュールセットで定義されたブランチではなく、その変更を加えたブランチをビルドするときなどに便利です。

ブランチの定義の仕方は、バージョン管理システムに依存します。

  • CVS: リビジョンを指定します。例: 'BRANCH-PROJECT-0_8'

  • Bazaar: モジュールブランチの URI を指定します。例: 'http://bzr.example.net/project/gnome-2-28'

  • Git: タプル で指定します。先頭要素はオプションのリポジトリ(または None 値)、2 番目の要素はブランチ名を指定します。例: ('git://git.example.net/project'、'gnome-2-28')

    例 2シンプルな例
    branches['modulename'] = (None, 'branchname')
  • Subversion: モジュールブランチの URI を指定します。例: 'svn://svn.example.net/project/gnome-2-28'

builddir_pattern

ビルドディレクトリの名前を生成するための、printf スタイルの書式設定パターンです。これはソースとビルドツリーが違う場合のみ使用します。書式の中の %s は、checkoutdir で置き換えられます。デフォルトは '%s' です。

buildroot

ビルドツリーの親ディレクトリを指定する文字列です。デフォルトは None で、ビルドはソースツリーで実行されます。

buildscript

どのビルドスクリプトを使用するかを指定する文字列です。推奨の設定はデフォルトの terminal です。特に gtk に設定しないでください。

build_policy

どのモジュールをビルドするかを指定する文字列です。利用可能なオプションは、要求されたモジュールをすべてビルドする all、変更されたモジュールだけをビルドする updated、モジュール または 依存するモジュールが変更されたときにモジュールをビルドする updated-deps の3つです。デフォルトは updated-deps です。

checkoutroot

ソースツリーを展開するディレクトリを指定する文字列です。buildroot がセットされていない場合は、ビルドもこのディレクトリで行います。デフォルトは ~/checkout/gnome です。

checkout_mode

バージョン管理されているディレクトリにたいして、どのようにチェックアウトを行うかを指定する文字列です。デフォルトは update です。モジュールごとに指定する場合は、module_checkout_mode を使用できます。利用可能な値は update (チェックアウトディレクトリを更新する)、clobber (ソースをチェックアウトする前にディレクトリを掃除する)、export (ディレクトリを掃除した後にソースのバージョン管理外コピーを作成する)、そして copy (ディレクトリにビルドされるものとは別にチェックアウトします)です。

copy_dir

checkout_mode が copy の場合に、コピー先のディレクトリを指定する文字列です。デフォルトはチェックアウトディレクトリです。

cvs_program

cvs をサポートするために、どのプログラムを使用するかを指定する文字列です。git-cvsimport、または cvs が指定できます。デフォルトは cvs です。

dvcs_mirror_dir

ローカルミラーのディレクトリを指定する文字列です。JHBuild は指定されたディレクトリにリポジトリのローカルミラーを作成します。ミラーは複数のリポジトリグループによって共有することができ、ローカルのクローンにたいしてハードリンクが使用されるため領域と時間の節約につながります。update および updateone コマンドはミラーを作成し、オンラインのリポジトリから新規のコミットをフェッチします。このオプションは Git および Bazaar リポジトリにたいしてのみサポートされます。

help_website

A tuple specifying a help website name and URL. The website is displayed in the tinderbox html for failed modules. %(module)s in the URL will be replaced with the module name. To disable, set help_website to None. Defaults to ('Gnome Live!', 'http://live.gnome.org/JhbuildIssues/%(module)s').

installprog

/usr/bin/install のかわりに使用するプログラムを指定する文字列です。利用可能な場合、デフォルトは JHBuild により提供されるinstall-check ラッパーです。install-check ラッパーはヘッダーのインストールを最適化することにより、リビルドにかかる時間を短縮します。

ignore_suggests

依存ツリーを計算するときに、推奨される依存関係を無視するかどうかを指定するブール値です。デフォルトは False です。

interact

ユーザーと対話するかどうかを指定するブール値です。この値を False に設定することは、--no-interact オプションを指定するのと同じです。デフォルトは True です。

makeargs

A string listing additional arguments to be passed to make. JHBuild will automatically append the parallel execution option (-j) based upon available CPU cores. Defaults to ''.

makecheck

make の後に、make check を実行するかどうかを指定するブール値です。デフォルトは False です。

makecheck_advisory

make check が失敗したときに、ビルドを失敗させない(メッセージの表示のみ)にするかどうかを指定する文字列です。デフォルトは False です。

makeclean

make の前に、make clean を実行するかどうかを指定するブール値です。デフォルトは False です。

makedist

make の後に、make dist を実行するかどうかを指定するブール値です。デフォルトは False です。これは --dist オプションを指定するのと同じです。

makedistcheck

make の後に、make distcheck を実行するかどうかを指定するブール値です。デフォルトは False です。これは --distcheck オプションを指定するのと同じです。

module_autogenargs

モジュールの名前と、autogen.sh に渡す引数をマッピングするディクショナリです。module_autogenargs の設定は、autogenargs のグローバルな設定より優先されます。モジュールがディクショナリに指定されていないときは、グローバルな autogenargs が使用されます。

module_checkout_mode

チェックアウトモードをモジュールごとに指定するためのディクショナリです。この設定はグローバルな checkout_mode の設定より優先されます。

module_makeargs

モジュールの名前と、make に渡す引数をマッピングするディクショナリです。module_makeargs の設定は、makeargs の値を置き換えます。モジュールがディクショナリに指定されていないときは、グローバルな makeargs が使用されます。

module_makecheck

モジュールの名前と、make の後に make check を実行するかどうかの指定をマッピングするディクショナリです。module_makecheck の設定は、makecheck の値より優先されます。モジュールがディクショナリに指定されていないときは、グローバルな makecheck の設定が使用されます。

module_nopoison

モジュールの名前とブール値をマッピングするディクショナリです。モジュールに True が設定されている場合、JHBuild は指定されたモジュールのビルドが失敗しても、依存するモジュールをビルドしようと試みます。module_nopoison の設定は、nopoison の設定より優先されます。モジュールがディクショナリに指定されていないときは、グローバルな nopoison の設定が使用されます。

module_extra_env

モジュールの名前と、追加の環境変数と値のディクショナリをマッピングするディクショナリです。モジュールのためにコマンドを実行するときに使用されます。

modules

ビルドするモジュールを指定する文字列のリストです。 buildone コマンドを使用しないかぎり、実際にビルドされるモジュールは、指定したモジュールが依存するモジュールもすべて含まれます。依存関係は再帰的に展開されます。デフォルトは ['meta-gnome-desktop'] です。

moduleset

モジュールセットの名前を指定する文字列、または文字列のリスト(配列)です。これは JHBuild に含まれるファイル名(パスと拡張子を除く)、または 外部で管理されているモジュールセットの完全な HTTP URL のどちらでも構いません。HTTP URL のモジュールセットは、ローカルにキャッシュされます。ふたつ以上のモジュールセットに同じ名前のモジュールが存在する場合は、最後のモジュールセットのモジュールが優先します。JHBuild により提供されるモジュールセットは、その時の GNOME の開発リリースに合わせて更新されます。

modulesets_dir

モジュールセットのあるディレクトリを指定する文字列です。デフォルトは JHBuild のソースの modulesets/ ディレクトリです。

nice_build

ビルドの実行を、Linux では SCHED_IDLE の優先度で行い、他の Unix では nice を通じて行います。これを利用すると、ビルドのスループットにたいする影響をごくわずかに抑えながらも、並列ビルドにたいするデスクトップの応答性能を大幅に改善できます。

nobuild

ブール値です。True に設定した場合、JHBuild はモジュールのビルドを行わず、ソースのダウンロードと展開のみ行います。デフォルトは False です。

nonetwork

ネットワークにアクセスするかどうかを指定するブール値です。この設定は CVS モジュールのチェックアウトと更新、および tarball のダウンロードと、モジュールセットの更新に影響を与えます。True に設定した場合、--no-network オプションを指定したのと同じです。デフォルトは False です。

nonotify

通知デーモンを使用して、通知を発行するかどうかを指定するブール値です。False に設定した場合、通知を発行します。デフォルトは True です。

nopoison

ブール値です。True に設定された場合、依存関係にある1つ以上のモジュールのビルドに失敗しても、JHBuild はビルドを試みます。このオプションは --no-poison を引数で指定するのと同じです。デフォルトは False です。

notrayicon

Zenity を使用して、システムトレイにアイコンを表示するかどうかを指定するブール値です。False に設定した場合、通知を発行します。デフォルトは True です。

noxvfb

ブール値です。True に設定した場合、JHBuild は Xvfb を使用せずに、実際の X サーバーでグラフィックテストを実行します。このオプションは、--no-xvfb を指定するのと同じです。デフォルトは False です。

partial_build

ブール値です。True に設定した場合、依存対象のモジュールがシステムパッケージとしてインストール済みで、かつそのバージョンが十分であれば、依存対象のモジュールをビルドしません。デフォルトは True です。

prefix

モジュールのインストール先を指定する文字列です。prefix は絶対パスでなければなりません。指定したディレクトリは書き込み可能である必要があります。デフォルトは '/opt/gnome' です。

pretty_print

サブプロセスの出力を、綺麗にプリントするかどうかを指定するブール値です。CVS の出力のみをサポートします。この指定により問題が発生する場合は無効にしてください。デフォルトは True です。

print_command_pattern

JHBuild がコマンドを実行する前に表示する文字列です。文字列中の %(command)s は、実行対象のコマンドに置換されます。文字列中の %(cwd)s は現在の作業ディレクトリに置換されます。デフォルトは '%(command)s' です。

progress_bar

quiet mode で、プログレスバーを表示するかどうかを指定するブール値です。デフォルトは True です。

quiet_mode

ブール値です。True に設定した場合、コマンドの出力を抑止します。デフォルトは False です。

repos

特定のリポジトリにたいして、かわりのリポジトリロケーションを指定するディクショナリです。この設定変数は、モジュール開発者にとって便利です。デフォルトでは、JHBuild は匿名のリポジトリロケーションから、コードをチェックアウトします。ディクショナリのキーはリポジトリの略称で、値はリポジトリロケーションの文字列です。例:

repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'
skip

A list of modules to skip. This --skip command line option extends the list. This list is empty by default. If the list contains the special value '*', JHBuild will skip all modules not explicitly listed in the modules variable. This may be useful if you want to build modules without their implicit dependencies.

sticky_date

文字列型です。もし指定された場合、背後のバージョン管理システムがサポートしていれば、JHBuild はビルドの前に、ソースツリーを指定された日付に更新します。ここで指定できるのは ISO の日付書式です。例: 'yyyy-mm-dd'。デフォルトは None です。

svn_program

subversion をサポートするために、どのプログラムを使用するかを指定する文字列です。svn、または git-svn が指定できます。デフォルトは svn です。

tarballdir

文字列型です。指定された場合、tarball を checkoutroot ではなく、指定されたディレクトリにダウンロードします。これは JHBuild で複数の環境を使用していたり、checkoutroot を定期的にクリーンしていて、なおかつ帯域幅の使用を減らしたい場合などに便利です。

tinderbox_outputdir

jhbuild tinderbox の出力を保存するディレクトリを指定する文字列です。この設定は --output オプションより優先されます。デフォルトは None なので、コマンドラインオプションで指定するか、設定ファイルの中でこれが指定されていなければなりません。

trycheckout

ブール値です。True を指定した場合、JHBuild は失敗したときに次の解決を自動的に試みます。 1) autogen.sh コマンドを再実行する 2) バージョン管理システムから新しいバージョンをチェックアウトする。この設定は --try-checkout オプションを指定するのと同じです。

use_lib64

lib64 ディレクトリにライブラリをインストールするかどうかを指定するブール値です。設定した場合、configure のオプションに --libdir=\${exec_prefix}/lib64 を引き渡します。x86_64ppc64s390x で Linux を実行している場合のデフォルトは True です。これ以外のシステムの場合、デフォルトは False です。

use_local_modulesets

GNOME のバージョン管理システムから、オンザ フライでモジュールセットを取得するのではなく、JHBuild のソースコードと一緒にチェックアウトしたモジュールセットを使用するかどうかを指定するブール値です。デフォルトは False です。

xvfbargs

グラフィックテストを Xvfb で実行する場合の引数を指定するリスト型です。

6.2. その他の設定ファイルの構造

上述の変数に加えて、以下の文字列が設定ファイルで指定できます:

os.environ

環境をあらわすディクショナリです。この環境は JHBuild により 生成されたプロセスに引き渡されます。

CPPFLAGSCFLAGSINSTALL、そして LDFLAGS を含む、影響のある環境変数が含まれます。例:

os.environ['CFLAGS'] = '-O0 -g'
addpath(envvar, pathname)

PATH 環境変数にディレクトリを追加します。addpath は、環境変数の初期値が空の場合を確実に処理します(環境変数の先頭、もしくは末尾にある単独のコロンは予期せぬ結果をもたらすことがあります)。

addpath は、パスが -I pathname の形式であることを期待する ACLOCAL_FLAGS 環境変数のために特別な処理を行います。

prependpath(envvar, pathname)

設定ファイルを処理した後、JHBuild は prefix のような変数に基づくパスに対して変更を加えます(例: PATH の先頭に $prefix/bin を追加する)。

prependpathaddpath と同じように動作しますが、JHBuild が環境に対して行った変更の後に環境変数への変更が適用される点が異なります。