1 |
commit: 9c0e84b3c82b7fcb1ddae3f7a5288b61689fc787 |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Sep 28 14:10:20 2017 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Sep 28 16:36:24 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=9c0e84b3 |
7 |
|
8 |
EAPI 7 disallows stdout output of output functions |
9 |
|
10 |
Bug: https://bugs.gentoo.org/483240 |
11 |
|
12 |
eapi-differences.tex | 4 ++++ |
13 |
pkg-mgr-commands.tex | 17 +++++++++++------ |
14 |
2 files changed, 15 insertions(+), 6 deletions(-) |
15 |
|
16 |
diff --git a/eapi-differences.tex b/eapi-differences.tex |
17 |
index 34ee0c9..055e6c6 100644 |
18 |
--- a/eapi-differences.tex |
19 |
+++ b/eapi-differences.tex |
20 |
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs. |
21 |
\bottomrule |
22 |
\endlastfoot |
23 |
|
24 |
+Output cmds can use stdout & \compactfeatureref{output-no-stdout} & |
25 |
+ Yes & Yes & Yes & Yes & No \\ |
26 |
+ |
27 |
\t{eqawarn} & \compactfeatureref{eqawarn} & |
28 |
No & No & No & No & Yes \\ |
29 |
|
30 |
@@ -391,6 +394,7 @@ EAPI 7 is EAPI 6 with the following changes: |
31 |
\item \t{dohtml} banned, \featureref{banned-commands}. |
32 |
\item Version manipulation and comparison functions added, \featureref{ver-functions}. |
33 |
\item \t{eqawarn} added, \featureref{eqawarn}. |
34 |
+\item Output commands can no longer use stdout, \featureref{output-no-stdout}. |
35 |
\end{compactitem} |
36 |
|
37 |
\ChangeWhenAddingAnEAPI{7} |
38 |
|
39 |
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex |
40 |
index c7f3696..5bb8b68 100644 |
41 |
--- a/pkg-mgr-commands.tex |
42 |
+++ b/pkg-mgr-commands.tex |
43 |
@@ -114,8 +114,12 @@ These commands display messages to the user. Unless otherwise stated, the entire |
44 |
used as a message, with backslash-escaped characters interpreted as for the \t{echo -e} command of |
45 |
bash, notably \t{\textbackslash t} for a horizontal tab, \t{\textbackslash n} for a new line, and |
46 |
\t{\textbackslash\textbackslash} for a literal backslash. Ebuilds must not run any of these commands |
47 |
-once the current phase function has returned. Unless otherwise noted, output may be sent to stdout, |
48 |
-stderr or some other appropriate facility. |
49 |
+once the current phase function has returned. |
50 |
+ |
51 |
+\featurelabel{output-no-stdout} Unless otherwise noted, output may be sent to stderr or some other |
52 |
+appropriate facility. In EAPIs listed in table~\ref{tab:output-commands} as not allowing stdout |
53 |
+output, using stdout as an output facility is forbidden. |
54 |
+ |
55 |
\begin{description} |
56 |
\item[einfo] Displays an informational message. |
57 |
\item[einfon] Displays an informational message without a trailing newline. |
58 |
@@ -139,13 +143,14 @@ stderr or some other appropriate facility. |
59 |
\ChangeWhenAddingAnEAPI{7} |
60 |
\begin{centertable}{Output commands for EAPIs} |
61 |
\label{tab:output-commands} |
62 |
- \begin{tabular}{ll} |
63 |
+ \begin{tabular}{lll} |
64 |
\toprule |
65 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
66 |
- \multicolumn{1}{c}{\textbf{\t{eqawarn}?}} \\ |
67 |
+ \multicolumn{1}{c}{\textbf{\t{eqawarn}?}} & |
68 |
+ \multicolumn{1}{c}{\textbf{can output to stdout?}} \\ |
69 |
\midrule |
70 |
- 0, 1, 2, 3, 4, 5, 6 & No \\ |
71 |
- 7 & Yes \\ |
72 |
+ 0, 1, 2, 3, 4, 5, 6 & No & Yes \\ |
73 |
+ 7 & Yes & No \\ |
74 |
\bottomrule |
75 |
\end{tabular} |
76 |
\end{centertable} |