diff options
author | Ulrich Müller <ulm@gentoo.org> | 2023-12-29 12:54:18 +0100 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2023-12-29 13:20:21 +0100 |
commit | 658ead31edffc3bf431c5840830a357e3fe555da (patch) | |
tree | 2fca4fa1255293e3cd51da6df0bbf2dc0e0ca696 | |
parent | pkg-mgr-commands.tex: Sandbox commands accept any file (diff) | |
download | pms-658ead31edffc3bf431c5840830a357e3fe555da.tar.gz pms-658ead31edffc3bf431c5840830a357e3fe555da.tar.bz2 pms-658ead31edffc3bf431c5840830a357e3fe555da.zip |
ebuild-env-vars.tex: Clarify that D is not valid in pkg_postinst
D in pkg_* phases was first mentioned in SVN r74 (commit f627e46102c6)
as a variable specific to the pkg_preinst phase function (replacing
IMAGE). pkg_postinst was added in r88 (commit 3da3ee561f1a), but this
was reverted in r89 (commit 65c466317718) "D in pkg_postinst == bad".
pkg_postinst reappeared when the env vars section was converted to
a table in commit 58d3bc0e8301.
According to chapter 13 "Merging and Unmerging", the method used to
perform the merge is not specified, and merging a regular file or
a directory may alter or remove its source under D. Therefore, trying
to access any file in D during the postinst phase is an error.
The scope of ED follows that of D.
Closes: https://bugs.gentoo.org/920889
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
-rw-r--r-- | ebuild-env-vars.tex | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex index 5fe72dc..aae5413 100644 --- a/ebuild-env-vars.tex +++ b/ebuild-env-vars.tex @@ -192,14 +192,13 @@ inconsistent variable. The presence of a trailing slash is EAPI dependent as listed in table~\ref{tab:trailing-slash}. \\ \t{D} (continued) & - \t{pkg_preinst}, \t{pkg_postinst} & - Yes\footnote{Consistent across \t{pkg_preinst} and \t{pkg_postinst}, but may not necessarily - have the same value that it had in the \t{src_*} phases.} & - Contains the full path to the image that is about to be or has just been merged. + \t{pkg_preinst} & + No\footnote{May not necessarily have the same value that it had in the \t{src_*} phases.} & + Contains the full path to the image directory of the package about to be merged. The presence of a trailing slash is EAPI dependent as listed in table~\ref{tab:trailing-slash}. \\ \t{ED} & - \t{src_*}, \t{pkg_preinst}, \t{pkg_postinst} & + \t{src_*}, \t{pkg_preinst} & See \t{D} & Contains the concatenation of the paths in the \t{D} and \t{EPREFIX} variables, for convenience. See also the \t{EPREFIX} variable. Only for EAPIs listed in |