commit: b4b880d199461c33bf4a99e0157455b522bef5ce
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:06:08 2015 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 19:06:08 2015 +0000
URL: http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=b4b880d1
EAPI 6: unpack supports absolute and relative paths.
See bug 483244.
---
eapi-differences.tex | 4 ++++
pkg-mgr-commands.tex | 35 +++++++++++++++++++++--------------
2 files changed, 25 insertions(+), 14 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 44e383a..d29da60 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -204,6 +204,9 @@ Controllable compression & \compactfeatureref{docompress} &
\t{usex} & \compactfeatureref{usex} &
No & No & No & Yes & Yes \\
+\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
+ No & No & No & No & Yes \\
+
\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
No & Yes & Yes & Yes & Yes \\
@@ -329,6 +332,7 @@ EAPI 6 is EAPI 5 with the following changes:
\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{unpack} supports absolute and relative paths,
\featureref{unpack-absolute}.
\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
\item \t{unpack} matches filename extensions case-insensitively,
\featureref{unpack-ignore-case}.
\item \t{get\_libdir} support, \featureref{get-libdir}.
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 2fee628..5fd3d62 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -799,9 +799,15 @@ has returned.
the current working directory itself) have permissions \t{a+r,u+w,go-w}
and that all directories
under the current working directory additionally have permissions \t{a+x}.
- All arguments to \t{unpack} must be either a filename without path, in
which case \t{unpack}
- looks in \t{DISTDIR} for the file, or start with the string \t{./}, in
which case \t{unpack}
- uses the argument as a path relative to the working directory.
+ Arguments to \t{unpack} are interpreted as follows:
+ \begin{itemize}
+ \item A filename without path (i.\,e., not containing any slash) is looked
up in \t{DISTDIR}.
+ \item An argument starting with the string \t{./} is a path relative to
the working directory.
+ \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
+ table~\ref{tab:unpack-behaviour-table} as supporting absolute and
relative paths, the
+ argument is interpreted as a literal path (absolute, or relative to
the working directory);
+ for EAPIs listed as \e{not} supporting such paths, \t{unpack} shall
abort the build process.
+ \end{itemize}
Any unrecognised file format shall be skipped silently. If unpacking a
supported file format
fails, \t{unpack} shall abort the build process.
@@ -838,7 +844,7 @@ has returned.
being in the system set or via dependencies.
\featurelabel{unpack-ignore-case} \t{unpack} matches filename extensions
in a case-insensitive
- manner, for EAPIs listed such in table~\ref{tab:unpack-ignore-case-table}.
+ manner, for EAPIs listed such in table~\ref{tab:unpack-behaviour-table}.
\ChangeWhenAddingAnEAPI{6}
\begin{centertable}{\t{unpack} extensions for EAPIs}
\label{tab:unpack-extensions-table}
@@ -860,20 +866,21 @@ has returned.
\end{centertable}
\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with case-insensitive filename matching in
\t{unpack}}
- \label{tab:unpack-ignore-case-table}
- \begin{tabular}{ l l }
+\begin{centertable}{\t{unpack} behaviour for EAPIs}
+ \label{tab:unpack-behaviour-table}
+ \begin{tabular}{ l l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}}
&
\multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
\midrule
- \t{0} & No \\
- \t{1} & No \\
- \t{2} & No \\
- \t{3} & No \\
- \t{4} & No \\
- \t{5} & No \\
- \t{6} & Yes \\
+ \t{0} & No & No \\
+ \t{1} & No & No \\
+ \t{2} & No & No \\
+ \t{3} & No & No \\
+ \t{4} & No & No \\
+ \t{5} & No & No \\
+ \t{6} & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}