summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eapi-differences.tex4
-rw-r--r--ebuild-env-vars.tex38
-rw-r--r--profile-variables.tex40
3 files changed, 7 insertions, 75 deletions
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 4a53459..4eb41f4 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -36,9 +36,6 @@
\bottomrule
\endlastfoot
-Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-injection} &
- No & No & No & No & Yes \\
-
\t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
No & Yes & Yes & Yes & Yes \\
@@ -221,7 +218,6 @@ EAPI 4 is EAPI 3 with the following changes:
\item \t{pkg\_info} can run on non-installed packages, \featureref{pkg-info}.
\item \t{AA} is gone, \featureref{aa}.
\item \t{KV} is gone, \featureref{kv}.
-\item \t{USE} is calculated differently, \featureref{profile-iuse-injection}.
\item \t{MERGE\_TYPE}, \featureref{merge-type}.
\item \t{REPLACING\_VERSIONS} and \t{REPLACED\_BY\_VERSION}, \featureref{replace-version-vars}.
\item Utilities now die on failure, \featureref{die-on-failure}, unless called under \t{nonfatal},
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8bb5ee6..eb235e7 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -273,13 +273,9 @@ This section discusses the handling of four variables:
In all cases, the values of \t{IUSE\_REFERENCEABLE} and \t{IUSE\_EFFECTIVE} are undefined during
metadata generation.
-For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined
-\t{IUSE} injection, \t{IUSE\_REFERENCEABLE} is equal to the calculated \t{IUSE} value. For EAPIs
-where profile defined \t{IUSE} injection is supported, \t{IUSE\_REFERENCEABLE} is equal to
-\t{IUSE\_EFFECTIVE}.
+\t{IUSE\_REFERENCEABLE} is equal to the calculated \t{IUSE} value.
-For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined
-\t{IUSE} injection, \t{IUSE\_EFFECTIVE} contains the following values:
+\t{IUSE\_EFFECTIVE} contains the following values:
\begin{compactitem}
\item All values in the calculated \t{IUSE} value.
@@ -288,36 +284,10 @@ For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporti
the profile \t{USE\_EXPAND} variable followed by an underscore.
\end{compactitem}
-\featurelabel{profile-iuse-injection} For EAPIs listed in
-table~\ref{tab:profile-iuse-injection-table} as supporting profile defined \t{IUSE} injection,
-\t{IUSE\_EFFECTIVE} contains the following values:
-
-\begin{compactitem}
-\item All values in the calculated \t{IUSE} value.
-\item All values in the profile \t{IUSE\_IMPLICIT} variable.
-\item All values in the profile variable named \t{USE\_EXPAND\_VALUES\_\$\{v\}}, where \t{\$\{v\}}
- is any value in the intersection of the profile \t{USE\_EXPAND\_UNPREFIXED} and
- \t{USE\_EXPAND\_IMPLICIT} variables.
-\item All values for \t{\$\{lower\_v\}\_\$\{x\}}, where \t{\$\{x\}} is all values in the profile
- variable named \t{USE\_EXPAND\_VALUES\_\$\{v\}}, where \t{\$\{v\}} is any value in the
- intersection of the profile \t{USE\_EXPAND} and \t{USE\_EXPAND\_IMPLICIT} variables and
- \t{\$\{lower\_v\}} is the lowercase equivalent of \t{\$\{v\}}.
-\end{compactitem}
-
The \t{USE} variable is set by the package manager. For each value in \t{IUSE\_EFFECTIVE}, \t{USE}
shall contain that value if the flag is to be enabled for the ebuild in question, and shall not
-contain that value if it is to be disabled. In EAPIs listed in
-table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined \t{IUSE} injection,
-\t{USE} may contain other flag names that are not relevant for the ebuild.
-
-For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile defined
-\t{IUSE} injection, the variables named in \t{USE\_EXPAND} and \t{USE\_EXPAND\_UNPREFIXED} shall
-have their profile-provided values reduced to contain only those values that are present in
-\t{IUSE\_EFFECTIVE}.
-
-For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile defined
-\t{IUSE} injection, the package manager must save the calculated value of \t{IUSE\_EFFECTIVE} when
-installing a package. Details are beyond the scope of this specification.
+contain that value if it is to be disabled. \t{USE} may contain other flag names that are not
+relevant for the ebuild.
\subsection{\t{REPLACING\_VERSIONS} and \t{REPLACED\_BY\_VERSION}}
\label{sec:replacing-versions}
diff --git a/profile-variables.tex b/profile-variables.tex
index 8533b71..cb6e63f 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -20,34 +20,10 @@ variables must be treated in this fashion:
\item \t{CONFIG\_PROTECT\_MASK}
\end{compactitem}
-If the package manager supports any EAPI listed in table~\ref{tab:profile-iuse-injection-table} as
-using profile-defined \t{IUSE} injection, the following variables must also be treated
-incrementally; otherwise, the following variables may or may not be treated incrementally:
-\begin{compactitem}
-\item \t{IUSE\_IMPLICIT}
-\item \t{USE\_EXPAND\_IMPLICIT}
-\item \t{USE\_EXPAND\_UNPREFIXED}
-\end{compactitem}
-
Other variables, except where they affect only package-manager-specific functionality (such as
Portage's \t{FEATURES} variable), must not be treated incrementally---later definitions shall
completely override those in parent profiles.
-\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
- \begin{tabular}{ l l l }
- \toprule
- \multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
- \midrule
- \t{0} & No \\
- \t{1} & No \\
- \t{2} & No \\
- \t{3} & No \\
- \t{4} & Yes \\
- \bottomrule
- \end{tabular}
-\end{centertable}
-
\subsection{Specific variables and their meanings}
The following variables have specific meanings when set in profiles.
\begin{description}
@@ -61,21 +37,11 @@ The following variables have specific meanings when set in profiles.
\item[USE\_EXPAND] Defines a list of variables which are to be treated incrementally and whose
contents are to be expanded into the USE variable as passed to ebuilds. See
section~\ref{sec:use-iuse-handling} for details.
-\item[USE\_EXPAND\_UNPREFIXED] Similar to \t{USE\_EXPAND}, but no prefix is used. If the repository
- contains any package using an EAPI supporting profile-defined \t{IUSE} injection (see
- table~\ref{tab:profile-iuse-injection-table}), this list must contain at least \t{ARCH}. See
- section~\ref{sec:use-iuse-handling} for details.
-\item[USE\_EXPAND\_HIDDEN] Contains a (possibly empty) subset of names from \t{USE\_EXPAND} and
- \t{USE\_EXPAND\_UNPREFIXED}. The package manager may use this set as a hint to avoid displaying
- uninteresting or unhelpful information to an end user.
-\item[USE\_EXPAND\_IMPLICIT, IUSE\_IMPLICIT] Used to inject implicit values into \t{IUSE}. See
- section~\ref{sec:use-iuse-handling} for details.
+\item[USE\_EXPAND\_HIDDEN] Contains a (possibly empty) subset of names from \t{USE\_EXPAND}. The
+ package manager may use this set as a hint to avoid displaying uninteresting or unhelpful
+ information to an end user.
\end{description}
-In addition, for EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile
-defined \t{IUSE} injection, the variables named in \t{USE\_EXPAND} and \t{USE\_EXPAND\_UNPREFIXED}
-have special handling as described in section~\ref{sec:use-iuse-handling}.
-
Any other variables set in \t{make.defaults} must be passed on into the ebuild environment as-is,
and are not required to be interpreted by the package manager.