GAMES.ECLASS(5)

名前
games - ゲームのインストールの標準化

説明
games eclass はシステムにゲームを emerge する方法を集中コントロールするために使われる。 基本的にはこの eclass で全てのファイルがインストールされる場所と 所有者をコントロールする。自分の game がインストールされる方法を 変えたいなら、ちょっと games eclass を編集してみよう! :)

VARIABLES

GAMES_PREFIX = "/usr/games"
    ゲームをインストールする場所の prefix。

GAMES_PREFIX_OPT = "/opt"
    バイナリ配布されているゲームをインストールする場所の prefix。

GAMES_DATADIR = "/usr/share/games"
    共通データファイルをインストールする場所の prefix。

GAMES_DATADIR_BASE = "/usr/share"
    上と同じだが、ゲームによってはデータディレクトリのパスに自動で 「/games/」を加えるものがある。

GAMES_SYSCONFDIR = "/etc/games"
    ゲームが設定ファイルを保存する場所。

GAMES_STATEDIR = "/var/games"
    実行時ゲームが状態を保存する場所。 これにはハイスコアファイルのようなものも含む。 ゲームが2つ以上ファイルを作成するなら、 全ファイルは ${GAMES_STATEDIR}/${PN} ディレクトリの中に保存されるようにする。 そうでなければ、単に ${GAMES_STATEDIR}/ の中にファイルを1つ作成する。 また、この場所に直接ファイルを作成するなら、 そのファイルにはパッケージ固有の名前を使うよう心がけること。

GAMES_LIBDIR = "/usr/games/lib"
    ゲームがライブラリを保存する場所。

GAMES_BINDIR = "/usr/games/bin"
    ゲームが実行バイナリを保存もしくはリンクする場所。 ゲームのバイナリをここに置くことで、$PATH の膨張を防ぐことができる。

GAMES_ENVD = "90games"
    env.d に登録するとき使うファイル名。

GAMES_USER = "games"
    ゲーム関係の全ファイルを所有するユーザ名。

GAMES_GROUP = "games"
    ゲーム関係の全ファイルを所有するグループ名。

関数: 全般

prepgamesdirs [ディレクトリ]
    GAMES_* 変数で指定されたディレクトリと、パラメータとして指定された 追加ディレクトリの中で見つかった全ファイル/ディレクトリの所有権を変更する。 この関数は、全ディレクトリのパーミッションを 750 (u+rwx,g+rx-w,u-rwx) に変更し、そして全ファイルのパーミッションに g+r,o-rwx のマスクをかける。
    *注意: この関数は *必ず* src_install 関数の中で最後に呼ばれるものでなければならない。 もし仮に Portage でこの関数の前に他の関数を呼ぶならこの関数は src_install の最後まで待たせることができるが、 最後に来るまでにこの関数を呼ぶのを忘れないこと!

games_pkg_setup
    この関数は自動で GAMES_USER と GAMES_GROUP をシステムに追加する。 ebuild で pkg_setup を定義しているなら、 pkg_setup 関数の最後でこの関数を呼ぶのを忘れずに。

games_pkg_postinst
    この関数は自動で GAMES_ENVD ファイルを生成し、 ゲームを遊ぶためには GAMES_GROUP に所属する必要があることを簡単に表示する。 ebuild で pkg_postinst を定義しているなら、 pkg_postinst 関数の最後でこの関数を呼ぶのを忘れずに。

関数: コンパイル

egamesconf
    econf 関数と同じだが、ゲーム関係の変数(上記参照)を渡す。 詳しい情報は ebuild(5) の econf を参照。

関数: インストール

egamesinstall
    einstall 関数と同じだが、ゲーム関係の変数(上記参照)を渡す。 詳しい情報は ebuild(5) の einstall を参照。

dogamesbin dogamessbin
    dobin やdosbin とそれぞれ同じだが、GAMES_PREFIX にバイナリをインストールする。詳しい情報は ebuild(5) を参照。

dogameslib dogameslib.a dogameslib.so
    dolib、dolib.a そして dolib.so とそれぞれ同じだが、 GAMES_PREFIX にバイナリをインストールする。 詳しい情報は ebuild(5) を参照。

newgamesbin newgamessbin
    newbin や newsbin とそれぞれ同じだが、 GAMES_PREFIX にバイナリをインストールする。 詳しい情報は ebuild(5) を参照。

gamesowners <ファイルまたはディレクトリ>
    gamesowners は所有者と所有グループをそれぞれ GAMES_USER と GAMES_GROUP に変更する。

gamesperms <ファイルまたはディレクトリ>
    gamesperms はパーミッションを u+rw,g+r-w,o-rwx のマスクで変更する。

games_make_wrapper <wrapper> <bin> <chdir>
    簡単なラッパースクリプトを作成する。 実行前にそのパッケージのデータツリーのルートにディレクトリを変更する 必要があるパッケージを扱う際に便利である。 この関数は bin を実行する前に chdir ディレクトリに chdir する wrapper という名前のラッパースクリプトを作成する。 この wrapper ファイルは GAMES_BINDIR に置かれる。

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

参照
ebuild(5)

ファイル
/usr/portage/eclass/games.eclass

著者
Mike Frysinger <vapier@gentoo.org>

CVS ヘッダ
原文: games.eclass.5,v 1.7