Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-pms
 See Council meeting on 20081211. --- introduction.tex | 2 ++ profiles.tex | 10 +++++++++- tree-layout.tex | 12 +++++++++--- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/introduction.tex b/introduction.tex index 58b6415..056f515 100644 --- a/introduction.tex +++ b/introduction.tex @@ -77,6 +77,8 @@ must not use any metadata generated from a package with an unrecognised EAPI. The package manager must not attempt to perform any kind of comparison test other than equality upon EAPIs. +EAPIs are also used for profile directories, as described in section~\ref{profile-eapi}. + \subsection{Reserved EAPIs} \begin{compactitem} diff --git a/profiles.tex b/profiles.tex index 241cd17..86932ca 100644 --- a/profiles.tex +++ b/profiles.tex @@ -14,6 +14,14 @@ follow a few basic conventions as regards inheritance and format; these are desc section. It may also contain any number of subdirectories containing other profiles. \section{Files that make up a profile} + +\subsection{The eapi file} +\label{profile-eapi} +A profile directory may contain an \t{eapi} file. This file, if it exists, must contain a single line +with the name of an EAPI. This specifies the EAPI to use when handling the directory in question; a +package manager must not attempt to use any profile using a directory which requires an EAPI it does +not support. If no \t{eapi} file is present, EAPI 0 shall be used. + \subsection{The parent file} A profile may contain a \t{parent} file. Each line must contain a relative path to another profile which will be considered as one of this profile's parents. Any settings from the parent are @@ -113,7 +121,7 @@ The \t{package.use} file may be used by the package manager to override the defa by \t{make.defaults} on a per package basis. The format is to have a package dependency specification, and then a space delimited list of USE flags to enable. A USE flag in the form of \t{-flag} indicates that the package should have the USE flag disabled. The package dependency specification is limited to -the forms defined by \t{EAPI 0}. +the forms defined by the directory's EAPI. \subsection{USE masking and forcing} \label{use-masking} diff --git a/tree-layout.tex b/tree-layout.tex index 5c01443..dc860d6 100644 --- a/tree-layout.tex +++ b/tree-layout.tex @@ -90,6 +90,11 @@ character are treated as comments, whilst blank lines are ignored. All contents of this directory, with the exception of \t{repo\_name}, are optional. +The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single +line with the name of an EAPI. This specifies the EAPI to use when handling the profiles directory; +a package manager must not attempt to use any repository whose profile directory requires an EAPI it +does not support. If no \t{eapi} file is present, EAPI 0 shall be used. + If the repository is not intended to be stand-alone, the contents of these files are to be taken from or merged with the master repository as necessary. @@ -101,6 +106,7 @@ manager must ignore any files in this directory that it does not recognise. the \t{ARCH} variable, and hence permissible keywords for packages in this repository. \item[categories] \label{profiles-categories} Contains a list, one entry per line, of categories provided by this repository. +\item[eapi] See above. \item[info\_pkgs] Contains a list, one entry per line, of qualified package names. Any package matching one of these is to be listed when a package manager displays a system information' listing. @@ -108,9 +114,9 @@ manager must ignore any files in this directory that it does not recognise. variables which are considered to be of interest. The value of each of these variables may be shown when the package manager displays a system information' listing. \item[package.mask] \label{profiles-package.mask} - Contains a list, one entry per line, of (EAPI-0) package dependency specifications. Any package - version matching one of these is considered to be masked, and will not be installed regardless - of profile unless it is unmasked by the user configuration. + Contains a list, one entry per line, of package dependency specifications (using the directory's + EAPI). Any package version matching one of these is considered to be masked, and will not be + installed regardless of profile unless it is unmasked by the user configuration. \item[profiles.desc] Described below in section~\ref{profiles.desc}. \item[repo\_name] Contains, on a single line, the name of this repository. The repository name must conform to section~\ref{repository-names}. -- 1.6.0.4