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 6EC0613888F for ; Thu, 15 Oct 2015 10:43:17 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 181EB21C01B; Thu, 15 Oct 2015 10:43:11 +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 AF70421C01B for ; Thu, 15 Oct 2015 10:43:10 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 894EE340B77 for ; Thu, 15 Oct 2015 10:43:09 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 62D8310E1 for ; Thu, 15 Oct 2015 10:43:07 +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: <1444895299.2224881a5c8afa1ff4bd6314cf8e69c6025cf3b2.ulm@gentoo> Subject: [gentoo-commits] proj/pms:eapi-6 commit in: / X-VCS-Repository: proj/pms X-VCS-Files: pkg-mgr-commands.tex X-VCS-Directories: / X-VCS-Committer: ulm X-VCS-Committer-Name: Ulrich Müller X-VCS-Revision: 2224881a5c8afa1ff4bd6314cf8e69c6025cf3b2 X-VCS-Branch: eapi-6 Date: Thu, 15 Oct 2015 10:43:07 +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: 0c1f9eec-06e6-41e1-b1ba-c2b814ec3be4 X-Archives-Hash: a24fe3ec0aa929d3ee2104aaf4ecd9c2 commit: 2224881a5c8afa1ff4bd6314cf8e69c6025cf3b2 Author: Michał Górny gentoo org> AuthorDate: Wed Oct 14 16:44:02 2015 +0000 Commit: Ulrich Müller gentoo org> CommitDate: Thu Oct 15 07:48:19 2015 +0000 URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=2224881a EAPI 6: Explain eapply behavior. Bug: 463768 pkg-mgr-commands.tex | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex index 7997323..8fb8059 100644 --- a/pkg-mgr-commands.tex +++ b/pkg-mgr-commands.tex @@ -148,14 +148,41 @@ These commands are used during the \t{src\_prepare} phase to apply patches to th Ebuilds must not run any of these commands once the current phase function has returned. \begin{description} -\item[eapply] \featurelabel{eapply} +\item[eapply] \featurelabel{eapply} Takes zero or more GNU patch options, followed by one or more + file or directory paths. Processes options and applies all patches found in specified locations + according to Algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build + using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status. Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}. \end{description} \begin{algorithm} \caption{eapply logic} \label{alg:eapply} \begin{algorithmic}[1] -\STATE \COMMENT{WORK IN PROGRESS} +\IF{any parameter is equal to \t{"-{}-"}} + \STATE collect all parameters before the first \t{"-{}-"} in the \t{options} array + \STATE collect all parameters after the first \t{"-{}-"} in the \t{files} array +\ELSIF{any parameter that begins with a hyphen follows one that does not} + \STATE abort the build process with an error +\ELSE + \STATE collect all parameters beginning with a hyphen in the \t{options} array + \STATE collect all remaining parameters in the \t{files} array +\ENDIF + +\FORALL{\t{x} in the \t{files} array} + \IF{\t{\$x} is a directory} + \FORALL{files \t{f} matching \t{\$x/*.diff} or \t{\$x/*.patch}, sorted in POSIX locale} + \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$f"} + \IF{child process returned with non-zero exit status} + \STATE return immediately with an error + \ENDIF + \ENDFOR + \ELSE + \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$x"} + \IF{child process returned with non-zero exit status} + \STATE return immediately with an error + \ENDIF + \ENDIF +\ENDFOR \end{algorithmic} \end{algorithm}