Gentoo Archives: gentoo-pms

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-pms@l.g.o
Subject: [gentoo-pms] [PATCH 1/2] Move shell options to "Ebuild file format" chapter.
Date: Fri, 29 Sep 2017 15:33:16
Message-Id: 22990.26550.472588.490642@a1i15.kph.uni-mainz.de
In Reply to: [gentoo-pms] Re: RFC: Promote 11.3.3 "Ebuild-specific commands" to a section by Ulrich Mueller
1 Since this paragraph is about Bash options like failglob, it fits
2 better with the Bash version than with "System commands".
3 ---
4 eapi-differences.tex | 8 ++++----
5 ebuild-env-commands.tex | 16 ++++------------
6 ebuild-format.tex | 15 ++++++++++-----
7 3 files changed, 18 insertions(+), 21 deletions(-)
8
9 diff --git a/eapi-differences.tex b/eapi-differences.tex
10 index 8f8bf72..2b74e05 100644
11 --- a/eapi-differences.tex
12 +++ b/eapi-differences.tex
13 @@ -46,6 +46,9 @@ Stable use masking/forcing & \compactfeatureref{stablemask} &
14 Bash version & \compactfeatureref{bash-version} &
15 3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
16
17 +\t{failglob} in global scope & \compactfeatureref{failglob} &
18 + No & No & No & No & Yes \\
19 +
20 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
21 * & Yes & Yes & Yes & Yes \\
22
23 @@ -147,9 +150,6 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
24 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
25 No & Yes & Yes & Yes & Yes \\
26
27 -\t{failglob} in global scope & \compactfeatureref{failglob} &
28 - No & No & No & No & Yes \\
29 -
30 \t{find} is GNU? & \compactfeatureref{gnu-find} &
31 Undefined & Undefined & Undefined & Yes & Yes \\
32
33 @@ -346,10 +346,10 @@ EAPI 6 is EAPI 5 with the following changes:
34
35 \begin{compactitem}
36 \item Bash version is 4.2, \featureref{bash-version}.
37 +\item \t{failglob} is enabled in global scope, \featureref{failglob}.
38 \item Default \t{src_prepare} no longer a no-op, \featureref{src-prepare-6}.
39 \item Different \t{src_install} implementation, \featureref{src-install-6}.
40 \item \t{LC_CTYPE} and \t{LC_COLLATE} compatible with POSIX locale, \featureref{locale-settings}.
41 -\item \t{failglob} is enabled in global scope, \featureref{failglob}.
42 \item \t{einstall} banned, \featureref{banned-commands}.
43 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
44 \item \t{eapply} support, \featureref{eapply}.
45 diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
46 index d1773f5..650d200 100644
47 --- a/ebuild-env-commands.tex
48 +++ b/ebuild-env-commands.tex
49 @@ -32,24 +32,16 @@ The following commands must always be available in the ebuild environment:
50 table~\ref{tab:system-commands-table} as requiring GNU find.
51 \end{compactitem}
52
53 -\subsubsection{Shell options}
54 -
55 -\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
56 -\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
57 -during filename expansion result in an error when the ebuild is being sourced.
58 -
59 \ChangeWhenAddingAnEAPI{6}
60 \begin{centertable}{System commands for EAPIs}
61 \label{tab:system-commands-table}
62 - \begin{tabular}{lll}
63 + \begin{tabular}{ll}
64 \toprule
65 \multicolumn{1}{c}{\textbf{EAPI}} &
66 - \multicolumn{1}{c}{\textbf{GNU \t{find}?}} &
67 - \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
68 + \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
69 \midrule
70 - 0, 1, 2, 3, 4 & Undefined & No \\
71 - 5 & Yes & No \\
72 - 6 & Yes & Yes \\
73 + 0, 1, 2, 3, 4 & Undefined \\
74 + 5, 6 & Yes \\
75 \bottomrule
76 \end{tabular}
77 \end{centertable}
78 diff --git a/ebuild-format.tex b/ebuild-format.tex
79 index 638f773..fac5c81 100644
80 --- a/ebuild-format.tex
81 +++ b/ebuild-format.tex
82 @@ -7,21 +7,26 @@ table~\ref{tab:bash-version}, or any later version. If possible, the package man
83 the shell's compatibility level to the exact version specified. It must ensure that any such
84 compatibility settings (e.\,g.\ the \t{BASH_COMPAT} variable) are not exported to external programs.
85
86 +\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:bash-version}, the \t{failglob}
87 +option of bash is set in the global scope of ebuilds. If set, failed pattern matches during
88 +filename expansion result in an error when the ebuild is being sourced.
89 +
90 The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
91 certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions}
92 for specific information), and must not call any external programs, write anything to standard
93 output or standard error, or modify the state of the system in any way.
94
95 \ChangeWhenAddingAnEAPI{6}
96 -\begin{centertable}{Bash version}
97 +\begin{centertable}{Bash version and options}
98 \label{tab:bash-version}
99 - \begin{tabular}{ll}
100 + \begin{tabular}{lll}
101 \toprule
102 \multicolumn{1}{c}{\textbf{EAPI}} &
103 - \multicolumn{1}{c}{\textbf{Bash version}} \\
104 + \multicolumn{1}{c}{\textbf{Bash version}} &
105 + \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
106 \midrule
107 - 0, 1, 2, 3, 4, 5 & 3.2 \\
108 - 6 & 4.2 \\
109 + 0, 1, 2, 3, 4, 5 & 3.2 & No \\
110 + 6 & 4.2 & Yes \\
111 \bottomrule
112 \end{tabular}
113 \end{centertable}
114 --
115 2.14.2