summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2015-11-12 17:00:45 +0100
committerUlrich Müller <ulm@gentoo.org>2015-11-12 17:00:45 +0100
commit4613bb8299b410c8434e210219f6f57c1a788775 (patch)
tree266b1b0302911c6ef648f5ffd370979778722d90
parentEAPI 6 has been approved by the Council. (diff)
downloadpms-4613bb8299b410c8434e210219f6f57c1a788775.tar.gz
pms-4613bb8299b410c8434e210219f6f57c1a788775.tar.bz2
pms-4613bb8299b410c8434e210219f6f57c1a788775.zip
EAPI 6: Ensure sane settings for LC_CTYPE and LC_COLLATE.
Some locales (e.g. tr_TR) change the upper/lowercase mapping for ASCII characters, which breaks the tr(1) command and the case-modifying word expansions of Bash version 4. Therefore, ensure that LC_CTYPE and LC_COLLATE behave in the same way as the POSIX locale, for characters in the ASCII range.
-rw-r--r--eapi-differences.tex4
-rw-r--r--ebuild-env-vars.tex19
2 files changed, 23 insertions, 0 deletions
diff --git a/eapi-differences.tex b/eapi-differences.tex
index d4a90e0..28ef6e3 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -132,6 +132,9 @@ Parallel tests & \compactfeatureref{parallel-tests} &
\t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
No & No & Yes & Yes & Yes \\
+Sane locale settings & \compactfeatureref{locale-settings} &
+ Undefined & Undefined & Undefined & Undefined & Yes \\
+
Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
No & No & No & Yes & Yes \\
@@ -345,6 +348,7 @@ EAPI 6 is EAPI 5 with the following changes:
\item Bash version is 4.2, \featureref{bash-version}.
\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}.
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8a9be0e..ef8bdcd 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -292,6 +292,25 @@ package manager specific directories.
\t{GZIP}, \t{BZIP}, \t{BZIP2}, \t{CDPATH}, \t{GREP\_OPTIONS}, \t{GREP\_COLOR} and \t{GLOBIGNORE}
must not be set.
+\featurelabel{locale-settings} The package manager must ensure that the \t{LC\_CTYPE} and
+\t{LC\_COLLATE} locale categories are equivalent to the POSIX locale, as far as characters in the
+ASCII range (U+0000 to U+007F) are concerned. Only for EAPIs listed in such a manner in
+table~\ref{tab:locale-settings}.
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Locale settings for EAPIs}
+ \label{tab:locale-settings}
+ \begin{tabular}{ll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{Sane \t{LC\_CTYPE} and \t{LC\_COLLATE}?}} \\
+ \midrule
+ 0, 1, 2, 3, 4, 5 & Undefined \\
+ 6 & Yes \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
+
\subsection{USE and IUSE Handling}
\label{sec:use-iuse-handling}