1 |
commit: 402c5b58362e5a4923df2667bb0605f23f35249d |
2 |
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun May 16 16:15:04 2021 +0000 |
4 |
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon May 17 21:29:12 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=402c5b58 |
7 |
|
8 |
EAPI 8: insopts and exeopts affect only doins and doexe |
9 |
|
10 |
Bug: https://bugs.gentoo.org/657580 |
11 |
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org> |
12 |
|
13 |
eapi-differences.tex | 8 +++++++ |
14 |
pkg-mgr-commands.tex | 64 ++++++++++++++++++++++++++++++++++++++++++---------- |
15 |
2 files changed, 60 insertions(+), 12 deletions(-) |
16 |
|
17 |
diff --git a/eapi-differences.tex b/eapi-differences.tex |
18 |
index 1cf3ce9..5abc5e4 100644 |
19 |
--- a/eapi-differences.tex |
20 |
+++ b/eapi-differences.tex |
21 |
@@ -296,6 +296,12 @@ Output commands use stdout & \compactfeatureref{output-no-stdout} & |
22 |
\t{new*} support stdin & \compactfeatureref{newfoo-stdin} & |
23 |
No & Yes & Yes & Yes & Yes \\ |
24 |
|
25 |
+\t{insopts} affects misc.\ commands & \compactfeatureref{insopts} & |
26 |
+ Yes & Yes & Yes & Yes & No \\ |
27 |
+ |
28 |
+\t{exeopts} affects \t{doinitd} & \compactfeatureref{exeopts} & |
29 |
+ Yes & Yes & Yes & Yes & No \\ |
30 |
+ |
31 |
Controllable compression & \compactfeatureref{docompress} & |
32 |
* & Yes & Yes & Yes & Yes \\ |
33 |
|
34 |
@@ -517,6 +523,8 @@ EAPI 8 is EAPI 7 with the following changes: |
35 |
\item \t{econf} adds \t{-{}-datarootdir}, \featureref{econf-options}. |
36 |
\item \t{econf} adds \t{-{}-disable-static}, \featureref{econf-options}. |
37 |
\item \t{dosym} can create relative paths, \featureref{dosym-relative}. |
38 |
+\item \t{insopts} no longer affects \t{doconfd}, \t{doenvd} and \t{doheader}, \featureref{insopts}. |
39 |
+\item \t{exeopts} no longer affects \t{doinitd}, \featureref{exeopts}. |
40 |
\end{compactitem} |
41 |
|
42 |
\ChangeWhenAddingAnEAPI{8} |
43 |
|
44 |
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex |
45 |
index 54ea342..4e2c0fd 100644 |
46 |
--- a/pkg-mgr-commands.tex |
47 |
+++ b/pkg-mgr-commands.tex |
48 |
@@ -473,8 +473,9 @@ the current phase function has returned. |
49 |
\t{joe:users}. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
50 |
|
51 |
\item[doconfd] Installs the given config files into \t{/etc/conf.d/}, by default with file mode |
52 |
- \t{0644}, or with the \t{install} options set by the most recent \t{insopts} call. |
53 |
- Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
54 |
+ \t{0644}. For EAPIs listed in table~\ref{tab:insopts-commands} as respecting \t{insopts} |
55 |
+ in \t{doconfd}, the \t{install} options set by the most recent \t{insopts} call override |
56 |
+ the default. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
57 |
|
58 |
\item[dodir] Creates the given directories, by default with file mode \t{0755}, or with the |
59 |
\t{install} options set by the most recent \t{diropts} call. Failure behaviour is EAPI |
60 |
@@ -491,8 +492,9 @@ the current phase function has returned. |
61 |
section~\ref{sec:failure-behaviour}. |
62 |
|
63 |
\item[doenvd] Installs the given environment files into \t{/etc/env.d/}, by default with file mode |
64 |
- \t{0644}, or with the \t{install} options set by the most recent \t{insopts} call. |
65 |
- Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
66 |
+ \t{0644}. For EAPIs listed in table~\ref{tab:insopts-commands} as respecting \t{insopts} |
67 |
+ in \t{doenvd}, the \t{install} options set by the most recent \t{insopts} call override |
68 |
+ the default. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
69 |
|
70 |
\item[doexe] Installs the given files into the directory specified by the most recent \t{exeinto} |
71 |
call. If \t{exeinto} has not yet been called, behaviour is undefined. Files are installed by |
72 |
@@ -507,9 +509,10 @@ the current phase function has returned. |
73 |
section~\ref{sec:banned-commands}. |
74 |
|
75 |
\item[doheader] \featurelabel{doheader} Installs the given header files into \t{/usr/include/}, |
76 |
- by default with file mode \t{0644}, or with the \t{install} options set by the most recent |
77 |
- \t{insopts} call. If the first argument is \t{-r}, then operates recursively, descending |
78 |
- into any directories given. |
79 |
+ by default with file mode \t{0644}. For EAPIs listed in table~\ref{tab:insopts-commands} |
80 |
+ as respecting \t{insopts} in \t{doheader}, the \t{install} options set by the most recent |
81 |
+ \t{insopts} call override the default. If the first argument is \t{-r}, then operates |
82 |
+ recursively, descending into any directories given. |
83 |
Only available in EAPIs listed in table~\ref{tab:doheader-table} as supporting \t{doheader}. |
84 |
Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
85 |
|
86 |
@@ -542,8 +545,9 @@ the current phase function has returned. |
87 |
\t{0644}. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
88 |
|
89 |
\item[doinitd] Installs the given initscript files into \t{/etc/init.d}, by default with file mode |
90 |
- \t{0755}, or with the \t{install} options set by the most recent \t{exeopts} call. |
91 |
- Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
92 |
+ \t{0755}. For EAPIs listed in table~\ref{tab:insopts-commands} as respecting \t{insopts} |
93 |
+ in \t{doinitd}, the \t{install} options set by the most recent \t{exeopts} call override |
94 |
+ the default. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
95 |
|
96 |
\item[doins] \featurelabel{doins} Takes one or more files as arguments and installs them into |
97 |
\t{INSDESTTREE}, by default with file mode \t{0644}, or with the \t{install} options set by |
98 |
@@ -794,12 +798,16 @@ function has returned. |
99 |
|
100 |
\item[docinto] As \t{into}, for install subdirectory of \t{dodoc} et al. |
101 |
|
102 |
-\item[insopts] Takes one or more arguments, and sets the options passed by \t{doins} et al.\ |
103 |
- to the \t{install} command to them. Behaviour upon encountering empty arguments is undefined. |
104 |
+\item[insopts] \featurelabel{insopts} Takes one or more arguments, and sets the options passed by |
105 |
+ \t{doins} et al.\ to the \t{install} command to them. Behaviour upon encountering empty |
106 |
+ arguments is undefined. Depending on EAPI, affects only those commands that are specified |
107 |
+ by table~\ref{tab:insopts-commands} as respecting \t{insopts}. |
108 |
|
109 |
\item[diropts] As \t{insopts}, for \t{dodir} et al. |
110 |
|
111 |
-\item[exeopts] As \t{insopts}, for \t{doexe} et al. |
112 |
+\item[exeopts] \featurelabel{exeopts} As \t{insopts}, for \t{doexe} et al. Depending on EAPI, |
113 |
+ affects only those commands that are specified by table~\ref{tab:exeopts-commands} |
114 |
+ as respecting \t{exeopts}. |
115 |
|
116 |
\item[libopts] As \t{insopts}, for \t{dolib} et al. |
117 |
In EAPIs listed in table~\ref{tab:banned-commands-1}, this command is banned as |
118 |
@@ -807,6 +815,38 @@ function has returned. |
119 |
|
120 |
\end{description} |
121 |
|
122 |
+\ChangeWhenAddingAnEAPI{8} |
123 |
+\begin{centertable}{Commands respecting \t{insopts} for EAPIs} |
124 |
+ \label{tab:insopts-commands} |
125 |
+ \begin{tabular}{lllll} |
126 |
+ \toprule |
127 |
+ \multicolumn{1}{c}{\textbf{EAPI}} & |
128 |
+ \multicolumn{1}{c}{\textbf{\t{doins}?}} & |
129 |
+ \multicolumn{1}{c}{\textbf{\t{doconfd}?}} & |
130 |
+ \multicolumn{1}{c}{\textbf{\t{doenvd}?}} & |
131 |
+ \multicolumn{1}{c}{\textbf{\t{doheader}?}} \\ |
132 |
+ \midrule |
133 |
+ 0, 1, 2, 3, 4, 5, 6, 7 & Yes & Yes & Yes & Yes \\ |
134 |
+ 8 & Yes & No & No & No \\ |
135 |
+ \bottomrule |
136 |
+ \end{tabular} |
137 |
+\end{centertable} |
138 |
+ |
139 |
+\ChangeWhenAddingAnEAPI{8} |
140 |
+\begin{centertable}{Commands respecting \t{exeopts} for EAPIs} |
141 |
+ \label{tab:exeopts-commands} |
142 |
+ \begin{tabular}{lll} |
143 |
+ \toprule |
144 |
+ \multicolumn{1}{c}{\textbf{EAPI}} & |
145 |
+ \multicolumn{1}{c}{\textbf{\t{doexe}?}} & |
146 |
+ \multicolumn{1}{c}{\textbf{\t{doinitd}?}} \\ |
147 |
+ \midrule |
148 |
+ 0, 1, 2, 3, 4, 5, 6, 7 & Yes & Yes \\ |
149 |
+ 8 & Yes & No \\ |
150 |
+ \bottomrule |
151 |
+ \end{tabular} |
152 |
+\end{centertable} |
153 |
+ |
154 |
\subsection{Commands controlling manipulation of files in the staging area} |
155 |
These commands are used to control optional manipulations that the package manager may perform on |
156 |
files in the staging directory \t{ED}, like compressing files or stripping symbols from object |