Portageの公式ツリーに存在しないパッケージをインストールする際に設定する。Overlayという仕組みもあるようだが、これはツリー全体を公式ツリーに被せて使うような感じらしい。今回はツリー外の単独パッケージ(ebuildファイル)を使う方法。
> emerge -av app-portage/repoman
repomanパッケージを導入
# カスタムレポジトリの名称を「localrepo」とする
# レポジトリ用のディレクトリ作成
> mkdir -p /var/db/repos/localrepo/{metadata,profiles}
> chown -R portage:portage /var/db/repos/localrepo
# レポジトリ名称をシステムに伝達するファイルの作成
echo 'localrepo' > /var/db/repos/localrepo/profiles/repo_name
/var/db/repos/localrepo/metadata/layout.confを以下の内容で作成し作成したレポジトリを設定する
masters = gentoo auto-sync = false
/etc/portage/repos.conf/localrepo.confを以下の内容で作成しPortageにレポジトリ情報を伝える
[localrepo] location = /var/db/repos/localrepo
/var/db/repos/localrepo以下に「カテゴリ」/「パッケージ」でディレクトリを作成し、ebuildファイルを配置する。
> repoman manifest
ebuildファイルの最低限の品質管理をするコマンドらしい。とりあえず、manifestファイルを生成する。
上記作業で、非公式のebuildファイルがportageに認識されるので通常通り
> emerge -av [カテゴリ]/[パッケージ]
とするとインストールできる。