/etc/portage/repos.conf/ja

は、現在のシステムに用いられる、リポジトリの所在や設定を記載するファイルまたはディレクトリです. Gentoo リポジトリ や、ときには ebuild リポジトリ も記載されるでしょう.

記法

 * ファイル名は、任意の文字列で、サフィックスの有無も問いません. ただし、 は例外で、 がファイル名を想定しています.
 * コメントは で開始します(インラインコメントはありません).
 * 各リポジトリの設定は、別々のファイルか で始まるセクションで指定されます. は、repo_nameファイルで与えられた名前と同じものにすることを推奨します.
 * 属性は の形式で指定します.

default セクション内に記載可能な属性

 * Specifies main repository.
 * Specifies main repository.


 * Makes all repositories inherit eclasses from the specified repositories. Setting this attribute is generally not recommended since resulting changes in eclass inheritance may trigger performance issues due to invalidation of metadata cache.
 * The, and  tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting.
 * The, and  tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting.


 * Specifies names of attributes, which should be forcefully respected by, , and . Valid values: ,  , and.
 * Specifies names of attributes, which should be forcefully respected by, , and . Valid values: ,  , and.

リポジトリごとのセクションに記載可能な属性

 * Specifies aliases of given repository. Setting this attribute is generally not recommended since resulting changes in eclass inheritance may trigger performance issues due to invalidation of metadata cache.
 * The, and  tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting.
 * The, and  tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting.


 * This setting determines if the repo will be synced during or  runs. This allows for repositories to be synced only when desired via . Valid values: ,  ,  ,  . If unset, the repo will be treated as set  ,.
 * This setting determines if the repo will be synced during or  runs. This allows for repositories to be synced only when desired via . Valid values: ,  ,  ,  . If unset, the repo will be treated as set  ,.


 * Makes all repositories inherit eclasses from specified repositories. Setting this attribute is generally not recommended since resulting changes in eclass inheritance may trigger performance issues due to invalidation of metadata cache.
 * The, and  tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting.
 * The, and  tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting.


 * Specifies names of attributes, which should be forcefully respected by, , and . Valid values: ,  , and.
 * Specifies names of attributes, which should be forcefully respected by, , and . Valid values: ,  , and.


 * Specifies location of given repository.
 * Specifies location of given repository.


 * Specifies master repositories of given repository. Setting this attribute is generally not recommended since resulting changes in eclass inheritance may trigger performance issues due to invalidation of metadata cache.
 * The, and  tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting.
 * The, and  tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting.


 * Specifies priority of given repository.
 * Specifies priority of given repository.


 * Specifies CVS repository.
 * Specifies CVS repository.


 * Specifies clone  depth to use for DVCS repositories. Defaults to   (only the newest commit). If set to , the depth is unlimited.
 * Specifies clone  depth to use for DVCS repositories. Defaults to   (only the newest commit). If set to , the depth is unlimited.


 * Specifies type of synchronization performed by . Valid non-empty values:,  ,  ,  ,   (<=portage-2.2.18),   (>=portage-2.2.19). This attribute can be set to empty value to disable synchronization of given repository. Empty value is default.
 * Specifies type of synchronization performed by . Valid non-empty values:,  ,  ,  ,   (<=portage-2.2.18),   (>=portage-2.2.19). This attribute can be set to empty value to disable synchronization of given repository. Empty value is default.


 * Specifies umask used to synchronize the repository. Takes an octal permission mask, e.g..
 * Specifies umask used to synchronize the repository. Takes an octal permission mask, e.g..


 * Specifies URI of repository used for synchronization performed by . This attribute can be set to empty value to disable synchronization of given repository. Empty value is default.
 * Specifies URI of repository used for synchronization performed by . This attribute can be set to empty value to disable synchronization of given repository. Empty value is default.

Syntax: cvs: [cvs://]:access_method:[username@]hostname[:port]:/path git: (git|git+ssh|http|https)://[username@]hostname[:port]/path rsync: (rsync|ssh)://[username@]hostname[:port]/(module|path)
 * Specifies the credentials used to perform the synchronization. If only user is provided, the primary group of the user will be used. If only group is  provided, the current user will be preserved and only the group id will be changed. This key takes precedence over  . If user or group id is provided, Portage no longer uses owner of the directory.
 * Specifies the credentials used to perform the synchronization. If only user is provided, the primary group of the user will be used. If only group is  provided, the current user will be preserved and only the group id will be changed. This key takes precedence over  . If user or group id is provided, Portage no longer uses owner of the directory.

Syntax: [user][:group]

Usage
If it doesn't exist create it.

(The Handbook however prefers using it as a directory.)

Add ebuild repositories using eselect repository, e.g. the brother-overlay ebuild repository:

Adding a custom repository is described in the Handbook.

Verify the setting using portageq

References in the output to Gentoo main repository come from the defaults in.

The file might then look like

Eselect can also be used as an alternative to mirrorselect --rsync for setting the Gentoo rsync mirror.

Manipulation of other attributes than,   or   seems not supported by eselect repository but could be done manually when needed.

For further options see.

参考

 * Validated Gentoo repository snapshots in the Gentoo Handbook
 * Overview over the new Portage sync system
 * Layman - Using 'repos.conf' method in the Layman article
 * Overlays user guide
 * Repository format
 * Repository mirror and Continuous Integration
 * Query repository information in the Portageq article
 * Using the gentoo git checkout as your local tree
 * Masking installed but unsafe ebuild repositories
 * eselect-repository, a tool to manage third-party repositories in

外部の情報

 * Portage Sync news announcement (2015-02-04)
 * rsync.gentoo.org rsync modules: gentoo-repo-changelog added, gentoo-x86-portage & gentoo-sec discontinued.