From: "Ulrich Müller" <ulm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/pms:eapi-9 commit in: /
Date: Sat, 18 Jan 2025 10:18:39 +0000 (UTC) [thread overview]
Message-ID: <1737139240.c930e83595b6e9dc05341418e92efaf8b82a5020.ulm@gentoo> (raw)
commit: c930e83595b6e9dc05341418e92efaf8b82a5020
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 7 17:13:28 2025 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jan 17 18:40:40 2025 +0000
URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=c930e835
EAPI 9: Defined variables are no longer exported
Bug: https://bugs.gentoo.org/721088
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eapi-differences.tex | 4 ++++
ebuild-env-vars.tex | 36 +++++++++++++++++++++++++++++-------
ebuild-vars.tex | 4 ++++
3 files changed, 37 insertions(+), 7 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 0564ab4..75c53a0 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -69,6 +69,9 @@ Accumulate \t{PROPERTIES} & \compactfeatureref{accumulate-vars} &
Accumulate \t{RESTRICT} & \compactfeatureref{accumulate-vars} &
No & No & Yes & Yes \\
+Export variables & \compactfeatureref{export-vars} &
+ Yes & Yes & Yes & No \\
+
\t{PORTDIR} & \compactfeatureref{portdir} &
Yes & No & No & No \\
@@ -357,6 +360,7 @@ EAPI 9 is EAPI 8 with the following changes:
\begin{compactitem}
\item Bash version is 5.2, \featureref{bash-version}.
\item Different default EAPI for profiles, \featureref{profile-eapi-default}.
+\item Variables no longer exported, \featureref{export-vars}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{9}
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 268fa36..4f19d70 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -1,10 +1,10 @@
\section{Defined variables}
\label{sec:ebuild-env-vars}
-The package manager must define the following environment variables. Not all variables are
-universally meaningful; variables that are not meaningful in a given phase or in global scope may
-be unset or set to any value. Ebuilds must not attempt to modify any of these variables, unless
-otherwise specified.
+The package manager must define the following variables. Not all variables are universally
+meaningful; variables that are not meaningful in a given phase or in global scope may be unset
+or set to any value. Ebuilds must not attempt to modify any of these variables, unless otherwise
+specified.
Because of their special meanings, these variables may not be preserved consistently across all
phases as would normally happen due to environment saving (see section~\ref{sec:ebuild-env-state}).
@@ -12,6 +12,26 @@ For example, \t{EBUILD_PHASE} is different for every phase, and \t{ROOT} may hav
the various different \t{pkg_*} phases. Ebuilds must recalculate any variable they derive from an
inconsistent variable.
+\featurelabel{export-vars} These variables are either exported to the environment or kept as
+unexported shell variables, as specified for EAPIs in table~\ref{tab:export-vars}; exceptions are
+\t{TMPDIR} and \t{HOME} which are always exported to the environment. In EAPIs where variables are
+not exported, the package manager must pass those that are required by ebuild-specific external
+commands (see section~\ref{sec:pkg-mgr-commands}) in an implementation-defined manner.
+
+\ChangeWhenAddingAnEAPI{9}
+\begin{centertable}{EAPIs with variables exported to the environment}
+ \label{tab:export-vars}
+ \begin{tabular}{ll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{Variables exported?}} \\
+ \midrule
+ 0, 1, 2, 3, 4, 5, 6, 7, 8 & Yes \\
+ 9 & No \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
+
\begin{landscape}
% Reduce width of text area to make room for margin notes
\addtolength{\hsize}{-25mm}
@@ -168,13 +188,15 @@ inconsistent variable.
\t{TMPDIR} &
All &
Partially\footnotemark[\value{footnote}] &
- Must be set to the location of a usable temporary directory, for any applications
- called by an ebuild. Must not be used by ebuilds directly; see \t{T} above. \\
+ Must be set to the location of a usable temporary directory, for any applications called
+ by an ebuild. Must not be used by ebuilds directly; see \t{T} above. \t{TMPDIR} is always
+ exported to the environment. \\
\t{HOME} &
All &
Partially\footnotemark[\value{footnote}] &
The full path to an appropriate temporary directory for use by any programs invoked by the
- ebuild that may read or modify the home directory. \\
+ ebuild that may read or modify the home directory. \t{HOME} is always exported to the
+ environment. \\
\t{EPREFIX} &
All &
Yes &
diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index b030943..9979ce9 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -335,6 +335,10 @@ defined based upon any variant condition.}
\end{tabular}
\end{centertable}
+For EAPIs listed in table~\ref{tab:export-vars} with the property that variables are not exported,
+the package manager must not export any of the variables specified in this section to the
+environment.
+
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
%%% Local Variables:
next reply other threads:[~2025-01-18 10:18 UTC|newest]
Thread overview: 166+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-18 10:18 Ulrich Müller [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-02-09 20:38 [gentoo-commits] proj/pms:eapi-9 commit in: / Ulrich Müller
2025-02-09 20:38 Ulrich Müller
2025-01-18 10:18 Ulrich Müller
2025-01-18 10:18 Ulrich Müller
2025-01-18 10:18 Ulrich Müller
2025-01-18 10:18 Ulrich Müller
2025-01-18 10:18 Ulrich Müller
2025-01-18 10:18 Ulrich Müller
2025-01-18 10:18 Ulrich Müller
2025-01-18 10:18 Ulrich Müller
2025-01-18 10:18 [gentoo-commits] proj/pms:master " Ulrich Müller
2025-01-18 10:18 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2025-01-17 18:50 [gentoo-commits] proj/pms:master " Ulrich Müller
2025-01-18 10:18 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2025-01-13 17:25 Ulrich Müller
2025-01-13 17:25 Ulrich Müller
2025-01-13 17:25 Ulrich Müller
2025-01-13 17:25 Ulrich Müller
2025-01-13 17:25 Ulrich Müller
2025-01-13 17:25 Ulrich Müller
2025-01-13 17:25 Ulrich Müller
2025-01-13 17:25 Ulrich Müller
2025-01-13 17:22 [gentoo-commits] proj/pms:master " Ulrich Müller
2025-01-13 17:25 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2025-01-13 17:22 [gentoo-commits] proj/pms:master " Ulrich Müller
2025-01-13 17:25 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2025-01-12 20:14 Ulrich Müller
2025-01-12 20:14 Ulrich Müller
2025-01-12 20:14 Ulrich Müller
2025-01-12 20:14 Ulrich Müller
2025-01-12 20:14 Ulrich Müller
2025-01-12 20:14 Ulrich Müller
2025-01-12 20:14 Ulrich Müller
2025-01-10 9:56 Ulrich Müller
2025-01-10 9:56 Ulrich Müller
2025-01-10 9:56 Ulrich Müller
2025-01-10 9:56 Ulrich Müller
2025-01-10 9:56 Ulrich Müller
2025-01-09 17:37 [gentoo-commits] proj/pms:master " Ulrich Müller
2025-01-10 9:56 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2025-01-07 17:16 Ulrich Müller
2025-01-07 17:16 Ulrich Müller
2025-01-07 17:16 Ulrich Müller
2025-01-07 17:16 Ulrich Müller
2025-01-07 11:03 Ulrich Müller
2025-01-07 11:03 Ulrich Müller
2025-01-07 11:03 Ulrich Müller
2025-01-07 11:03 Ulrich Müller
2024-12-11 19:39 Ulrich Müller
2024-12-11 19:39 Ulrich Müller
2024-12-11 19:39 Ulrich Müller
2024-12-11 19:39 Ulrich Müller
2024-12-11 19:39 Ulrich Müller
2024-12-11 19:39 Ulrich Müller
2024-12-11 19:39 Ulrich Müller
2024-12-11 19:37 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-12-11 19:39 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-12-03 17:44 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-12-11 19:39 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-12-01 11:30 Ulrich Müller
2024-11-29 16:46 Ulrich Müller
2024-11-22 14:41 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-12-11 19:39 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-11-12 19:18 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-12-11 19:39 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-11-12 19:18 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-12-11 19:39 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-11-12 19:18 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-12-11 19:39 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-07-16 9:50 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-12-11 19:39 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-06-24 9:10 Ulrich Müller
2024-06-16 19:22 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-12-11 19:39 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-06-16 19:22 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-12-11 19:39 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-06-02 9:57 Ulrich Müller
2024-06-02 9:57 Ulrich Müller
2024-06-02 9:57 Ulrich Müller
2024-06-02 9:57 Ulrich Müller
2024-06-02 9:57 Ulrich Müller
2024-06-02 9:57 Ulrich Müller
2024-06-02 9:57 Ulrich Müller
2024-06-02 9:57 Ulrich Müller
2024-06-02 9:57 Ulrich Müller
2024-06-02 9:57 Ulrich Müller
2024-06-02 9:57 Ulrich Müller
2024-06-02 9:55 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-05-14 4:25 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-04-05 14:07 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-03-03 17:30 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-03-03 17:30 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-03-03 17:30 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-02-08 9:43 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-01-01 14:34 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-08-09 17:24 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-08-06 15:26 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-06-05 18:45 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-06-05 18:45 [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02 9:57 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-04-14 16:40 Ulrich Müller
2023-04-14 16:40 Ulrich Müller
2023-04-14 16:40 Ulrich Müller
2023-04-14 16:40 Ulrich Müller
2023-04-10 7:18 Ulrich Müller
2023-04-10 7:18 Ulrich Müller
2023-04-10 7:18 Ulrich Müller
2023-04-10 7:18 Ulrich Müller
2023-04-10 7:18 Ulrich Müller
2023-04-10 7:18 Ulrich Müller
2023-02-27 11:05 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-02-26 17:42 Ulrich Müller
2023-01-19 16:40 [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-01-19 16:40 [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-01-19 16:40 [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-01-09 18:18 [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-01-01 17:57 [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-01-01 17:57 [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-12-17 16:40 [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-12-14 10:10 Ulrich Müller
2022-12-14 10:10 Ulrich Müller
2022-12-09 19:07 [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-10-20 7:06 [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-08-22 18:30 Ulrich Müller
2022-08-22 18:30 Ulrich Müller
2022-08-22 18:30 Ulrich Müller
2022-08-22 18:30 Ulrich Müller
2022-08-22 18:30 Ulrich Müller
2022-08-21 9:42 Ulrich Müller
2022-08-21 9:42 Ulrich Müller
2022-08-21 9:42 Ulrich Müller
2022-08-21 9:42 Ulrich Müller
2022-08-21 9:42 Ulrich Müller
2022-08-21 9:42 Ulrich Müller
2022-08-18 15:53 Ulrich Müller
2022-08-18 15:53 Ulrich Müller
2022-08-18 15:53 Ulrich Müller
2022-08-18 15:53 Ulrich Müller
2022-08-18 15:53 Ulrich Müller
2022-08-18 15:53 Ulrich Müller
2022-08-18 15:53 Ulrich Müller
2022-08-18 15:53 Ulrich Müller
2022-08-18 15:53 Ulrich Müller
2022-04-07 6:22 [gentoo-commits] proj/pms:master " Ulrich Müller
2022-08-18 15:53 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-02-21 19:05 Ulrich Müller
2022-02-21 19:05 Ulrich Müller
2022-02-21 19:05 Ulrich Müller
2022-02-14 7:29 Ulrich Müller
2022-02-14 7:29 Ulrich Müller
2022-02-14 7:29 Ulrich Müller
2022-02-14 7:29 Ulrich Müller
2022-02-14 7:29 Ulrich Müller
2022-02-14 7:29 Ulrich Müller
2022-02-14 7:29 Ulrich Müller
2022-02-14 7:29 Ulrich Müller
2022-02-14 7:29 Ulrich Müller
2022-02-14 7:29 Ulrich Müller
2022-02-14 7:29 Ulrich Müller
2022-02-07 8:13 [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14 7:29 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-02-07 8:13 [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14 7:29 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-09-03 15:26 [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14 7:29 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-09-03 15:26 [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14 7:29 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-09-03 6:56 [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14 7:29 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-09-01 17:35 [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14 7:29 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-08-19 19:40 [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14 7:29 ` [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1737139240.c930e83595b6e9dc05341418e92efaf8b82a5020.ulm@gentoo \
--to=ulm@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox