From 7e94b3912fff029b0201ec803b15c69146ac84bb Mon Sep 17 00:00:00 2001 From: Ulrich Müller Date: Fri, 10 Nov 2017 14:51:41 +0100 Subject: EAPI 7 has ENV_UNSET. Thanks to mgorny for providing the initial wording. Bug: https://bugs.gentoo.org/499288 --- eapi-differences.tex | 4 ++++ ebuild-env-vars.tex | 2 ++ profile-variables.tex | 23 +++++++++++++++++++++++ 3 files changed, 29 insertions(+) diff --git a/eapi-differences.tex b/eapi-differences.tex index 0498536..29126f6 100644 --- a/eapi-differences.tex +++ b/eapi-differences.tex @@ -170,6 +170,9 @@ Parallel tests & \compactfeatureref{parallel-tests} & \t{MERGE_TYPE} & \compactfeatureref{merge-type} & No & Yes & Yes & Yes & Yes \\ +\t{ENV_UNSET} & \compactfeatureref{env-unset} & + No & No & No & No & Yes \\ + Sane locale settings & \compactfeatureref{locale-settings} & Undefined & Undefined & Undefined & Yes & Yes \\ @@ -425,6 +428,7 @@ EAPI 7 is EAPI 6 with the following changes: \item \t{BROOT}, \featureref{broot}. \item \t{best_version} and \t{has_version} support \t{-b}, \t{-d} and \t{-r} options instead of \t{-{}-host-root}, \featureref{pm-query-options}. +\item \t{ENV_UNSET}, \featureref{env-unset}. \end{compactitem} \ChangeWhenAddingAnEAPI{7} diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex index 62061aa..526f8e3 100644 --- a/ebuild-env-vars.tex +++ b/ebuild-env-vars.tex @@ -332,6 +332,8 @@ package manager specific directories. \t{GZIP}, \t{BZIP}, \t{BZIP2}, \t{CDPATH}, \t{GREP_OPTIONS}, \t{GREP_COLOR} and \t{GLOBIGNORE} must not be set. +\featurelabel{env-unset} In addition, any variable whose name appears in the \t{ENV_UNSET} variable +must be unset, for EAPIs listed in table~\ref{tab:profile-env-unset} as supporting \t{ENV_UNSET}. \featurelabel{locale-settings} The package manager must ensure that the \t{LC_CTYPE} and \t{LC_COLLATE} locale categories are equivalent to the POSIX locale, as far as characters in the diff --git a/profile-variables.tex b/profile-variables.tex index 309f9e9..6cd770c 100644 --- a/profile-variables.tex +++ b/profile-variables.tex @@ -29,6 +29,13 @@ incrementally; otherwise, the following variables may or may not be treated incr \item \t{USE_EXPAND_UNPREFIXED} \end{compactitem} +If the package manager supports any EAPI listed in table~\ref{tab:profile-env-unset} as using +\t{ENV_UNSET}, the following variable must also be treated incrementally; otherwise, it may or +may not be treated incrementally: +\begin{compactitem} +\item \t{ENV_UNSET} +\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. @@ -47,6 +54,20 @@ completely override those in parent profiles. \end{tabular} \end{centertable} +\ChangeWhenAddingAnEAPI{7} +\begin{centertable}{Profile-defined unsetting of variables in EAPIs} + \label{tab:profile-env-unset} + \begin{tabular}{ll} + \toprule + \multicolumn{1}{c}{\textbf{EAPI}} & + \multicolumn{1}{c}{\textbf{Supports \t{ENV_UNSET}?}} \\ + \midrule + 0, 1, 2, 3, 4, 5, 6 & No \\ + 7 & Yes \\ + \bottomrule + \end{tabular} +\end{centertable} + \subsection{Specific variables and their meanings} The following variables have specific meanings when set in profiles. \begin{description} @@ -69,6 +90,8 @@ The following variables have specific meanings when set in profiles. 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[ENV_UNSET] Contains a whitespace-delimited list of variables that the package manager shall + unset. See section~\ref{sec:ebuild-env-vars} for details. \end{description} In addition, for EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile -- cgit v1.2.3-65-gdbad