Gentoo Archives: gentoo-pms

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

Replies

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