commit:     aa550740a8c8791b4ad5080963ce6b6e929e5f84
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 28 14:10:20 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct  4 20:22:57 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=aa550740

EAPI 7 disallows stdout output of output functions

Bug: https://bugs.gentoo.org/483240

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 17 +++++++++++------
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 34ee0c9..055e6c6 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs.
 \bottomrule
 \endlastfoot
 
+Output cmds can use stdout & \compactfeatureref{output-no-stdout} &
+    Yes & Yes & Yes & Yes & No \\
+
 \t{eqawarn} & \compactfeatureref{eqawarn} &
     No & No & No & No & Yes \\
 
@@ -391,6 +394,7 @@ EAPI 7 is EAPI 6 with the following changes:
 \item \t{dohtml} banned, \featureref{banned-commands}.
 \item Version manipulation and comparison functions added, 
\featureref{ver-functions}.
 \item \t{eqawarn} added, \featureref{eqawarn}.
+\item Output commands can no longer use stdout, \featureref{output-no-stdout}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{7}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index c7f3696..5bb8b68 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -114,8 +114,12 @@ These commands display messages to the user. Unless 
otherwise stated, the entire
 used as a message, with backslash-escaped characters interpreted as for the 
\t{echo -e} command of
 bash, notably \t{\textbackslash t} for a horizontal tab, \t{\textbackslash n} 
for a new line, and
 \t{\textbackslash\textbackslash} for a literal backslash. Ebuilds must not run 
any of these commands
-once the current phase function has returned. Unless otherwise noted, output 
may be sent to stdout,
-stderr or some other appropriate facility.
+once the current phase function has returned.
+
+\featurelabel{output-no-stdout} Unless otherwise noted, output may be sent to 
stderr or some other
+appropriate facility. In EAPIs listed in table~\ref{tab:output-commands} as 
not allowing stdout
+output, using stdout as an output facility is forbidden.
+
 \begin{description}
 \item[einfo] Displays an informational message.
 \item[einfon] Displays an informational message without a trailing newline.
@@ -139,13 +143,14 @@ stderr or some other appropriate facility.
 \ChangeWhenAddingAnEAPI{7}
 \begin{centertable}{Output commands for EAPIs}
     \label{tab:output-commands}
-    \begin{tabular}{ll}
+    \begin{tabular}{lll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{\t{eqawarn}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{eqawarn}?}} &
+      \multicolumn{1}{c}{\textbf{can output to stdout?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5, 6  & No  \\
-      7                    & Yes \\
+      0, 1, 2, 3, 4, 5, 6  & No  & Yes \\
+      7                    & Yes & No  \\
       \bottomrule
     \end{tabular}
 \end{centertable}

Reply via email to