Gentoo Archives: gentoo-pms

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