Ebuild repository/ja

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

Since package repositories are nothing more (or less) than a set of files (ebuilds, metadata files, ChangeLog entries ...) these repositories can be pulled in from public repositories (git, cvs, svn ...) or downloaded as tarballs and extracted manually onto the system. It is advised to use managed repositories by trusted third parties; any installed overlay will cause Portage to look through the overlayed files when deciding which software to install. If compromised code is in the overlay, then compromised packages could be installed on the system.

Repositories
Additional package trees are usually hosted by repositories. These are overlays that are ready to be incorporated on Gentoo systems. The now default approach for handling repositories is through which, like many other Portage related locations, can be a directory as well.

A deprecated, yet still supported method is to use the  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.

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

For more information, see /etc/portage/repos.conf and the Portage/Sync article.

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

優先度を含んだオーバーレイのリストは、以下のコマンドの出力で得られます.

変数が 下記 のような方法で変更されていなければ、Gentoo Portage ツリーには -1000 という優先度が設定されます. すなわち、他のすべてのオーバーレイのほうが先んじて処理されます. この挙動は既定の仕様です. なぜなら、オーバーレイとは、portage ツリーの上に覆い被せる (lay over/on top) ように設計されたものなのですから.

Supporting tools
A number of tools support or integrate with overlays.

Layman
The layman application makes it easier to manage and update multiple additional overlays. It is a command-line application through which publicly available overlays can be listed, subscribed to and unsubscribed from, as well as update those repositories.

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

複数のオーバーレイを簡単に管理するためには、layman というツールがつくられています. このツールは、著名なユーザが管理するオーバーレイやデベロッパのオーバーレイを認識し、それらを で指定されている場所に追加したり、インストールや同期をしたりすることができます.

emaint
See Project:Portage/Sync and man 1 emaint.

eix との連動
eix-sync is a wrapper starting emerge --sync (which in turn starts emaint sync --auto) followed by eix-update. For further details see the Eix article and man 1 eix.

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

Generate a local metadata cache by running emerge --regen</tt> after syncing the overlays:

Be careful, because emerge --regen</tt> 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 emerge --sync</tt> (or eix-sync</tt>) to regenerate the cache. It's probably only users of very large overlays should try emerge --regen</tt>.

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

After that unmask the packages that will be installed.

参考

 * Project:Overlays - The official Gentoo project for overlays support.
 * Project:Overlays/User_Guide - A user guide written by the Overlay project.
 * Developers' Guide To Gentoo Overlays
 * Managing repositories from make.conf

External resources

 * https://overlays.gentoo.org