1 |
>>>>> On Tue, 20 Aug 2013, Ulrich Mueller wrote: |
2 |
|
3 |
> The wording of PMS is somewhat unclear here. However, doins and |
4 |
> friends are implemented in all package managers with a check for |
5 |
> at least one parameter. The patch included below clarifies this. |
6 |
> See also <https://bugs.gentoo.org/show_bug.cgi?id=481664#c15>. |
7 |
|
8 |
Updated version. Differences to previous patch: |
9 |
- The introductory paragraph now says "filename parameter" instead |
10 |
of "parameter" to account for things like the -r option. |
11 |
- doins takes "one or more" files as arguments, not "any number" |
12 |
of files. |
13 |
|
14 |
Ulrich |
15 |
|
16 |
|
17 |
From ec8b2e97b3fbc56d838e0e2982ad2b070f237fd7 Mon Sep 17 00:00:00 2001 |
18 |
From: =?UTF-8?q?Ulrich=20M=C3=BCller?= <ulm@g.o> |
19 |
Date: Tue, 20 Aug 2013 14:40:41 +0200 |
20 |
Subject: [PATCH] Installation commands must be called with at least one parameter. |
21 |
|
22 |
Also adjust the wording for doinfo, doman, and domo, in order to |
23 |
clarify that multiple file name parameters are allowed. |
24 |
--- |
25 |
pkg-mgr-commands.tex | 25 +++++++++++++------------ |
26 |
1 file changed, 13 insertions(+), 12 deletions(-) |
27 |
|
28 |
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex |
29 |
index bafa748..acf71ac 100644 |
30 |
--- a/pkg-mgr-commands.tex |
31 |
+++ b/pkg-mgr-commands.tex |
32 |
@@ -249,8 +249,9 @@ install} target cannot be used or does not install all needed files. Except wher |
33 |
all filenames created or modified are relative to the staging directory including the offset-prefix |
34 |
\t{ED} in offset-prefix aware EAPIs, or just the staging directory \t{D} in offset-prefix agnostic |
35 |
EAPIs. Existing destination files are overwritten. These commands must all be external programs and |
36 |
-not bash functions or aliases---that is, they must be callable from \t{xargs}. Ebuilds must not run |
37 |
-any of these commands once the current phase function has returned. |
38 |
+not bash functions or aliases---that is, they must be callable from \t{xargs}. Calling any of these |
39 |
+commands without a filename parameter is an error. Ebuilds must not run any of these commands once |
40 |
+the current phase function has returned. |
41 |
|
42 |
\begin{description} |
43 |
\item[dobin] Installs the given files into \t{DESTTREE/bin}, where |
44 |
@@ -320,14 +321,14 @@ can be extended or reduced (see below). The options that can be passed to \t{doh |
45 |
It is undefined whether a failure shall occur if \t{-r} is not specified and a directory is |
46 |
encountered. Ebuilds must not rely upon any particular behaviour. |
47 |
|
48 |
-\item[doinfo] Installs a GNU Info file into the \t{/usr/share/info} area with file mode \t{0644}. |
49 |
- Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
50 |
+\item[doinfo] Installs the given GNU Info files into the \t{/usr/share/info} area with file mode |
51 |
+ \t{0644}. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
52 |
|
53 |
\item[doinitd] Installs the given initscript files into \t{/etc/init.d}, by default with file mode |
54 |
\t{0755}. This can be overridden by setting \t{EXEOPTIONS} with the \t{exeopts} function. |
55 |
Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}. |
56 |
|
57 |
-\item[doins] \featurelabel{doins} Takes any number of files as arguments and installs them into |
58 |
+\item[doins] \featurelabel{doins} Takes one or more files as arguments and installs them into |
59 |
\t{INSDESTTREE}, by default with file mode \t{0644}. This can be overridden by setting |
60 |
\t{INSOPTIONS} with the \t{insopts} function. If the first argument is \t{-r}, then operates |
61 |
recursively, descending into any directories given. For EAPIs listed in |
62 |
@@ -367,9 +368,9 @@ can be extended or reduced (see below). The options that can be passed to \t{doh |
63 |
\end{algorithmic} |
64 |
\end{algorithm} |
65 |
|
66 |
-\item[doman] Installs a man page into the appropriate subdirectory of \t{/usr/share/man} depending |
67 |
- upon its apparent section suffix (e.\,g.\ \t{foo.1} goes to \t{/usr/share/man/man1/foo.1}) with |
68 |
- file mode \t{0644}. |
69 |
+\item[doman] Installs the given man pages into the appropriate subdirectory of \t{/usr/share/man} |
70 |
+ depending upon its apparent section suffix (e.\,g.\ \t{foo.1} goes to |
71 |
+ \t{/usr/share/man/man1/foo.1}) with file mode \t{0644}. |
72 |
|
73 |
\featurelabel{doman-langs} In EAPIs listed in table~\ref{tab:doman-table} as supporting |
74 |
language detection by filename, a man page with name of the form \t{foo.}\i{lang}\t{.1} shall |
75 |
@@ -383,10 +384,10 @@ can be extended or reduced (see below). The options that can be passed to \t{doh |
76 |
the empty string. In EAPIs specified by table~\ref{tab:doman-table}, the \t{-i18n} option takes |
77 |
precedence over the language code in the filename. |
78 |
|
79 |
-\item[domo] Installs a \t{.mo} file with file mode \t{0644} into the appropriate subdirectory of |
80 |
- \t{DESTTREE\slash share\slash locale}, generated by taking the basename of the file, removing |
81 |
- the \t{.*} suffix, and appending \t{/LC\_MESSAGES}. The name of the installed files is the |
82 |
- package name with \t{.mo} appended. Failure behaviour is EAPI dependent as per |
83 |
+\item[domo] Installs the given \t{.mo} files with file mode \t{0644} into the appropriate |
84 |
+ subdirectory of \t{DESTTREE\slash share\slash locale}, generated by taking the basename of the |
85 |
+ file, removing the \t{.*} suffix, and appending \t{/LC\_MESSAGES}. The name of the installed |
86 |
+ files is the package name with \t{.mo} appended. Failure behaviour is EAPI dependent as per |
87 |
section~\ref{sec:failure-behaviour}. |
88 |
|
89 |
\item[dosbin] As \t{dobin}, but installs to \t{DESTTREE/sbin}. |
90 |
-- |
91 |
1.8.3.2 |