https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: app-admin/puppet-7.16.0 calls eend without preceding ebegin. Discovered on: amd64 (internal ref: ci)
Created attachment 771986 [details] build.log build log and emerge --info
as per irc, this was fixed a couple of days before filing this bug
The state of the tree was at: https://github.com/gentoo/gentoo/commit/223dd4ea27d8c7c6ae62c8ad0052433020c1a57f (Tue Apr 19 22:51:53 UTC 2022) So if it was fixed 'a couple of days ago', it is still reproducible
I don't call ebegin or eend directly, why is this a bug against puppet?
This is not a bug in the puppet ebuild. The ruby-ng.eclass, calls ebegin-eend for every phase it executes in _ruby_invoke_environment(). The all_ruby_prepare() phase then calls eapply that also calls ebegin and eend. ebegin had already been called by the caller, but isn't yet terminated with eend and so the QA notice is generated.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=605ad0d675a64eb39144122cf284100192cdfea0 commit 605ad0d675a64eb39144122cf284100192cdfea0 Author: Thomas Bracht Laumann Jespersen <t@laumann.xyz> AuthorDate: 2022-04-21 08:41:14 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-04-28 15:50:16 +0000 ebegin/eend: accept properly nested calls in different functions Turn the EBEGIN_EEND variable into a stack that tracks which function called ebegin. Calls to ebegin may be stacked and do not generate a QA warning if the callers are different functions. Calls to eend then check that the function name at the top of the stack matches the caller's function name. Bug: https://bugs.gentoo.org/839585 Bug: https://bugs.gentoo.org/839588 Signed-off-by: Thomas Bracht Laumann Jespersen <t@laumann.xyz> Closes: https://github.com/gentoo/portage/pull/824 Signed-off-by: Sam James <sam@gentoo.org> bin/isolated-functions.sh | 22 ++++++++++++++++++---- bin/phase-functions.sh | 4 +++- 2 files changed, 21 insertions(+), 5 deletions(-)
Reverted: https://gitweb.gentoo.org/proj/portage.git/commit/?id=eba088af8f335c0adb386461e6df1267e24800e7
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=008c98f7c3f94865d361f785f195b61c518a19c6 commit 008c98f7c3f94865d361f785f195b61c518a19c6 Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2022-07-03 19:41:40 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2022-07-09 19:54:48 +0000 ruby-ng.eclass: replace ebegin with einfo in _ruby_invoke_environment Calling ebegin here makes no sense because it is likely that the called function will also generate output. This will lead to the "[ ok ]" potentially appearing many lines later. It also leads to nested ebegin calls, which make no sense for the same reason. Closes: https://bugs.gentoo.org/839585 Closes: https://bugs.gentoo.org/839588 Signed-off-by: Mike Gilbert <floppym@gentoo.org> eclass/ruby-ng.eclass | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)