Summary: | EXPORT_FUNCTIONS behaviour when called before inherit | ||
---|---|---|---|
Product: | Gentoo Hosted Projects | Reporter: | David Leverton <levertond> |
Component: | PMS/EAPI | Assignee: | Package Manager Specification <pms> |
Status: | IN_PROGRESS --- | ||
Severity: | normal | CC: | dev-portage, ionic |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=422513 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
David Leverton
2012-01-16 00:28:56 UTC
(In reply to comment #0) > so calling EXPORT_FUNCTIONS and then inheriting > another eclass (say B.eclass) that exports the same phases would end up using > the ones from A, rather than B as before. I can't imagine that anyone would intend to have the ordering of EXPORT_FUNCTIONS and inherit calls to make a difference. > 2) make it official - document it in PMS, implement it in Paludis and Pkgcore > and remove the warning from Portage Well, you probably want to have the warning in all three of them for at least a year or two. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/pms.git/commit/?id=f5f8e42eeb8ea1e8c2ac182f30214ef0c559dd88 commit f5f8e42eeb8ea1e8c2ac182f30214ef0c559dd88 Author: Ulrich Müller <ulm@gentoo.org> AuthorDate: 2021-08-29 08:10:29 +0000 Commit: Ulrich Müller <ulm@gentoo.org> CommitDate: 2021-08-31 16:02:50 +0000 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@gentoo.org> eclasses.tex | 4 ++++ 1 file changed, 4 insertions(+) Leaving this bug open for a possible revert in the next EAPI. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=5ec443ed7dab583f3c654ee81fff563cbda5a9d4 commit 5ec443ed7dab583f3c654ee81fff563cbda5a9d4 Author: Ulrich Müller <ulm@gentoo.org> AuthorDate: 2021-08-30 06:22:12 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2021-09-03 11:32:12 +0000 ebuild.sh: Update QA notice in inherit() Bug: https://bugs.gentoo.org/399039 Signed-off-by: Ulrich Müller <ulm@gentoo.org> Signed-off-by: Michał Górny <mgorny@gentoo.org> bin/ebuild.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) https://gitweb.gentoo.org/proj/portage.git/commit/?id=c401d1781c5cc2945e8a7234716ad1c4f1b03ed3 commit c401d1781c5cc2945e8a7234716ad1c4f1b03ed3 Author: Ulrich Müller <ulm@gentoo.org> AuthorDate: 2021-08-30 06:22:10 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2021-09-03 11:32:10 +0000 Revert "Revert "Generate a QA Notice when EXPORT_FUNCTIONS is called before inherit"" Reinstate the QA notice, because Portage behavior deviates from PMS, and breakage of eclasses with Pkgcore has been observed recently. This reverts commit f44d32550861cb25c209ef61dcd7ae1aa230da1f. Bug: https://bugs.gentoo.org/399039 Signed-off-by: Ulrich Müller <ulm@gentoo.org> Signed-off-by: Michał Górny <mgorny@gentoo.org> bin/ebuild.sh | 8 ++++++++ 1 file changed, 8 insertions(+) |