blob: cc95a2b59ce0425fe45ae086ae5f482f48f665a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
\section{The State of the System Between Functions}
For the sake of this section:
\begin{compactitem}
\item Variancy is any package manager action that modifies either
\t{ROOT} or \t{/} in any way that isn't merely a simple addition of
something that doesn't alter other packages. This includes any
non-default call to any \t{pkg} phase function except \t{pkg_setup},
a merge of any package or an unmerge of any package.
\item As an exception, changes to \t{DISTDIR} do not count as variancy.
\item The \t{pkg_setup} function may be assumed not to introduce variancy.
Thus, ebuilds must not perform variant actions in this phase.
\end{compactitem}
The following exclusivity and invariancy requirements are mandated:
\begin{compactitem}
\item No variancy shall be introduced at any point between a package's
\t{pkg_setup} being started up to the point that that package is
merged, except for any variancy introduced by that package.
\item There must be no variancy between a package's \t{pkg_setup} and
a package's \t{pkg_postinst}, except for any variancy introduced
by that package.
\item Any non-default \t{pkg} phase function must be run exclusively.
\item Each phase function must be called at most once during the build
process for any given package.
\end{compactitem}
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "pms"
%%% LaTeX-indent-level: 4
%%% LaTeX-item-indent: 0
%%% TeX-brace-indent-level: 4
%%% fill-column: 100
%%% End:
|