\chapter{Ebuild File Format} \label{sec:ebuild-format} \featurelabel{bash-version} The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter is assumed to be GNU bash, version as listed in table~\ref{tab:bash-version}, or any later version. If possible, the package manager should set 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. 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} \label{tab:bash-version} \begin{tabular}{ll} \toprule \multicolumn{1}{c}{\textbf{EAPI}} & \multicolumn{1}{c}{\textbf{Bash version}} \\ \midrule 0, 1, 2, 3, 4, 5 & 3.2 \\ 6 & 4.2 \\ \bottomrule \end{tabular} \end{centertable} % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en : %%% Local Variables: %%% mode: latex %%% TeX-master: "pms" %%% LaTeX-indent-level: 4 %%% LaTeX-item-indent: 0 %%% TeX-brace-indent-level: 4 %%% fill-column: 100 %%% End: