1 |
--- |
2 |
appendices.tex | 9 +++++++++ |
3 |
dependencies.tex | 4 +--- |
4 |
ebuild-vars.tex | 3 --- |
5 |
glossary.tex | 8 +++----- |
6 |
metadata-cache.tex | 2 +- |
7 |
pms.tex | 2 -- |
8 |
profiles.tex | 13 ------------- |
9 |
virtuals.tex | 45 --------------------------------------------- |
10 |
8 files changed, 14 insertions(+), 72 deletions(-) |
11 |
delete mode 100644 virtuals.tex |
12 |
|
13 |
diff --git a/appendices.tex b/appendices.tex |
14 |
index 9e91ede..46503bc 100644 |
15 |
--- a/appendices.tex |
16 |
+++ b/appendices.tex |
17 |
@@ -56,6 +56,15 @@ The \t{use.defaults} file in the profile directory was used to implement `autous |
18 |
flags on or off depending upon which packages are installed. It was deprecated long ago and finally |
19 |
removed in 2009. |
20 |
|
21 |
+\section{Old-style Virtuals} |
22 |
+ |
23 |
+Historically, virtuals were special packages rather than regular ebuilds. An ebuild could specify in |
24 |
+the \t{PROVIDE} metadata that it supplied certain virtuals, and the package manager had to bear this |
25 |
+in mind when handling dependencies. |
26 |
+ |
27 |
+Old-style virtuals were supported by EAPIs \t{0}, \t{1}, \t{2}, \t{3} and \t{4}, and were phased out |
28 |
+via GLEP 37. |
29 |
+ |
30 |
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en : |
31 |
|
32 |
%%% Local Variables: |
33 |
diff --git a/dependencies.tex b/dependencies.tex |
34 |
index f6318d8..45081fe 100644 |
35 |
--- a/dependencies.tex |
36 |
+++ b/dependencies.tex |
37 |
@@ -13,7 +13,7 @@ There are three classes of dependencies supported by ebuilds: |
38 |
\item Post dependencies (\t{PDEPEND}). These must be installed at some point. |
39 |
\end{compactitem} |
40 |
|
41 |
-In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{PROVIDE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and |
42 |
+In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and |
43 |
\t{REQUIRED\_USE} use dependency-style specifications to specify their values. |
44 |
|
45 |
\section{Dependency Specification Format} |
46 |
@@ -23,8 +23,6 @@ be surrounded on both sides by whitespace, except at the start and end of the st |
47 |
|
48 |
\begin{compactitem} |
49 |
\item A package dependency specification. Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}. |
50 |
-\item A simple qualified package name. Permitted in \t{PROVIDE} (and inside \t{DEPEND} etc |
51 |
- via the previous item). |
52 |
\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC\_URI} and \t{HOMEPAGE}. In EAPIs |
53 |
listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC\_URI} arrows, may optionally be |
54 |
followed by whitespace, then \t{->}, then whitespace, then a simple filename when in |
55 |
diff --git a/ebuild-vars.tex b/ebuild-vars.tex |
56 |
index 8df94e9..d183305 100644 |
57 |
--- a/ebuild-vars.tex |
58 |
+++ b/ebuild-vars.tex |
59 |
@@ -77,9 +77,6 @@ Ebuilds may define any of the following variables: |
60 |
\item[DEPEND] See section~\ref{sec:dependencies}. |
61 |
\item[EAPI] The EAPI. See below for defaults. |
62 |
\item[PDEPEND] See section~\ref{sec:dependencies}. |
63 |
-\item[PROVIDE] Zero or more qualified package names of any \i{old style} |
64 |
- virtuals provided by this package. See section~\ref{sec:dependencies} for full syntax. |
65 |
- \label{ebuild-var-provide} |
66 |
\item[RDEPEND] See section~\ref{sec:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour |
67 |
for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for |
68 |
details. |
69 |
diff --git a/glossary.tex b/glossary.tex |
70 |
index 2acbeb1..03ecace 100644 |
71 |
--- a/glossary.tex |
72 |
+++ b/glossary.tex |
73 |
@@ -7,12 +7,10 @@ be immediately obvious. |
74 |
\begin{description} |
75 |
\item[qualified package name] A package name along with its associated category. For example, |
76 |
\t{app-editors/vim} is a qualified package name. |
77 |
-\item[old-style virtual] An old-style virtual is a pseudo-package which exists if it is listed in an |
78 |
- ebuild's \t{PROVIDE} variable. See chapter~\ref{sec:old-virtuals}. |
79 |
\item[new-style virtual] A new-style virtual is a normal package in the \t{virtual} category which |
80 |
- installs no files and uses its dependency requirements to pull in a `provider'. This is more |
81 |
- flexible than the old-style virtuals described above, and requires no special package manager |
82 |
- code. |
83 |
+ installs no files and uses its dependency requirements to pull in a `provider'. Historically, |
84 |
+ old-style virtuals required special handling from the package manager; new-style virtuals do |
85 |
+ not. |
86 |
\item[stand-alone repository] An (ebuild) repository which is intended to function on its own as the |
87 |
only, or primary, repository on a system. Contrast with \i{slave repository} below. |
88 |
\item[slave repository, non-stand-alone repository] An (ebuild) repository which is not complete |
89 |
diff --git a/metadata-cache.tex b/metadata-cache.tex |
90 |
index 8e7a09d..52c0aee 100644 |
91 |
--- a/metadata-cache.tex |
92 |
+++ b/metadata-cache.tex |
93 |
@@ -29,7 +29,7 @@ order. Other lines may be present following these; their meanings are not define |
94 |
\item Use flags that this package requires (\t{REQUIRED\_USE}). |
95 |
Blank in some EAPIs; see table~\ref{tab:optional-vars-table}. |
96 |
\item Post dependencies (\t{PDEPEND}) |
97 |
-\item Old-style virtuals provided by this package (\t{PROVIDE}) |
98 |
+\item Unused; previously used for old-style virtual \t{PROVIDE}. |
99 |
\item The ebuild API version to which this package conforms (\t{EAPI}) |
100 |
\item Properties (\t{PROPERTIES}). In some EAPIs, may optionally be blank, regardless of ebuild |
101 |
metadata; see table~\ref{tab:optional-vars-table}. |
102 |
diff --git a/pms.tex b/pms.tex |
103 |
index efa50de..4ada8ec 100644 |
104 |
--- a/pms.tex |
105 |
+++ b/pms.tex |
106 |
@@ -20,8 +20,6 @@ |
107 |
|
108 |
\include{profiles} |
109 |
|
110 |
-\include{virtuals} |
111 |
- |
112 |
\include{ebuild-format} |
113 |
|
114 |
\include{ebuild-vars} |
115 |
diff --git a/profiles.tex b/profiles.tex |
116 |
index 2dba163..8246431 100644 |
117 |
--- a/profiles.tex |
118 |
+++ b/profiles.tex |
119 |
@@ -63,19 +63,6 @@ bash syntax, is allowed as follows: |
120 |
\item Backslashes, except for line continuations, are not allowed. |
121 |
\end{compactitem} |
122 |
|
123 |
-\subsection{virtuals} |
124 |
-\label{sec:profiles-virtuals} |
125 |
-The \t{virtuals} file defines default providers for ``old-style'' virtual packages. It is a simple |
126 |
-line-based file, with each line containing two whitespace-delimited tokens. The first is a virtual |
127 |
-package name (for example, \t{virtual/alsa}) and the second is a qualified package name. Blank lines |
128 |
-and those beginning with a \# character are ignored. When attempting to resolve a virtual name to a |
129 |
-concrete package, the specification defined in the active profile's \t{virtuals} list should be used if no |
130 |
-provider is already installed. |
131 |
- |
132 |
-The \t{virtuals} file is inherited in the simplest manner: all entries from the parent profile are |
133 |
-loaded, then entries from the current profile. If a virtual package name appears in both, the entry |
134 |
-in the parent profile is discarded. |
135 |
- |
136 |
\subsection{Simple line-based files} |
137 |
\label{sec:line-stacking} |
138 |
These files are a simple one-item-per-line list, which is inherited in the following manner: the |
139 |
diff --git a/virtuals.tex b/virtuals.tex |
140 |
deleted file mode 100644 |
141 |
index 8ac05aa..0000000 |
142 |
--- a/virtuals.tex |
143 |
+++ /dev/null |
144 |
@@ -1,45 +0,0 @@ |
145 |
-\chapter{Old-Style Virtual Packages} |
146 |
-\label{sec:old-virtuals} |
147 |
- |
148 |
-Old-style virtuals are pseudo-packages---they can be depended upon or |
149 |
-installed, but do not exist in the ebuild repository. An old-style |
150 |
-virtual requires several things in the repository: at least one ebuild |
151 |
-must list the virtual in its \t{PROVIDE} variable, and there must be |
152 |
-at least one entry in a profiles \t{virtuals} file listing the default |
153 |
-provider for each profile---see sections~\ref{ebuild-var-provide} and |
154 |
-\ref{sec:profiles-virtuals} for specifics on these two. Old-style virtuals |
155 |
-require special handling as regards dependencies; this is described |
156 |
-below. |
157 |
- |
158 |
-All old-style virtuals must use the category \t{virtual}. Not all packages using the \t{virtual} |
159 |
-category may be assumed to be old style virtuals. |
160 |
- |
161 |
-\note A \i{new-style} virtual is simply an ebuild which install no files and use its dependency |
162 |
-strings to select providers. By convention, and to ease migration, these are also placed in the |
163 |
-\t{virtual} category. |
164 |
- |
165 |
-\section{Dependencies on virtual packages} |
166 |
- |
167 |
-When a dependency on a virtual package is encountered, it must be |
168 |
-resolved into a real package before it can be satisfied. There are two |
169 |
-factors that affect this process: whether a package providing the |
170 |
-virtual is installed, and the \t{virtuals} file in the active profile |
171 |
-(section~\ref{sec:profiles-virtuals}). If a package is already installed |
172 |
-which satisfies the virtual requirement (via \t{PROVIDE}), then it |
173 |
-should be used to satisfy the dependency. Otherwise, the profiles |
174 |
-\t{virtuals} file (section~\ref{sec:profiles-virtuals}) should be |
175 |
-consulted to choose an appropriate provider. |
176 |
- |
177 |
-Dependencies on old style virtuals must not use any kind of version restriction. |
178 |
- |
179 |
-Blocks on provided virtuals have special behaviour documented in section~\ref{provided-blocks}. |
180 |
- |
181 |
-% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en : |
182 |
- |
183 |
-%%% Local Variables: |
184 |
-%%% mode: latex |
185 |
-%%% TeX-master: "pms" |
186 |
-%%% LaTeX-indent-level: 4 |
187 |
-%%% LaTeX-item-indent: 0 |
188 |
-%%% TeX-brace-indent-level: 4 |
189 |
-%%% End: |
190 |
-- |
191 |
1.7.5.1 |