From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 84E481389F5 for ; Thu, 2 Apr 2015 16:11:05 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 1C5E1E0971; Thu, 2 Apr 2015 16:10:59 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 8C67DE0971 for ; Thu, 2 Apr 2015 16:10:58 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A9F463408FB for ; Thu, 2 Apr 2015 16:10:57 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id DF67015133 for ; Thu, 2 Apr 2015 16:10:48 +0000 (UTC) From: "Ulrich Müller" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ulrich Müller" Message-ID: <1427990884.e4fd289e97cd3761aae560aa2bd58a5ef39c1f09.ulm@gentoo> Subject: [gentoo-commits] proj/pms:eapi-6 commit in: / X-VCS-Repository: proj/pms X-VCS-Files: eapi-differences.tex pkg-mgr-commands.tex X-VCS-Directories: / X-VCS-Committer: ulm X-VCS-Committer-Name: Ulrich Müller X-VCS-Revision: e4fd289e97cd3761aae560aa2bd58a5ef39c1f09 X-VCS-Branch: eapi-6 Date: Thu, 2 Apr 2015 16:10:48 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 66f7fbdb-fbb2-43e4-84f5-77b3134b6a2c X-Archives-Hash: bd326c51f1ccd3074d954ffc16a95aa3 commit: e4fd289e97cd3761aae560aa2bd58a5ef39c1f09 Author: Ulrich Müller gentoo org> AuthorDate: Mon Mar 23 11:28:01 2015 +0000 Commit: Ulrich Müller gentoo org> CommitDate: Thu Apr 2 16:08:04 2015 +0000 URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=e4fd289e EAPI 6 has einstalldocs. See bug 459692. This also adds support for an empty DOCS variable (bug 463736) and for directories in DOCS (bug 481980). eapi-differences.tex | 4 ++++ pkg-mgr-commands.tex | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/eapi-differences.tex b/eapi-differences.tex index 18d660a..78b3ab2 100644 --- a/eapi-differences.tex +++ b/eapi-differences.tex @@ -234,6 +234,9 @@ Controllable compression & \compactfeatureref{docompress} & \t{default} function & \compactfeatureref{default-func} & * & Yes & Yes & Yes & Yes \\ +\t{einstalldocs} & \compactfeatureref{einstalldocs} & + No & No & No & No & Yes \\ + File mtimes preserved & \compactfeatureref{mtime-preserve} & Undefined & Yes & Yes & Yes & Yes \\ @@ -353,6 +356,7 @@ EAPI 6 is EAPI 5 with the following changes: \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{einstalldocs} support, \featureref{einstalldocs}. \end{compactitem} \ChangeWhenAddingAnEAPI{6} diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex index 4a9bc4f..cc7de5e 100644 --- a/pkg-mgr-commands.tex +++ b/pkg-mgr-commands.tex @@ -891,8 +891,42 @@ has returned. section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in table~\ref{tab:default-function-table}. + +\item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified + by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to + Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands + returns a non-zero exit status, returns immediately with the same exit status. Only available + in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}. \end{description} +\begin{algorithm} +\caption{\t{einstalldocs} logic} \label{alg:einstalldocs} +\begin{algorithmic}[1] +\STATE save the value of the install directory for \t{dodoc} +\STATE call \t{docinto .} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}}} +\IF{the DOCS variable is a non-empty array} + \STATE call \t{dodoc -r "\$\{DOCS[@]\}"} +\ELSIF{the DOCS variable is a non-empty scalar} + \STATE call \t{dodoc -r \$\{DOCS\}} +\ELSIF{the DOCS variable is unset} + \FORALL{$d$ matching the filename expansion of \t{README*} \t{ChangeLog} \t{AUTHORS} \t{NEWS} + \t{TODO} \t{CHANGES} \t{THANKS} \t{BUGS} \t{FAQ} \t{CREDITS} \t{CHANGELOG}} + \IF{file $d$ exists and has a size greater than zero} + \STATE call \t{dodoc} with $d$ as argument + \ENDIF + \ENDFOR +\ENDIF +\STATE call \t{docinto html} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}/html}} +\IF{the HTML\_DOCS variable is a non-empty array} + \STATE call \t{dodoc -r "\$\{HTML\_DOCS[@]\}"} +\ELSIF{the HTML\_DOCS variable is a non-empty scalar} + \STATE call \t{dodoc -r \$\{HTML\_DOCS\}} +\ENDIF +\STATE restore the value of the install directory for \t{dodoc} +\RETURN shell true (0) +\end{algorithmic} +\end{algorithm} + \ChangeWhenAddingAnEAPI{6} \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table} @@ -907,6 +941,20 @@ has returned. \end{tabular} \end{centertable} +\ChangeWhenAddingAnEAPI{6} +\begin{centertable}{EAPIs supporting \t{einstalldocs}} + \label{tab:einstalldocs} + \begin{tabular}{ l l } + \toprule + \multicolumn{1}{c}{\textbf{EAPI}} & + \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\ + \midrule + 0, 1, 2, 3, 4, 5 & No \\ + 6 & Yes \\ + \bottomrule + \end{tabular} +\end{centertable} + \subsubsection{Debug Commands} The following commands are available for debugging. Normally all of these commands should be no ops; a package manager may provide a special debug mode where these commands instead do something.