commit:     872cc8e4bdf7a2eb937c8969e875b03b14e5a313
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 10 13:51:41 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Feb 18 13:35:54 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=872cc8e4

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 df8ef98..d738efe 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -179,6 +179,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 \\
 
@@ -437,6 +440,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 e121987..c9ebf9b 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -330,6 +330,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

Reply via email to