MAKE.CONF(5)

名前
make.conf - Portage のカスタム設定

書式
/etc/make.conf

説明
このファイルには Portage が使うさまざまな変数が書かれている。 Portage は全ての設定項目に対し、現在定義されている環境変数を 調べる。環境変数が見つからない場合、Portage は /etc/make.conf をチェックする。 /etc/make.conf に設定が見つからない場合、Portage は /etc/make.globals をチェックする。そこにも設定が見つからない場合、 /etc/make.profile/make.defaults から profile のデフォルトの値が使われる。 ユーザ設定は /etc/make.globals や /etc/make.profile/make.defaults では なく、環境変数か設定するか、/etc/make.conf で設定するよう留意してほしい (/etc/make.conf はユーザがカスタマイズすることを意図している)。
例外は USE や CONFIG_PROTECT* や ACCEPT_KEYWORDS などの インクリメンタル変数で、インクリメンタル変数は make.defaults から make.globals、make.conf そして環境設定へと伝わっていく。 これらの変数をクリアするには export USE="-*" のようにして全部消去する必要がある。

変数

ACCEPT_KEYWORDS = [space delimited list of KEYWORDS]
    「stable」と判断されていない ebuild のテストを有効にする。 「x86」アーキテクチャのユーザはこの変数を「~x86」に設定するだろうし、 また「ppc」ユーザは「~ppc」を設定するだろう。 これはインクリメンタル変数なので、~arch だけを定義すること (そうすれば arch も定義される)。
    デフォルトの値は $ARCH である。

BUILD_PREFIX = [path]
    パッケージの作業ディレクトリの場所を定義する。
    デフォルトの値は ${PORTAGE_TMPDIR}/portage である。

CBUILD
    この変数が定義されていた場合にかぎり、この変数の値は ebuild スクリプト によって --build=${CBUILD} として configure ステップに渡される。 現在のところ、この変数を定義する必要があるのは HPPA アーキテクチャ だけである。

CCACHE_SIZE = "size"
    この変数は ccache で使うことができるスペースを制限する。デフォルトは 2ギガバイト('2G')である。サイズは 'G', 'M', 'K' と一緒に指定する。

CFLAGS CXXFLAGS
    これらの変数は、コンパイルするアプリケーションに対して行ないたい最適化や CPU 命令の設定のために設定する。 ほとんど全ての ebuild ファイルがこのカスタム設定を利用するので、 Gentoo Linux はユーザの指定のままに完全にカスタマイズすることができる。 最適化がきつすぎる場合コンパイルできなかったり動作しなかったりする パッケージもあるので、まともな設定を心がけること。 より詳しい情報は:
    http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/Invoking-GCC.html
    http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/Invoking-GCC.html
    http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_2.html

CHOST
    この変数は ebuild スクリプト によって --host=${CHOST} として configure ステップに渡される。 これを使うことによって build-host を強制指定することができる。 より詳しい情報は:
    http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/Submodel-Options.html
    http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/Submodel-Options.html
    http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_2.html

CLEAN_DELAY = integer
    `emerge clean` を実行したあとカウントダウンする長さを決める。
    デフォルトの値は 5 秒である。

CONFIG_PROTECT = [space delimited list of dirs]
    この変数で定義された全ディレクトリに「設定ファイル保護」が有効になる。 より詳しい情報は、`emerge --help config` を参照。

CONFIG_PROTECT_MASK = [space delimited list of dirs]
    この変数で定義された全ディレクトリに「設定ファイル保護」が無効になる。 より詳しい情報は、`emerge --help config` を参照。

DISTDIR = [path]
    ソースファイルリポジトリの場所を定義する。
    デフォルトの値は ${PORTDIR}/distfiles である。

FEATURES = "sandbox ccache autoaddcvs"
    デフォルトで行なわれる Portage のアクションを定義する。 開発者やメンテナ以外の人はこのオプションを変更しないこと。 「sandbox」は FEATURES の重要な機能の一つで、デフォルトで 無効にしてはいけない。これはインクリメンタル変数である。

    autoaddcvs
        Portage にあとで追加しなければならないファイルを cvs に自動的に追加 させようとする。ファイルが生成されるときに実行され、FEATURES に cvs もあるときにのみ働く。

    buildpkg
        インストールされる全パッケージについてバイナリパッケージを生成する。

    ccache
        Portage の ccache パッケージに対するサポートを有効にする。 ユーザの環境に ccache ディレクトリが存在しなければ Portage はデフォルトで (userpriv が指定されていれば) ${PORTAGE_TMPDIR}/ccache か (userpriv が指定されていなければ) /root/.ccache を使う。

    collision-protect
        QAのための機能で、パッケージが自分のものでないファイルを上書きしないよう保証する。

    cvs 開発者のための機能で、Portage でダイジェストを生成するとき SRC_URI にある全 USE フラグを有効にする。

    digest
        パッケージのダイジェストを自動生成する。

    distcc
        Portage の distcc パッケージに対するサポートを有効にする。

    distlocks
        Portageがロックファイルを用い、競合している操作がお互いのファイルを上書きしてしまわないことを保証する。 この機能はデフォルトで有効だが、NFSv2のようなあまり賢くないリモートファイルシステムや、変に設定されたSambaサーバ(oplocks off, NFS re-export)では問題があるかもしれない。 /usr/lib/portage/bin/clean_locks というツールがあり、問題が起きたとき(通常クラッシュもしくは回線切断)のロックファイル問題を扱うのを助けてくれる。

    fixpackages
        全バイナリパッケージでの依存関係を解決するスクリプトを走らせる。 これはパッケージが Portage ツリーの中を移動したとき常に実行される。 この機能を有効にするととても時間を消費することに気をつけてほしい。

    getbinpkg
        emergeに常にPORTAGE_BINHOSTからファイルの取得を試みさせる。 詳細はmake.conf(5)参照。

    gpg Check the signatures of Manifests and make sure they are correct.

    keeptemp
        インストールが終わったあとも ${T} ディレクトリを消さない。

    keepwork
        インストールが終わったあとも ${WORKDIR} ディレクトリを消さない。

    maketest
        パッケージが正しくコンパイルされたか確認する手助けのため、 各マージの際にパッケージ固有のテストを実行する。 ebuild(1)のtestとebuild(5)のsrc_test()を参照。

    mirror
        ファイルがすでに DISTDIR に存在しても FETCHCOMMAND を常に実行する。

    noauto
        ebuild(1) を使うとき、要求された関数だけを実行する。

    noclean
        インストール後もソースファイルと一時ファイルを消さない。

    nodoc
        ドキュメントファイル(/usr/share/doc)をインストールしない。

    noinfo
        infoページをインストールしない。

    noman
        manページをインストールしない。

    nostrip
        インストールされるバイナリの strip を止める。

    notitles
        xterm のタイトルバーの更新を無効にする(ステータス情報が含まれている)。

    sandbox
        emerge(1) と ebuild(1) を実行するときの sandbox を有効にする。

    severe
        Manifestをチェックするとき、信頼する鍵で署名されたものだけを受け付ける。

    sfperms
        賢いファイルシステムパーミッション(Smart Filesystem Permissions)を意味する。 パッケージを実ファイルシステムにインストールする前、 setuidまたはsetgidファイルを検索して正しくパーミッションを設定する。 setuidされたファイルでグループと自分以外に読み込み属性を持ったものは削除され、 一方、setgidされたファイルは自分以外に読み込み属性を持ったものが削除される。 下のsuidctlも見ること。

    sign
        repoman(1)でCVSに作業をコミットするとき、GPG鍵でManifestを署名する。 make.conf(5)のPORTAGE_GPG_KEY変数の項を読むこと。

    strict
        危険になる可能性がある状況に対し過敏に反応する(たとえば Manifest がないだとか不正だとかいう状況)。

    suidctl
        実ファイルシステムにパッケージをインストールする前に、 /etc/portage/suidctl.confに列挙されていないファイルからは setuidビットを自動的に落とす。

    userpriv
        root 権限を落し、パッケージを portage:portage ユーザでコンパイルする。 usersandbox が設定されていないかぎり、sandbox を使わない。

    usersandbox
        userprif が設定されているとき、コンパイル段階で sandbox を有効にする。

FETCHCOMMAND
    この変数にはインターネットからパッケージソースを取得するのに 使うコマンドが入っている。

GENTOO_MIRRORS = [URLs]
    ローカルミラーのリストをスペースで区切ってこの変数に入れること。 このミラーリストは ebuild スクリプト で挙げられている URL にファイルをダウンロードしに行く前に使われる。 「mirrorselect」をインストールするとどのミラーを使えばよいか参考になる。

HTTP_PROXY FTP_PROXY = [host:port]
    これらの変数はインターネットから wget(1) でソースをダウンロード するときに使われる。これらはインターネットアクセスにプロキシサーバを 使うときだけ必要である。PROXY だけを設定するか、もしくは FTP_PROXY と HTTP_PROXY を同時に設定すること。

MAKEOPTS
    この変数は並行 make をしたいときに使う。 例えば、デュアルプロセッサのシステムを持っていたとすると、 この変数を "-j2" や "-j3" に設定するとたくさんのパッケージを 作成するときビルドのパフォーマンスが上がる。 推奨設定は CPUの数+1 と CPUの数*2+1 の間。 より詳しい情報は make(1) 参照。

NOCOLOR = ["true" | "false"]
    デフォルトでカラーを無効にするかどうかを定義する。
    デフォルトは false。

PKGDIR = [path]
    作成された .tbz2 バイナリパッケージが保存される場所を定義する。
    デフォルトは ${PORTDIR}/packages。

PORT_LOGDIR
    この変数は ebuild ごとのログが保存されるディレクトリを定義する。 この変数が設定されており、かつ書き込み可能なときのみログが作成される。

PORTAGE_BINHOST = "ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
    この変数はビルド済みバイナリパッケージを取得するホストを設定する。 このリストには現システム用の tbz2 ファイルが含まれているディレクトリの フルアドレスを1つ指定する。この変数は emerge にバイナリパッケージ 取得のオプションをつけて実行したときにのみ使われる。詳しい情報は emerge(1) を参照のこと。この変数は取得元のホストの 'All' ディレクトリを指さねばならず、PKGDIR ではないことに注意。

PORTAGE_NICENESS = [number]
    この変数の値は emerge が実行されるカレント nice レベルに付加される。 つまり、この変数は nice レベルを設定するのではなく、増やすだけである。 nice レベルと指定可能な範囲についての詳しい情報は nice(1) 参照。

PORTAGE_TMPDIR = [path]
    一時ビルドディレクトリの場所を定義する。
    デフォルトは /var/tmp。

PORTDIR = [path]
    Portage ツリーの場所を定義する。
    デフォルトは /usr/portage。

PORTDIR_OVERLAY = [path] [different-path] [etc...]
    ユーザが作った ebuild を保存するディレクトリを定義する。 このディレクトリは `emerge sync` が実行されたときにも上書きされない。 この値にはスペースで区切られたディレクトリ名が入る。
    デフォルトは値が入っていない。

RESUMECOMMAND
    この変数には FETCHCOMMAND で部分的にダウンロードされたパッケージ ソースのダウンロードを再開するためのコマンドが入っている。

ROOT = [path]
    ROOT 変数はパッケージや ebuild をマージするために使う ターゲットルートファイルシステムを指定するために使う。 /etc/make.conf の中ではなく、環境変数としてこの設定を使うのが普通。 典型的には新しいビルドイメージを作成するために使われる。
    デフォルトは /。

RSYNC_EXCLUDEFROM = "/etc/portage/rsync_excludes"
    この変数は Portage が Portage ツリーをアップデートするときに rsync に渡すファイルを設定し、ツリーの特定の部分を sync プロセスから 除外することができる。注意深く使わなければ依存関係の解決に問題が出る 可能性がある。ファイルの形式は、1行につき1パターンで、空白と ';' もしくは '#' で始まる行はコメントである。詳しくは rsync(1) を参照。

RSYNC_RETRIES = [NUMBER]
    接続が失敗したら諦める前に何回 rsync を再試行するかの回数。
    デフォルトは 3。

RSYNC_TIMEOUT = [SECONDS]
    接続がタイムアウトしたと決定する前にどれだけ rsync の無反応状態が 継続していなければならないかの秒数。ダイヤルアップユーザはこの値を 300秒かそれ以上に設定する必要があるかもしれない。
    デフォルトは 180 秒。

RPMDIR = [path]
    作成された RPM パッケージが保存される場所を定義する。
    デフォルトは ${PORTDIR}/rpm。

SYNC = [RSYNC]
    この変数には使いたい rsync ミラーを入れる。 この rsync サーバは `emerge sync` が実行されたときローカルの Portage ツリーを同期させるために使われる。
    デフォルトは rsync://rsync.gentoo.org/gentoo-portage

USE = [space delimited list of USE items]
    この変数にはあるパッケージのビルド時の挙動をコントロールするオプション が入っている。より詳しい情報は ebuild(5) にある。 指定できる USE の値は /usr/portage/profiles/use.desc にある。

USE_ORDER = "env:pkg:conf:auto:defaults"
    USE 変数の設定を上書きする優先順序を決定する。 上記の設定は インストールされたパッケージから自動生成された値 (auto) が make.defaults (defaults) を上書きし、 make.conf (conf) が自動生成された値を上書きし、 パッケージごとの設定 (pkg) が make.conf (conf) を上書きし、 環境変数 (env) がパッケージごとの設定を上書きする、 という設定である。
    ***警告***
    この値はあなたが開発者でなにをしているか分かってないかぎり変更しては ならない。もしこの値を変更してなにかを壊してしまった場合、我々は それを直すのにあなたを助けるつもりはない。
    デフォルトは "env:pkg:conf:auto:defaults"。

バグ報告
バグ報告は http://bugs.gentoo.org/ 経由で行なってください。

関連項目
ebuild(1), ebuild(5)

/usr/sbin/ebuild.sh スクリプト。

/usr/lib/portage/bin にある補助プログラム。

ファイル

/etc/make.conf
    ビルドプロセスのための変数が書かれており、make.defaults の変数を上書きする。

/etc/make.globals
    ビルドプロセスのためのデフォルト変数が書かれているが、 変数の値を変えたい場合はこのファイルではなく /etc/make.conf を編集すること。

/usr/portage/profiles/use.desc
    全グローバルUSEフラグのリストが書かれている。

/usr/portage/profiles/use.local.desc
    全ローカルUSE変数のリストが書かれている。

著者
Daniel Robbins <drobbins@gentoo.org>
Nicholas Jones <carpaski@gentoo.org>
Mike Frysinger <vapier@gentoo.org>

CVS ヘッダ
原文: make.conf.5,v 1.45