Ebuild repository/ja

'''オーバーレイは、 Portage がソフトウェアを取扱う際に考慮する追加のリポジトリです. '''

Gentoo Linuxでは、ユーザには既に「Portage ツリー」と呼ばれるメインのリポジトリがあります. このメインのリポジトリは、Gentoo 開発者たちによって維持管理されている全てのソフトウェアパッケージ (ebuild と呼ばれているもの)で構成されています. しかしユーザは、この Portage ツリーに対して更に追加のリポジトリを付け加えることもできます. メインのツリーに対して覆い被せる("lay over")ことから、からこれを"overlay"と呼んでいます.

パッケージのリポジトリは、 (ebuild や metadata ファイル、ChangeLog エントリなどの) ファイル以外のなにものでもありません. したがって、こうしたリポジトリは、 (git や cvs、svn などでの)公開リポジトリから pull してくることもできますし、tar アーカイブでダウンロードしてきてシステムに手作業で展開することもできます. ただし、利用するならば、信頼のおけるサードパーティにより管理されているリポジトリを推奨します. Portage は、インストールするソフトウェアを決定するにあたり、インストール済みオーバーレイのファイルをも読み出すからです.

Treatment of overlays
Portage uses the  variable to link to the installed overlays on the system. This variable uses a space-delimited list of paths on the system where Portage can find the roots of the additional repositories.

Manually setting overlay locations
When you want to create an overlay yourself, create a location (say ) in which you will put the packages you want Portage to look into as well. Then add  to your  file:

crossdevを使う
crossdev will automatically place the ebuilds/categories it generates into the first overlay found in. You might want to prevent crossdev from disturbing layman's overlays or your personal per-machine overlay (normally created at ). You can create an overlay specifically for crossdev's use:

Then you can instruct portage and crossdev to use this overlay:

laymanを使う
To make management of multiple overlays simple, a tool called layman is developed. This tool knows about popular user- and developer managed overlays and is able to install & synchronize them as well as add them to the  location.

ローカルオーバーレイ
For instructions on setting up a local overlay, see Overlay/Local_overlay.

オーバーレイの優先度について
Each overlay has its unique priority. This makes sure that in the case of a specific version being found in several overlays, the resolution is unambiguous. Ebuilds from overlays with higher priorities take precedence over ebuilds from overlays with lower priorities.

The list of overlays with their priorities can be obtained through the output of the following command

Unless the  variable has been modified as described below, the default gentoo portage tree will have a priority of -1000. That means that all other overlays take precedence. That is the default behavior, because overlays are designed to "lay over/on top" of the portage tree.

オーバーレイの優先順位を設定
The overlay priority is calculated from the order of overlay entries in the  variable. Portage "walks" through the variable from left to right and increments the priority on the way. The leftmost entry starts with a priority of 1, the next entry has a priority of 2 and so on.

Unless the  contains the portage tree entry, the portage tree will always be assigned a priority of -1000. This can be easily changed by putting  in the   variable:

In the example above the user overlay will be assigned a priority of 1 and the portage tree will be assigned a priority of 2.

安全性が確認されていないオーバーレイの使用
巨大なオーバーレイや、よく知らない・低品質なオーバーレイを利用するなら、そのオーバレイ全体に対してハードマスクをかけるのが最善でしょう.

その後に、emerge したい特定のパッケージだけのマスクを外します.

この方法ならば、更新の際に何の不具合も起こらないでしょうし、優先順位をつける方法に比べて安全です.

キャッシュの生成について
When large overlays are installed, portage may take a long time to perform operations like dependency resolution. This is because overlays do not usually contain a metadata cache.

You may generate a local metadata cache by running emerge --regen after syncing your overlays.

eix-sync
eix-sync は、オーバレイとportage ツリーを同期させた後に  を実行することができます.

eix-update
eix-update can utilize the metadata cache generated by  for a speedup and better accuracy. To enable this, set the  to " " in.