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 [カテゴリ]/[パッケージ]
とするとインストールできる。