get_maintainer: fix perl 5.22/5.24 deprecated/incompatible "\C" use
RFC PATCH 1/1 get_maintainer: fix perl 5.22/5.24 deprecated/incompatible "\C" use
from linux commit ce8155f7a3d5:
Perl 5.22 emits a deprecated message when "\C" is used in a regex. Perl 5.24 will disallow it altogether.
Fix it by using [A-Z] instead of \C.
From linux adapted to U-Boot by:
---
running get_maintainer.pl drops warnings with PERL > 5.22 . In linux this is fixed though above commit.
With the original linux patch applied to u-boot, there is following warning:
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE / at ./scripts/get_maintainer.pl line 739. ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE // at ./scripts/get_maintainer.pl line 735.
The change in MAINTAINERS fixes this, but I get differences when running the python script:
import os
import subprocess
root_dir = '.'
for directory, subdirectories, files in os.walk(root_dir):
for file in files:
tmp=os.path.join(directory, file)
print(tmp)
ret = subprocess.call(["scripts/get_maintainer.pl", "-f", tmp])
and comparing the output from it, based on the original u-boot code and the code with this patch ...
I have no PERL experience, so made this patch as RFC, maybe someone with better PERL skills can fix it correct.
MAINTAINERS | 4 ++-- scripts/get_maintainer.pl | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-)
MAINTAINERS +2 -2
@@ -417,5 +417,5 @@ L: [email protected] Q: http://patchwork.ozlabs.org/project/uboot/list/ S: Maintained T: git git://git.denx.de/u-boot.git -F: * -F: */ +F: .* +F: .*/
scripts/get_maintainer.pl +11 -11
@@ -298,7 +298,7 @@ sub read_maintainers { while (<$maint>) { my $line = $_; - if ($line =~ m/^(\C):\s*(.*)/) { + if ($line =~ m/^(\[A-Z]):\s*(.*)/) { my $type = $1; my $value = $2;
@@ -533,7 +533,7 @@ sub range_is_maintained { for (my $i = $start; $i < $end; $i++) { my $line = $typevalue[$i]; - if ($line =~ m/^(\C):\s*(.*)/) { + if ($line =~ m/^([A-Z]):\s*(.*)/) { my $type = $1; my $value = $2; if ($type eq 'S') {
@@ -551,7 +551,7 @@ sub range_has_maintainer { for (my $i = $start; $i < $end; $i++) { my $line = $typevalue[$i]; - if ($line =~ m/^(\C):\s*(.*)/) { + if ($line =~ m/^([A-Z]):\s*(.*)/) { my $type = $1; my $value = $2; if ($type eq 'M') {
@@ -600,7 +600,7 @@ sub get_maintainers { for ($i = $start; $i < $end; $i++) { my $line = $typevalue[$i]; - if ($line =~ m/^(\C):\s*(.*)/) { + if ($line =~ m/^([A-Z]):\s*(.*)/) { my $type = $1; my $value = $2; if ($type eq 'X') {
@@ -615,7 +615,7 @@ sub get_maintainers { if (!$exclude) { for ($i = $start; $i < $end; $i++) { my $line = $typevalue[$i]; - if ($line =~ m/^(\C):\s*(.*)/) { + if ($line =~ m/^([A-Z]):\s*(.*)/) { my $type = $1; my $value = $2; if ($type eq 'F') {
@@ -917,7 +917,7 @@ sub find_first_section { while ($index < @typevalue) { my $tv = $typevalue[$index]; - if (($tv =~ m/^(\C):\s*(.*)/)) { + if (($tv =~ m/^([A-Z]):\s*(.*)/)) { last; } $index++;
@@ -931,7 +931,7 @@ sub find_starting_index { while ($index > 0) { my $tv = $typevalue[$index]; - if (!($tv =~ m/^(\C):\s*(.*)/)) { + if (!($tv =~ m/^([A-Z]):\s*(.*)/)) { last; } $index--;
@@ -945,7 +945,7 @@ sub find_ending_index { while ($index < @typevalue) { my $tv = $typevalue[$index]; - if (!($tv =~ m/^(\C):\s*(.*)/)) { + if (!($tv =~ m/^([A-Z]):\s*(.*)/)) { last; } $index++;
@@ -971,7 +971,7 @@ sub get_maintainer_role { for ($i = $start + 1; $i < $end; $i++) { my $tv = $typevalue[$i]; - if ($tv =~ m/^(\C):\s*(.*)/) { + if ($tv =~ m/^([A-Z]):\s*(.*)/) { my $ptype = $1; my $pvalue = $2; if ($ptype eq "S") {
@@ -1030,7 +1030,7 @@ sub add_categories { for ($i = $start + 1; $i < $end; $i++) { my $tv = $typevalue[$i]; - if ($tv =~ m/^(\C):\s*(.*)/) { + if ($tv =~ m/^([A-Z]):\s*(.*)/) { my $ptype = $1; my $pvalue = $2; if ($ptype eq "L") {
@@ -1072,7 +1072,7 @@ sub add_categories { if ($name eq "") { if ($i > 0) { my $tv = $typevalue[$i - 1]; - if ($tv =~ m/^(\C):\s*(.*)/) { + if ($tv =~ m/^([A-Z]):\s*(.*)/) { if ($1 eq "P") { $name = $2; $pvalue = format_email($name, $address, $email_usename);
Signature · 1 line
2.5.0
RFC PATCH 1/1 get_maintainer: fix perl 5.22/5.24 deprecated/incompatible "\C" use
Hi,
Quoted 60 lines · Heiko Schocher
from linux commit
ce8155f7a3d5:Perl 5.22 emits a deprecated message when "\C" is used in a regex. Perl 5.24 will disallow it altogether.
Fix it by using [A-Z] instead of \C.
From linux adapted to U-Boot by:
Signed-off-by Heiko Schocher <[email protected]>---
running get_maintainer.pl drops warnings with PERL > 5.22 . In linux this is fixed though above commit.With the original linux patch applied to u-boot, there is following warning:
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE /@./scripts/get_maintainer.pl line 739. ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE //@./scripts/get_maintainer.pl line 735.
The change in
MAINTAINERSfixes this, but I get differences when running the python script:
import os
import subprocess
root_dir= '.'for directory, subdirectories, files in
os.walk(root_dir):
for file in files:
tmp=os.path.join(directory, file)
print(tmp)
ret =subprocess.call(["scripts/get_maintainer.pl", "-f", tmp])and comparing the output from it, based on the original u-boot code and the code with this patch ...
I have no PERL experience, so made this patch as RFC, maybe someone with better PERL skills can fix it correct.
MAINTAINERS | 4 ++-- scripts/get_maintainer.pl | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-)MAINTAINERS +2
-2@@ -417,5 +417,5 @@ L: u-boot at lists.denx.de Q: http://patchwork.ozlabs.org/project/uboot/list/ S: Maintained T: git git://git.denx.de/u-boot.git -F: * -F: */ +F: .* +F: .*/scripts/get_maintainer.pl +0
-0
scripts/get_maintainer.pl sub read_maintainers { · line 301
Quoted 5 lines
scripts/get_maintainer.pl +1
-1@@ -298,7 +298,7 @@ sub read_maintainers { while (<$maint>) { my $line = $_; - if ($line =~ m/^(\C):\s*(.*)/) { + if ($line =~ m/^(\[A-Z]):\s*(.*)/) {
The backslash shouldn't be in here anymore, right?
Other than that, for the get_maintainer.pl part at least (since I was about sending out almost the same patch):
Cheers,
Andre.
Quoted 94 lines
scripts/get_maintainer.pl +10
-10my $type = $1; my $value = $2;@@ -533,7 +533,7 @@ sub range_is_maintained { for (my $i = $start; $i < $end; $i++) { my $line = $typevalue[$i]; - if ($line =~ m/^(\C):\s*(.*)/) { + if ($line =~ m/^([A-Z]):\s*(.*)/) { my $type = $1; my $value = $2; if ($type eq 'S') {@@ -551,7 +551,7 @@ sub range_has_maintainer { for (my $i = $start; $i < $end; $i++) { my $line = $typevalue[$i]; - if ($line =~ m/^(\C):\s*(.*)/) { + if ($line =~ m/^([A-Z]):\s*(.*)/) { my $type = $1; my $value = $2; if ($type eq 'M') {@@ -600,7 +600,7 @@ sub get_maintainers { for ($i = $start; $i < $end; $i++) { my $line = $typevalue[$i]; - if ($line =~ m/^(\C):\s*(.*)/) { + if ($line =~ m/^([A-Z]):\s*(.*)/) { my $type = $1; my $value = $2; if ($type eq 'X') {@@ -615,7 +615,7 @@ sub get_maintainers { if (!$exclude) { for ($i = $start; $i < $end; $i++) { my $line = $typevalue[$i]; - if ($line =~ m/^(\C):\s*(.*)/) { + if ($line =~ m/^([A-Z]):\s*(.*)/) { my $type = $1; my $value = $2; if ($type eq 'F') {@@ -917,7 +917,7 @@ sub find_first_section { while ($index < @typevalue) { my $tv = $typevalue[$index]; - if (($tv =~ m/^(\C):\s*(.*)/)) { + if (($tv =~ m/^([A-Z]):\s*(.*)/)) { last; } $index++;@@ -931,7 +931,7 @@ sub find_starting_index { while ($index > 0) { my $tv = $typevalue[$index]; - if (!($tv =~ m/^(\C):\s*(.*)/)) { + if (!($tv =~ m/^([A-Z]):\s*(.*)/)) { last; } $index--;@@ -945,7 +945,7 @@ sub find_ending_index { while ($index < @typevalue) { my $tv = $typevalue[$index]; - if (!($tv =~ m/^(\C):\s*(.*)/)) { + if (!($tv =~ m/^([A-Z]):\s*(.*)/)) { last; } $index++;@@ -971,7 +971,7 @@ sub get_maintainer_role { for ($i = $start + 1; $i < $end; $i++) { my $tv = $typevalue[$i]; - if ($tv =~ m/^(\C):\s*(.*)/) { + if ($tv =~ m/^([A-Z]):\s*(.*)/) { my $ptype = $1; my $pvalue = $2; if ($ptype eq "S") {@@ -1030,7 +1030,7 @@ sub add_categories { for ($i = $start + 1; $i < $end; $i++) { my $tv = $typevalue[$i]; - if ($tv =~ m/^(\C):\s*(.*)/) { + if ($tv =~ m/^([A-Z]):\s*(.*)/) { my $ptype = $1; my $pvalue = $2; if ($ptype eq "L") {@@ -1072,7 +1072,7 @@ sub add_categories { if ($name eq "") { if ($i > 0) { my $tv = $typevalue[$i - 1]; - if ($tv =~ m/^(\C):\s*(.*)/) { + if ($tv =~ m/^([A-Z]):\s*(.*)/) { if ($1 eq "P") { $name = $2; $pvalue = format_email($name, $address, $email_usename);