Gentoo Archives: gentoo-pms

From: Ulrich Mueller <ulm@g.o>
To: gentoo-pms@l.g.o
Cc: council@g.o
Subject: [gentoo-pms] Re: [PATCH] Installation commands must be called with at least one parameter.
Date: Thu, 22 Aug 2013 11:03:40
Message-Id: 21013.61440.428366.727314@a1i15.kph.uni-mainz.de
In Reply to: [gentoo-pms] [PATCH] Installation commands must be called with at least one parameter. by Ulrich Mueller
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

Replies