Repository format/metadata/layout.conf

The metadata/layout.conf file is a file describing global properties of a repository.

File format
The file consists of a number of key-value pairs, one pair per line, with the two separated by =. Comment lines start with #.

Possible keys
This page contains only some of the possible keys and values in layout.conf. For a thorough listing, refer to the Portage manual:

repo-name
This setting specifices the name of the repository. It takes precedence over an existing value in profiles/repo_name.

masters
The masters key specifies a list of master repositories for this particular repository. Whenever installing an ebuild from the particular repository, package manager can use eclasses from the master repositories.

The most common example is a repository (overlay) which provides additional packages for Gentoo. Such a package uses eclasses from the gentoo repository.

A particular repository may have more than a single masters entry. These are not inherited over repositories. In the following example eclasses from gentoo take precedence over eclasses in python, that share the same name.

Finally, a stand-alone repository like gentoo should provide an empty masters list. This means that all eclasses used by packages in that repository must be found in that repository.

eapis-banned
This setting bans EAPIs (repoman will fail).

eapis-deprecated
This setting marks EAPIs as deprecated (repoman will prompt a warning)

sign-commits
If enabled, the commits made in this repository will be signed.

This applies only to git repositories. It requires git 1.7.9 or newer.

The key used to sign commits can be set through:

sign-manifests
Enabled by default. If enabled, the Manifest files will be signed whenever committing to this repository from a GPG-enabled client.

In portage, the Manifest signing is enabled through FEATURES=sign.

thin-manifests
Disabled by default. If enabled, thin Manifests will be used inside the repository instead of the regular ones.

use-manifests
Enforces a correct manifest for each package.