1 |
See Council meeting on 20081211. |
2 |
--- |
3 |
introduction.tex | 2 ++ |
4 |
profiles.tex | 10 +++++++++- |
5 |
tree-layout.tex | 12 +++++++++--- |
6 |
3 files changed, 20 insertions(+), 4 deletions(-) |
7 |
|
8 |
diff --git a/introduction.tex b/introduction.tex |
9 |
index 58b6415..056f515 100644 |
10 |
--- a/introduction.tex |
11 |
+++ b/introduction.tex |
12 |
@@ -77,6 +77,8 @@ must not use any metadata generated from a package with an unrecognised EAPI. |
13 |
The package manager must not attempt to perform any kind of comparison test other than equality upon |
14 |
EAPIs. |
15 |
|
16 |
+EAPIs are also used for profile directories, as described in section~\ref{profile-eapi}. |
17 |
+ |
18 |
\subsection{Reserved EAPIs} |
19 |
|
20 |
\begin{compactitem} |
21 |
diff --git a/profiles.tex b/profiles.tex |
22 |
index 241cd17..86932ca 100644 |
23 |
--- a/profiles.tex |
24 |
+++ b/profiles.tex |
25 |
@@ -14,6 +14,14 @@ follow a few basic conventions as regards inheritance and format; these are desc |
26 |
section. It may also contain any number of subdirectories containing other profiles. |
27 |
|
28 |
\section{Files that make up a profile} |
29 |
+ |
30 |
+\subsection{The eapi file} |
31 |
+\label{profile-eapi} |
32 |
+A profile directory may contain an \t{eapi} file. This file, if it exists, must contain a single line |
33 |
+with the name of an EAPI. This specifies the EAPI to use when handling the directory in question; a |
34 |
+package manager must not attempt to use any profile using a directory which requires an EAPI it does |
35 |
+not support. If no \t{eapi} file is present, EAPI 0 shall be used. |
36 |
+ |
37 |
\subsection{The parent file} |
38 |
A profile may contain a \t{parent} file. Each line must contain a relative path to another profile |
39 |
which will be considered as one of this profile's parents. Any settings from the parent are |
40 |
@@ -113,7 +121,7 @@ The \t{package.use} file may be used by the package manager to override the defa |
41 |
by \t{make.defaults} on a per package basis. The format is to have a package dependency specification, |
42 |
and then a space delimited list of USE flags to enable. A USE flag in the form of \t{-flag} indicates |
43 |
that the package should have the USE flag disabled. The package dependency specification is limited to |
44 |
-the forms defined by \t{EAPI 0}. |
45 |
+the forms defined by the directory's EAPI. |
46 |
|
47 |
\subsection{USE masking and forcing} |
48 |
\label{use-masking} |
49 |
diff --git a/tree-layout.tex b/tree-layout.tex |
50 |
index 5c01443..dc860d6 100644 |
51 |
--- a/tree-layout.tex |
52 |
+++ b/tree-layout.tex |
53 |
@@ -90,6 +90,11 @@ character are treated as comments, whilst blank lines are ignored. All |
54 |
contents of this directory, with the exception of \t{repo\_name}, are |
55 |
optional. |
56 |
|
57 |
+The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single |
58 |
+line with the name of an EAPI. This specifies the EAPI to use when handling the profiles directory; |
59 |
+a package manager must not attempt to use any repository whose profile directory requires an EAPI it |
60 |
+does not support. If no \t{eapi} file is present, EAPI 0 shall be used. |
61 |
+ |
62 |
If the repository is not intended to be stand-alone, the contents of these files are to be taken |
63 |
from or merged with the master repository as necessary. |
64 |
|
65 |
@@ -101,6 +106,7 @@ manager must ignore any files in this directory that it does not recognise. |
66 |
the \t{ARCH} variable, and hence permissible keywords for packages in this repository. |
67 |
\item[categories] \label{profiles-categories} Contains a list, one entry per line, of categories |
68 |
provided by this repository. |
69 |
+\item[eapi] See above. |
70 |
\item[info\_pkgs] Contains a list, one entry per line, of qualified package names. Any package |
71 |
matching one of these is to be listed when a package manager displays a `system information' |
72 |
listing. |
73 |
@@ -108,9 +114,9 @@ manager must ignore any files in this directory that it does not recognise. |
74 |
variables which are considered to be of interest. The value of each of these variables may be |
75 |
shown when the package manager displays a `system information' listing. |
76 |
\item[package.mask] \label{profiles-package.mask} |
77 |
- Contains a list, one entry per line, of (EAPI-0) package dependency specifications. Any package |
78 |
- version matching one of these is considered to be masked, and will not be installed regardless |
79 |
- of profile unless it is unmasked by the user configuration. |
80 |
+ Contains a list, one entry per line, of package dependency specifications (using the directory's |
81 |
+ EAPI). Any package version matching one of these is considered to be masked, and will not be |
82 |
+ installed regardless of profile unless it is unmasked by the user configuration. |
83 |
\item[profiles.desc] Described below in section~\ref{profiles.desc}. |
84 |
\item[repo\_name] Contains, on a single line, the name of this repository. The repository name must |
85 |
conform to section~\ref{repository-names}. |
86 |
-- |
87 |
1.6.0.4 |