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>
18 files changed:
- 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
package DiffHighlight;
-use 5.008001;
+require v5.26;
use warnings FATAL => 'all';
use strict;
package Git::Mediawiki;
-use 5.008001;
+require v5.26;
use strict;
use POSIX;
use Git;
=cut
-use 5.008001;
+require v5.26;
use strict;
use warnings;
use Getopt::Std;
#!/usr/bin/perl
-use 5.008001;
+require v5.26;
use strict;
use warnings;
use Getopt::Std;
# 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;
####
####
-use 5.008001;
+require v5.26;
use strict;
use warnings;
use bytes;
# 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;
#!/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
#
# This program is licensed under the GPLv2
-use 5.008001;
+require v5.26;
use strict;
use warnings;
# handle ACL in file access tests
package Git;
-use 5.008001;
+require v5.26;
use strict;
use warnings $ENV{GIT_PERL_FATAL_WARNINGS} ? qw(FATAL all) : ();
package Git::I18N;
-use 5.008001;
+require v5.26;
use strict;
use warnings $ENV{GIT_PERL_FATAL_WARNINGS} ? qw(FATAL all) : ();
BEGIN {
package Git::LoadCPAN;
-use 5.008001;
+require v5.26;
use strict;
use warnings $ENV{GIT_PERL_FATAL_WARNINGS} ? qw(FATAL all) : ();
package Git::Packet;
-use 5.008001;
+require v5.26;
use strict;
use warnings $ENV{GIT_PERL_FATAL_WARNINGS} ? qw(FATAL all) : ();
BEGIN {
#!/usr/bin/perl
-use 5.008001;
+require v5.26;
use lib (split(/:/, $ENV{GITPERLLIB}));
use strict;
use warnings;
-use 5.008001;
+require v5.26;
use strict;
use warnings;
#!/usr/bin/perl
use lib (split(/:/, $ENV{GITPERLLIB}));
-use 5.008001;
+require v5.26;
use warnings;
use strict;
#!/usr/bin/perl
-use 5.008001;
+require v5.26;
use strict;
use warnings;
use IO::Pty;