Re: [checkpatch.pl] runtime error by version dependency.

From: Joe Perches
Date: Mon Sep 09 2013 - 11:49:28 EST


On Mon, 2013-09-09 at 21:16 +0900, Tetsuo Handa wrote:
> Hello.
>
> Commit d1fe9c09 "checkpatch: add some --strict coding style checks"
> introduced dependency on perl >= 5.10.0 .
>
> While the comment says that "Any use must be runtime checked with $^V",
> it is not runtime checked when running with perl == v5.8.4 , failing with
>
> Nested quantifiers in regex; marked by <-- HERE in m/(\((?:[^\(\)]++ <-- HERE |(?-1))*\))/ at ./scripts/checkpatch.pl line 340.
>
> error.

Hello.

See Dave Hansen's commit fab4a18a0d2bb0b90e51a945886397f1de9cb6d4
("enforce sane perl version")

[PATCH] checkpatch: enforce sane perl version

I got a bug report from a couple of users who said checkpatch.pl was
broken for them. It was erroring out on fairly random lines most commonly
with messages like:

Nested quantifiers in regex; marked by <--HERE in m/(\((?:[^\(\)]++ <-- HERE |(?-1))*\))/ at ./checkpatch.pl line 340.

The bug reporter was running a version of perl 5.8 which was end-of-lifed
in 2008: http://www.cpan.org/src/. Versions of perl this old are at
_best_ quite untested. At worst, they are crusty and known to be
completely broken.

If folks have a system _that_ old, then we should have mercy on them and
give them a half-decent error message rather than fail with nutty error
messages.

This patch enforces that checkpatch.pl is run with perl 5.10, which was
end-of-lifed in 2009. The new --ignore-perl-version command-line switch
will let folks override this if they want.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/