[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gentoojp-docs 319] portage の man 溯条
- Subject: [gentoojp-docs 319] portage の man 溯条
- From: Mamoru KOMACHI <usata@xxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 3 Jul 2003 00:51:00 +0900
- Organization: University of Tokyo
小町です。
なんか emerge.1 にけっこう時間がかかりそうなので、終わったぶんを先に添
付します。査読よろしくお願いします。元のファイルでなく groff で整形済
みのほうを添付したほうが助かる、とのことなので、整形したほうを添付しま
す。
--
Mamoru KOMACHI <usata@xxxxxxxxxxxxxxxxxxxxxxx>
http://www.sodan.ecc.u-tokyo.ac.jp/~usata/
EBUILD(5) portage EBUILD(5)
[1m名前[0m
ebuild - ebuild スクリプトの内部フォーマット・変数・関数
[1m説明[0m
[1mebuild[22m(1) プログラムは ebuild スクリプトを1つ引数に取る。このスクリプト
には変数とコマンドが書かれており、オリジナルソースから特定のソフトウ ェ
ア パッケージをダウンロード、展開、パッチ、コンパイル、インストールそし
てマージする手順を指定している。これらの手順に加え、必要であれば ebuild
ス クリプトにインストール前後/ アンインストール前後のコマンドを書くこと
もできる。
[1mサンプル[0m
簡単な 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
}
[1m変数[0m
[1m使用方法[0m
- PORTAGE* と PORTDIR* 変数は [1mmake.conf[22m(5) に書かれている。
- ebuild で変数に値を割り当てるときは、変数名と等号の間に [1mスペー[0m
[1mスを含めることはできない[22m。
[1mP [22mこの変数には ebuild のリビジョンを除いたパッケージ名が入っている
。この変数は [1m絶対に [22m変更してはいけない。
[1mxfree-4.2.1-r2.ebuild [22m--> [1m$P[22m=='[4mxfree-4.2.1[24m'
[1mPN [22mこの変数にはバージョン番号を除いた ebuild スクリプト名が入ってい
る。
[1mxfree-4.2.1-r2.ebuild [22m--> [1m$PN[22m=='[4mxfree[24m'
[1mPV [22mこの変数にはリビジョンを除いたバージョン番号が入っている。
[1mxfree-4.2.1-r2.ebuild [22m--> [1m$PV[22m=='[4m4.2.1[24m'
[1mPR [22mこの変数にはリビジョン番号、もしくはリビジョン番号が存在しない場
合は「r0」が入っている。
[1mxfree-4.2.1-r2.ebuild [22m--> [1m$PR[22m=='[4mr2[24m'
[1mPF [22mこの変数には完全なパッケージ名 [4m[PN]-[PV]-r[PR][24m が入っている。
[1mxfree-4.2.1-r2.ebuild [22m--> [1m$PF[22m=='[4mxfree-4.2.1-r2[24m'
[1mA [22mこの変数にはパッケージに必要なソースファイル名全てが入っている。
ebuild 内でこの変数を定義してはいけない。この変数は [4mSRC_URI[24m 変数
から自動生成される。
[1mWORKDIR [22m= [4m"${PORTAGE_TMPDIR}/portage/${PF}/work"[0m
この変数にはパッケージビルドルートのパスが入っている。この変数を
変更しないこと。
[1mFILESDIR [22m= [4m"${PORTDIR}/${CATEGORY}/${PN}/files"[0m
この変数には portage ツリーの中のパッケージごとの「files」サブフ
ォルダへのパスが入っている。この変数を変更しないこと。
[1mS [22m= [4m"${WORKDIR}/${P}"[0m
この変数には一時 ビルドディレクトリ のパスが入っている。この変数
は [4msrc_compile[24m と [4msrc_install[24m 関数で使われる。いずれの関数も [4mS[0m
をカレントディレクトリとして実行される。この変数はパッケー ジ の
tar アーカイブを展開したときにできるディレクトリ名に合うように変
更してもよい。
[1mT [22m= [4m"${PORTAGE_TMPDIR}/portage/${PF}/temp"[0m
この変数には 一時ディレクトリ のパスが入っている。この変数は好き
なように使ってよい。
[1mD [22m= [4m"${PORTAGE_TMPDIR}/portage/${PF}/image"[0m
この変数には一時 インストールディレクトリ のパスが入っている。補
助ツールと補助関数(下で述べる)を使わずに書き込む操作は ${D} とい
う接頭辞をつけなければならない。この変数を変更しないこと。
[1mDESCRIPTION [22m= [4m"A[24m [4mhappy[24m [4mlittle[24m [4mpackage"[0m
この変数にはパッケージの簡単な説明が入っていなければならない。
[1mSRC_URI [22m= [4m"http://happy.com/little/${P}.tar.gz"[0m
こ の変数には必要なソースファイルへの URI のリストが入っている。
1つのソースファイルへの複数の URI が入っていて も よ い 。 [4mGEN-[0m
[4mTOO_MIRROR[24m にファイルが見つからなかった場合、最も速い場所が選ば
れる。
[1mHOMEPAGE [22m= [4m"http://happy.com/"[0m
この変数にはソースのメインサイトと、パッケージについてのもっと詳
しい情報を得るための URL のリストを入れなければならない。
[1mKEYWORDS [22m= [4m[-~][x86,ppc,sparc,mips,alpha,arm,hppa][0m
こ の変数にはその ebuild が動作する/しないことが分かっているアー
キテクチャ(arch)の適切なリストを入れなければならない。デフォルト
では、特定の arch で ebuild が動作するかどうか分からない場合、単
にその arch を KEYWORD から除く。特定の arch でその ebuild が 動
作 しない場合、それをたとえば -ppc のようにして KEYWORD に含める
。 portage ツリーに取り込むための ebuild が提出されたとき、そ の
ebuild が [1m動作することが証明されている [22m場合、証明された arch に
対する ~arch セットが KEYWORD になければならない。 (このよ う に
KEYWORD がついているパッケージはコマンドラインから ACCEPT_KEY-
WORDS="~arch" と指定したり 0テストのためにマスクを解除することが
で き る) 指 定 す る べ き arch についての信頼できるリストは
/usr/potage/profiles/arch.list を見てください。
[1mSLOT [22mこの変数は共存するために必要なパッケージの SLOT を指定する。デフ
ォ ルトでは、なにをしているのか分かっており、SLOT を変更しなけれ
ばどうにもならない場合を除き、[1mSLOT[22m="0" を指定しなければならな い
。この変数は 絶対 未定義のままであってはいけない。
[1mLICENSE[0m
この変数はパッケージが該当するライセンスのスペースで区切られたリ
ストを入れなければならない。この変数には /usr/portage/licenses/
に あるライセンスと [1m_必ず_ [22mマッチしなければならない。 portage に
マッチするライセンスが存在しないのだとしても、まずそのライセンス
を portage に追加しなければならない。
[1mIUSE [22mこの変数にはそのビルドスクリプトの中で使われている全ての USE フ
ラグのリストが入っていなければならない。ここの列記してはいけない
唯一の USE フラグは arch 関連のフラグである ([1mKEYWORDS [22m参照)。
[1mDEPEND [22mこの変数にはそのプログラムをコンパイルするために必要な全パッケー
ジのリストが入っていなければならない。
[1mDEPEND 原子[0m
DEPEND に含まれるアトム(それぞれのパッケージ 名) は 単 に
portage がパッケージ同士の関係を計算するときに使う依存性
のことである。 DEPEND 原子がまだ emerge されていない場 合
、最新のバージョンがマッチすることに留意してください。
[1mアトムベース[0m
ベースアトムとは完全な カテゴリー/パッケージ名 の
ことである。したがって、以下に挙げるものはベー ス
アトムである:
[4msys-apps/sed[0m
[4msys-libs/zlib[0m
[4mnet-misc/dhcp[0m
[1mアトムバージョン[0m
よ り詳細に特定のバージョンのアトムだけが使用可能
であると言うのはいいことだ。バージョンは接頭辞(下
を参照)と一緒に使わねばならないことに注意。よって
、バージョン番号は接尾辞としてベースに加えると よ
い:
sys-apps/sed[4m-4.0.5[0m
sys-libs/zlib[4m-1.1.4-r1[0m
net-misc/dhcp[4m-3.0_p2[0m
[1mアトム接頭演算子 [> >= = <= =][0m
い つも正確なバージョンを特定するのではなく、広く
使われているバージョンに依存させることができた ら
と 思うこともある。そのため、普通のブール演算子を
用意している:
[4m>[24mmedia-libs/libgd-1.6
[4m>=[24mmedia-libs/libgd-1.6
[4m=[24mmedia-libs/libgd-1.6
[4m<=[24mmedia-libs/libgd-1.6
[4m<[24mmedia-libs/libgd-1.6
[1m拡張アトム接頭辞 [!] と接尾辞 [*][0m
もっとすごいこともできる。「!」と「*」を使えば パ
ッ ケージのブロックや、ある範囲のバージョンにマッ
チするパッケージを定義したりすることができるの だ
。また、これらの拡張された接頭辞/接尾辞は上で定義
されているアトムクラスとどのようにも組み合わせ る
ことができる。 portage ツリーにあるありふれた例を
いくつか挙げると:
[4m![24mapp-text/dos2unix
=dev-libs/glib-2[4m*[0m
[4m![24mnet-fs/samba-2[4m*[0m
[4m![24m は同時にインストールされるパッケージのブロッ ク
を意味する。 [4m*[24m は指定されたベースがマッチするので
あれば、パッケージのバージョンは問わないことを 意
味 す る 。したがって、バージョン「2*」と書けば、
「2.1」「2.2」「2.2.1」などにマッチし 、 「1.0 」
「3.0 」「4.1」などにはマッチしないようにすること
ができる。
[1mUSE の変動[0m
プログラムは 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 )"
[1mRDEPEND[0m
この変数にはこのプログラムを実行するために必要な全
パッケージのリストが入っていなければならない (つま
り実行時の依存パッケージのリスト)。この変数が設 定
さ れていなければ、[1mDEPEND [22mの値がデフォルトで設定さ
れる。
依存性を変えるには上の [1mDEPEND [22mで示したのと同じ構文
が使える。
[1mPDEPEND[0m
この変数にはそのプログラムがマージされたあとにイン
ストールされなければならない全パッケージのリストが
入っていなければならない。
依存性を変えるには上の [1mDEPEND [22mで示したのと同じ構文
が使える。
[1mRESTRICT [22m= [4m[nostrip,nomirror,fetch][0m
この変数には portage FEATURE 機能のうち、制限す る
ものをスペースで区切って列挙する。
[4mnostrip[0m
最終的なバイナリ/ライブラリからデバッグシン
ボルを取り除かない。
[4mnomirror[0m
[1mSRC_URI [22mに書かれている フ ァ イ ル を [1mGEN-[0m
[1mTOO_MIRRORS [22mからはダウンロードしない。
[4mfetch[24m [4mnomirror[24m と同様だが、ファイルは [1mSRC_URI [22m経
由でも取得されない。
[1mPROVIDE [22m= [4m"virtual/TARGET"[0m
この変数にはパッケージがバーチャルターゲットを提供
するときのみ使う。例えば、blackdown-jdk と sun-jdk
は [4mvirtual/jdk[24m を提供する。この機能によってパッ ケ
ージが blackdown や sun に特化して依存するのではな
く、[4mvirtual/jdk[24m に依存することができる。
[1m関数[0m
[1mpkg_nofetch[0m
[1mRESTRICT [22m変数に [4mfetch[24m を書いた場合、 [1mSRC_URI [22mに あ
るファイルを見つけることができなかったとき、この関
数が実行される。ユーザに *どうしたら* 言われたファ
イルを入手することができるのかの情報を表示するのに
有用である。
[1mpkg_setup[0m
この関数はなによりも先にパッケージに特定のセットア
ップアクションやチェックが必要な場合に使うことがで
きる。
初期作業ディレクトリは ${PORTAGE_TMPDIR}。
[1msrc_unpack[0m
この関数は [4mA[24m にある全ソースを [4mWORKDIR[24m に展開するた
め に使う。この関数が [4mebuild[24m スクリプト で定義され
ていなかった場合、 [4munpack[24m [4m${A}[24m が実行される。パ ッ
チ当てやその他ビルド設定やコンパイルの前に行なって
おくべき変更はこの関数で行なわなければならない。
初期作業ディレクトリは $WORKDIR。
[1msrc_compile[0m
ビルド設定とコンパイルのために必要なステップ全ては
この関数で行なわれなければならない。
初期作業ディレクトリは $S。
[1msrc_install[0m
一時 インストールディレクトリ にあるパッケージをイ
ンストールするために必要なこと全てが含まれていなけ
ればならない。
初期作業ディレクトリは $S。
[1mpkg_preinst pkg_postinst[0m
パッケージがインストールされる前と後で稼働中のファ
イルシステムに必要な全ての変更はこの関数に置かなけ
ればならない。ユーザへのコメントも、最後に表示され
るようにここに列挙すること。
初期作業ディレクトリは $PWD。
[1mpkg_prerm pkg_postrm[0m
pkg_*inst 関数と同様だが、アンインストール用である
。
初期作業ディレクトリは $PWD。
[1mconfig [22mこの関数は必須ではないがパッケージを使うためには欠
かせない設定ステップを入れる。
初期作業ディレクトリは $PWD。
[1m補助関数: 総記[0m
[1mdie [4m[22m[[24m理由[4m][0m
現在の emerge プロセスを中止させる。最後の画面には
理由 が表示される。
[1muse [4m[22m<USE[24m 項目[4m>[0m
も し [4mUSE[24m 項目 が [1mUSE [22m変数にあれば、[4mUSE[24m 項目がエコ
ーされて関数は 0 を返す。もし [4mUSE[24m 項目 が [1mUSE [22m変数
になければ、関数は 1 を返す。
例[4m:[24m 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
[1muse_with [4m[22m<USE[24m 項目[4m>[24m [4m[configure[24m オプション[4m][0m
カスタムオプションを作成し、configure スクリプトに
渡 すのに便利である。 [4mUSE[24m 項目 が [1mUSE [22m変数にある場
合、 [4m--with-[configure[24m オプション[4m][24m という文字列 が
エ コ ー される。 [4mUSE[24m 項目 が [1mUSE [22m変数にない場合、
[4m--without-[configure[24m オプション[4m][24m という文字列が エ
コーされる。 [4mconfigure[24m オプション が指定されていな
ければ、 [4mUSE[24m 項目 がその場所で使われる。
例[4m:[24m 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" という値になる)
[1muse_enable [4m[22m<USE[24m 項目[4m>[24m [4m[configure[24m オプション[4m][0m
カスタムオプションを作成し、configure スクリプトに
渡 すのに便利である。 [4mUSE[24m 項目 が [1mUSE [22m変数にある場
合、 [4m--enable-[configure[24m オプション[4m][24m という文字 列
が エコーされる。 [4mUSE[24m 項目 が [1mUSE [22m変数にない場合、
[4m--disable-[configure[24m オプション[4m][24m という文字列が エ
コーされる。 [4mconfigure[24m オプション が指定されていな
ければ、 [4mUSE[24m 項目 がその場所で使われる。
例は [1muse_with [22mを参照。
[1mhas [4m[22m<[24m項目[4m>[24m [4m<[24m項目リスト[4m>[0m
項目 が 項目リスト にあった場合、項目 がエコーされ
て [1mhas [22mが 0 を返す。なかった場合、なにもエコーされ
ず 1 を返す。
項目リスト は [4mIFS[24m 変数によって区切られている。この
変 数はデフォルトで「 」つまりスペースという値をも
っている。これは [1mbash[22m(1) の設定である。
[1mhas_version [4m[22m<[24mカテゴリ[4m/[24mパッケージバージョン[4m>[0m
カテゴリ[4m/[24mパッケージバージョン がシステムにインスト
ー ル さ れ ているかどうか調べる。このパラメータは
[1mDEPEND [22m変数で使用可能な全ての値を使うことができ る
。 この関数は カテゴリ[4m/[24mパッケージバージョン がイン
ストールされていたら 0 を返し、インストールされ て
いないなら 1 を返す。
[1mbest_version [4m[22m<[24mパッケージ名[4m>[0m
この関数は現在インストールされているプログラムのデ
ータベースの中からパッケージ名 を探し、現在イン ス
トールされているパッケージの「いちばんいいバージョ
ン」を返す。もし パッケージ名 にマッチするパッケー
ジがなければこの関数は 0 を返す。マッチすれば 1 を
返す。
例[4m:[24m VERINS=`best_version net-ftp/glftpd`
(もし glftpd-1.27 がインストールされてい れ
ば、 VERINS は "net-ftp/glftpd-1.27" という
値になる)
[1m補助関数: 展開[0m
[1munpack [4m[22m<[24mソース[4m>[24m [4m[[24m他にソースがあれば列挙[4m][0m
この関数は列挙されたソースをカレントディレクトリに
解凍/展開する。この関数は ソース を [1mDISTDIR [22m変数に
追加する。
[1m補助関数: コンパイル[0m
[1meconf [4m[22m[configure[24m オプション[4m][0m
この関数は configure の代わりに使われる。以下の オ
プションが実行される:
configure \
--prefix=/usr \
--host=${CHOST} \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--datadir=/usr/share \
--sysconfdir=/etc \
--localstatedir=/var/lib \
[4mconfigure[24m オプション
[1m* 註: econf [22mで自動的に付加されるので「|| [1mdie[22m」を使
う必要はない。
[1memake [4m[22m[make[24m オプション[4m][0m
この関数は make の代わりに使われる。 (${MAKEOPTS}
は /etc/make.globals で設定される), を実行する。デ
フォルトは MAKEOPTS="-j2"。
[1m***警告***[0m
[1memake [22mを使おうとするのであれば、ビルド 時 に 並 列
make (make -j2) を使って問題ないことを確認すること
。並列 make は _ときどき_ 失敗するが毎回失敗しない
ことで悪名高いので、徹底的にテストしなければならな
い。
[1m*註: emake [22mが成功したことを保証するために必ず 「||
[1mdie[22m」を使うこと。
[1m補助関数: インストール[0m
[1meinstall [4m[22m[make[24m オプション[4m][0m
この関数は 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 \
[4mmake[24m [4moptions[24m install
[1m*註: einstall [22mで自動的に付加されるので「|| [1mdie[22m」を
使う必要はない。
[1mprepall[0m
[1mprepalldocs[0m
[1mprepallinfo[0m
[1mprepallman[0m
[1mprepallstrip[0m
これらの関数はスクリプト(つまり Makefile など)経由
で [1m${D} [22mにパッケージをインストールするとき有用であ
る。もし確実にライブラリが実行可能、aclocal ファイ
ルが適切な場所にインストールされていて、ドキュメン
ト/info/man ファイルが全部圧縮されており、実行バイ
ナリからデバッグシンボルが全て strip されている よ
うにしたければ、これらの関数一式を使う。
[1mprepall:[0m
こ の 関 数 は [1mprepallman [22m、[1mprepallinfo[0m
、[1mprepallstrip [22mを実行し、ライブラリを実行可
能 に設定し、aclocal ディレクトリをチェック
する。この関数は [1mprepalldocs [22mを実行 [4m*[24m し な
い[4m*[24m ことに注意してください。
[1mprepalldocs:[0m
${D}/usr/share/doc にある全てのドキュメント
ファイルを圧縮する。
[1mprepallinfo:[0m
${D}/usr/share/info にある全ての info フ ァ
イルを圧縮する。
[1mprepallman:[0m
${D}/usr/share/man にある全ての man ファイ
ルを圧縮する。
[1mprepallstrip:[0m
全実行バイナリからデバッグシンボルを strip
する。ライブラリも対象に含まれる。
[1mprepinfo [4m[22m[dir][0m
[1mpreplib [4m[22m[dir][0m
[1mpreplib.so [4m[22m[dir][0m
[1mprepman [4m[22m[dir][0m
[1mprepstrip [4m[22m[dir][0m
こ れらの関数も [1mprepall [22m関数と似ており、違いも微妙
である。
[1mprepinfo:[0m
[4mdir[24m が指定されなかった場合、[1mprepinfo [22mは dir
を [4musr[24m と み な す 。 そして [1mprepinfo [22mは
${D}/[4mdir[24m/info にある全てのファイルを圧縮 す
る。
[1mpreplib:[0m
[4mdir[24m が指定されなかった場合、[1mpreplib [22mは dir
を [4musr[24m とみ な す 。 そ し て [1mpreplib [22mは
${D}/[4mdir[24m/lib で「ldconfig -n -N」を実行する
。
[1mpreplib.so:[0m
${D}/[4mdir[24m にあり、ファイル名に「.so」を含 む
ファイル全てのデバッグシンボルを strip する
。複数のディレクトリを指定することもでき る
。
[1mprepman:[0m
[4mdir[24m が指定されなかった場合、[1mprepman [22mは dir
を [4musr[24m とみ な す 。 そ し て [1mprepman [22mは
${D}/[4mdir[24m/man/*/ にある全てのファイルを圧縮
する。
[1mprepstrip:[0m
${D}/[4mdir[24m にあるファイル全てを strip する 。
複数のディレクトリを指定することもできる。
[1mdopython [4m[22m<[24mコマンド[4m>[0m
python で コマンド を実行し、結果を返す。
[1mdosed [4m[22m"s:orig:change:g"[24m [4m<[24mファイル名[4m>[0m
ファイル名 に対し (ファイル名 の cp/mv を含め) sed
を実行する。
[1m'dosed "s:/usr/local:/usr:g" /usr/bin/some-script'[0m
${D}/usr/bin/some-script に対し sed を実行
[1mdodir [4m[22m<[24mパス[4m>[0m
${D} の中にディレクトリを作成する。
[1m'dodir /usr/lib/apache' [22m${D}/usr/lib/apache を作成
[1minto [4m[22m<[24mパス[4m>[0m
[1mdobin[22m、[1mdosbin[22m、[1mdoman[22m、[1mdoinfo[22m、[1mdolib [22mのような他の関
数のためにルート ([4mDESTTREE[24m) を設定する。
デフォルトルートは /usr。
[1mkeepdir [4m[22m<[24mパス[4m>[0m
もし仮に空であってもディレクトリをそのままにしてお
くよう portage に伝える。[1mdodir [22mと同じように機能 す
る。
[1mdobin [4m[22m<[24mバイナリ[4m>[24m [4m[[24m他にもバイナリがあれば列挙[4m][0m
バ イナリ や列挙されたバイナリを [4mDESTTREE[24m/bin にイ
ンストールする。必要なディレクトリは全て作成する。
[1mdosbin [4m[22m<[24mバイナリ[4m>[24m [4m[[24m他にもバイナリがあれば列挙[4m][0m
バイナリ や列挙されたバイナリを [4mDESTTREE[24m/sbin にイ
ンストールする。必要なディレクトリは全て作成する。
[1mdolib [4m[22m<[24mライブラリ[4m>[24m [4m[[24m他にもライブラリがあれば列挙[4m][0m
[1mdolib.a [4m[22m<[24mライブラリ[4m>[24m [4m[[24m他にもライブラリがあれば列挙[4m][0m
[1mdolib.so [4m[22m<[24mライブラリ[4m>[24m [4m[[24m他にもライブラリがあれば列挙[4m][0m
ライブラリや列挙されたライブラリを [4mDESTTREE[24m/lib に
インストールする。必要なディレクトリは全て作成する
。
[1mdoman [4m[22m<man[24m ページ[4m>[24m [4m[[24m他にも [4mman[24m ページがあれば列挙[4m][0m
man フ ァイルの拡張子に従って man ページを [4mDEST-[0m
[4mDIR[24m/man/man[1-8n] にインストールする。ファイ ル が
gzip されていなければ gzip する。必要なディレクト
リは全て作成する。
[1mdohard [4m[22m<[24mファイル名[4m>[24m [4m<[24mリンク名[4m>[0m
[1mdosym [4m[22m<[24mファイル名[4m>[24m [4m<[24mリンク名[4m>[0m
ln コマンドをハードリンクもしくはシンボリックリ ン
クとして実行する。
[1mdohtml [4m[22m[-a[24m ファイルタイプ[4m][24m [4m[-r][24m [4m[-x[24m 無視するディレクトリ
リスト[4m][24m [4m[[24mファイルとディレクトリのリスト[4m][0m
フ ァイルの拡張子が .html、.png、.js、.jpg か .css
であった場合、ファイルリスト(スペースで区切られ た
リ ス ト) に 挙 げ ら れ た フ ァ イ ル を
/usr/share/doc/${PF}/html にインストールする。 -a
を設定すればでどのタイプのファイルを含めるか制限す
ることができる。 -A を設定すればデフォルトのタイプ
リストに新たなタイプを追加することができる。 -x で
除外するディレクトリを設定できる(CVS はデフォル ト
で 除外される)。 -r を設定すれば再帰的に dohtml を
実行できる。
[1mdoinfo [4m[22m<info[24m ファイル[4m>[24m [4m[[24m他にも [4minfo[24m ファイルがあれば列挙[4m][0m
info ページを [4mDESTDIR[24m/info にインストールする。 フ
ァイルは自動的に gzip される。必要なディレクトリは
全て作成する。
[1mdojar [4m[22m<jar[24m ファイル[4m>[24m [4m[[24m他にも [4mjar[24m ファイルがあれば列挙[4m][0m
jar ファイルを /usr/share/${PN}/lib にインストール
し、 /usr/share/${PN}/classpath.env に追加する。
[1mdomo [4m[22m<locale[24m ファイル[4m>[24m [4m[[24m他にも [4mlocale[24m ファイルがあれば追
加[4m][0m
locale ファイルを locale ファイルの拡張子に従って
[4mDESTDIR[24m/usr/share/locale/[言語] に追加する。必要な
ディレクトリは全て作成する。
[1mfowners [4m[22m<[24mパーミッション[4m>[24m [4m<[24mファイル[4m>[24m [4m[[24m複数のファイル[4m][0m
[1mfperms [4m[22m<[24mパーミッション[4m>[24m [4m<[24mファイル[4m>[24m [4m[[24m複数のファイル[4m][0m
chown ([1mfowners[22m) か chmod ([1mfperms[22m) を実行し、ファイ
ル に パーミッション を適用する。
[1minsinto [4m[22m[[24mパス[4m][0m
[1mdoins [22m関数のルート ([4mINSDESTTREE[24m) を設定する。
デフォルトルートは /。
[1minsopts [4m[22m[install(1)[24m に対するオプション[4m][0m
[1mdoins [22mで使われる install に対するオプションを定 義
するために使うことができる。デフォルトは [4m-m0644[24m。
[1mdoins [4m[22m<[24mファイル[4m>[24m [4m[[24m他にファイルがあれば列挙[4m][0m
フ ァイルを [4mINSDESTTREE[24m にインストールする。この関
数は [1minstall[22m(1) を使う。
[1mexeinto [4m[22m[[24mパス[4m][0m
[1mdoexe [22m関数のルート ([4mEXEDESTTREE[24m) を設定する。
デフォルトルートは /。
[1mexeopts [4m[22m[install(1)[24m に対するオプション[4m][0m
[1mdoexe [22mで使われる install に対するオプションを定 義
するために使うことができる。デフォルトは [4m-m0755[24m。
[1mdoexe [4m[22m<[24m実行バイナリ[4m>[24m [4m[[24m他にも実行バイナリがあれば列挙[4m][0m
実行バイナリや列挙された実行バイナリを [4mEXEDESTTREE[0m
にインストールする。この関数は [1minstall[22m(1) を使う。
[1mdocinto [4m[22m[[24mパス[4m][0m
[1mdodoc [22mが使う相対サブディレクトリ ([4mDOCDESTTREE[24m) を
設定する。
[1mdodoc [4m[22m<[24mドキュメント[4m>[24m [4m[[24m他にもドキュメントがあれば列挙[4m][0m
ドキュメントや 列 挙 さ れ た ド キ ュ メ ン ト を
/usr/doc/${PV}/[4mDOCDESTTREE[24m にインストールする。フ
ァイルは自動的に gzip される。必要なディレクトリは
全て作成する。
[1mnewbin [4m[22m<[24m古いファイル[4m>[24m [4m<[24m新しいファイル名[4m>[0m
[1mnewsbin [4m[22m<[24m古いファイル[4m>[24m [4m<[24m新しいファイル名[4m>[0m
[1mnewlib [4m[22m<[24m古いファイル[4m>[24m [4m<[24m新しいファイル名[4m>[0m
[1mnewlib.so [4m[22m<[24m古いファイル[4m>[24m [4m<[24m新しいファイル名[4m>[0m
[1mnewlib.a [4m[22m<[24m古いファイル[4m>[24m [4m<[24m新しいファイル名[4m>[0m
[1mnewman [4m[22m<[24m古いファイル[4m>[24m [4m<[24m新しいファイル名[4m>[0m
[1mnewinfo [4m[22m<[24m古いファイル[4m>[24m [4m<[24m新しいファイル名[4m>[0m
[1mnewins [4m[22m<[24m古いファイル[4m>[24m [4m<[24m新しいファイル名[4m>[0m
[1mnewexe [4m[22m<[24m古いファイル[4m>[24m [4m<[24m新しいファイル名[4m>[0m
[1mnewdoc [4m[22m<[24m古いファイル[4m>[24m [4m<[24m新しいファイル名[4m>[0m
こ れらの関数は全て do* 関数と同じように使えるが、
これらの関数は1つのファイルだけに使うことができ 、
そのファイルは [4m[[24m新しいファイル名[4m][24m としてインストー
ルされる。
[1mバグ報告[0m
バグ報告は https://bugs.gentoo.org/ 経由でしてください。
[1m関連項目[0m
[1mebuild[22m(1), [1mmake.conf[22m(5)
[4m/usr/sbin/ebuild.sh[24m スクリプト。
[4m/usr/lib/portage/bin[24m にある補助アプリケーション。
[1mファイル[0m
[1m/etc/make.conf[0m
ビルドプロセス で 使 う 変 数 が 書 か れ て お り
、make.defaults で設定されている変数を上書きする。
[1m/etc/make.globals[0m
ビルドプロセスで使うデフォルトの変数が書かれている
が 、 変 数 を変更したい場合はこのファイルではなく
[4m/etc/make.conf[24m を編集すること。
[1m著者[0m
Achim Gottinger <achim@xxxxxxxxxx>
Mark Guertin <gerk@xxxxxxxxxx>
Nicholas Jones <carpaski@xxxxxxxxxx>
Mike Frysinger <vapier@xxxxxxxxxx>
[1mCVS ヘッダ[0m
$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)
[1m名前[0m
make.conf - Portage のカスタム設定
[1m書式[0m
[1m/etc/make.conf[0m
[1m説明[0m
こ の ファイルには 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="-*" のようにして全
部消去する必要がある。
[1m変数[0m
[1mACCEPT_KEYWORDS [22m= [4m[[24mスペースで区切られた [4mKEYWORDS[24m のリスト[4m][0m
「 安定版」と判断されていない ebuild のテストを有効にする。「x86
」アーキテクチャのユーザはこの変数を「~x86」に設定するだろうし、
ま た「ppc」ユーザは「~ppc」を設定するだろう。これはインクリメン
タル変数なので、~arch だけを定義すること (そうすれば arch も定義
される)。
デフォルトの値は $ARCH である。
[1mAUTOCLEAN [22m= [4m["yes"[24m [4m|[24m [4m"no"][0m
動作に支障がなく取り除いても問題のない古いパッケージを削除するこ
とで、自動的にシステムをきれいにする。重要な ABI の変更の際に は
この機能をオフにして、古いライブラリが削除される前に新しいライブ
ラリを使ってシステムが再構築できることを確認する必要がある。この
機能をオフにしてダウングレードすると、シンボリックリンクが切れて
システムが操作不能になる恐れがある。
デフォルトの値は yes である。
[1mBUILD_PREFIX [22m= [4m[[24mパス[4m][0m
パッケージの作業ディレクトリの場所を定義する。
デフォルトの値は ${PORTAGE_TMPDIR}/portage である。
[1mCBUILD [22mこの変数が定義されていた場合にかぎり、この変数の値は [4mebuild[24m スク
リ プト によって [4m--build=${CBUILD}[24m として [4mconfigure[24m ステップに渡
される。現在のところ、この変数を定義する必要があるのは HPPA アー
キテクチャだけである。
[1mCFLAGS CXXFLAGS[0m
こ れ らの変数は、コンパイルするアプリケーションにしたい最適化や
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
[1mCHOST [22mこの変数は [4mebuild[24m スクリプト によって [4m--host=${CHOST}[24m と し て
[4mconfigure[24m ステップに渡される。これを使うことによって 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
[1mCLEAN_DELAY [22m= 整数値
`emerge clean` を実行したあとカウントダウンする長さを決める。
デフォルトの値は 5 秒である。
[1mCONFIG_PROTECT [22m= [4m[[24mスペースで区切られたディレクトリのリスト[4m][0m
この変数で定義された全ディレクトリに「設定ファイル保護」が有効に
な る。より詳しい情報は、`emerge --help config` を参照してくださ
い。
[1mCONFIG_PROTECT_MASK [22m= [4m[[24mスペースで区切られたディレクトリのリスト[4m][0m
この変数で定義された全ディレクトリに「設定ファイル保護」が無効に
な る。より詳しい情報は、`emerge --help config` を参照してくださ
い。
[1mDEBUGBUILD[0m
この変数が定義されていると、[4mmerge[24m の前にバイナリとライブラ リ の
strip が行なわれない。
[1mDISTDIR [22m= [4m[[24mパス[4m][0m
ソースファイルリポジトリの場所を定義する。
デフォルトの値は ${PORTDIR}/distfiles である。
[1mFEATURES [22m= [4m"buildpkg[24m [4mccache[24m [4mcvs[24m [4mdigest[24m [4mmirror[24m [4mnoauto[24m [4mnoclean[24m [4msandbox"[0m
デ フォルトで行なわれる portage のアクションを定義する。開発者や
メンテナ以外の人はこのオプションを変更しないこと。「sandbox」 は
[1mFEATURES [22mの重要な機能の一つで、デフォルトで無効にしてはいけない
。
[4mbuildpkg[24m: バイナリパッケージを常に生成する。
[4mccache[24m: ccache パッケージの portage サポートを有効にする。
[4mcvs[24m: パッケージを emerge したあとのファイルの自動コミットを有 効
にする。
[4mdigest[24m: パッケージのダイジェストを自動生成する。もし [4mcvs[24m 機能が
有効な場合、さらにそれをコミットする。
[4mdistcc[24m: distcc サポートを有効にする。
[4mkeeptemp[24m: clean の実行時に ${T} ディレクトリを削除しない。
[4mkeepwork[24m: clean の実行時に $WORKDIR を削除しない。
[4mmirror[24m: ファイルが [1mDISTDIR [22mにあるときですら常に [1mFETCHCOMMAND [22mを
実行する。
[4mnoauto[24m: [1mebuild[22m(1) を実行するとき、要求された関数だけを実行する。
[4mnoclean[24m: パッケージのマージが終わったあともビルドディレクトリ を
掃除しない。
[4mnostrip[24m: バイナリの strip をしない。
[4mnotitles[24m: xterm のタイトルバーの更新(ステータス情報が更新される)
を無効にする。
[4msandbox[24m: [1memerge[22m(1) と [1mebuild(1) [22mを実行する際 sandbox を有効に す
る。
[4muserpriv[24m: portage を使う際に root 権限を使わず、[4musersandbox[24m も有
効になってないかぎり sandbox なしでパッケージを portage:portage
権限でコンパイルする。
[4musersandbox[24m: コンパイルのとき sandbox を有効にし、root 権限なし
で実行する([4muserpriv[24m)。
[1mFETCHCOMMAND[0m
この変数にはインターネットからパッケージソースを取得するのに使う
コマンドが入っている。
[1mGENTOO_MIRRORS [22m= [4m[[24mスペースで区切られた [4mURL[24m のリスト[4m][0m
ローカルミラーのリストをスペースで区切ってこの変数に入れること。
このミラーリストは [4mebuild[24m スクリプト で挙げられている URL にファ
イルをダウンロードしに行く前に使われる。「mirrorselect」をインス
トールするとどのミラーを使えばよいか参考になる。
[1mMAKEOPTS[0m
この変数は並行 make をしたいときに使う。例えば、デュアルプロセッ
サのシステムを持っていたとすると、この変数を "-j2" や "-j3" に設
定するとたくさんのパッケージを作成するときビルドのパフォーマンス
が上がる。推奨設定は [4mCPU[24mの数[4m+1[24m と [4mCPU[24mの数[4m*2+1[24m の間。より詳しい情
報は [1mmake[22m(1) 参照。
[1mNOCOLOR [22m= [4m["true"[24m [4m|[24m [4m"false"][0m
デフォルトでカラーを無効にするかどうかを定義する。
デフォルトは false。
[1mPORT_LOGDIR[0m
この変数は ebuild ごとのログが保存されるディレクトリを定義する。
この変数が設定されており、かつ書き込み可能なときのみログが作成さ
れる。
[1mPORTAGE_TMPDIR [22m= [4m[[24mパス[4m][0m
一時ビルドディレクトリの場所を定義する。
デフォルトは /var/tmp。
[1mPKG_TMPDIR [22m= [4m[[24mパス[4m][0m
[4memerge[24m は稼働中のファイルシステムにファイルをインストールする 前
、このディレクトリを .tbz2 パッケージの展開に使う。
[1mPKGDIR [22m= [4m[[24mパス[4m][0m
作成された .tbz2 バイナリパッケージの保存される場所を定義する。
デフォルトは ${PORTDIR}/packages.
[1mPORTDIR [22m= [4m[[24mパス[4m][0m
Portage ツリーの場所を定義する。
デフォルトは /usr/portage。
[1mPORTDIR_OVERLAY [22m= [4m[path][0m
ユ ーザが作った ebuild を保存し、emerge rsync が実行されたときに
上書きされないためのディレクトリを定義する。
デフォルトは値が入っていない。
[1mPROXY HTTP_PROXY FTP_PROXY [22m= [4m[[24mホスト名[4m:[24mポート番号[4m][0m
これらの変数は [1mwget[22m(1) でインターネットからソースをダウンロー ド
しなければならない場合に使われる。これらの変数を使うのは、インタ
ーネットアクセスにプロキシサーバを使う場合だけである。 [4mPROXY[24m か
[4mPROXY_FTP[24m と [4mPROXY_HTTP[24m のいずれかを定義すること。
[1mRESUMECOMMAND[0m
この変数には [1mFETCHCOMMAND [22mで部分的にダウンロードされたパッケージ
ソースのダウンロードを再開するためのコマンドが入っている。
[1mROOT [22m= [4m[[24mパス[4m][0m
[1mROOT [22m変数はパッケージや ebuild をマージするために使うターゲッ ト
ルートファイルシステムを指定するために使う。 /etc/make.conf の中
ではなく、環境変数としてこの設定を使うのが普通。典型的には新しい
ビルドイメージを作成するために使われる。
デフォルトは /。
[1mRSYNC_RETRIES [22m= [4m[[24m回数[4m][0m
接続が失敗したら諦める前に何回 rsync を再試行するかの回数。
デフォルトは 3。
[1mRSYNC_TIMEOUT [22m= [4m[[24m秒数[4m][0m
接 続がタイムアウトしたと決定する前にどれだけ rsync の無反応状態
が継続していなければならないかの秒数。ダイヤルアップユーザはこの
値を 300秒かそれ以上に設定する必要があるかもしれない。
デフォルトは 180 秒。
[1mRPMDIR [22m= [4m[[24mパス[4m][0m
作成された RPM パッケージが保存される場所を定義する。
デフォルトは ${PORTDIR}/rpm。
[1mSYNC [22m= [4m[RSYNC[24m ミラー[4m][0m
こ の 変 数にはローカルの rsync ミラーのリストを入れる。これらの
rsync サーバは `emerge rsync` が実行されたときローカルの portage
ツリーを同期させるために使われる。
[1mUSE [22m= [4m[[24mスペースで区切られた [4mUSE[24m オプションのリスト[4m][0m
この変数にはあるパッケージのビルド時の挙動をコントロールするオプ
ションが入っている。より詳しい情報は [1mebuild[22m(5) にある。指定で き
る USE の値は [4m/usr/portage/profiles/use.desc[24m にある。
[1mUSE_ORDER [22m= [4m"env:conf:auto:defaults"[0m
USE 変数の設定を上書きする優先順序を決定する。上記の設定
はインストールされたパッケージから自動生成された値 (auto)
が make.defaults (defaults) を上書きし、 make.conf (conf)
が自動生成された値を上書きし、環境変数 (env) が make.conf
(conf) を上書きする、という設定である。
[1m***warning***[0m
こ の値はあなたが開発者でなにをしているか分かってないかぎ
り変更してはならない。もしこの値を変更してなにかを壊し て
し まった場合、我々はそれを直すのにあなたを助けるつもりは
ない。
デフォルトは "env:conf:auto:defaults".
[1mバグ報告[0m
バグ報告は https://bugs.gentoo.org/ 経由でしてください。
[1m関連項目[0m
[1mebuild[22m(1), [1mebuild[22m(5)
[4m/usr/sbin/ebuild.sh[24m スクリプト。
[4m/usr/lib/portage/bin[24m にある補助プログラム。
[1mファイル[0m
[1m/etc/make.conf[0m
ビルドプロセスのための変数が書かれてお り 、make.defaults
の変数を上書きする。
[1m/etc/make.globals[0m
ビ ルドプロセスのためのデフォルト変数が書かれているが、変
数の値を変えたい場合はこのファイルではなく [4m/etc/make.conf[0m
を編集すること。
[1m/usr/portage/profiles/use.desc[0m
使用できる全 USE 変数の膨大なリストが書かれている。
[1m著者[0m
Daniel Robbins <drobbins@xxxxxxxxxx>
Nicholas Jones <carpaski@xxxxxxxxxx>
Mike Frysinger <vapier@xxxxxxxxxx>
[1mCVS ヘッダ[0m
$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)
[1m名前[0m
env-update - 環境設定を自動で更新する
[1m書式[0m
[1menv-update[0m
[1m説明[0m
[4menv-update[24m [4m/etc/env.d[24m にあるファイルを読み、自動で [4m/etc/profile.env[24m と
[4m/etc/ld.so.conf[24m を 生 成 す る 。 そ し て [1mldconfig[22m(8) を 実 行 し
、[4m/etc/ld.so.cache[24m を更新する。 [4menv-update[24m は各パッケージがインストー
ル/アンインストールされたあと [1memerge[22m(1) によって自動で実行される。ま た
、[4m/etc/env.d[24m に 変 更を加えた場合、すぐに変更を反映するためには自分で
[4menv-update[24m を実行しなければならない。
[1mオプション[0m
なし。
[1m著者[0m
Daniel Robbins <drobbins@xxxxxxxxxx>
[1mバグ報告[0m
バグ報告は https://bugs.gentoo.org/ 経由でしてください。
[1m関連項目[0m
[1memerge[22m(1)
[1mCVS ヘッダ[0m
$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)
[1m名前[0m
etc-update - 設定ファイルの更新を処理する
[1m書式[0m
[1metc-update[0m
[1m説明[0m
[4metc-update[24m 新しいパッケージをインストールしたあと、設定ファイルに更新が
あるかどうか確認するために実行することになっている。新しい設定ファイ ル
が 古い設定ファイルを書き換えてしまう場合、 [4metc-update[24m はユーザに判断を
求める。
[4metc-update[24m は [4mCONFIG_PROTECT[24m 変数に設定されている全ディレクトリを調べる
。 [4mCONFIG_PROTECT_MASK[24m 変 数 の中に見つかった設定ファイルは全て [4metc-[0m
[4mupdate[24m によって自動的に更新される。詳細は [1mmake.conf[22m(5) を参照。
[1mオプション[0m
なし。
[1mバグ報告[0m
バグ報告は https://bugs.gentoo.org/ 経由でしてください。
[1m関連項目[0m
[1mmake.conf[22m(5)
[1mファイル[0m
[1m/etc/etc-update.conf[0m
[4metc-update[24m 用の設定はここに保存されている。
[1m著者[0m
Jochem Kossen と Leo Lipelis
Karl Trygve Kalleberg <karltk@xxxxxxxxxx>
Mike Frysinger <vapier@xxxxxxxxxx>
[1mCVS ヘッダ[0m
$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)
[1m名前[0m
repoman - Gentoo の portage ツリーに追加されたパッケージの最低レベルの
品質の保証を徹底させるプログラム
[1m書式[0m
[1mrepoman [22m[オプション] [モード]
[1m説明[0m
[1m「質なんてどうだっていい。」[0m
[1mrepoman [22mは Gentoo 開発者向けのプログラムである。 repoman は CVS リポ ジ
ト リの品質をチェックするが、 ebuild 一つ一つについてチェックするわけで
はないので、 ebuild の品質を確かめるプログラムがほ し い な ら 、 [4mdev-[0m
[4mutil/lintool[24m を emerge すること。
註: [1mrepoman [22mは ローカル内部 の CVS リポジトリに対してのみ実行される。
[1mオプション[0m
[1m--pretend[0m
なにが実行されるかを表示するだけで、コミットも問題の修正も実際に
は行なわない。
[1m--help [22mヘルプ画面を表示する。
[1mモード[0m
[1mscan [22m品質保証(QA)のためにカレントディレクトリツリーをスキャンする( デ
フォルト)。詳細は [1mQA キーワード [22mを参照。
[1mfix [22m直せる QA 問題(ダイジェストに対応する ebuild がない、ebuild に対
応するダイジェストがない)を修正する。
[1mfull [22mQA のためにカレントディレクトリツリーをスキャンする(全部挙げ る)
。詳細は [1mQA キーワード [22mを参照。
[1mhelp [22mヘルプ画面を表示する。
[1mcommit [22mQA のためにカレントディレクトリツリーをスキャンする。問題がなけ
れば cvs 経由でコミットする。
[1mQA キーワード[0m
[1mdigest.stray[0m
対応する ebuild がないダイジェストファイルが見つかった。
[1mdigest.missing[0m
対応するダイジェストがない ebuild ファイルが見つかった。
[1mebuild.invalidname[0m
ebuild に portage が解析できないファイル名がついている。
[1mebuild.namenomatch[0m
ebuild に親ディレクトリと違う名前がついている。
[1mchangelog.missing[0m
ChangeLog ファイルが見つからない。
[1mebuild.notadded[0m
ebuild ファイルが見つかったが、まだ cvs に追加されていない。
[1mdigest.notadded[0m
ダイジェストファイルが見つかったが、まだ cvs に追加されていな い
。
[1mebuild.disjointed[0m
対 応するダイジェストがすでに追加されていたので、ebuild ファイル
は cvs に追加されなかった。
[1mdigest.disjointed[0m
対応する ebuild がすでに追加されていたので、ダイジェストファイル
は cvs に追加されなかった。
[1mDEPEND.bad[0m
ユ ーザに見える(mask されていない) ebuild に間違った DEPEND 設定
がある (*見えている* ebuild に対してのみ調べられる)。つまり、 ユ
ーザに見える ebuild 内で DEPEND の設定を満たすことができない。
[1mRDEPEND.bad[0m
ユーザに見える(mask されていない) ebuild に間違った RDEPEND 設定
がある (*見えている* ebuild に対してのみ調べられる)。つまり、 ユ
ーザに見える ebuild 内で RDEPEND の設定を満たすことができない。
[1mDEPEND.badmasked[0m
mask された ebuild に間違った DEPEND 設定がある (*全ての* ebuild
に対して調べられる)。つまり、どの ebuild も DEPEND の設定を満 た
すことができない。
[1mRDEPEND.badmasked[0m
mask さ れ た ebuild に間違った RDEPEND 設定がある (*全ての*
ebuild に対して調べられる)。つまり、どの ebuild も RDEPEND の 設
定を満たすことができない。
[1mebuild.syntax[0m
キャッシュエントリーを生成している際にエラーが起きた。典型的には
ebuild に構文エラーがあることを意味する。
[1mebuild.output[0m
単に ebuild を source しただけで出力がある。これは ebuild ポリシ
ーに反する。
[1mKEYWORDS.missing[0m
ebuild に KEYWORDS 変数がない。
[1mLICENSE.missing[0m
ebuild に LICENSE 変数がない。
[1mDESCRIPTION.missing[0m
ebuild に DESCRIPTION 変数がない。
[1mSLOT.missing[0m
ebuild に SLOT 変数がない。
[1m著者[0m
Daniel Robbins <drobbins@xxxxxxxxxx>
[1mバグ報告[0m
バグ報告は https://bugs.gentoo.org/ 経由でしてください。
[1m関連項目[0m
[1memerge[22m(1)
[4mdev-util/lintool[24m パッケージ。
[1mCVS ヘッダ[0m
$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)
[1m名前[0m
ebuild - Portage システムへの低レベルインタフェース、ebuild プログラム
[1m書式[0m
[1mebuild [4m[22mfile[24m [4mcommand[24m [4m[command][24m...
[1m説明[0m
ebuild プログラムは Portage システムへの直接のインタフェースである。こ
のプログラムによって、ebuild を特定のサブコマンドやグループコマンドで直
接 操 作し、特定の環境や機能で実行することができる。ebuild プログラムは
ebuild スクリプトと1つ以上のコマンドを引数として取り、ebuild スクリプト
を 解析して指定されたコマンドを実行する。ソースを取得する、ソースを展開
する、ソースをコンパイルする、"image" という一時ディレクトリにオブジ ェ
ク トファイルをインストールする、一時ディレクトリにインストールされたイ
メージを実際にローカルファイルシステムにインストールする、そのイメー ジ
から bzip 圧縮された tar アーカイブパッケージを作成する、などのコマンド
がある。
[1mファイル[0m
正しい ebuild スクリプトでなければならない。詳しい情報は [1mebuild[22m(5) を参
照。
[1mコマンド[0m
[1mhelp [22mパッケージ固有の情報とともにこのマニュアルページの簡略版を表示す
る。
[1msetup [22mパッケージ固有のセットアップとさまざまなシステムチェックを行なう
。
[1mclean [22mその特定の ebuild ファイルのために作られた Portage の一時ビルド
ディレクトリを消去する。通常一時ビルドディレクトリは展開されたソ
ー スコードと "インストールイメージ" (ローカルファイルシステムに
インストールされるファイル、もしくはバイナリパッケージに保存され
る ファイル全て)を含む。ビルドディレクトリは BUILD_PREFIX 変数に
よって設定される。この変数がなにか知りたい場 合 は [4memerge[24m [4m[-v][0m
[4minfo[24m を実行する。この変数を上書きしたい場合は [1mmake.conf[22m(5) を参
照。
註: FEATURES 変数に 'noclean' が含まれていないかぎり、パッケージ
が 問題なくインストールされると Portage は一時ビルドディレクトリ
にあるものほとんど全てを消去する。FEATURES に noclean を追加する
とたくさんのファイルが残りすぐに膨大な容量を消費してしまう結果に
なる。インストール後にソースを使う必要がないのであれば 、noclean
を 指 定 す る こ と は お 奨 め し な い 。 一方、手動で [4mrm[24m [4m-rf[0m
[4m/var/tmp/portage[24m として一時ビルドディレクトリにあるファイル全 て
を消すという方法もある。
[1mfetch [22mSRC_URI で 指 定 さ れ て い る ソ ー スが全て DISTDIR (詳細は
[1mmake.conf[22m(5) 参照)にあって使える状態になっているか、正し い md5
チ ェ ッ ク サムであるかどうかを調べる。ソースが使えない状態なら
SRC_URI で指定された場所からダウンロードしようとする。1つのフ ァ
イルに対し複数のダウンロード場所が挙げられていた場合、Portage は
各々の場所のうちどこがより近いか ping を打って調べる(現在は間 違
っ て い る か もしれないが)。Gentoo Linux のミラーサイトは GEN-
TOO_MIRRORS で定義されており、常にこの場所が最初に調べられる。も
しなんらかの理由で現在のソースやダウンロードしたばかりのソースの
md5 ダイジェストが files/digest-[パッケージ名]-[バージョン-リ ビ
ジ ョ ン] に記録されている値と一致しなかった場合、警告が出力され
、ebuild はエラーコード 1 で終了する。
[1mdigest [22m/usr/portage/[カテゴリー]/[パッケージ名]/files/ にパッケージのダ
イ ジ ェ ス ト フ ァイルを作成する。このダイジェストファイルには
SRC_URI に書いてあるファイル全ての md5sum が列挙されている。取得
したパッケージのソースファイルが壊れている、もしくは変な場合には
、md5sum がそれを検出する。
[1munpack [22mebuild ファイルの [4msrc_unpack()[24m 関数を実行し、ビルドディレクト リ
(BUILD_PREFIX) の サ ブ デ ィ レ ク トリへとソースを展開する。
src_unpack() 関数が指定されてい な い 場 合 、 デ フ ォ ル ト の
src_unpack() 関数が使用され、SRC_URI で指定されている全ファイル
を展開する。ソースは普通 ${BUILD_PREFIX}/[パッケージ名]-[バー ジ
ョ ン- リ ビ ジ ョ ン]/work に 展 開される。このディレクトリは
${WORKDIR} 変数で参照することができる。
ebuild を作成しているなら、ebuild スクリプトの先頭で定義されてい
る ${S} 変数(ソースディレクトリ) が展開されたソースのあるディレ
クトリを指していることを確認しよう。${S} は デ フ ォ ル ト で は
${WORKDIR}/${P} と定義されているので、あまり変更する必要はない。
src_unpack() 関数はそのままコンパイルに取りかかれるようソース に
適切なパッチを当てる関数でもある。
[1mcompile[0m
ebuild ファイルの中で指定された [4msrc_compile()[24m 関数を実行し、展開
したソースをコンパイルする。src_compile() の開始時にはカレントデ
ィ レクトリが ${S} に設定される。 src_compile() の終了時にはソー
スは完全にコンパイルされていなければならない。
[1mpreinst[0m
稼働中のファイルシステムにパッケージをインストールする前に実行す
る必要があるパッケージ固有のアクションを実行する。
[1minstall[0m
[4msrc_install()[24m 関数を実行し、パッケージを一時 インストールディレ
クトリ にインストールする。完了すると、インストールディレクト リ
(${BUILD_PREFIX}/[ パ ッケージ名]-[バージョン-リビジョン]/image)
にはローカルファイルシステムにインストールされるべきファイルかバ
イナリパッケージに含まれるべきファイル全てがインストールされる。
[1mpostinst[0m
稼働中のファイルシステムにパッケージをインストールしたあと実行す
る必要があるパッケージ固有のアクションを実行する。有益なメッセー
ジが表示されることが多い。
[1mqmerge [22mこの関数は インストールディレクトリ の全てのファイルを稼働中のフ
ァ イルシステムにインストールする。そのプロセスは、まず(指定され
ていれば) [4mpkg_preinst()[24m 関数が実行され、そしてファイルが稼働中の
ファイルシステムにインストールされ、インストールされたファイルの
md5 ダイジェストが [4m/var/db/pkg/${CATEOGRY}/${PN}-[[24mバージョン[4m-[24m リ
ビ ジョン[4m]/CONTENTS[24m に記録される。全ファイルがインストールされる
と、[4mpkg_postinst()[24m 関数が(指定されていれば)実行される。
[1mmerge [22m通常、ebuild をインストールするには 、[4mfetch[24m 、[4munpack[24m 、 [4mcompile[0m
、[4minstall[24m そして [4mqmerge[24m する必要がある。単に ebuild をインストー
ルしたいだけならこのコマンドを使ってもよい。このコマンドは こ れ
ら5 つのステップ全てを実行し、ある特定のステップが失敗したらそこ
で止まってくれる。
[1munmerge[0m
この関数は(指定されていれば)まず [4mpkg_prerm[24m 関数を実行する。次 に
現在のファイルシステムから、パッケージの内容が書かれているファイ
ルに挙げられているもののうち、md5 チェックサムと更新時刻が記録と
一致するファイル全てを削除する。空のディレクトリは全て再帰的に削
除される。最後に(指定されていれば) [4mpkg_postrm[24m 関数が実行される。
パッケージの新しいバージョンを先にインストールし、それから古いバ
ージョンを unmerge するのは安全である。実のところ、そうするの が
推奨パッケージアップグレード方法である。
[1mprerm [22mファイルシステムからパッケージが削除される前に実行されなければな
らないパッケージ固有のアクションを実行する。[4munmerge[24m も参照。
[1mpostrm [22mファイルシステムからパッケージが削除されたあとに実行されなければ
ならないパッケージ固有のアクションを実行する。[4munmerge[24m も参照。
[1mconfig [22memerge プロセスが完了したあとに実行が必要なパッケージ固有の設定
を実行する。設定ファイルのセットアップや、それと同じようにユーザ
が実行しておきたいセットアップなどが多い。
[1mpackage[0m
[4mmerge[24m コマンドとよく似ているが、ソースを取得、展開、コンパイル、
そしてインストールしたあと、${PKGDIR}/All (${PKGDIR} はデフォ ル
ト では /usr/portage/packages) に .tbz2 バイナリパッケージが作成
される。 ${PKGDIR}/${CATEGORY} には ${PKGDIR}/All にあるパッケー
ジ本体へのシンボリックリンクが作成される。
[1mrpm [22m一時 インストールディレクトリ にあるファイルから RedHat RPM パッ
ケージをビルドする。現時点では ebuild の依存情報は RPM には反 映
されない。
[1mバグ報告[0m
バグ報告は https://bugs.gentoo.org/ 経由でしてください。
[1m関連項目[0m
[1mebuild[22m(5), [1mmake.conf[22m(5)
[4m/usr/sbin/ebuild.sh[24m スクリプト
[4m/usr/lib/portage/bin[24m にある補助アプリケーション
[1mファイル[0m
[1m/etc/make.conf[0m
ビ ルドプロセスのための変数が書かれており、make.globals で設定さ
れた変数を上書きする。
[1m著者[0m
Achim Gottinger <achim@xxxxxxxxxx>
Daniel Robbins <drobbins@xxxxxxxxxx>
Nicholas Jones <carpaski@xxxxxxxxxx>
Mike Frysinger <vapier@xxxxxxxxxx>
[1mCVS ヘッダ[0m
$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)