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 00D6713835A for ; Tue, 18 May 2021 05:44:43 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6923AE0829; Tue, 18 May 2021 05:44:39 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (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 4F921E0828 for ; Tue, 18 May 2021 05:44:39 +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 214A1340FB2 for ; Tue, 18 May 2021 05:44:38 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 8423179B for ; Tue, 18 May 2021 05:44:34 +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: <1621316655.49bf9d7d0e648eeb0bb5891e2c5805f0a7466c64.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: 49bf9d7d0e648eeb0bb5891e2c5805f0a7466c64 X-VCS-Branch: eapi-8 Date: Tue, 18 May 2021 05:44:34 +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: 50ed479c-dea0-4cac-87c6-354185d52e92 X-Archives-Hash: daa63ef836d1ec6a4a595719b5c5ccc5 commit: 49bf9d7d0e648eeb0bb5891e2c5805f0a7466c64 Author: Ulrich Müller gentoo org> AuthorDate: Sun May 16 18:22:15 2021 +0000 Commit: Ulrich Müller gentoo org> CommitDate: Tue May 18 05:44:15 2021 +0000 URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=49bf9d7d 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