public inbox for gentoo-pms@lists.gentoo.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download: 
* [gentoo-pms] [PATCH] eclasses.tex: Clarify precedence of EXPORT_FUNCTIONS calls
@ 2021-08-30  7:48 99% Ulrich Müller
  0 siblings, 0 replies; 1+ results
From: Ulrich Müller @ 2021-08-30  7:48 UTC (permalink / raw
  To: gentoo-pms; +Cc: Ulrich Müller

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.

Closes: https://bugs.gentoo.org/399039
Closes: https://bugs.gentoo.org/422513
Signed-off-by: Ulrich Müller <ulm@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:
-- 
2.33.0



^ permalink raw reply related	[relevance 99%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2021-08-30  7:48 99% [gentoo-pms] [PATCH] eclasses.tex: Clarify precedence of EXPORT_FUNCTIONS calls Ulrich Müller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox