From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1283913-garchives=archives.gentoo.org@lists.gentoo.org>
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 3AB9B1382C5
	for <garchives@archives.gentoo.org>; Wed, 19 May 2021 15:38:54 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 92655E088A;
	Wed, 19 May 2021 15:38:52 +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 6A0A5E088A
	for <gentoo-commits@lists.gentoo.org>; Wed, 19 May 2021 15:38:52 +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 78E8C34096C
	for <gentoo-commits@lists.gentoo.org>; Wed, 19 May 2021 15:38:50 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 1C98679F
	for <gentoo-commits@lists.gentoo.org>; Wed, 19 May 2021 15:38:47 +0000 (UTC)
From: "Ulrich Müller" <ulm@gentoo.org>
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" <ulm@gentoo.org>
Message-ID: <1621438660.3839f6bb6ca18867afc84cb5517029ce4f29a90a.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: 3839f6bb6ca18867afc84cb5517029ce4f29a90a
X-VCS-Branch: eapi-8
Date: Wed, 19 May 2021 15:38:47 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 4adf6692-8449-438c-b87e-70d0c17eec34
X-Archives-Hash: fdd5ea50a11fef40224bce7fc211698d

commit:     3839f6bb6ca18867afc84cb5517029ce4f29a90a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 16 16:15:04 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed May 19 15:37:40 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3839f6bb

EAPI 8: insopts and exeopts affect only doins and doexe

Bug: https://bugs.gentoo.org/657580
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-differences.tex |  8 +++++++
 pkg-mgr-commands.tex | 64 ++++++++++++++++++++++++++++++++++++++++++----------
 2 files changed, 60 insertions(+), 12 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 1cf3ce9..5abc5e4 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -296,6 +296,12 @@ Output commands use stdout & \compactfeatureref{output-no-stdout} &
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{insopts} affects misc.\ commands & \compactfeatureref{insopts} &
+    Yes & Yes & Yes & Yes & No \\
+
+\t{exeopts} affects \t{doinitd} & \compactfeatureref{exeopts} &
+    Yes & Yes & Yes & Yes & No \\
+
 Controllable compression & \compactfeatureref{docompress} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -517,6 +523,8 @@ EAPI 8 is EAPI 7 with the following changes:
 \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}.
+\item \t{insopts} no longer affects \t{doconfd}, \t{doenvd} and \t{doheader}, \featureref{insopts}.
+\item \t{exeopts} no longer affects \t{doinitd}, \featureref{exeopts}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{8}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 54ea342..4e2c0fd 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -473,8 +473,9 @@ the current phase function has returned.
     \t{joe:users}. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[doconfd] Installs the given config files into \t{/etc/conf.d/}, by default with file mode
-    \t{0644}, or with the \t{install} options set by the most recent \t{insopts} call.
-    Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+    \t{0644}. For EAPIs listed in table~\ref{tab:insopts-commands} as respecting \t{insopts}
+    in \t{doconfd}, the \t{install} options set by the most recent \t{insopts} call override
+    the default. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[dodir] Creates the given directories, by default with file mode \t{0755}, or with the
     \t{install} options set by the most recent \t{diropts} call. Failure behaviour is EAPI
@@ -491,8 +492,9 @@ the current phase function has returned.
     section~\ref{sec:failure-behaviour}.
 
 \item[doenvd] Installs the given environment files into \t{/etc/env.d/}, by default with file mode
-    \t{0644}, or with the \t{install} options set by the most recent \t{insopts} call.
-    Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+    \t{0644}. For EAPIs listed in table~\ref{tab:insopts-commands} as respecting \t{insopts}
+    in \t{doenvd}, the \t{install} options set by the most recent \t{insopts} call override
+    the default. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[doexe] Installs the given files into the directory specified by the most recent \t{exeinto}
     call. If \t{exeinto} has not yet been called, behaviour is undefined. Files are installed by
@@ -507,9 +509,10 @@ the current phase function has returned.
     section~\ref{sec:banned-commands}.
 
 \item[doheader] \featurelabel{doheader} Installs the given header files into \t{/usr/include/},
-    by default with file mode \t{0644}, or with the \t{install} options set by the most recent
-    \t{insopts} call. If the first argument is \t{-r}, then operates recursively, descending
-    into any directories given.
+    by default with file mode \t{0644}. For EAPIs listed in table~\ref{tab:insopts-commands}
+    as respecting \t{insopts} in \t{doheader}, the \t{install} options set by the most recent
+    \t{insopts} call override the default. If the first argument is \t{-r}, then operates
+    recursively, descending into any directories given.
     Only available in EAPIs listed in table~\ref{tab:doheader-table} as supporting \t{doheader}.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
@@ -542,8 +545,9 @@ the current phase function has returned.
     \t{0644}. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[doinitd] Installs the given initscript files into \t{/etc/init.d}, by default with file mode
-    \t{0755}, or with the \t{install} options set by the most recent \t{exeopts} call.
-    Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+    \t{0755}. For EAPIs listed in table~\ref{tab:insopts-commands} as respecting \t{insopts}
+    in \t{doinitd}, the \t{install} options set by the most recent \t{exeopts} call override
+    the default. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[doins] \featurelabel{doins} Takes one or more files as arguments and installs them into
     \t{INSDESTTREE}, by default with file mode \t{0644}, or with the \t{install} options set by
@@ -794,12 +798,16 @@ function has returned.
 
 \item[docinto] As \t{into}, for install subdirectory of \t{dodoc} et al.
 
-\item[insopts] Takes one or more arguments, and sets the options passed by \t{doins} et al.\
-    to the \t{install} command to them. Behaviour upon encountering empty arguments is undefined.
+\item[insopts] \featurelabel{insopts} Takes one or more arguments, and sets the options passed by
+    \t{doins} et al.\ to the \t{install} command to them. Behaviour upon encountering empty
+    arguments is undefined. Depending on EAPI, affects only those commands that are specified
+    by table~\ref{tab:insopts-commands} as respecting \t{insopts}.
 
 \item[diropts] As \t{insopts}, for \t{dodir} et al.
 
-\item[exeopts] As \t{insopts}, for \t{doexe} et al.
+\item[exeopts] \featurelabel{exeopts} As \t{insopts}, for \t{doexe} et al. Depending on EAPI,
+    affects only those commands that are specified by table~\ref{tab:exeopts-commands}
+    as respecting \t{exeopts}.
 
 \item[libopts] As \t{insopts}, for \t{dolib} et al.
     In EAPIs listed in table~\ref{tab:banned-commands-1}, this command is banned as
@@ -807,6 +815,38 @@ function has returned.
 
 \end{description}
 
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{Commands respecting \t{insopts} for EAPIs}
+    \label{tab:insopts-commands}
+    \begin{tabular}{lllll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{doins}?}} &
+      \multicolumn{1}{c}{\textbf{\t{doconfd}?}} &
+      \multicolumn{1}{c}{\textbf{\t{doenvd}?}} &
+      \multicolumn{1}{c}{\textbf{\t{doheader}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5, 6, 7  & Yes & Yes & Yes & Yes \\
+      8                       & Yes & No  & No  & No  \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{Commands respecting \t{exeopts} for EAPIs}
+    \label{tab:exeopts-commands}
+    \begin{tabular}{lll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{doexe}?}} &
+      \multicolumn{1}{c}{\textbf{\t{doinitd}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5, 6, 7  & Yes & Yes \\
+      8                       & Yes & No  \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsection{Commands controlling manipulation of files in the staging area}
 These commands are used to control optional manipulations that the package manager may perform on
 files in the staging directory \t{ED}, like compressing files or stripping symbols from object