Our platform support policy states that we require "versions of
dependencies which are generally accepted as stable and supportable,
e.g., in line with the version used by other long-term-support
distributions". Of Debian, Ubuntu, RHEL, and SLES, the four most common
distributions that provide LTS versions, the version with mainstream
long-term security support with the oldest Perl is 5.26.0 in SLES 15.6.
This is a major upgrade, since Perl 5.8.1, according to the Perl
documentation, was released in September of 2003. It brings a lot of
new features that we can choose to use, such as s///r to return the
modified string, the postderef functionality, and subroutine signatures,
although the latter was still considered experimental until 5.36.
This change was made with the following one-liner, which intentionally
excludes modifying the vendored modules we include to avoid conflicts:
git grep -l 'use 5.008001' | grep -v 'LoadCPAN/' | xargs perl -pi -e 's/use 5.008001/require v5.26/'
Use require instead of use to avoid changing the behavior as the latter
enables features and the former does not.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
brian m. carlson committedOct 23, 2024 at 00:45 UTC702d8c1f3b5377a64670b0f22add157b0bfc33dd
18 files changed+18-18
INSTALL
+1-1
index 6e0321ff0e..54d7528f9e 100644--- a/INSTALL+++ b/INSTALL@@ -119,7 +119,7 @@ Issues of note: - A POSIX-compliant shell is required to run some scripts needed for everyday use (e.g. "bisect", "request-pull").- - "Perl" version 5.8.1 or later is needed to use some of the+ - "Perl" version 5.26.0 or later is needed to use some of the features (e.g. sending patches using "git send-email", interacting with svn repositories with "git svn"). If you can live without these, use NO_PERL. Note that recent releases of
contrib/diff-highlight/DiffHighlight.pm
+1-1
index 636add6968..3d061bc0b7 100644--- a/contrib/diff-highlight/DiffHighlight.pm+++ b/contrib/diff-highlight/DiffHighlight.pm@@ -1,6 +1,6 @@ package DiffHighlight;-use 5.008001;+require v5.26; use warnings FATAL => 'all'; use strict;
contrib/mw-to-git/Git/Mediawiki.pm
+1-1
index ff7811225e..629c0cea44 100644--- a/contrib/mw-to-git/Git/Mediawiki.pm+++ b/contrib/mw-to-git/Git/Mediawiki.pm@@ -1,6 +1,6 @@ package Git::Mediawiki;-use 5.008001;+require v5.26; use strict; use POSIX; use Git;
git-archimport.perl
+1-1
index f5a317b899..6d0169cb6a 100755--- a/git-archimport.perl+++ b/git-archimport.perl@@ -54,7 +54,7 @@ and can contain multiple, unrelated branches. =cut-use 5.008001;+require v5.26; use strict; use warnings; use Getopt::Std;
git-cvsexportcommit.perl
+1-1
index 1e03ba94d1..edf02f9964 100755--- a/git-cvsexportcommit.perl+++ b/git-cvsexportcommit.perl@@ -1,6 +1,6 @@ #!/usr/bin/perl-use 5.008001;+require v5.26; use strict; use warnings; use Getopt::Std;
git-cvsimport.perl
+1-1
index 211ec8459a..e10ad5334e 100755--- a/git-cvsimport.perl+++ b/git-cvsimport.perl@@ -13,7 +13,7 @@ # The head revision is on branch "origin" by default. # You can change that with the '-o' option.-use 5.008001;+require v5.26; use strict; use warnings; use Getopt::Long;
git-cvsserver.perl
+1-1
index 124f598bdc..a4ad9a5d2d 100755--- a/git-cvsserver.perl+++ b/git-cvsserver.perl@@ -15,7 +15,7 @@ #### ####-use 5.008001;+require v5.26; use strict; use warnings; use bytes;
git-send-email.perl
+1-1
index c835d4c11a..c4d12bebc8 100755--- a/git-send-email.perl+++ b/git-send-email.perl@@ -16,7 +16,7 @@ # and second line is the subject of the message. #-use 5.008001;+require v5.26; use strict; use warnings $ENV{GIT_PERL_FATAL_WARNINGS} ? qw(FATAL all) : (); use Getopt::Long;
git-svn.perl
+1-1
index 01e7a70de1..9c7c629932 100755--- a/git-svn.perl+++ b/git-svn.perl@@ -1,7 +1,7 @@ #!/usr/bin/perl # Copyright (C) 2006, Eric Wong <normalperson@yhbt.net> # License: GPL v2 or later-use 5.008001;+require v5.26; use warnings $ENV{GIT_PERL_FATAL_WARNINGS} ? qw(FATAL all) : (); use strict; use vars qw/ $AUTHOR $VERSION
gitweb/gitweb.perl
+1-1
index b09a8d0523..da1486cab2 100755--- a/gitweb/gitweb.perl+++ b/gitweb/gitweb.perl@@ -7,7 +7,7 @@ # # This program is licensed under the GPLv2-use 5.008001;+require v5.26; use strict; use warnings; # handle ACL in file access tests
perl/Git.pm
+1-1
index 667152c6c6..6f47d653ab 100644--- a/perl/Git.pm+++ b/perl/Git.pm@@ -7,7 +7,7 @@ Git - Perl interface to the Git version control system package Git;-use 5.008001;+require v5.26; use strict; use warnings $ENV{GIT_PERL_FATAL_WARNINGS} ? qw(FATAL all) : ();
perl/Git/I18N.pm
+1-1
index 475e90a6df..ab46edb608 100644--- a/perl/Git/I18N.pm+++ b/perl/Git/I18N.pm@@ -1,5 +1,5 @@ package Git::I18N;-use 5.008001;+require v5.26; use strict; use warnings $ENV{GIT_PERL_FATAL_WARNINGS} ? qw(FATAL all) : (); BEGIN {
perl/Git/LoadCPAN.pm
+1-1
index 8c7fa805f9..61254fddbb 100644--- a/perl/Git/LoadCPAN.pm+++ b/perl/Git/LoadCPAN.pm@@ -1,5 +1,5 @@ package Git::LoadCPAN;-use 5.008001;+require v5.26; use strict; use warnings $ENV{GIT_PERL_FATAL_WARNINGS} ? qw(FATAL all) : ();
perl/Git/Packet.pm
+1-1
index d896e69523..00fd9c484a 100644--- a/perl/Git/Packet.pm+++ b/perl/Git/Packet.pm@@ -1,5 +1,5 @@ package Git::Packet;-use 5.008001;+require v5.26; use strict; use warnings $ENV{GIT_PERL_FATAL_WARNINGS} ? qw(FATAL all) : (); BEGIN {
t/t0202/test.pl
+1-1
index 47d96a2a13..5085a0eda5 100755--- a/t/t0202/test.pl+++ b/t/t0202/test.pl@@ -1,5 +1,5 @@ #!/usr/bin/perl-use 5.008001;+require v5.26; use lib (split(/:/, $ENV{GITPERLLIB})); use strict; use warnings;
t/t5562/invoke-with-content-length.pl
+1-1
index 9babb9a375..211e29fade 100644--- a/t/t5562/invoke-with-content-length.pl+++ b/t/t5562/invoke-with-content-length.pl@@ -1,4 +1,4 @@-use 5.008001;+require v5.26; use strict; use warnings;
t/t9700/test.pl
+1-1
index 2e1d50d4d1..58a9b328d5 100755--- a/t/t9700/test.pl+++ b/t/t9700/test.pl@@ -1,7 +1,7 @@ #!/usr/bin/perl use lib (split(/:/, $ENV{GITPERLLIB}));-use 5.008001;+require v5.26; use warnings; use strict;
t/test-terminal.perl
+1-1
index b8fd6a4f13..862bb8f395 100755--- a/t/test-terminal.perl+++ b/t/test-terminal.perl@@ -1,5 +1,5 @@ #!/usr/bin/perl-use 5.008001;+require v5.26; use strict; use warnings; use IO::Pty;