From 12f1e30e82a0ecedd91e77edfbb519366edb17b0 Mon Sep 17 00:00:00 2001 From: Ulrich Müller Date: Fri, 13 Jan 2023 08:49:00 +0100 Subject: ebuild-format: Restrict D to src_install and pkg_preinst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- 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. -- cgit v1.2.3-18-g5258