Re: arm64: defconfig: gcc-8: failed: AttributeError: module 'argparse' has no attribute 'BooleanOptionalAction'

From: Dmitry Baryshkov
Date: Tue May 07 2024 - 16:07:19 EST


On Tue, 7 May 2024 at 22:18, Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Tue, May 7, 2024, at 20:19, Dmitry Baryshkov wrote:
> > On Tue, 7 May 2024 at 21:06, Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote:
> >> On Tue, 7 May 2024 at 20:58, Dmitry Baryshkov
> >> <dmitry.baryshkov@xxxxxxxxxx> wrote:
> >> >
> >> > On Tue, 7 May 2024 at 16:13, Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote:
> >> > >
> >> > > On Tue, 7 May 2024 at 17:13, Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote:
> >> > > >
> >> > > > The arm and arm64 with gcc-8 builds failed on Linux next-20240507 tag
> >> > > > with gcc-8 due to following warnings / errors.
> >> > > >
> >> > > > arm64 and arm:
> >> > > > defconfig - gcc-8 - failed
> >> > >
> >> > > Anders bisected this build problem and found the first bad commit:
> >> > >
> >> > > 07a2f8716c41 drm/msm/gen_header: allow skipping the validation
> >> > >
> >> > > Steps to reproduce:
> >> > > -----
> >> > > # tuxmake --runtime podman --target-arch arm64 --toolchain gcc-8
> >> > > --kconfig defconfig
> >> >
> >> > What is the python version on that platform / system?
> >>
> >> # python --version
> >> Python 3.7.3
> >
> > EOL.
> > I'll check what we can do, but please consider updating the platform.
>
> I don't think we can rely on everyone to have 3.9, 3.8
> is not EOL yet, and we do want to still test in distros with
> older compilers that may also come with old python.
>
> It should just work with a regular optional argument instead
> of the BooleanOptionalAction (without the --no-validate flag):
>
> https://docs.python.org/3/howto/argparse.html#introducing-optional-arguments
>
> > @@ -538,6 +538,9 @@ class Parser(object):
> > self.variants.add(reg.domain)
> >
> > def do_validate(self, schemafile):
> > + if self.validate == False:
> > + return
> > +
> > try:
> > from lxml import etree
>
> This bit may have to become 'if not self.validate',
> since the flag in this case is None rather than equal
> to False. This also improves readability.

Could you please send a patch?

--
With best wishes
Dmitry