Gentoo Archives: gentoo-pms

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