Gentoo Archives: gentoo-commits

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/pms:eapi-8 commit in: /
Date: Mon, 17 May 2021 21:30:30
Message-Id: 1621286952.402c5b58362e5a4923df2667bb0605f23f35249d.ulm@gentoo
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