commit: 12f1e30e82a0ecedd91e77edfbb519366edb17b0 Author: Ulrich Müller <ulm <AT> gentoo <DOT> org> AuthorDate: Fri Jan 13 07:49:00 2023 +0000 Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> CommitDate: Fri Jan 13 08:04:54 2023 +0000 URL: https://gitweb.gentoo.org/proj/policy-guide.git/commit/?id=12f1e30e
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: https://bugs.gentoo.org/890624 Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org> ebuild-format.rst | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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.
