Ebuild repository/ja

An ebuild repository, historically known as overlay, is Article description::a structure of directories and files used to add and extend packages available to the system's package manager. Ebuild repositories are also used by Gentoo developers as training ground and staging area for new ebuilds. Ebuild repositories can contain ebuilds of one or more EAPIs.

Gentoo Linuxでは、ユーザには既に main パッケージリポジトリが与えられています. このmain リポジトリは、Gentoo 開発者たちによって維持管理されている全てのソフトウェアパッケージ (ebuild と呼ばれているもの)で構成されています. しかしユーザは、この Portage ツリーに対して更に追加のリポジトリを付け加えることもできます. 追加のパッケージツリーは通常、リポジトリによって提供されています. ユーザはこうした追加のリポジトリ (これまで "overlay" と呼ばれていたもの) を自分のシステムに追加することができます.

リポジトリ
パッケージリポジトリは単なるファイルの集合（ebuild、メタデータファイル、更新履歴エントリ ...）です. これらは公開リポジトリ（git, CVS, SVN ...）から取り寄せたり、tarballとしてダウンロードして手動でシステム上に展開したりすることで利用できます. 信用できる第三者よって管理されているリポジトリを利用することをおすすめします. すべてのebuildリポジトリはインストールされると、Portageがどのソフトウェアをインストールするか決定するときに、ebuildリポジトリ内のファイルに目を通すようになります. もしもセキュリティ上の危険があるコードがオーバーレイに存在すれば、セキュリティ上の危険があるパッケージがシステムにインストールされるかもしれないからです.

The now default approach for handling repositories is through which, like many other Portage related locations, can be a directory as well.

Repository definitions inside also inform Portage if and how the repository can be updated. With it, calling will automatically update the repositories as well.

A deprecated, yet still supported method is to use the PORTDIR_OVERLAY variable inside. This variable can point to one or more additional locations on the file system where repositories are available. The use of the directory is highly preferred.

より詳しくは、 /etc/portage/repos.conf 及び Portage/Sync の記事を参照してください

優先順位について
それぞれのebuildリポジトリは、固有の優先度を保持します. 特定のバージョンが複数のebuildリポジトリ内に見つかって処理方法が不明確になった場合に備えるための仕様です. 優先度値のより高い（たとえば60）ebuildリポジトリ内の ebuild が、優先度の低い（たとえば50）ebuildリポジトリ内の ebuild に先んじて処理されます.

優先度を含んだebuildリポジトリのリストは、以下のコマンドの出力で得られます（"Repositories"の欄を探してください）:

Gentoo リポジトリには -1000 という優先度が設定されます. すなわち、他のすべてのebuildリポジトリのほうに高い優先度が割り当てられているので、これらが先んじて処理されます. この挙動は既定の仕様です. なぜなら、ebuildリポジトリとは、Gentooリポジトリの上に覆い被せる (lay over/on top) ように設計されたものなのですから.

各種ソフトウェア
多くのツールがebuildリポジトリをサポート、または統合的に扱っています.

Layman
アプリケーションは、複数の追加ebuildリポジトリを更新・管理することを容易にします. はコマンドラインアプリケーションで、を通じて公に利用可能なebuildリポジトリを一覧表示、購読、購読解除、更新することができます.

It supports both the as well as  method.
 * When using the method,  manages a dedicated configuration file which should be sourced in by
 * When using, manages the  file directly

より詳しくは Layman の記事及びProject:Portage/Sync を参照してください.

emaint
Sync (Portage project) 記事および を参照してください.

eix
is a wrapper starting (which in turn starts ) followed by. For further details see the Eix article and.

Emerging a duplicate package
When working with ebuild repositories it is possible to encounter a situation where multiple versions of the same package are available from different ebuild repositories. Instruct Portage to install a specific package from a specific ebuild repository with the  notation:

キャッシュの生成について
portage は、ebuildリポジトリが多量にインストールされている場合には、パッケージの前提関係を解決するような処理に長い時間を要するかもしれません. これは、ebuildリポジトリには一般的に、メタデータキャッシュが含まれていないためです.

ローカルのメタデータキャッシュを生成するには、ebuildリポジトリとの同期後に を実行してください:

Be careful, because takes a lot of time and it's not recommended for rsync users as rsync updates the cache using server-side caches (most of users of portage are rsync users). Rsync users should simply run (or ) to regenerate the cache. It's probably only users of very large ebuild repositories should try.

安全性が確認されていないebuildリポジトリのマスキング
巨大なebuildリポジトリや、よく知らない・低品質なebuildリポジトリを利用するなら、そのebuildリポジトリ全体に対してハードマスクをかけるのが最善でしょう.

その後に、インストールするパッケージのマスクを外します.

参考

 * Overlays project - ebuildリポジトリサポートのためのGentoo公式プロジェクト
 * Overlays guide (Overlay project) - オーバーレイプロジェクトによって書かれたユーザーガイド
 * Developer's guide to Gentoo overlays - このドキュメントは歴史的な目的のために保存されています. 最新のガイドは Project:Overlays/Overlays guide にあります.
 * Defining a custom repository - Gentoo ハンドブックの一節

外部の情報

 * https://overlays.gentoo.org
 * https://github.com/gentoo/