PMS states: | Indicates that the process begun with an ebegin message has completed. Takes one fixed argument, which is a numeric return code [...] However, Portage makes that argument optional and defaults to 0. This is very error prone, and leads to many ebuilds not passing the required argument, and in some cases, wrongly assuming eend will take $? rather than the absurd default of 0.
Created attachment 737227 [details, diff] eend: Output QA notice when called without argument Maybe we could start with printing a QA notice. See attached patch.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=95cd9583d415dfeb07917d7b111502f0b991413d commit 95cd9583d415dfeb07917d7b111502f0b991413d Author: Ulrich Müller <ulm@gentoo.org> AuthorDate: 2021-09-03 16:03:27 +0000 Commit: Ulrich Müller <ulm@gentoo.org> CommitDate: 2021-09-27 11:15:04 +0000 eend: Output QA notice when called without argument PMS says about eend: "Takes one fixed argument, which is a numeric return code, and an optional message in all subsequent arguments." Bug: https://bugs.gentoo.org/703520 Signed-off-by: Ulrich Müller <ulm@gentoo.org> bin/isolated-functions.sh | 1 + 1 file changed, 1 insertion(+)
pkgcheck detects this as https://github.com/pkgcore/pkgcheck/pull/365 (MissingEendArgument). IIRC we don't have any violators in tree now.
So, do we just close this (leaving the QA warning in place), or should we make calling eend without numerical first argument an error?
(In reply to Ulrich Müller from comment #4) > So, do we just close this (leaving the QA warning in place), or should we > make calling eend without numerical first argument an error? The latter IMO.