1 |
commit: 110fcdd34330052c16aa25d10c082530c8b1ba40 |
2 |
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Nov 10 13:51:41 2017 +0000 |
4 |
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Feb 24 12:55:24 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=110fcdd3 |
7 |
|
8 |
EAPI 7 has ENV_UNSET. |
9 |
|
10 |
Thanks to mgorny for providing the initial wording. |
11 |
|
12 |
Bug: https://bugs.gentoo.org/499288 |
13 |
|
14 |
eapi-differences.tex | 4 ++++ |
15 |
ebuild-env-vars.tex | 2 ++ |
16 |
profile-variables.tex | 23 +++++++++++++++++++++++ |
17 |
3 files changed, 29 insertions(+) |
18 |
|
19 |
diff --git a/eapi-differences.tex b/eapi-differences.tex |
20 |
index df8ef98..d738efe 100644 |
21 |
--- a/eapi-differences.tex |
22 |
+++ b/eapi-differences.tex |
23 |
@@ -179,6 +179,9 @@ Parallel tests & \compactfeatureref{parallel-tests} & |
24 |
\t{MERGE_TYPE} & \compactfeatureref{merge-type} & |
25 |
No & Yes & Yes & Yes & Yes \\ |
26 |
|
27 |
+\t{ENV_UNSET} & \compactfeatureref{env-unset} & |
28 |
+ No & No & No & No & Yes \\ |
29 |
+ |
30 |
Sane locale settings & \compactfeatureref{locale-settings} & |
31 |
Undefined & Undefined & Undefined & Yes & Yes \\ |
32 |
|
33 |
@@ -437,6 +440,7 @@ EAPI 7 is EAPI 6 with the following changes: |
34 |
\item \t{BROOT}, \featureref{broot}. |
35 |
\item \t{best_version} and \t{has_version} support \t{-b}, \t{-d} and \t{-r} options instead of |
36 |
\t{-{}-host-root}, \featureref{pm-query-options}. |
37 |
+\item \t{ENV_UNSET}, \featureref{env-unset}. |
38 |
\end{compactitem} |
39 |
|
40 |
\ChangeWhenAddingAnEAPI{7} |
41 |
|
42 |
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex |
43 |
index e121987..c9ebf9b 100644 |
44 |
--- a/ebuild-env-vars.tex |
45 |
+++ b/ebuild-env-vars.tex |
46 |
@@ -330,6 +330,8 @@ package manager specific directories. |
47 |
|
48 |
\t{GZIP}, \t{BZIP}, \t{BZIP2}, \t{CDPATH}, \t{GREP_OPTIONS}, \t{GREP_COLOR} and \t{GLOBIGNORE} |
49 |
must not be set. |
50 |
+\featurelabel{env-unset} In addition, any variable whose name appears in the \t{ENV_UNSET} variable |
51 |
+must be unset, for EAPIs listed in table~\ref{tab:profile-env-unset} as supporting \t{ENV_UNSET}. |
52 |
|
53 |
\featurelabel{locale-settings} The package manager must ensure that the \t{LC_CTYPE} and |
54 |
\t{LC_COLLATE} locale categories are equivalent to the POSIX locale, as far as characters in the |
55 |
|
56 |
diff --git a/profile-variables.tex b/profile-variables.tex |
57 |
index 309f9e9..6cd770c 100644 |
58 |
--- a/profile-variables.tex |
59 |
+++ b/profile-variables.tex |
60 |
@@ -29,6 +29,13 @@ incrementally; otherwise, the following variables may or may not be treated incr |
61 |
\item \t{USE_EXPAND_UNPREFIXED} |
62 |
\end{compactitem} |
63 |
|
64 |
+If the package manager supports any EAPI listed in table~\ref{tab:profile-env-unset} as using |
65 |
+\t{ENV_UNSET}, the following variable must also be treated incrementally; otherwise, it may or |
66 |
+may not be treated incrementally: |
67 |
+\begin{compactitem} |
68 |
+\item \t{ENV_UNSET} |
69 |
+\end{compactitem} |
70 |
+ |
71 |
Other variables, except where they affect only package-manager-specific functionality (such as |
72 |
Portage's \t{FEATURES} variable), must not be treated incrementally---later definitions shall |
73 |
completely override those in parent profiles. |
74 |
@@ -47,6 +54,20 @@ completely override those in parent profiles. |
75 |
\end{tabular} |
76 |
\end{centertable} |
77 |
|
78 |
+\ChangeWhenAddingAnEAPI{7} |
79 |
+\begin{centertable}{Profile-defined unsetting of variables in EAPIs} |
80 |
+ \label{tab:profile-env-unset} |
81 |
+ \begin{tabular}{ll} |
82 |
+ \toprule |
83 |
+ \multicolumn{1}{c}{\textbf{EAPI}} & |
84 |
+ \multicolumn{1}{c}{\textbf{Supports \t{ENV_UNSET}?}} \\ |
85 |
+ \midrule |
86 |
+ 0, 1, 2, 3, 4, 5, 6 & No \\ |
87 |
+ 7 & Yes \\ |
88 |
+ \bottomrule |
89 |
+ \end{tabular} |
90 |
+\end{centertable} |
91 |
+ |
92 |
\subsection{Specific variables and their meanings} |
93 |
The following variables have specific meanings when set in profiles. |
94 |
\begin{description} |
95 |
@@ -69,6 +90,8 @@ The following variables have specific meanings when set in profiles. |
96 |
displaying uninteresting or unhelpful information to an end user. |
97 |
\item[USE_EXPAND_IMPLICIT, IUSE_IMPLICIT] Used to inject implicit values into \t{IUSE}\@. See |
98 |
section~\ref{sec:use-iuse-handling} for details. |
99 |
+\item[ENV_UNSET] Contains a whitespace-delimited list of variables that the package manager shall |
100 |
+ unset. See section~\ref{sec:ebuild-env-vars} for details. |
101 |
\end{description} |
102 |
|
103 |
In addition, for EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile |