# Gentoo Archives: gentoo-pms

From: Ciaran McCreesh gentoo-pms@l.g.o Ciaran McCreesh [gentoo-pms] [PATCH] Profiles eapi file. Fri, 12 Dec 2008 16:07:33 1229098041-9519-3-git-send-email-ciaran.mccreesh@googlemail.com [gentoo-pms] [PATCH] Add DEFINED_PHASES. by Ciaran McCreesh
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.

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.
-    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

### Replies

Subject Author
Re: [gentoo-pms] [PATCH] Profiles eapi file. David Leverton <levertond@××××××××××.com>