Bug#1064035: [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.
- To: Jonathan Corbet <corbet@lwn.net>
- Cc: regressions@lists.linux.dev, stable@vger.kernel.org, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Ben Hutchings <ben@decadent.org.uk>, Kees Cook <keescook@chromium.org>, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Aditya Srivastava <yashsri421@gmail.com>, 1064035@bugs.debian.org
- Subject: Bug#1064035: [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: Salvatore Bonaccorso <carnil@debian.org>
- Date: Mon, 4 Mar 2024 21:00:36 +0100
- Message-id: <[🔎] ZeYoZNJaZ4ejONTZ@eldamar.lan>
- Reply-to: Salvatore Bonaccorso <carnil@debian.org>, 1064035@bugs.debian.org
- In-reply-to: <[🔎] 877ciiw1yp.fsf@meer.lwn.net>
- References: <[🔎] ZeHKjjPGoyv_b2Tg@eldamar.lan> <[🔎] 877ciiw1yp.fsf@meer.lwn.net> <170804804866.1297002.5520099542077412076.reportbug@deadeye.wl.decadent.org.uk>
Hi Jonathan,
On Mon, Mar 04, 2024 at 06:39:26AM -0700, Jonathan Corbet wrote:
> Salvatore Bonaccorso <carnil@debian.org> writes:
>
> > 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 /([^,)]+)/.
>
> Hmm...this is the first I see of any of this...
>
> The latter fix seems like the more straightforward of the two. The only
> concern might be if there are other kernel-doc backports that might run
> afoul of the same problem, hopefully not.
Ok. In the sprit of the stable series rules we might try the later and
if it's not feasible pick the first variant?
> But this makes me wonder if there are other stable kernels that are
> affected as well. I guess that, despite all of the testing being done
> on stable updates, nobody is testing the docs build?
Only 5.10.y is affected AFAICT, and the reaso nis that the cherry-pick
of ("stddef: Introduce DECLARE_FLEX_ARRAY() helper") in 5.10.y (as
requisite of the smb fixes) requires as well e86bdb24375a ("scripts:
kernel-doc: reduce repeated regex expressions into variables").
3080ea5553cc ("stddef: Introduce DECLARE_FLEX_ARRAY() helper") is in
5.10.210, 5.15.54 and 5.16-rc1.
e86bdb24375a ("scripts: kernel-doc: reduce repeated regex expressions
into variables") is in 5.14-rc1.
So it's covered for the later series, but causes problems in the
5.10.y.
Regards,
Salvatore
Reply to: