summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2020-01-08 14:55:17 +0100
committerMichał Górny <mgorny@gentoo.org>2020-01-08 14:59:09 +0100
commit8898ab898336e1a296122cce8b509c36099dc653 (patch)
treebc66e1ffe97e3ac89ee12e160abfe7dd8631966f
parentGame paths (diff)
downloadpolicy-guide-8898ab898336e1a296122cce8b509c36099dc653.tar.gz
policy-guide-8898ab898336e1a296122cce8b509c36099dc653.tar.bz2
policy-guide-8898ab898336e1a296122cce8b509c36099dc653.zip
Anti-eblit policy
Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r--ebuild-format.rst23
1 files changed, 23 insertions, 0 deletions
diff --git a/ebuild-format.rst b/ebuild-format.rst
new file mode 100644
index 0000000..89ebeda
--- /dev/null
+++ b/ebuild-format.rst
@@ -0,0 +1,23 @@
+Ebuild file format
+==================
+
+.. index:: eblit
+
+Code must be contained within ebuild and eclasses
+-------------------------------------------------
+:Source: QA
+:Reference: https://bugs.gentoo.org/612630
+:Reported: no
+
+The ebuild code must be fully contained within .ebuild and .eclass
+files. It is forbidden to load additional ebuild code from other files
+via ``source``, ``eval`` or any other possible method.
+
+This affects historical use of 'eblits' to include phase functions from
+external files. The eblits used by the few affected packages were
+converted into eclasses.
+
+*Rationale*: moving ebuild code to non-standard locations is against
+the principle of least surprise. It makes the maintenance harder,
+confuses other developers and tools that do not explicitly account for
+that possibility, including linting tools.