diff options
author | Ulrich Müller <ulm@gentoo.org> | 2019-03-23 21:27:04 +0100 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2019-03-24 16:56:04 +0100 |
commit | e0e98974e025ee7e71e1a62c81957008cec69dd7 (patch) | |
tree | 39a213e48c3d60280c89d23ba6822b3c30a55425 /ebuild-vars.tex | |
parent | Makefile: Change encoding of HTML file to UTF-8. (diff) | |
download | pms-e0e98974e025ee7e71e1a62c81957008cec69dd7.tar.gz pms-e0e98974e025ee7e71e1a62c81957008cec69dd7.tar.bz2 pms-e0e98974e025ee7e71e1a62c81957008cec69dd7.zip |
Move some subsections out of the "Dependencies" chapter.
SRC_URI, REQUIRED_USE, PROPERTIES, and RESTRICT are ebuild-defined
variables. Move them to that chapter.
Add reference to tab:uri-arrows-table in SRC_URI section. Otherwise,
no change of wording.
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'ebuild-vars.tex')
-rw-r--r-- | ebuild-vars.tex | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/ebuild-vars.tex b/ebuild-vars.tex index 497bd77..bdd0f6b 100644 --- a/ebuild-vars.tex +++ b/ebuild-vars.tex @@ -145,6 +145,45 @@ EAPI, the package manager must make sure that the \t{EAPI} value obtained by sou with bash is identical to the EAPI obtained by parsing. The ebuild must be treated as invalid if these values are different. +\subsection{SRC_URI} +\label{sec:src-uri-behaviour} + +All filename components that are enabled (i.\,e.\ not inside a use-conditional block that is not +matched) in \t{SRC_URI} must be available in the \t{DISTDIR} directory. In addition, these +components are used to make the \t{A} and \t{AA} variables. + +If a component contains a full URI with protocol, that download location must be used. Package +managers may also consult mirrors for their files. + +The special \t{mirror://} protocol must be supported. See section~\ref{sec:thirdpartymirrors} for +mirror details. + +If a simple filename rather than a full URI is provided, the package manager can only use mirrors +to download the file. + +The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see +section~\ref{sec:restrict} for details. + +\featurelabel{src-uri-arrows} In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting +arrows, if an arrow is used, the filename used when saving to \t{DISTDIR} shall instead be the name +on the right of the arrow. When consulting mirrors (except for those explicitly listed on the left +of the arrow, if \t{mirror://} is used), the filename to the right of the arrow shall be requested +instead of the filename in the URI. + +\ChangeWhenAddingAnEAPI{7} +\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows} + \label{tab:uri-arrows-table} + \begin{tabular}{ll} + \toprule + \multicolumn{1}{c}{\textbf{EAPI}} & + \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\ + \midrule + 0, 1 & No \\ + 2, 3, 4, 5, 6, 7 & Yes \\ + \bottomrule + \end{tabular} +\end{centertable} + \subsection{Keywords} \label{sec:keywords} @@ -166,6 +205,48 @@ unlisted architectures. An empty \t{KEYWORDS} variable indicates uncertain functionality on any architecture. +\subsection{USE state constraints} +\label{sec:required-use} + +\t{REQUIRED_USE} contains a list of assertions that must be met by the configuration of \t{USE} +flags to be valid for this ebuild. In order to be matched, a \t{USE} flag in a terminal element +must be enabled (or disabled if it has an exclamation mark prefix). + +If the package manager encounters a package version where \t{REQUIRED_USE} assertions are not met, +it must treat this package version as if it was masked. No phase functions must be called. + +It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE}. + +\subsection{Properties} +\label{sec:properties} + +The following tokens are permitted inside \t{PROPERTIES}: + +\begin{description} +\item[interactive] The package may require interaction with the user via the tty. +\end{description} + +Ebuilds may not rely upon any token being supported. + +\subsection{Restrict} +\label{sec:restrict} + +The following tokens are permitted inside \t{RESTRICT}: + +\begin{description} +\item[mirror] The package's \t{SRC_URI} entries may not be mirrored, and mirrors should not be + checked when fetching. +\item[fetch] The package's \t{SRC_URI} entries may not be downloaded automatically. If entries are + not available, \t{pkg_nofetch} is called. Implies \t{mirror}. +\item[strip] No stripping of debug symbols from files to be installed may be performed. In EAPIs + listed in table~\ref{tab:staging-area-commands} as supporting controllable stripping, this + behaviour may be altered by the \t{dostrip} command. +\item[userpriv] The package manager may not drop root privileges when building the package. +\item[test] The \t{src_test} phase must not be run. +\end{description} + +Package managers may recognise other tokens, but ebuilds may not rely upon them being supported. + \subsection{RDEPEND value} \label{sec:rdepend-depend} |