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 7CFB91382C5 for ; Wed, 19 May 2021 15:38:52 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 787A6E0882; Wed, 19 May 2021 15:38:51 +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 56912E0882 for ; Wed, 19 May 2021 15:38:51 +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 6F815335C02 for ; Wed, 19 May 2021 15:38:50 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 090FC79E for ; Wed, 19 May 2021 15:38:47 +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: <1621438660.3263b7aeca96da7efb1f3f73361bf2c8445e09d6.ulm@gentoo> Subject: [gentoo-commits] proj/pms:eapi-8 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: 3263b7aeca96da7efb1f3f73361bf2c8445e09d6 X-VCS-Branch: eapi-8 Date: Wed, 19 May 2021 15:38:47 +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: 4719e704-1452-4eaa-89a8-2e9a5b8c17cd X-Archives-Hash: 6cea35c39926b1ac7d2ffd2f94fa281b commit: 3263b7aeca96da7efb1f3f73361bf2c8445e09d6 Author: Ulrich Müller gentoo org> AuthorDate: Sun May 16 18:22:15 2021 +0000 Commit: Ulrich Müller gentoo org> CommitDate: Wed May 19 15:37:40 2021 +0000 URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=3263b7ae EAPI 8 has dosym -r Bug: https://bugs.gentoo.org/708360 Signed-off-by: Ulrich Müller gentoo.org> eapi-differences.tex | 4 ++++ pkg-mgr-commands.tex | 38 +++++++++++++++++++++++++++++++++++--- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/eapi-differences.tex b/eapi-differences.tex index 1503053..1cf3ce9 100644 --- a/eapi-differences.tex +++ b/eapi-differences.tex @@ -290,6 +290,9 @@ Output commands use stdout & \compactfeatureref{output-no-stdout} & \t{domo} destination path & \compactfeatureref{domo-path} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{/usr} & \t{/usr} \\ +\t{dosym -r} & \compactfeatureref{dosym-relative} & + No & No & No & No & Yes \\ + \t{new*} support stdin & \compactfeatureref{newfoo-stdin} & No & Yes & Yes & Yes & Yes \\ @@ -513,6 +516,7 @@ EAPI 8 is EAPI 7 with the following changes: \item \t{hasv} and \t{hasq} banned, \featureref{banned-commands}. \item \t{econf} adds \t{-{}-datarootdir}, \featureref{econf-options}. \item \t{econf} adds \t{-{}-disable-static}, \featureref{econf-options}. +\item \t{dosym} can create relative paths, \featureref{dosym-relative}. \end{compactitem} \ChangeWhenAddingAnEAPI{8} diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex index 46507b7..54ea342 100644 --- a/pkg-mgr-commands.tex +++ b/pkg-mgr-commands.tex @@ -612,9 +612,27 @@ the current phase function has returned. \item[dosbin] As \t{dobin}, but installs to \t{DESTTREE/sbin}. -\item[dosym] Creates a symbolic link named as for its second parameter, pointing to the first. If - the directory containing the new link does not exist, creates it. Failure behaviour is EAPI - dependent as per section~\ref{sec:failure-behaviour}. +\item[dosym] Creates a symbolic link named as for its second parameter, pointing to the first. + If the directory containing the new link does not exist, creates it. + + \featurelabel{dosym-relative} In EAPIs listed in table~\ref{tab:dosym-r} as supporting creation + of relative paths, when called with option \t{-r}, expands the first parameter relative to + the apparent path of the directory containing the first parameter. The algorithm must return + a result identical to the one returned by the function in listing~\ref{lst:dosym-r}, + with \t{realpath} and \t{dirname} from GNU coreutils version~8.32. Specifying option \t{-r} + together with a relative path as first (target) parameter is an error. + + Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. + +\begin{listing}[h] +\caption{Create a relative path for \t{dosym -r}} \label{lst:dosym-r} +\begin{verbatim} +dosym_relative_path() { + local link=$(realpath -m -s "/${2#/}") + realpath -m -s --relative-to="$(dirname "${link}")" "$1" +} +\end{verbatim} +\end{listing} \item[fowners] Acts as for \t{chown}, but takes paths relative to the image directory. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. @@ -742,6 +760,20 @@ the current phase function has returned. \end{tabular} \end{centertable} +\ChangeWhenAddingAnEAPI{8} +\begin{centertable}{EAPIs supporting \t{dosym -r}} + \label{tab:dosym-r} + \begin{tabular}{ll} + \toprule + \multicolumn{1}{c}{\textbf{EAPI}} & + \multicolumn{1}{c}{\textbf{\t{dosym} supports creation of relative paths?}} \\ + \midrule + 0, 1, 2, 3, 4, 5, 6, 7 & No \\ + 8 & Yes \\ + \bottomrule + \end{tabular} +\end{centertable} + \subsection{Commands affecting install destinations} The following commands are used to set the various destination trees and options used by the above installation commands. They must be shell functions or aliases, due to the need to set variables