summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2017-09-29 17:01:17 +0200
committerUlrich Müller <ulm@gentoo.org>2017-09-29 17:01:17 +0200
commite755c1d3ab05e81bd23d0cd0605b0552691281bd (patch)
treeef2b21e4ab561d9478f244077e2479a3abfc0011
parentFix wasteful layout of dependency classes table. (diff)
downloadpms-e755c1d3ab05e81bd23d0cd0605b0552691281bd.tar.gz
pms-e755c1d3ab05e81bd23d0cd0605b0552691281bd.tar.bz2
pms-e755c1d3ab05e81bd23d0cd0605b0552691281bd.zip
Move shell options to "Ebuild file format" chapter.
Since this paragraph is about Bash options like failglob, it fits better with the Bash version than with "System commands".
-rw-r--r--eapi-differences.tex8
-rw-r--r--ebuild-env-commands.tex16
-rw-r--r--ebuild-format.tex15
3 files changed, 18 insertions, 21 deletions
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 8f8bf72..2b74e05 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -46,6 +46,9 @@ Stable use masking/forcing & \compactfeatureref{stablemask} &
Bash version & \compactfeatureref{bash-version} &
3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
+\t{failglob} in global scope & \compactfeatureref{failglob} &
+ No & No & No & No & Yes \\
+
\t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
* & Yes & Yes & Yes & Yes \\
@@ -147,9 +150,6 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
\t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
No & Yes & Yes & Yes & Yes \\
-\t{failglob} in global scope & \compactfeatureref{failglob} &
- No & No & No & No & Yes \\
-
\t{find} is GNU? & \compactfeatureref{gnu-find} &
Undefined & Undefined & Undefined & Yes & Yes \\
@@ -346,10 +346,10 @@ EAPI 6 is EAPI 5 with the following changes:
\begin{compactitem}
\item Bash version is 4.2, \featureref{bash-version}.
+\item \t{failglob} is enabled in global scope, \featureref{failglob}.
\item Default \t{src_prepare} no longer a no-op, \featureref{src-prepare-6}.
\item Different \t{src_install} implementation, \featureref{src-install-6}.
\item \t{LC_CTYPE} and \t{LC_COLLATE} compatible with POSIX locale, \featureref{locale-settings}.
-\item \t{failglob} is enabled in global scope, \featureref{failglob}.
\item \t{einstall} banned, \featureref{banned-commands}.
\item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
\item \t{eapply} support, \featureref{eapply}.
diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index d1773f5..650d200 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -32,24 +32,16 @@ The following commands must always be available in the ebuild environment:
table~\ref{tab:system-commands-table} as requiring GNU find.
\end{compactitem}
-\subsubsection{Shell options}
-
-\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
-\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
-during filename expansion result in an error when the ebuild is being sourced.
-
\ChangeWhenAddingAnEAPI{6}
\begin{centertable}{System commands for EAPIs}
\label{tab:system-commands-table}
- \begin{tabular}{lll}
+ \begin{tabular}{ll}
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{GNU \t{find}?}} &
- \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
+ \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
\midrule
- 0, 1, 2, 3, 4 & Undefined & No \\
- 5 & Yes & No \\
- 6 & Yes & Yes \\
+ 0, 1, 2, 3, 4 & Undefined \\
+ 5, 6 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
diff --git a/ebuild-format.tex b/ebuild-format.tex
index 638f773..fac5c81 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -7,21 +7,26 @@ table~\ref{tab:bash-version}, or any later version. If possible, the package man
the shell's compatibility level to the exact version specified. It must ensure that any such
compatibility settings (e.\,g.\ the \t{BASH_COMPAT} variable) are not exported to external programs.
+\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:bash-version}, the \t{failglob}
+option of bash is set in the global scope of ebuilds. If set, failed pattern matches during
+filename expansion result in an error when the ebuild is being sourced.
+
The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions}
for specific information), and must not call any external programs, write anything to standard
output or standard error, or modify the state of the system in any way.
\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Bash version}
+\begin{centertable}{Bash version and options}
\label{tab:bash-version}
- \begin{tabular}{ll}
+ \begin{tabular}{lll}
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Bash version}} \\
+ \multicolumn{1}{c}{\textbf{Bash version}} &
+ \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
\midrule
- 0, 1, 2, 3, 4, 5 & 3.2 \\
- 6 & 4.2 \\
+ 0, 1, 2, 3, 4, 5 & 3.2 & No \\
+ 6 & 4.2 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}