From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id AF65D1382C5 for ; Wed, 26 May 2021 07:13:47 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E60DCE07DB; Wed, 26 May 2021 07:13:45 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C217BE07DB for ; Wed, 26 May 2021 07:13:45 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 933B8340E31 for ; Wed, 26 May 2021 07:13:44 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 493EE797 for ; Wed, 26 May 2021 07:13:43 +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: <1621972616.a5fff31f4571e24d25ff87ee528720221253610d.ulm@gentoo> Subject: [gentoo-commits] proj/pms:eapi-8 commit in: / X-VCS-Repository: proj/pms X-VCS-Files: eapi-differences.tex ebuild-functions.tex X-VCS-Directories: / X-VCS-Committer: ulm X-VCS-Committer-Name: Ulrich Müller X-VCS-Revision: a5fff31f4571e24d25ff87ee528720221253610d X-VCS-Branch: eapi-8 Date: Wed, 26 May 2021 07:13:43 +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-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 215f83e9-928d-4283-8993-60a2ce08f71f X-Archives-Hash: e62eca39e67e98df15c11c9b0ee0e39c commit: a5fff31f4571e24d25ff87ee528720221253610d Author: Ulrich Müller gentoo org> AuthorDate: Sun May 23 09:45:56 2021 +0000 Commit: Ulrich Müller gentoo org> CommitDate: Tue May 25 19:56:56 2021 +0000 URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=a5fff31f EAPI 8 has an empty working directory in pkg_* phases https://bugs.gentoo.org/595030 Signed-off-by: Ulrich Müller gentoo.org> eapi-differences.tex | 4 ++++ ebuild-functions.tex | 26 +++++++++++++++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/eapi-differences.tex b/eapi-differences.tex index f3af563..08c4e9f 100644 --- a/eapi-differences.tex +++ b/eapi-differences.tex @@ -111,6 +111,9 @@ Use dependencies & \compactfeatureref{use-deps} & \t{!!}\ blockers & \compactfeatureref{bang-strength} & * & Strong & Strong & Strong & Strong \\ +Working directory in \t{pkg_*} phases & \compactfeatureref{phase-function-dir} & + Any & Any & Any & Any & Empty \\ + \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} & * & Conditional & Conditional & Conditional & Conditional \\ @@ -494,6 +497,7 @@ EAPI 8 is EAPI 7 with the following changes: \item Bash version is 5.0, \featureref{bash-version}. \item Selective fetch/mirror restriction, \featureref{uri-restrict}. \item \t{IDEPEND}, \featureref{idepend}. +\item Empty working directory in \t{pkg_*} phase functions, \featureref{phase-function-dir}. \end{compactitem} \ChangeWhenAddingAnEAPI{8} diff --git a/ebuild-functions.tex b/ebuild-functions.tex index ffdea16..00fd259 100644 --- a/ebuild-functions.tex +++ b/ebuild-functions.tex @@ -22,11 +22,13 @@ Ebuilds must not call nor assume the existence of any phase functions. \subsection{Initial working directories} \label{sec:s-to-workdir-fallback} -Some functions may assume that their initial working directory is set to a particular location; -these are noted below. If no initial working directory is mandated, it may be set to anything and -the ebuild must not rely upon a particular location for it. The ebuild \emph{may} assume that the -initial working directory for any phase is a trusted location that may only be written to by a -privileged user and group. +\featurelabel{phase-function-dir} Some functions may assume that their initial working directory is +set to a particular location; these are noted below. If no initial working directory is mandated, +then for EAPIs listed in table~\ref{tab:function-dirs} as having an empty directory, it must be set +to a dedicated directory that is empty at the start of the function and may be read-only. For other +EAPIs, it may be set to anything. The ebuild must not rely upon a particular location for it. +The ebuild \emph{may} assume that the initial working directory for any phase is a trusted location +that may only be written to by a privileged user and group. \featurelabel{s-workdir-fallback} Some functions are described as having an initial working directory of \t{S} with an error or fallback to \t{WORKDIR}\@. For EAPIs listed in @@ -44,6 +46,20 @@ fallback to \t{WORKDIR} is used: executed, are in \t{DEFINED_PHASES}. \end{compactitem} +\ChangeWhenAddingAnEAPI{8} +\begin{centertable}{Initial working directory in \t{pkg_*} phase functions for EAPIs} + \label{tab:function-dirs} + \begin{tabular}{ll} + \toprule + \multicolumn{1}{c}{\textbf{EAPI}} & + \multicolumn{1}{c}{\textbf{Initial working directory?}} \\ + \midrule + 0, 1, 2, 3, 4, 5, 6, 7 & Any \\ + 8 & Empty \\ + \bottomrule + \end{tabular} +\end{centertable} + \ChangeWhenAddingAnEAPI{8} \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}