EAPI

An EAPI http://article.gmane.org/gmane.linux.gentoo.devel/53504 is a named set of rules telling a package manager how to deal with a particular ebuild and related files, and telling ebuilds upon what they may or may not rely from the package manager. It defines aspects of package manager / ebuild relation including metadata, environment and additional behavioural restrictions.

Contents

Characteristics

EAPI names are not orderable and have no meaning to the package manager other than their literal value.

EAPIs may be entirely incompatible with each other, or they may be mere extensions of a different EAPI, or they may be a subset of a different EAPI, or any combination thereof.

A cat/pkg-ver has exactly one EAPI. That EAPI belongs to the cat/pkg-ver as a whole, and is static across that cat/pkg-ver.

EAPI is part of a cat/pkg-ver's metadata. All existing EAPIs require that EAPI follows the environment invariancy rules.

If a package manager does not support a particular EAPI, the only thing it may assume is that it does not support that particular EAPI. It may not assume that it knows what any aspect of that cat/pkg-ver's metadata is, nor may it assume that it knows what cat, pkg or ver are.