Gentoo Archives: gentoo-pms

From: Ulrich Mueller <ulm@g.o>
To: "Michał Górny" <mgorny@g.o>
Cc: gentoo-pms@l.g.o
Subject: Re: [gentoo-pms] [PATCH eapi8] EAPI 8 has install-time dependencies (IDEPEND)
Date: Mon, 23 Dec 2019 07:21:56
Message-Id: w6g5zi7ld6h.fsf@kph.uni-mainz.de
In Reply to: [gentoo-pms] [PATCH eapi8] EAPI 8 has install-time dependencies (IDEPEND) by "Michał Górny"
1 >>>>> On Sun, 22 Dec 2019, Michał Górny wrote:
2
3 > --- a/dependencies.tex
4 > +++ b/dependencies.tex
5 > @@ -21,7 +21,7 @@
6 > \t{src_install} & \t{DEPEND}, \t{BDEPEND} \\
7 > \addlinespace
8 > \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm}, \t{pkg_postrm} &
9 > - \t{RDEPEND} \\
10 > + \t{RDEPEND}, \t{IDEPEND} \\
11
12 This would imply that in order to uninstall a package, the PM would
13 possibly have to install other packages listed in IDEPEND. Do we really
14 want to go down that road? (What if there are circular dependencies in
15 IDEPEND?)
16
17 > @@ -30,15 +30,16 @@
18 >
19 > \begin{centertable}{Summary of other interfaces related to dependency classes}
20 > \label{tab:dep-class-api}
21 > - \begin{tabular}{llll}
22 > + \begin{tabular}{lllll}
23
24 But it's still 4 columns, isn't it?
25
26 > \toprule
27 > - & \t{BDEPEND} & \t{DEPEND} & \t{RDEPEND}, \t{PDEPEND} \\
28 > + & \t{BDEPEND}, \t{IDEPEND} & \t{DEPEND} & \t{RDEPEND},
29 > + \t{PDEPEND} \\
30
31 Just move the first & tab to the left, then you need not split the line
32 (and see the following remark below).
33
34 > \midrule
35 > - Binary compatible with & \t{CBUILD} & \t{CHOST} & \t{CHOST} \\
36 > - Base unprefixed path & \t{/} & \t{\$\{SYSROOT\}} & \t{\$\{ROOT\}} \\
37 > - Relevant offset-prefix & \t{\$\{BROOT\}} & \t{\$\{EPREFIX\}} & \t{\$\{EPREFIX\}} \\
38 > - Path combined with prefix & \t{\$\{BROOT\}} & \t{\$\{ESYSROOT\}} & \t{\$\{EROOT\}} \\
39 > - PM query command option & \t{-b} & \t{-d} & \t{-r} \\
40 > + Binary compatible with & \t{CBUILD} & \t{CHOST} & \t{CHOST} \\
41 > + Base unprefixed path & \t{/} & \t{\$\{SYSROOT\}} & \t{\$\{ROOT\}} \\
42 > + Relevant offset-prefix & \t{\$\{BROOT\}} & \t{\$\{EPREFIX\}} & \t{\$\{EPREFIX\}} \\
43 > + Path combined with prefix & \t{\$\{BROOT\}} & \t{\$\{ESYSROOT\}} & \t{\$\{EROOT\}} \\
44 > + PM query command option & \t{-b} & \t{-d} & \t{-r} \\
45
46 Nothing has changed here? Maybe better to leave the whitespace alone.
47
48 > +\featurelabel{idepend} Additionally, in EAPIs listed in table~\ref{tab:depend-table} as supporting
49 > +\t{IDEPEND}, install-time dependencies can be specified. Those dependencies are binary compatible
50 > +with the native build system (\t{CBUILD}). The~ebuild is allowed to call them in \t{pkg_preinst}
51 > +and \t{pkg_postinst} phases. The ebuild may also call them in \t{pkg_prerm} and \t{pkg_postrm}
52 > +but must not rely on them being available.
53
54 s/Those/These/
55 s/The ebuild/Ebuilds/ (twice)
56 s/ phases// (these are not phases, but phase _functions_)
57
58 > @@ -97,7 +106,7 @@ be surrounded on both sides by whitespace, except at the start and end of the st
59 >
60 > \begin{compactitem}
61 > \item A package dependency specification. Permitted in \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND},
62 > - \t{PDEPEND}.
63 > + \t{IDEPEND}, \t{PDEPEND}.
64
65 Hm, I guess it's time to establish a canonical order of these variables.
66 You say, IDEPEND should be listed before PDEPEND? (On first thought, I'd
67 have listed IDEPEND at the end, because RDEPEND and PDEPEND are similar.
68 Or IDEPEND after BDEPEND.)
69
70 > --- a/ebuild-env-vars.tex
71 > +++ b/ebuild-env-vars.tex
72 > @@ -147,9 +147,10 @@ variable.
73 > \t{BROOT} &
74 > Ditto &
75 > No &
76 > - \featurelabel{broot} The absolute path to the root directory containing build dependencies
77 > - satisfied by \t{BDEPEND}, typically executable build tools. This includes any applicable offset
78 > - prefix. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as supporting \t{BROOT}.
79 > + \featurelabel{broot} The absolute path to the root directory containing build host dependencies
80
81 I think you shouldn't change "build" to "build host" here, because of
82 the confusion with CHOST. The following "executable build tools" makes
83 it clear enough what is meant.
84
85 (Or if we change that wording, then we should do it now, and not as part
86 of an EAPI 8 patch.)
87
88 > + satisfied by \t{BDEPEND} and \t{IDEPEND}, typically executable build tools. This includes any
89 > + applicable offset prefix. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as
90 > + supporting \t{BROOT}.
91
92 > --- a/ebuild-vars.tex
93 > +++ b/ebuild-vars.tex
94 > @@ -86,6 +86,7 @@ Ebuilds may define any of the following variables:
95 > details.
96 > \item[PDEPEND] See chapter~\ref{ch:dependencies}.
97 > \item[BDEPEND] See chapter~\ref{ch:dependencies}.
98 > +\item[IDEPEND] See chapter~\ref{ch:dependencies}.
99
100 Here the order is different from the one used above (but it's like this
101 in EAPI 7 already).
102
103 Ulrich

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies