Gentoo Archives: gentoo-commits

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/pms:eapi-7 commit in: /
Date: Sat, 24 Feb 2018 12:58:56
Message-Id: 1519476924.110fcdd34330052c16aa25d10c082530c8b1ba40.ulm@gentoo
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