[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gentoojp-docs 319] portage の man 溯条



小町です。

なんか emerge.1 にけっこう時間がかかりそうなので、終わったぶんを先に添
付します。査読よろしくお願いします。元のファイルでなく groff で整形済
みのほうを添付したほうが助かる、とのことなので、整形したほうを添付しま
す。

-- 
Mamoru KOMACHI <usata@xxxxxxxxxxxxxxxxxxxxxxx>
http://www.sodan.ecc.u-tokyo.ac.jp/~usata/
EBUILD(5)                           portage                          EBUILD(5)



名前
       ebuild - ebuild スクリプトの内部フォーマット・変数・関数

説明
       ebuild(1) プログラムは ebuild スクリプトを1つ引数に取る。このスクリプト
       には変数とコマンドが書かれており、オリジナルソースから特定のソフトウ ェ
       ア パッケージをダウンロード、展開、パッチ、コンパイル、インストールそし
       てマージする手順を指定している。これらの手順に加え、必要であれば ebuild
       ス クリプトにインストール前後/ アンインストール前後のコマンドを書くこと
       もできる。

サンプル
       簡単な ebuild のサンプルを示す:

       # Copyright 1999-2002 Gentoo Technologies, Inc.
       # Distributed under the terms of the GNU General Public License v2
       # $Header: $

       DESCRIPTION="Super-useful stream editor (sed)"
       SRC_URI="ftp://alpha.gnu.org/pub/gnu/sed/${P}.tar.gz";
       HOMEPAGE="http://www.gnu.org/software/sed/sed.html";

       KEYWORDS="~x86"
       SLOT="0"
       LICENSE="GPL-2"
       IUSE=""

       DEPEND="virtual/glibc"
       RDEPEND="virtual/glibc"

       src_compile() {
            econf || die "could not configure"
            emake || die "emake failed"
       }

       src_install() {
            into /usr
            doinfo doc/sed.info
            doman doc/sed.1
            into /
            dobin sed/sed
            dodir /usr/bin
            dosym /bin/sed /usr/bin/sed
            dodoc COPYING NEWS README* THANKS TODO AUTHORS BUGS ANNOUNCE
       }

変数
       使用方法
              - PORTAGE* と PORTDIR* 変数は make.conf(5) に書かれている。
              - ebuild で変数に値を割り当てるときは、変数名と等号の間に スペー
              スを含めることはできない。

       P      この変数には ebuild のリビジョンを除いたパッケージ名が入っている
              。この変数は 絶対に 変更してはいけない。
              xfree-4.2.1-r2.ebuild --> $P=='xfree-4.2.1'

       PN     この変数にはバージョン番号を除いた ebuild スクリプト名が入ってい
              る。
              xfree-4.2.1-r2.ebuild --> $PN=='xfree'

       PV     この変数にはリビジョンを除いたバージョン番号が入っている。
              xfree-4.2.1-r2.ebuild --> $PV=='4.2.1'

       PR     この変数にはリビジョン番号、もしくはリビジョン番号が存在しない場
              合は「r0」が入っている。
              xfree-4.2.1-r2.ebuild --> $PR=='r2'

       PF     この変数には完全なパッケージ名 [PN]-[PV]-r[PR] が入っている。
              xfree-4.2.1-r2.ebuild --> $PF=='xfree-4.2.1-r2'

       A      この変数にはパッケージに必要なソースファイル名全てが入っている。
              ebuild 内でこの変数を定義してはいけない。この変数は SRC_URI 変数
              から自動生成される。

       WORKDIR = "${PORTAGE_TMPDIR}/portage/${PF}/work"
              この変数にはパッケージビルドルートのパスが入っている。この変数を
              変更しないこと。

       FILESDIR = "${PORTDIR}/${CATEGORY}/${PN}/files"
              この変数には portage ツリーの中のパッケージごとの「files」サブフ
              ォルダへのパスが入っている。この変数を変更しないこと。

       S = "${WORKDIR}/${P}"
              この変数には一時 ビルドディレクトリ のパスが入っている。この変数
              は  src_compile  と src_install 関数で使われる。いずれの関数も S
              をカレントディレクトリとして実行される。この変数はパッケー ジ の
              tar アーカイブを展開したときにできるディレクトリ名に合うように変
              更してもよい。

       T = "${PORTAGE_TMPDIR}/portage/${PF}/temp"
              この変数には 一時ディレクトリ のパスが入っている。この変数は好き
              なように使ってよい。

       D = "${PORTAGE_TMPDIR}/portage/${PF}/image"
              この変数には一時 インストールディレクトリ のパスが入っている。補
              助ツールと補助関数(下で述べる)を使わずに書き込む操作は ${D} とい
              う接頭辞をつけなければならない。この変数を変更しないこと。

       DESCRIPTION = "A happy little package"
              この変数にはパッケージの簡単な説明が入っていなければならない。

       SRC_URI = "http://happy.com/little/${P}.tar.gz";
              こ の変数には必要なソースファイルへの URI のリストが入っている。
              1つのソースファイルへの複数の URI が入っていて も よ い 。  GEN-
              TOO_MIRROR  にファイルが見つからなかった場合、最も速い場所が選ば
              れる。

       HOMEPAGE = "http://happy.com/";
              この変数にはソースのメインサイトと、パッケージについてのもっと詳
              しい情報を得るための URL のリストを入れなければならない。

       KEYWORDS = [-~][x86,ppc,sparc,mips,alpha,arm,hppa]
              こ の変数にはその ebuild が動作する/しないことが分かっているアー
              キテクチャ(arch)の適切なリストを入れなければならない。デフォルト
              では、特定の arch で ebuild が動作するかどうか分からない場合、単
              にその arch を KEYWORD から除く。特定の arch でその ebuild が 動
              作 しない場合、それをたとえば -ppc のようにして KEYWORD に含める
              。 portage ツリーに取り込むための ebuild が提出されたとき、そ の
              ebuild が 動作することが証明されている  場合、証明された arch に
              対する ~arch セットが KEYWORD になければならない。 (このよ う に
              KEYWORD   がついているパッケージはコマンドラインから ACCEPT_KEY-
              WORDS="~arch" と指定したり 0テストのためにマスクを解除することが
              で き る)   指 定 す る べ き  arch についての信頼できるリストは
              /usr/potage/profiles/arch.list を見てください。

       SLOT   この変数は共存するために必要なパッケージの SLOT を指定する。デフ
              ォ ルトでは、なにをしているのか分かっており、SLOT を変更しなけれ
              ばどうにもならない場合を除き、SLOT="0" を指定しなければならな い
              。この変数は 絶対 未定義のままであってはいけない。

       LICENSE
              この変数はパッケージが該当するライセンスのスペースで区切られたリ
              ストを入れなければならない。この変数には  /usr/portage/licenses/
              に あるライセンスと _必ず_ マッチしなければならない。 portage に
              マッチするライセンスが存在しないのだとしても、まずそのライセンス
              を portage に追加しなければならない。

       IUSE    この変数にはそのビルドスクリプトの中で使われている全ての USE フ
              ラグのリストが入っていなければならない。ここの列記してはいけない
              唯一の USE フラグは arch 関連のフラグである (KEYWORDS 参照)。

       DEPEND この変数にはそのプログラムをコンパイルするために必要な全パッケー
              ジのリストが入っていなければならない。

              DEPEND 原子
                     DEPEND に含まれるアトム(それぞれのパッケージ 名) は 単 に
                     portage  がパッケージ同士の関係を計算するときに使う依存性
                     のことである。 DEPEND 原子がまだ emerge されていない場 合
                     、最新のバージョンがマッチすることに留意してください。

                     アトムベース
                             ベースアトムとは完全な カテゴリー/パッケージ名 の
                             ことである。したがって、以下に挙げるものはベー ス
                             アトムである:

                             sys-apps/sed
                             sys-libs/zlib
                             net-misc/dhcp

                     アトムバージョン
                             よ り詳細に特定のバージョンのアトムだけが使用可能
                             であると言うのはいいことだ。バージョンは接頭辞(下
                             を参照)と一緒に使わねばならないことに注意。よって
                             、バージョン番号は接尾辞としてベースに加えると よ
                             い:

                             sys-apps/sed-4.0.5
                             sys-libs/zlib-1.1.4-r1
                             net-misc/dhcp-3.0_p2

                     アトム接頭演算子 [> >= = <= =]
                             い つも正確なバージョンを特定するのではなく、広く
                             使われているバージョンに依存させることができた ら
                             と 思うこともある。そのため、普通のブール演算子を
                             用意している:

                             >media-libs/libgd-1.6
                             >=media-libs/libgd-1.6
                             =media-libs/libgd-1.6
                             <=media-libs/libgd-1.6
                             <media-libs/libgd-1.6

                     拡張アトム接頭辞 [!] と接尾辞 [*]
                             もっとすごいこともできる。「!」と「*」を使えば パ
                             ッ ケージのブロックや、ある範囲のバージョンにマッ
                             チするパッケージを定義したりすることができるの だ
                             。また、これらの拡張された接頭辞/接尾辞は上で定義
                             されているアトムクラスとどのようにも組み合わせ る
                             ことができる。 portage ツリーにあるありふれた例を
                             いくつか挙げると:

                             !app-text/dos2unix
                             =dev-libs/glib-2*
                             !net-fs/samba-2*

                             ! は同時にインストールされるパッケージのブロッ ク
                             を意味する。 * は指定されたベースがマッチするので
                             あれば、パッケージのバージョンは問わないことを 意
                             味 す る 。したがって、バージョン「2*」と書けば、
                             「2.1」「2.2」「2.2.1」などにマッチし 、 「1.0 」
                             「3.0 」「4.1」などにはマッチしないようにすること
                             ができる。

              USE の変動
                     プログラムは USE 変数に従って違うものに依存することがある
                     か もしれない。プログラムが依存するパッケージを変えるには
                     、この構文を使う:

                     DEPEND="media-libs/libsdl
                          jpeg? ( >=media-libs/jpeg-6b )
                          tiff? ( >=media-libs/tiff-3.5.5 )
                          png? ( >=media-libs/libpng-1.2.1 )
                          X? ( virtual/x11 )"


       RDEPEND
              この変数にはこのプログラムを実行するために必要な全
              パッケージのリストが入っていなければならない (つま
              り実行時の依存パッケージのリスト)。この変数が設 定
              さ れていなければ、DEPEND の値がデフォルトで設定さ
              れる。
              依存性を変えるには上の DEPEND で示したのと同じ構文
              が使える。

       PDEPEND
              この変数にはそのプログラムがマージされたあとにイン
              ストールされなければならない全パッケージのリストが
              入っていなければならない。
              依存性を変えるには上の DEPEND で示したのと同じ構文
              が使える。

       RESTRICT = [nostrip,nomirror,fetch]
              この変数には portage FEATURE 機能のうち、制限す る
              ものをスペースで区切って列挙する。
              nostrip
                     最終的なバイナリ/ライブラリからデバッグシン
                     ボルを取り除かない。
              nomirror
                     SRC_URI に書かれている フ ァ イ ル を  GEN-
                     TOO_MIRRORS からはダウンロードしない。
              fetch  nomirror  と同様だが、ファイルは SRC_URI 経
                     由でも取得されない。

       PROVIDE = "virtual/TARGET"
              この変数にはパッケージがバーチャルターゲットを提供
              するときのみ使う。例えば、blackdown-jdk と sun-jdk
              は virtual/jdk を提供する。この機能によってパッ ケ
              ージが blackdown や sun に特化して依存するのではな
              く、virtual/jdk に依存することができる。

関数
       pkg_nofetch

              RESTRICT 変数に fetch を書いた場合、 SRC_URI に あ
              るファイルを見つけることができなかったとき、この関
              数が実行される。ユーザに *どうしたら* 言われたファ
              イルを入手することができるのかの情報を表示するのに
              有用である。

       pkg_setup
              この関数はなによりも先にパッケージに特定のセットア
              ップアクションやチェックが必要な場合に使うことがで
              きる。
              初期作業ディレクトリは ${PORTAGE_TMPDIR}。

       src_unpack
              この関数は A にある全ソースを WORKDIR に展開するた
              め に使う。この関数が ebuild スクリプト で定義され
              ていなかった場合、 unpack ${A} が実行される。パ ッ
              チ当てやその他ビルド設定やコンパイルの前に行なって
              おくべき変更はこの関数で行なわなければならない。
              初期作業ディレクトリは $WORKDIR。

       src_compile
              ビルド設定とコンパイルのために必要なステップ全ては
              この関数で行なわれなければならない。
              初期作業ディレクトリは $S。

       src_install
              一時 インストールディレクトリ にあるパッケージをイ
              ンストールするために必要なこと全てが含まれていなけ
              ればならない。
              初期作業ディレクトリは $S。

       pkg_preinst pkg_postinst
              パッケージがインストールされる前と後で稼働中のファ
              イルシステムに必要な全ての変更はこの関数に置かなけ
              ればならない。ユーザへのコメントも、最後に表示され
              るようにここに列挙すること。
              初期作業ディレクトリは $PWD。

       pkg_prerm pkg_postrm
              pkg_*inst 関数と同様だが、アンインストール用である
              。
              初期作業ディレクトリは $PWD。

       config この関数は必須ではないがパッケージを使うためには欠
              かせない設定ステップを入れる。
              初期作業ディレクトリは $PWD。

補助関数: 総記
       die [理由]
              現在の emerge プロセスを中止させる。最後の画面には
              理由 が表示される。

       use <USE 項目>
              も し USE 項目 が USE 変数にあれば、USE 項目がエコ
              ーされて関数は 0 を返す。もし USE 項目 が USE 変数
              になければ、関数は 1 を返す。

              例:    if [ `use gnome` ] ; then
                          guiconf="--enable-gui=gnome --with-x"
                     elif [ `use gtk` ] ; then
                          guiconf="--enable-gui=gtk --with-x"
                     elif [ `use X` ] ; then
                          guiconf="--enable-gui=athena --with-x"
                     else
                          # No gui version will be built
                          guiconf=""
                     fi

       use_with <USE 項目> [configure オプション]
              カスタムオプションを作成し、configure スクリプトに
              渡 すのに便利である。 USE 項目 が USE 変数にある場
              合、 --with-[configure オプション] という文字列 が
              エ コ ー される。 USE 項目 が USE 変数にない場合、
              --without-[configure オプション] という文字列が エ
              コーされる。 configure オプション が指定されていな
              ければ、 USE 項目 がその場所で使われる。

              例:    USE="jpeg"
                     myconf="`use_with jpeg libjpeg`"
                     (myconf は "--with-libjpeg" という値になる)

                     USE=""
                     myconf="`use_with jpeg libjpeg`"
                     (myconf は "--without-libjpeg" という値にな
                     る)

                     USE="pic"
                     myconf="`use_with pic`"
                     (myconf は "--with-pic" という値になる)

       use_enable <USE 項目> [configure オプション]
              カスタムオプションを作成し、configure スクリプトに
              渡 すのに便利である。 USE 項目 が USE 変数にある場
              合、 --enable-[configure オプション] という文字 列
              が エコーされる。 USE 項目 が USE 変数にない場合、
              --disable-[configure オプション] という文字列が エ
              コーされる。 configure オプション が指定されていな
              ければ、 USE 項目 がその場所で使われる。
              例は use_with を参照。

       has <項目> <項目リスト>
              項目 が 項目リスト にあった場合、項目 がエコーされ
              て has が 0 を返す。なかった場合、なにもエコーされ
              ず 1 を返す。
              項目リスト は IFS 変数によって区切られている。この
              変 数はデフォルトで「 」つまりスペースという値をも
              っている。これは bash(1) の設定である。

       has_version <カテゴリ/パッケージバージョン>
              カテゴリ/パッケージバージョン がシステムにインスト
              ー ル さ れ ているかどうか調べる。このパラメータは
              DEPEND 変数で使用可能な全ての値を使うことができ る
              。 この関数は カテゴリ/パッケージバージョン がイン
              ストールされていたら 0 を返し、インストールされ て
              いないなら 1 を返す。

       best_version <パッケージ名>
              この関数は現在インストールされているプログラムのデ
              ータベースの中からパッケージ名 を探し、現在イン ス
              トールされているパッケージの「いちばんいいバージョ
              ン」を返す。もし パッケージ名 にマッチするパッケー
              ジがなければこの関数は 0 を返す。マッチすれば 1 を
              返す。

              例:    VERINS=`best_version net-ftp/glftpd`
                     (もし glftpd-1.27 がインストールされてい れ
                     ば、 VERINS は "net-ftp/glftpd-1.27" という
                     値になる)

補助関数: 展開
       unpack <ソース> [他にソースがあれば列挙]
              この関数は列挙されたソースをカレントディレクトリに
              解凍/展開する。この関数は ソース を DISTDIR 変数に
              追加する。

補助関数: コンパイル
       econf [configure オプション]
              この関数は configure の代わりに使われる。以下の オ
              プションが実行される:
              configure \
                   --prefix=/usr \
                   --host=${CHOST} \
                   --mandir=/usr/share/man \
                   --infodir=/usr/share/info \
                   --datadir=/usr/share \
                   --sysconfdir=/etc \
                   --localstatedir=/var/lib \
                   configure オプション

              * 註: econf で自動的に付加されるので「|| die」を使
              う必要はない。

       emake [make オプション]
              この関数は make の代わりに使われる。  (${MAKEOPTS}
              は /etc/make.globals で設定される), を実行する。デ
              フォルトは MAKEOPTS="-j2"。

              ***警告***
              emake を使おうとするのであれば、ビルド 時 に 並 列
              make (make -j2) を使って問題ないことを確認すること
              。並列 make は _ときどき_ 失敗するが毎回失敗しない
              ことで悪名高いので、徹底的にテストしなければならな
              い。

              *註: emake が成功したことを保証するために必ず 「||
              die」を使うこと。

補助関数: インストール
       einstall [make オプション]
              この関数は make install の代わりとして使われる。実
              行されるオプションは:
              make prefix=${D}/usr \
                          mandir=${D}/usr/share/man \
                          infodir=${D}/usr/share/info \
                          datadir=${D}/usr/share \
                          sysconfdir=${D}/etc \
                          localstatedir=${D}/var/lib \
                          make options install

              *註: einstall で自動的に付加されるので「|| die」を
              使う必要はない。

       prepall
       prepalldocs
       prepallinfo
       prepallman
       prepallstrip
              これらの関数はスクリプト(つまり Makefile など)経由
              で ${D} にパッケージをインストールするとき有用であ
              る。もし確実にライブラリが実行可能、aclocal ファイ
              ルが適切な場所にインストールされていて、ドキュメン
              ト/info/man ファイルが全部圧縮されており、実行バイ
              ナリからデバッグシンボルが全て strip されている よ
              うにしたければ、これらの関数一式を使う。
              prepall:
                     こ  の  関  数 は  prepallman 、prepallinfo
                     、prepallstrip を実行し、ライブラリを実行可
                     能 に設定し、aclocal ディレクトリをチェック
                     する。この関数は prepalldocs を実行 * し な
                     い* ことに注意してください。
              prepalldocs:
                     ${D}/usr/share/doc にある全てのドキュメント
                     ファイルを圧縮する。
              prepallinfo:
                     ${D}/usr/share/info にある全ての info フ ァ
                     イルを圧縮する。
              prepallman:
                     ${D}/usr/share/man  にある全ての man ファイ
                     ルを圧縮する。
              prepallstrip:
                     全実行バイナリからデバッグシンボルを  strip
                     する。ライブラリも対象に含まれる。

       prepinfo [dir]
       preplib [dir]
       preplib.so [dir]
       prepman [dir]
       prepstrip [dir]
              こ れらの関数も prepall 関数と似ており、違いも微妙
              である。
              prepinfo:
                     dir が指定されなかった場合、prepinfo は dir
                     を  usr   と み な す 。 そして prepinfo は
                     ${D}/dir/info にある全てのファイルを圧縮 す
                     る。
              preplib:
                     dir  が指定されなかった場合、preplib は dir
                     を usr とみ な す 。 そ し て  preplib   は
                     ${D}/dir/lib で「ldconfig -n -N」を実行する
                     。
              preplib.so:
                     ${D}/dir にあり、ファイル名に「.so」を含 む
                     ファイル全てのデバッグシンボルを strip する
                     。複数のディレクトリを指定することもでき る
                     。
              prepman:
                     dir  が指定されなかった場合、prepman は dir
                     を usr とみ な す 。 そ し て  prepman   は
                     ${D}/dir/man/*/  にある全てのファイルを圧縮
                     する。
              prepstrip:
                     ${D}/dir にあるファイル全てを strip する 。
                     複数のディレクトリを指定することもできる。

       dopython <コマンド>
              python で コマンド を実行し、結果を返す。

       dosed "s:orig:change:g" <ファイル名>
              ファイル名 に対し (ファイル名 の cp/mv を含め) sed
              を実行する。
              'dosed "s:/usr/local:/usr:g" /usr/bin/some-script'
              ${D}/usr/bin/some-script に対し sed を実行

       dodir <パス>
              ${D} の中にディレクトリを作成する。
              'dodir /usr/lib/apache' ${D}/usr/lib/apache を作成

       into <パス>
              dobin、dosbin、doman、doinfo、dolib のような他の関
              数のためにルート (DESTTREE) を設定する。
              デフォルトルートは /usr。

       keepdir <パス>
              もし仮に空であってもディレクトリをそのままにしてお
              くよう portage に伝える。dodir と同じように機能 す
              る。

       dobin <バイナリ> [他にもバイナリがあれば列挙]
              バ イナリ や列挙されたバイナリを DESTTREE/bin にイ
              ンストールする。必要なディレクトリは全て作成する。

       dosbin <バイナリ> [他にもバイナリがあれば列挙]
              バイナリ や列挙されたバイナリを DESTTREE/sbin にイ
              ンストールする。必要なディレクトリは全て作成する。

       dolib <ライブラリ> [他にもライブラリがあれば列挙]
       dolib.a <ライブラリ> [他にもライブラリがあれば列挙]
       dolib.so <ライブラリ> [他にもライブラリがあれば列挙]
              ライブラリや列挙されたライブラリを DESTTREE/lib に
              インストールする。必要なディレクトリは全て作成する
              。

       doman <man ページ> [他にも man ページがあれば列挙]
              man   フ ァイルの拡張子に従って man ページを DEST-
              DIR/man/man[1-8n] にインストールする。ファイ ル が
              gzip  されていなければ gzip する。必要なディレクト
              リは全て作成する。

       dohard <ファイル名> <リンク名>
       dosym <ファイル名> <リンク名>
              ln コマンドをハードリンクもしくはシンボリックリ ン
              クとして実行する。

       dohtml  [-a ファイルタイプ] [-r] [-x 無視するディレクトリ
       リスト] [ファイルとディレクトリのリスト]
              フ ァイルの拡張子が .html、.png、.js、.jpg か .css
              であった場合、ファイルリスト(スペースで区切られ た
              リ  ス  ト)  に  挙  げ  ら  れ  た フ ァ イ ル を
              /usr/share/doc/${PF}/html にインストールする。  -a
              を設定すればでどのタイプのファイルを含めるか制限す
              ることができる。 -A を設定すればデフォルトのタイプ
              リストに新たなタイプを追加することができる。 -x で
              除外するディレクトリを設定できる(CVS はデフォル ト
              で 除外される)。 -r を設定すれば再帰的に dohtml を
              実行できる。

       doinfo <info ファイル> [他にも info ファイルがあれば列挙]
              info ページを DESTDIR/info にインストールする。 フ
              ァイルは自動的に gzip される。必要なディレクトリは
              全て作成する。

       dojar <jar ファイル> [他にも jar ファイルがあれば列挙]
              jar ファイルを /usr/share/${PN}/lib にインストール
              し、 /usr/share/${PN}/classpath.env に追加する。

       domo  <locale ファイル> [他にも locale ファイルがあれば追
       加]
              locale  ファイルを locale ファイルの拡張子に従って
              DESTDIR/usr/share/locale/[言語] に追加する。必要な
              ディレクトリは全て作成する。

       fowners <パーミッション> <ファイル> [複数のファイル]
       fperms <パーミッション> <ファイル> [複数のファイル]
              chown (fowners) か chmod (fperms) を実行し、ファイ
              ル に パーミッション を適用する。

       insinto [パス]
              doins 関数のルート (INSDESTTREE) を設定する。
              デフォルトルートは /。

       insopts [install(1) に対するオプション]
              doins で使われる install に対するオプションを定 義
              するために使うことができる。デフォルトは -m0644。

       doins <ファイル> [他にファイルがあれば列挙]
              フ ァイルを INSDESTTREE にインストールする。この関
              数は install(1) を使う。

       exeinto [パス]
              doexe 関数のルート (EXEDESTTREE) を設定する。
              デフォルトルートは /。

       exeopts [install(1) に対するオプション]
              doexe で使われる install に対するオプションを定 義
              するために使うことができる。デフォルトは -m0755。

       doexe <実行バイナリ> [他にも実行バイナリがあれば列挙]
              実行バイナリや列挙された実行バイナリを EXEDESTTREE
              にインストールする。この関数は install(1) を使う。

       docinto [パス]
              dodoc  が使う相対サブディレクトリ (DOCDESTTREE) を
              設定する。

       dodoc <ドキュメント> [他にもドキュメントがあれば列挙]
              ドキュメントや 列 挙 さ れ た ド キ ュ メ ン ト を
              /usr/doc/${PV}/DOCDESTTREE  にインストールする。フ
              ァイルは自動的に gzip される。必要なディレクトリは
              全て作成する。

       newbin <古いファイル> <新しいファイル名>
       newsbin <古いファイル> <新しいファイル名>
       newlib <古いファイル> <新しいファイル名>
       newlib.so <古いファイル> <新しいファイル名>
       newlib.a <古いファイル> <新しいファイル名>
       newman <古いファイル> <新しいファイル名>
       newinfo <古いファイル> <新しいファイル名>
       newins <古いファイル> <新しいファイル名>
       newexe <古いファイル> <新しいファイル名>
       newdoc <古いファイル> <新しいファイル名>
              こ れらの関数は全て do* 関数と同じように使えるが、
              これらの関数は1つのファイルだけに使うことができ 、
              そのファイルは [新しいファイル名] としてインストー
              ルされる。

バグ報告
       バグ報告は https://bugs.gentoo.org/ 経由でしてください。

関連項目
       ebuild(1), make.conf(5)

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

       /usr/lib/portage/bin にある補助アプリケーション。

ファイル
       /etc/make.conf
              ビルドプロセス で 使 う 変 数 が 書 か れ て お り
              、make.defaults で設定されている変数を上書きする。

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

著者
       Achim Gottinger <achim@xxxxxxxxxx>
       Mark Guertin <gerk@xxxxxxxxxx>
       Nicholas Jones <carpaski@xxxxxxxxxx>
       Mike Frysinger <vapier@xxxxxxxxxx>

CVS ヘッダ
       $Header:  /home/cvsroot/gentoo-src/portage/man/ebuild.5,v
       1.43 2003/05/20 09:16:00 carpaski Exp $



Portage 2.0.47                     Feb 2003                          EBUILD(5)
MAKE.CONF(5)                        portage                       MAKE.CONF(5)



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

書式
       /etc/make.conf

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

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

       AUTOCLEAN = ["yes" | "no"]
              動作に支障がなく取り除いても問題のない古いパッケージを削除するこ
              とで、自動的にシステムをきれいにする。重要な ABI の変更の際に は
              この機能をオフにして、古いライブラリが削除される前に新しいライブ
              ラリを使ってシステムが再構築できることを確認する必要がある。この
              機能をオフにしてダウングレードすると、シンボリックリンクが切れて
              システムが操作不能になる恐れがある。
              デフォルトの値は yes である。

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

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

       CFLAGS CXXFLAGS
              こ れ らの変数は、コンパイルするアプリケーションにしたい最適化や
              CPU 命令の設定のために設定する。ほとんど全ての ebuild ファイルが
              このカスタム設定を利用するので、 Gentoo Linux はユーザの指定のま
              まに完全にカスタマイズすることができる。最適化がきつすぎる場合コ
              ンパイルできなかったり動作しなかったりするパッケージもあるので、
              まともな設定を心がけてください。

              より詳しい情報は:
              http://gcc.gnu.org/onlinedocs/gcc-3.2/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-2.95.3/gcc_2.html

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

       CONFIG_PROTECT = [スペースで区切られたディレクトリのリスト]
              この変数で定義された全ディレクトリに「設定ファイル保護」が有効に
              な る。より詳しい情報は、`emerge --help config` を参照してくださ
              い。

       CONFIG_PROTECT_MASK = [スペースで区切られたディレクトリのリスト]
              この変数で定義された全ディレクトリに「設定ファイル保護」が無効に
              な る。より詳しい情報は、`emerge --help config` を参照してくださ
              い。

       DEBUGBUILD
              この変数が定義されていると、merge の前にバイナリとライブラ リ の
              strip が行なわれない。

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

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

              buildpkg: バイナリパッケージを常に生成する。
              ccache: ccache パッケージの portage サポートを有効にする。
              cvs: パッケージを emerge したあとのファイルの自動コミットを有 効
              にする。
              digest:  パッケージのダイジェストを自動生成する。もし cvs 機能が
              有効な場合、さらにそれをコミットする。
              distcc: distcc サポートを有効にする。
              keeptemp: clean の実行時に ${T} ディレクトリを削除しない。
              keepwork: clean の実行時に $WORKDIR を削除しない。
              mirror:  ファイルが DISTDIR にあるときですら常に FETCHCOMMAND を
              実行する。
              noauto: ebuild(1) を実行するとき、要求された関数だけを実行する。
              noclean: パッケージのマージが終わったあともビルドディレクトリ を
              掃除しない。
              nostrip: バイナリの strip をしない。
              notitles: xterm のタイトルバーの更新(ステータス情報が更新される)
              を無効にする。
              sandbox: emerge(1) と ebuild(1) を実行する際 sandbox を有効に す
              る。
              userpriv: portage を使う際に root 権限を使わず、usersandbox も有
              効になってないかぎり sandbox なしでパッケージを  portage:portage
              権限でコンパイルする。
              usersandbox:  コンパイルのとき sandbox を有効にし、root 権限なし
              で実行する(userpriv)。


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

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

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

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

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

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

       PKG_TMPDIR = [パス]
              emerge は稼働中のファイルシステムにファイルをインストールする 前
              、このディレクトリを .tbz2 パッケージの展開に使う。

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

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

       PORTDIR_OVERLAY = [path]
              ユ ーザが作った ebuild を保存し、emerge rsync が実行されたときに
              上書きされないためのディレクトリを定義する。
              デフォルトは値が入っていない。

       PROXY HTTP_PROXY FTP_PROXY = [ホスト名:ポート番号]
              これらの変数は wget(1) でインターネットからソースをダウンロー ド
              しなければならない場合に使われる。これらの変数を使うのは、インタ
              ーネットアクセスにプロキシサーバを使う場合だけである。 PROXY  か
              PROXY_FTP と PROXY_HTTP のいずれかを定義すること。

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

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

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

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

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

       SYNC = [RSYNC ミラー]
              こ の 変 数にはローカルの rsync ミラーのリストを入れる。これらの
              rsync サーバは `emerge rsync` が実行されたときローカルの portage
              ツリーを同期させるために使われる。

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


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


バグ報告
       バグ報告は https://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 変数の膨大なリストが書かれている。

著者
       Daniel Robbins <drobbins@xxxxxxxxxx>
       Nicholas Jones <carpaski@xxxxxxxxxx>
       Mike Frysinger <vapier@xxxxxxxxxx>

CVS ヘッダ
       $Header: /home/cvsroot/gentoo-src/portage/man/make.conf.5,v 1.14
       2003/05/12 09:10:31 carpaski Exp $



Portage 2.0.47                     Feb 2003                       MAKE.CONF(5)
ENV-UPDATE(1)                       Portage                      ENV-UPDATE(1)



名前
       env-update - 環境設定を自動で更新する

書式
       env-update

説明
       env-update  /etc/env.d にあるファイルを読み、自動で /etc/profile.env と
       /etc/ld.so.conf   を 生 成 す る 。 そ し て  ldconfig(8)   を 実 行 し
       、/etc/ld.so.cache   を更新する。 env-update は各パッケージがインストー
       ル/アンインストールされたあと emerge(1) によって自動で実行される。ま た
       、/etc/env.d   に 変 更を加えた場合、すぐに変更を反映するためには自分で
       env-update を実行しなければならない。

オプション
       なし。

著者
       Daniel Robbins <drobbins@xxxxxxxxxx>

バグ報告
       バグ報告は https://bugs.gentoo.org/ 経由でしてください。

関連項目
       emerge(1)

CVS ヘッダ
       $Header:    /home/cvsroot/gentoo-src/portage/man/env-update.1,v     1.3
       2003/02/17 01:55:40 carpaski Exp $



Portage 2.0.47                     Feb 2003                      ENV-UPDATE(1)
ETC-UPDATE(1)                       Portage                      ETC-UPDATE(1)



名前
       etc-update - 設定ファイルの更新を処理する

書式
       etc-update

説明
       etc-update 新しいパッケージをインストールしたあと、設定ファイルに更新が
       あるかどうか確認するために実行することになっている。新しい設定ファイ ル
       が 古い設定ファイルを書き換えてしまう場合、 etc-update はユーザに判断を
       求める。

       etc-update は CONFIG_PROTECT 変数に設定されている全ディレクトリを調べる
       。  CONFIG_PROTECT_MASK   変 数 の中に見つかった設定ファイルは全て etc-
       update によって自動的に更新される。詳細は make.conf(5) を参照。

オプション
       なし。

バグ報告
       バグ報告は https://bugs.gentoo.org/ 経由でしてください。

関連項目
       make.conf(5)

ファイル
       /etc/etc-update.conf
              etc-update 用の設定はここに保存されている。

著者
       Jochem Kossen と Leo Lipelis
       Karl Trygve Kalleberg <karltk@xxxxxxxxxx>
       Mike Frysinger <vapier@xxxxxxxxxx>

CVS ヘッダ
       $Header:    /home/cvsroot/gentoo-src/portage/man/etc-update.1,v     1.6
       2003/02/28 07:02:43 vapier Exp $



Portage 2.0.47                     Feb 2003                      ETC-UPDATE(1)
REPOMAN(1)                          Portage                         REPOMAN(1)



名前
       repoman  - Gentoo の portage ツリーに追加されたパッケージの最低レベルの
       品質の保証を徹底させるプログラム

書式
       repoman [オプション] [モード]

説明
       「質なんてどうだっていい。」
       repoman は Gentoo 開発者向けのプログラムである。 repoman は CVS リポ ジ
       ト リの品質をチェックするが、 ebuild 一つ一つについてチェックするわけで
       はないので、 ebuild の品質を確かめるプログラムがほ し い な ら 、  dev-
       util/lintool を emerge すること。
       註: repoman は ローカル内部 の CVS リポジトリに対してのみ実行される。

オプション
       --pretend
              なにが実行されるかを表示するだけで、コミットも問題の修正も実際に
              は行なわない。

       --help ヘルプ画面を表示する。

モード
       scan   品質保証(QA)のためにカレントディレクトリツリーをスキャンする( デ
              フォルト)。詳細は QA キーワード を参照。

       fix    直せる QA 問題(ダイジェストに対応する ebuild がない、ebuild に対
              応するダイジェストがない)を修正する。

       full   QA のためにカレントディレクトリツリーをスキャンする(全部挙げ る)
              。詳細は QA キーワード を参照。

       help   ヘルプ画面を表示する。

       commit QA  のためにカレントディレクトリツリーをスキャンする。問題がなけ
              れば cvs 経由でコミットする。

QA キーワード
       digest.stray
              対応する ebuild がないダイジェストファイルが見つかった。

       digest.missing
              対応するダイジェストがない ebuild ファイルが見つかった。

       ebuild.invalidname
              ebuild に portage が解析できないファイル名がついている。

       ebuild.namenomatch
              ebuild に親ディレクトリと違う名前がついている。

       changelog.missing
              ChangeLog ファイルが見つからない。

       ebuild.notadded
              ebuild ファイルが見つかったが、まだ cvs に追加されていない。

       digest.notadded
              ダイジェストファイルが見つかったが、まだ cvs に追加されていな い
              。

       ebuild.disjointed
              対 応するダイジェストがすでに追加されていたので、ebuild ファイル
              は cvs に追加されなかった。

       digest.disjointed
              対応する ebuild がすでに追加されていたので、ダイジェストファイル
              は cvs に追加されなかった。

       DEPEND.bad
              ユ ーザに見える(mask されていない) ebuild に間違った DEPEND 設定
              がある (*見えている* ebuild に対してのみ調べられる)。つまり、 ユ
              ーザに見える ebuild 内で DEPEND の設定を満たすことができない。

       RDEPEND.bad
              ユーザに見える(mask されていない) ebuild に間違った RDEPEND 設定
              がある (*見えている* ebuild に対してのみ調べられる)。つまり、 ユ
              ーザに見える ebuild 内で RDEPEND の設定を満たすことができない。

       DEPEND.badmasked
              mask された ebuild に間違った DEPEND 設定がある (*全ての* ebuild
              に対して調べられる)。つまり、どの ebuild も DEPEND の設定を満 た
              すことができない。

       RDEPEND.badmasked
              mask   さ れ た  ebuild  に間違った RDEPEND 設定がある (*全ての*
              ebuild に対して調べられる)。つまり、どの ebuild も RDEPEND の 設
              定を満たすことができない。

       ebuild.syntax
              キャッシュエントリーを生成している際にエラーが起きた。典型的には
              ebuild に構文エラーがあることを意味する。

       ebuild.output
              単に ebuild を source しただけで出力がある。これは ebuild ポリシ
              ーに反する。

       KEYWORDS.missing
              ebuild に KEYWORDS 変数がない。

       LICENSE.missing
              ebuild に LICENSE 変数がない。

       DESCRIPTION.missing
              ebuild に DESCRIPTION 変数がない。

       SLOT.missing
              ebuild に SLOT 変数がない。

著者
       Daniel Robbins <drobbins@xxxxxxxxxx>

バグ報告
       バグ報告は https://bugs.gentoo.org/ 経由でしてください。

関連項目
       emerge(1)
       dev-util/lintool パッケージ。

CVS ヘッダ
       $Header:      /home/cvsroot/gentoo-src/portage/man/repoman.1,v      1.2
       2003/02/16 03:03:41 carpaski Exp $



Portage 2.0.44                     Nov 2002                         REPOMAN(1)
EBUILD(1)                           Portage                          EBUILD(1)



名前
       ebuild - Portage システムへの低レベルインタフェース、ebuild プログラム

書式
       ebuild file command [command]...

説明
       ebuild  プログラムは Portage システムへの直接のインタフェースである。こ
       のプログラムによって、ebuild を特定のサブコマンドやグループコマンドで直
       接 操 作し、特定の環境や機能で実行することができる。ebuild プログラムは
       ebuild スクリプトと1つ以上のコマンドを引数として取り、ebuild スクリプト
       を 解析して指定されたコマンドを実行する。ソースを取得する、ソースを展開
       する、ソースをコンパイルする、"image" という一時ディレクトリにオブジ ェ
       ク トファイルをインストールする、一時ディレクトリにインストールされたイ
       メージを実際にローカルファイルシステムにインストールする、そのイメー ジ
       から bzip 圧縮された tar アーカイブパッケージを作成する、などのコマンド
       がある。

ファイル
       正しい ebuild スクリプトでなければならない。詳しい情報は ebuild(5) を参
       照。

コマンド
       help   パッケージ固有の情報とともにこのマニュアルページの簡略版を表示す
              る。

       setup  パッケージ固有のセットアップとさまざまなシステムチェックを行なう
              。

       clean   その特定の ebuild ファイルのために作られた Portage の一時ビルド
              ディレクトリを消去する。通常一時ビルドディレクトリは展開されたソ
              ー スコードと "インストールイメージ" (ローカルファイルシステムに
              インストールされるファイル、もしくはバイナリパッケージに保存され
              る ファイル全て)を含む。ビルドディレクトリは BUILD_PREFIX 変数に
              よって設定される。この変数がなにか知りたい場 合 は  emerge  [-v]
              info  を実行する。この変数を上書きしたい場合は make.conf(5) を参
              照。

              註: FEATURES 変数に 'noclean' が含まれていないかぎり、パッケージ
              が 問題なくインストールされると Portage は一時ビルドディレクトリ
              にあるものほとんど全てを消去する。FEATURES に noclean を追加する
              とたくさんのファイルが残りすぐに膨大な容量を消費してしまう結果に
              なる。インストール後にソースを使う必要がないのであれば 、noclean
              を 指 定 す る こ と は お 奨 め し な い 。 一方、手動で rm -rf
              /var/tmp/portage として一時ビルドディレクトリにあるファイル全 て
              を消すという方法もある。

       fetch  SRC_URI   で 指 定 さ れ て い る ソ ー スが全て DISTDIR (詳細は
              make.conf(5) 参照)にあって使える状態になっているか、正し い  md5
              チ ェ ッ ク サムであるかどうかを調べる。ソースが使えない状態なら
              SRC_URI で指定された場所からダウンロードしようとする。1つのフ ァ
              イルに対し複数のダウンロード場所が挙げられていた場合、Portage は
              各々の場所のうちどこがより近いか ping を打って調べる(現在は間 違
              っ て い る か もしれないが)。Gentoo Linux のミラーサイトは GEN-
              TOO_MIRRORS で定義されており、常にこの場所が最初に調べられる。も
              しなんらかの理由で現在のソースやダウンロードしたばかりのソースの
              md5 ダイジェストが files/digest-[パッケージ名]-[バージョン-リ ビ
              ジ ョ ン] に記録されている値と一致しなかった場合、警告が出力され
              、ebuild はエラーコード 1 で終了する。

       digest /usr/portage/[カテゴリー]/[パッケージ名]/files/ にパッケージのダ
              イ ジ ェ ス ト フ ァイルを作成する。このダイジェストファイルには
              SRC_URI に書いてあるファイル全ての md5sum が列挙されている。取得
              したパッケージのソースファイルが壊れている、もしくは変な場合には
              、md5sum がそれを検出する。

       unpack ebuild ファイルの src_unpack() 関数を実行し、ビルドディレクト リ
              (BUILD_PREFIX)   の サ ブ デ ィ レ ク トリへとソースを展開する。
              src_unpack() 関数が指定されてい な い 場 合 、 デ フ ォ ル ト の
              src_unpack()  関数が使用され、SRC_URI で指定されている全ファイル
              を展開する。ソースは普通 ${BUILD_PREFIX}/[パッケージ名]-[バー ジ
              ョ ン- リ ビ ジ ョ ン]/work   に 展 開される。このディレクトリは
              ${WORKDIR} 変数で参照することができる。

              ebuild を作成しているなら、ebuild スクリプトの先頭で定義されてい
              る  ${S} 変数(ソースディレクトリ) が展開されたソースのあるディレ
              クトリを指していることを確認しよう。${S} は デ フ ォ ル ト で は
              ${WORKDIR}/${P} と定義されているので、あまり変更する必要はない。
              src_unpack() 関数はそのままコンパイルに取りかかれるようソース に
              適切なパッチを当てる関数でもある。

       compile
              ebuild ファイルの中で指定された src_compile() 関数を実行し、展開
              したソースをコンパイルする。src_compile() の開始時にはカレントデ
              ィ レクトリが ${S} に設定される。 src_compile() の終了時にはソー
              スは完全にコンパイルされていなければならない。

       preinst
              稼働中のファイルシステムにパッケージをインストールする前に実行す
              る必要があるパッケージ固有のアクションを実行する。

       install
              src_install()  関数を実行し、パッケージを一時 インストールディレ
              クトリ にインストールする。完了すると、インストールディレクト リ
              (${BUILD_PREFIX}/[ パ ッケージ名]-[バージョン-リビジョン]/image)
              にはローカルファイルシステムにインストールされるべきファイルかバ
              イナリパッケージに含まれるべきファイル全てがインストールされる。

       postinst
              稼働中のファイルシステムにパッケージをインストールしたあと実行す
              る必要があるパッケージ固有のアクションを実行する。有益なメッセー
              ジが表示されることが多い。

       qmerge この関数は インストールディレクトリ の全てのファイルを稼働中のフ
              ァ イルシステムにインストールする。そのプロセスは、まず(指定され
              ていれば) pkg_preinst() 関数が実行され、そしてファイルが稼働中の
              ファイルシステムにインストールされ、インストールされたファイルの
              md5 ダイジェストが /var/db/pkg/${CATEOGRY}/${PN}-[バージョン- リ
              ビ ジョン]/CONTENTS に記録される。全ファイルがインストールされる
              と、pkg_postinst() 関数が(指定されていれば)実行される。

       merge  通常、ebuild をインストールするには 、fetch 、unpack 、  compile
              、install そして qmerge する必要がある。単に ebuild をインストー
              ルしたいだけならこのコマンドを使ってもよい。このコマンドは こ れ
              ら5 つのステップ全てを実行し、ある特定のステップが失敗したらそこ
              で止まってくれる。

       unmerge
              この関数は(指定されていれば)まず pkg_prerm 関数を実行する。次 に
              現在のファイルシステムから、パッケージの内容が書かれているファイ
              ルに挙げられているもののうち、md5 チェックサムと更新時刻が記録と
              一致するファイル全てを削除する。空のディレクトリは全て再帰的に削
              除される。最後に(指定されていれば) pkg_postrm 関数が実行される。
              パッケージの新しいバージョンを先にインストールし、それから古いバ
              ージョンを unmerge するのは安全である。実のところ、そうするの が
              推奨パッケージアップグレード方法である。

       prerm  ファイルシステムからパッケージが削除される前に実行されなければな
              らないパッケージ固有のアクションを実行する。unmerge も参照。

       postrm ファイルシステムからパッケージが削除されたあとに実行されなければ
              ならないパッケージ固有のアクションを実行する。unmerge も参照。

       config emerge  プロセスが完了したあとに実行が必要なパッケージ固有の設定
              を実行する。設定ファイルのセットアップや、それと同じようにユーザ
              が実行しておきたいセットアップなどが多い。

       package
              merge コマンドとよく似ているが、ソースを取得、展開、コンパイル、
              そしてインストールしたあと、${PKGDIR}/All (${PKGDIR} はデフォ ル
              ト では /usr/portage/packages) に .tbz2 バイナリパッケージが作成
              される。 ${PKGDIR}/${CATEGORY} には ${PKGDIR}/All にあるパッケー
              ジ本体へのシンボリックリンクが作成される。

       rpm    一時 インストールディレクトリ にあるファイルから RedHat RPM パッ
              ケージをビルドする。現時点では ebuild の依存情報は RPM には反 映
              されない。

バグ報告
       バグ報告は https://bugs.gentoo.org/ 経由でしてください。

関連項目
       ebuild(5), make.conf(5)

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

       /usr/lib/portage/bin にある補助アプリケーション

ファイル
       /etc/make.conf
              ビ ルドプロセスのための変数が書かれており、make.globals で設定さ
              れた変数を上書きする。

著者
       Achim Gottinger <achim@xxxxxxxxxx>
       Daniel Robbins <drobbins@xxxxxxxxxx>
       Nicholas Jones <carpaski@xxxxxxxxxx>
       Mike Frysinger <vapier@xxxxxxxxxx>

CVS ヘッダ
       $Header:      /home/cvsroot/gentoo-src/portage/man/ebuild.1,v      1.13
       2003/05/12 09:10:31 carpaski Exp $"



Portage 2.0.48                     Nov 2002                          EBUILD(1)