diff options
authorUlrich Müller <>2023-01-13 08:49:00 +0100
committerUlrich Müller <>2023-01-13 09:04:54 +0100
commit12f1e30e82a0ecedd91e77edfbb519366edb17b0 (patch)
parentother-metadata: Sync with the updated LICENSE policy in the devmanual (diff)
ebuild-format: Restrict D to src_install and pkg_preinst
This used to be specified in PMS (see commit ede65b5 in proj/pms.git), but makes more sense as a tree policy. Also exclude pkg_postinst, because nothing in the Gentoo repository appears to use D there, and in the postinst phase the directory will be empty of files anyway. Bug: Signed-off-by: Ulrich Müller <>
1 files changed, 18 insertions, 0 deletions
diff --git a/ebuild-format.rst b/ebuild-format.rst
index 041c088..a381e07 100644
--- a/ebuild-format.rst
+++ b/ebuild-format.rst
@@ -126,3 +126,21 @@ allowed.
*Rationale*: since license names do not contain dynamic parts (such as
package versions), using variables there has little advantage. On the
other hand, variables reduce the usefulness of plain tools such as grep.
+.. index:: d; variable
+D must be used only in src_install and pkg_preinst
+:PG: 0107
+:Source: QA
+:Reported: no
+The ``D`` and ``ED`` variables must be used only in the ``src_install``
+and ``pkg_preinst`` phase functions. Exceptions to this policy can be
+granted by the QA team.
+*Rationale*: using ``D`` in other phases (e.g. ``src_configure``) is
+error-prone and may lead to the path being embedded in files of the
+installed image. In addition, the directory pointed to by ``${D}``
+does not exist in other phases.