From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-commits+bounces-355440-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1QYK36-0003fp-1j
	for garchives@archives.gentoo.org; Sun, 19 Jun 2011 15:36:32 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 061D81C07B;
	Sun, 19 Jun 2011 15:36:24 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by pigeon.gentoo.org (Postfix) with ESMTP id B4F221C07B
	for <gentoo-commits@lists.gentoo.org>; Sun, 19 Jun 2011 15:36:24 +0000 (UTC)
Received: from pelican.gentoo.org (unknown [66.219.59.40])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 1D5CD1B4017
	for <gentoo-commits@lists.gentoo.org>; Sun, 19 Jun 2011 15:36:24 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by pelican.gentoo.org (Postfix) with ESMTP id 7ADEF8003C
	for <gentoo-commits@lists.gentoo.org>; Sun, 19 Jun 2011 15:36:23 +0000 (UTC)
From: "Ciaran McCreesh" <ciaran.mccreesh@googlemail.com>
To: gentoo-commits@lists.gentoo.org
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Ciaran McCreesh" <ciaran.mccreesh@googlemail.com>
Message-ID: <c8ab6b99bffa85bcd686284ba60a30f53c31c8b0.ciaranm@gentoo>
Subject: [gentoo-commits] proj/pms:master commit in: /
X-VCS-Repository: proj/pms
X-VCS-Files: appendices.tex dependencies.tex ebuild-vars.tex glossary.tex metadata-cache.tex pms.tex profiles.tex virtuals.tex
X-VCS-Directories: /
X-VCS-Committer: ciaranm
X-VCS-Committer-Name: Ciaran McCreesh
X-VCS-Revision: c8ab6b99bffa85bcd686284ba60a30f53c31c8b0
Date: Sun, 19 Jun 2011 15:36:23 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: quoted-printable
X-Archives-Salt: 
X-Archives-Hash: 431980e59c1259c425f458354a78e4ad

commit:     c8ab6b99bffa85bcd686284ba60a30f53c31c8b0
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sat Jun 11 20:04:34 2011 +0000
Commit:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
CommitDate: Sat Jun 11 21:01:23 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=3Dproj/pms.git;a=3Dc=
ommit;h=3Dc8ab6b99

Ding dong, old-style virtuals are dead

---
 appendices.tex     |    9 +++++++++
 dependencies.tex   |    4 +---
 ebuild-vars.tex    |    3 ---
 glossary.tex       |    8 +++-----
 metadata-cache.tex |    2 +-
 pms.tex            |    2 --
 profiles.tex       |   13 -------------
 virtuals.tex       |   45 ---------------------------------------------
 8 files changed, 14 insertions(+), 72 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 9e91ede..46503bc 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -56,6 +56,15 @@ The \t{use.defaults} file in the profile directory was=
 used to implement `autous
 flags on or off depending upon which packages are installed. It was depr=
ecated long ago and finally
 removed in 2009.
=20
+\section{Old-style Virtuals}
+
+Historically, virtuals were special packages rather than regular ebuilds=
. An ebuild could specify in
+the \t{PROVIDE} metadata that it supplied certain virtuals, and the pack=
age manager had to bear this
+in mind when handling dependencies.
+
+Old-style virtuals were supported by EAPIs \t{0}, \t{1}, \t{2}, \t{3} an=
d \t{4}, and were phased out
+via GLEP 37.
+
 % vim: set filetype=3Dtex fileencoding=3Dutf8 et tw=3D100 spell spelllan=
g=3Den :
=20
 %%% Local Variables:

diff --git a/dependencies.tex b/dependencies.tex
index f6318d8..45081fe 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -13,7 +13,7 @@ There are three classes of dependencies supported by eb=
uilds:
 \item Post dependencies (\t{PDEPEND}). These must be installed at some p=
oint.
 \end{compactitem}
=20
-In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{PROVIDE}, \t{RESTRICT}, \t{P=
ROPERTIES}, \t{LICENSE} and
+In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \=
t{LICENSE} and
 \t{REQUIRED\_USE} use dependency-style specifications to specify their v=
alues.
=20
 \section{Dependency Specification Format}
@@ -23,8 +23,6 @@ be surrounded on both sides by whitespace, except at th=
e start and end of the st
=20
 \begin{compactitem}
 \item A package dependency specification. Permitted in \t{DEPEND}, \t{RD=
EPEND}, \t{PDEPEND}.
-\item A simple qualified package name. Permitted in \t{PROVIDE} (and ins=
ide \t{DEPEND} etc
-    via the previous item).
 \item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC\_URI=
} and \t{HOMEPAGE}. In EAPIs
     listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC\_URI=
} arrows, may optionally be
     followed by whitespace, then \t{->}, then whitespace, then a simple =
filename when in

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 8df94e9..d183305 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -77,9 +77,6 @@ Ebuilds may define any of the following variables:
 \item[DEPEND] See section~\ref{sec:dependencies}.
 \item[EAPI] The EAPI. See below for defaults.
 \item[PDEPEND] See section~\ref{sec:dependencies}.
-\item[PROVIDE] Zero or more qualified package names of any \i{old style}
-    virtuals provided by this package. See section~\ref{sec:dependencies=
} for full syntax.
-    \label{ebuild-var-provide}
 \item[RDEPEND] See section~\ref{sec:dependencies}. For some EAPIs, \t{RD=
EPEND} has special behaviour
     for its value if unset and when used with an eclass. See section~\re=
f{sec:rdepend-depend} for
     details.

diff --git a/glossary.tex b/glossary.tex
index 2acbeb1..03ecace 100644
--- a/glossary.tex
+++ b/glossary.tex
@@ -7,12 +7,10 @@ be immediately obvious.
 \begin{description}
 \item[qualified package name] A package name along with its associated c=
ategory. For example,
     \t{app-editors/vim} is a qualified package name.
-\item[old-style virtual] An old-style virtual is a pseudo-package which =
exists if it is listed in an
-    ebuild's \t{PROVIDE} variable. See chapter~\ref{sec:old-virtuals}.
 \item[new-style virtual] A new-style virtual is a normal package in the =
\t{virtual} category which
-    installs no files and uses its dependency requirements to pull in a =
`provider'. This is more
-    flexible than the old-style virtuals described above, and requires n=
o special package manager
-    code.
+    installs no files and uses its dependency requirements to pull in a =
`provider'. Historically,
+    old-style virtuals required special handling from the package manage=
r; new-style virtuals do
+    not.
 \item[stand-alone repository] An (ebuild) repository which is intended t=
o function on its own as the
     only, or primary, repository on a system. Contrast with \i{slave rep=
ository} below.
 \item[slave repository, non-stand-alone repository] An (ebuild) reposito=
ry which is not complete

diff --git a/metadata-cache.tex b/metadata-cache.tex
index 8e7a09d..52c0aee 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -29,7 +29,7 @@ order. Other lines may be present following these; thei=
r meanings are not define
 \item Use flags that this package requires (\t{REQUIRED\_USE}).
     Blank in some EAPIs; see table~\ref{tab:optional-vars-table}.
 \item Post dependencies (\t{PDEPEND})
-\item Old-style virtuals provided by this package (\t{PROVIDE})
+\item Unused; previously used for old-style virtual \t{PROVIDE}.
 \item The ebuild API version to which this package conforms (\t{EAPI})
 \item Properties (\t{PROPERTIES}). In some EAPIs, may optionally be blan=
k, regardless of ebuild
     metadata; see table~\ref{tab:optional-vars-table}.

diff --git a/pms.tex b/pms.tex
index efa50de..4ada8ec 100644
--- a/pms.tex
+++ b/pms.tex
@@ -20,8 +20,6 @@
=20
 \include{profiles}
=20
-\include{virtuals}
-
 \include{ebuild-format}
=20
 \include{ebuild-vars}

diff --git a/profiles.tex b/profiles.tex
index 2dba163..8246431 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -63,19 +63,6 @@ bash syntax, is allowed as follows:
 \item Backslashes, except for line continuations, are not allowed.
 \end{compactitem}
=20
-\subsection{virtuals}
-\label{sec:profiles-virtuals}
-The \t{virtuals} file defines default providers for ``old-style'' virtua=
l packages. It is a simple
-line-based file, with each line containing two whitespace-delimited toke=
ns. The first is a virtual
-package name (for example, \t{virtual/alsa}) and the second is a qualifi=
ed package name. Blank lines
-and those beginning with a \# character are ignored. When attempting to =
resolve a virtual name to a
-concrete package, the specification defined in the active profile's \t{v=
irtuals} list should be used if no
-provider is already installed.
-
-The \t{virtuals} file is inherited in the simplest manner: all entries f=
rom the parent profile are
-loaded, then entries from the current profile. If a virtual package name=
 appears in both, the entry
-in the parent profile is discarded.
-
 \subsection{Simple line-based files}
 \label{sec:line-stacking}
 These files are a simple one-item-per-line list, which is inherited in t=
he following manner: the

diff --git a/virtuals.tex b/virtuals.tex
deleted file mode 100644
index 8ac05aa..0000000
--- a/virtuals.tex
+++ /dev/null
@@ -1,45 +0,0 @@
-\chapter{Old-Style Virtual Packages}
-\label{sec:old-virtuals}
-
-Old-style virtuals are pseudo-packages---they can be depended upon or
-installed, but do not exist in the ebuild repository.  An old-style
-virtual requires several things in the repository: at least one ebuild
-must list the virtual in its \t{PROVIDE} variable, and there must be
-at least one entry in a profiles \t{virtuals} file listing the default
-provider for each profile---see sections~\ref{ebuild-var-provide} and
-\ref{sec:profiles-virtuals} for specifics on these two. Old-style virtua=
ls
-require special handling as regards dependencies; this is described
-below.
-
-All old-style virtuals must use the category \t{virtual}. Not all packag=
es using the \t{virtual}
-category may be assumed to be old style virtuals.
-
-\note A \i{new-style} virtual is simply an ebuild which install no files=
 and use its dependency
-strings to select providers. By convention, and to ease migration, these=
 are also placed in the
-\t{virtual} category.
-
-\section{Dependencies on virtual packages}
-
-When a dependency on a virtual package is encountered, it must be
-resolved into a real package before it can be satisfied. There are two
-factors that affect this process: whether a package providing the
-virtual is installed, and the \t{virtuals} file in the active profile
-(section~\ref{sec:profiles-virtuals}). If a package is already installed
-which satisfies the virtual requirement (via \t{PROVIDE}), then it
-should be used to satisfy the dependency. Otherwise, the profiles
-\t{virtuals} file (section~\ref{sec:profiles-virtuals}) should be
-consulted to choose an appropriate provider.
-
-Dependencies on old style virtuals must not use any kind of version rest=
riction.
-
-Blocks on provided virtuals have special behaviour documented in section=
~\ref{provided-blocks}.
-
-% vim: set filetype=3Dtex fileencoding=3Dutf8 et tw=3D100 spell spelllan=
g=3Den :
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "pms"
-%%% LaTeX-indent-level: 4
-%%% LaTeX-item-indent: 0
-%%% TeX-brace-indent-level: 4
-%%% End: