Gentoo Archives: gentoo-commits

From: Jeremy Olexa <darkside@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/devmanual:master commit in: general-concepts/dependencies/, general-concepts/virtuals/, profiles/virtuals/, ...
Date: Tue, 03 May 2011 21:01:17
Message-Id: 1875c2d6483dca21b858de54c903554a652f931f.darkside@gentoo
1 commit: 1875c2d6483dca21b858de54c903554a652f931f
2 Author: Ulrich Mueller <ulm <AT> gentoo <DOT> org>
3 AuthorDate: Sun May 1 18:54:51 2011 +0000
4 Commit: Jeremy Olexa <darkside <AT> gentoo <DOT> org>
5 CommitDate: Tue May 3 21:00:45 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/devmanual.git;a=commit;h=1875c2d6
7
8 Deprecate old-style virtuals.
9
10 ---
11 ebuild-writing/variables/text.xml | 7 ---
12 general-concepts/dependencies/text.xml | 17 -------
13 general-concepts/virtuals/text.xml | 82 +++++++++-----------------------
14 profiles/text.xml | 1 -
15 profiles/virtuals/text.xml | 18 -------
16 5 files changed, 22 insertions(+), 103 deletions(-)
17
18 diff --git a/ebuild-writing/variables/text.xml b/ebuild-writing/variables/text.xml
19 index c78ca72..429e97e 100644
20 --- a/ebuild-writing/variables/text.xml
21 +++ b/ebuild-writing/variables/text.xml
22 @@ -232,13 +232,6 @@ Specifying the following variables is optional:
23 <c>userpriv</c>. See <c>man 5 ebuild</c> for details.
24 </ti>
25 </tr>
26 - <tr>
27 - <ti><c>PROVIDE</c></ti>
28 - <ti>
29 - Any virtuals provided by this package, for example
30 - <c>"virtual/editor virtual/emacs"</c>.
31 - </ti>
32 - </tr>
33 </table>
34
35 </body>
36
37 diff --git a/general-concepts/dependencies/text.xml b/general-concepts/dependencies/text.xml
38 index 671ccf8..ba4a46c 100644
39 --- a/general-concepts/dependencies/text.xml
40 +++ b/general-concepts/dependencies/text.xml
41 @@ -327,23 +327,6 @@ DEPEND="!build? (
42 </section>
43
44 <section>
45 -<title>Virtual Dependencies</title>
46 -<body>
47 -
48 -<p>
49 -To depend upon a virtual package, use <c>virtual/whatever</c> as the atom.
50 -</p>
51 -
52 -<p>
53 -Currently, you must not use any kind of version specification with virtuals <d/>
54 -see <uri link="http://www.gentoo.org/proj/en/glep/glep-0037.html">GLEP 37</uri>
55 -for details and a proposed solution.
56 -</p>
57 -
58 -</body>
59 -</section>
60 -
61 -<section>
62 <title>
63 Any of Many Dependencies
64 </title>
65
66 diff --git a/general-concepts/virtuals/text.xml b/general-concepts/virtuals/text.xml
67 index 86bf815..ca522d0 100644
68 --- a/general-concepts/virtuals/text.xml
69 +++ b/general-concepts/virtuals/text.xml
70 @@ -1,91 +1,53 @@
71 <?xml version="1.0"?>
72 -<guide self="general-concepts/viruals/">
73 +<guide self="general-concepts/virtuals/">
74 <chapter>
75 <title>Virtuals</title>
76
77 <body>
78 <p>
79 -Currently there exist two different forms of virtuals, our regular
80 -<c>PROVIDE</c> type virtuals, and so called <e>new-style</e> virtuals.
81 +Virtuals are merely packages that are in the category of <c>virtual</c>. They
82 +use their dependency string to specify the providers for the virtual and should
83 +not install any files. Since they are regular ebuilds, there can be several
84 +versions of a virtual (which can be helpful when a package may be provided by
85 +another in some versions, and not others <d/> see the perl virtuals for an
86 +example of this). One other difference (besides not installing any files) is
87 +that a virtual has an empty string for the value of the <c>LICENSE</c> and
88 +<c>HOMEPAGE</c> variables. Since it installs no files, it really does not have
89 +a license.
90 </p>
91 -</body>
92 -
93 -<section>
94 -<title><e>Old-style</e> Virtuals</title>
95 -<body>
96 -<p>
97 -<e>Old-style</e> virtuals are not really packages, but are something you can depend
98 -upon and install. All <e>old-style</e> virtuals must have a category of
99 -"virtual". In order to use an <e>old-style</e> virtual there are a few things
100 -that need to be present in the tree:
101 -
102 -<ul>
103 - <li>
104 - Atleast one ebuild must <c>PROVIDE</c> the virtual <d/> see
105 - <uri link="::ebuild-writing/variables#Optional Variables" />
106 - </li>
107 - <li>
108 - An entry in the virtuals file for each profile to list the default provider
109 - </li>
110 -</ul>
111 -
112 -<e>Old-style</e> virtuals are not as flexible as <e>new-style</e> virtuals
113 -because there is no concept of a version. You can only depend upon a virtual,
114 -but not a particular version of that virtual.
115 -</p>
116 -<p>
117 -There are some things that are still only possible with old-style virtuals,
118 -which is why they are still useful:
119 -
120 -<ul>
121 - <li>
122 - Packages providing the virtual can block the virtual, so you can ensure
123 - nothing else is installed that also provides that virtual.
124 - </li>
125 - <li>
126 - The ability to set a default in the profile for what the virtual should
127 - pull in (without the need of pulling the package into the system set).
128 - </li>
129 -</ul>
130 -</p>
131 -</body>
132 -</section>
133
134 -<section>
135 -<title><e>New-style</e> Virtuals</title>
136 -<body>
137 <p>
138 -<e>New-style</e> virtuals are merely packages that are in the category of
139 -<c>virtual</c>. They use their dependency string to specify the providers for
140 -the virtual and should not install any files. Since they are regular ebuilds,
141 -there can be several versions of a virtual (which can be helpful when a package
142 -may be provided by another in some versions, and not others <d/> see the perl
143 -virtuals for an example of this). One other difference (besides not installing
144 -any files) is that a <e>new-style</e> virtual has an empty string for the value
145 -of the <c>LICENSE</c> and <c>HOMEPAGE</c> variables. Since it installs no files,
146 -it really does not have a license.
147 +Before adding a new virtual, it should be discussed on <c>gentoo-dev</c>.
148 </p>
149
150 <p>
151 -An example of a <e>new-style</e> virtual:
152 +An example of a virtual:
153
154 <codesample lang="ebuild">
155 +EAPI=4
156 +
157 DESCRIPTION="Virtual for C++ tr1 &lt;type_traits&gt;"
158 HOMEPAGE=""
159 SRC_URI=""
160 +
161 LICENSE=""
162 SLOT="0"
163 KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sparc x86 ~x86-fbsd"
164 IUSE=""
165 -RDEPEND="|| ( >=sys-devel/gcc-4.1 dev-libs/boost )"
166 +
167 DEPEND=""
168 +RDEPEND="|| ( >=sys-devel/gcc-4.1 dev-libs/boost )"
169 </codesample>
170
171 Looks familar...right? It should since its going to look just like a regular
172 ebuild.
173 </p>
174 +
175 +<note>
176 +The so-called <e>old-style</e> or <c>PROVIDE</c> type virtuals have been banned
177 +from the Portage tree.
178 +</note>
179 </body>
180 -</section>
181
182 </chapter>
183 </guide>
184
185 diff --git a/profiles/text.xml b/profiles/text.xml
186 index a8e6e2a..4db23c6 100644
187 --- a/profiles/text.xml
188 +++ b/profiles/text.xml
189 @@ -26,6 +26,5 @@ are also documented in <c>man portage</c>.
190 <include href="updates/"/>
191 <include href="use.desc/"/>
192 <include href="use.mask/"/>
193 -<include href="virtuals/"/>
194
195 </guide>
196
197 diff --git a/profiles/virtuals/text.xml b/profiles/virtuals/text.xml
198 deleted file mode 100644
199 index 3446cbd..0000000
200 --- a/profiles/virtuals/text.xml
201 +++ /dev/null
202 @@ -1,18 +0,0 @@
203 -<?xml version="1.0"?>
204 -<guide self="profiles/virtuals/">
205 -<chapter>
206 -<title>Profiles <c>virtuals</c> Files</title>
207 -<body>
208 -
209 -<p>
210 -The <c>virtuals</c> files in <c>profiles/</c> control the default provider for
211 -virtuals. It can be overridden in subprofiles for profile-specific defaults.
212 -</p>
213 -
214 -<p>
215 -Before adding a new virtual, it should be discussed on <c>gentoo-dev</c>.
216 -</p>
217 -
218 -</body>
219 -</chapter>
220 -</guide>