commit:     f5f8e42eeb8ea1e8c2ac182f30214ef0c559dd88
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 29 08:10:29 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Aug 31 16:02:50 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f5f8e42e

eclasses.tex: Clarify precedence of EXPORT_FUNCTIONS calls

Clarify that the last call to EXPORT_FUNCTIONS takes precedence over
earlier calls.

Unfortunately, we need an exception when inherit is called after
EXPORT_FUNCTIONS because Portage changed its behaviour in 2009:
https://gitweb.gentoo.org/proj/portage.git/commit/?id=06d4433e8b8be60d606733b9e23f57f8a5869d8f

Pkgcore and Paludis apply precedence consistently based on call order
of EXPORT_FUNCTIONS.

Bug: https://bugs.gentoo.org/399039
Bug: https://bugs.gentoo.org/422513
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclasses.tex | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/eclasses.tex b/eclasses.tex
index a92ce1f..e23dcd8 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -88,6 +88,10 @@ should the author wish to override it he can access the 
function in \t{foo.eclas
 \t{EXPORT_FUNCTIONS} must only be used on ebuild phase functions. The function 
that is aliased
 must be named \t{eclassname_phasefunctionname}, where \t{eclassname} is the 
name of the eclass.
 
+If \t{EXPORT_FUNCTIONS} is called multiple times for the same phase function, 
the last call takes
+precedence. Eclasses may not rely upon any particular behaviour if they 
inherit another eclass
+after calling \t{EXPORT_FUNCTIONS}.
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

Reply via email to