Re: [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.

From: Greg Kroah-Hartman
Date: Mon Mar 04 2024 - 08:27:39 EST


On Fri, Mar 01, 2024 at 01:31:10PM +0100, Salvatore Bonaccorso wrote:
> Hi,
>
> Ben Hutchings reported in https://bugs.debian.org/1064035 a problem
> with the kernel-doc builds once 3080ea5553cc ("stddef: Introduce
> DECLARE_FLEX_ARRAY() helper") got applied in 5.10.210 (as
> prerequisite of another fix in 5.10.y):
>
> > The backport of commit 3080ea5553cc "stddef: Introduce
> > DECLARE_FLEX_ARRAY() helper" modified scripts/kernel-doc and
> > introduced a syntax error:
> >
> > Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
> > Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
> > Execution of ./scripts/kernel-doc aborted due to compilation errors.
> >
> > This doesn't stop the documentation build process, but causes the
> > documentation that should be extracted by kernel-doc to be missing
> > from linux-doc-5.10.
> >
> > We should be able to fix this by eithering backport commit
> > e86bdb24375a "scripts: kernel-doc: reduce repeated regex expressions
> > into variables" or replacing /$args/ with /([^,)]+)/.
> >
> > Ben.
>
> What would be prefered here from stable maintainers point of view?
> AFAICS e86bdb24375a ("scripts: kernel-doc: reduce repeated regex
> expressions into variables") won't apply cleanly and needs some
> refactoring. The alternative pointed out by Ben would be to replace
> the /$args/ with /([^,)]+)/.

I'll take a patch that does either, your call :)

thanks,

greg k-h