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: