aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Naylor <john.naylor@postgresql.org>2022-09-14 09:58:13 +0700
committerJohn Naylor <john.naylor@postgresql.org>2022-09-14 12:37:04 +0700
commit4c1532763a00c21cbb737bc3855e9a31374b119d (patch)
treeb75d8b067de1ef814c2d53ae7e527026924a6633 /src
parentecaf7c5df54f7fa9df2fdc7225d2bb4e283f0081 (diff)
downloadpostgresql-4c1532763a00c21cbb737bc3855e9a31374b119d.tar.gz
postgresql-4c1532763a00c21cbb737bc3855e9a31374b119d.zip
Bump minimum Perl version to 5.14
The oldest vendor-shipped Perl in the buildfarm is 5.14.2, which is the last version that Debian Wheezy shipped. That OS is EOL, but we keep it running because there is no other convenient way to test certain non-mainstream 32-bit platforms. There is no bugfix in the 5.14.2 release that is required, and yet it's also not the latest minor release -- that would be 5.14.4. To clarify the situation, we have thus arranged the buildfarm to test 5.14.0. That allows configure scripts and documentation to state 5.14 without fine print. The MSVC build didn't check the version, since our previous minimum 5.8.3 was considered too old to check for on Windows. We will need a check for Windows sometime during the v16 cycle, but that could be rendered moot by the impending Meson conversion, so it seems safe to just document the requirement for now. Reviewed by Tom Lane Discussion: https://www.postgresql.org/message-id/20220902181553.ev4pgzhubhdkguuv@awork3.anarazel.de
Diffstat (limited to 'src')
-rw-r--r--src/pl/plperl/plc_perlboot.pl1
-rw-r--r--src/test/perl/PostgreSQL/Test/Cluster.pm2
-rw-r--r--src/test/perl/README10
-rw-r--r--src/tools/msvc/gendef.pl1
-rwxr-xr-xsrc/tools/pgindent/pgindent1
5 files changed, 4 insertions, 11 deletions
diff --git a/src/pl/plperl/plc_perlboot.pl b/src/pl/plperl/plc_perlboot.pl
index 8fd7f998bc2..72cb53f6e3e 100644
--- a/src/pl/plperl/plc_perlboot.pl
+++ b/src/pl/plperl/plc_perlboot.pl
@@ -6,7 +6,6 @@
use strict;
use warnings;
-use 5.008001;
use vars qw(%_SHARED $_TD);
PostgreSQL::InServer::Util::bootstrap();
diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm
index 27fa607da41..4fef9c12e61 100644
--- a/src/test/perl/PostgreSQL/Test/Cluster.pm
+++ b/src/test/perl/PostgreSQL/Test/Cluster.pm
@@ -2780,7 +2780,7 @@ all values '' if not found. Does not differentiate between null and empty string
for fields, no field is ever undef.
The restart_lsn and confirmed_flush_lsn fields are returned verbatim, and also
-as a 2-list of [highword, lowword] integer. Since we rely on Perl 5.8.8 we can't
+as a 2-list of [highword, lowword] integer. Since we rely on Perl 5.14 we can't
"use bigint", it's from 5.20, and we can't assume we have Math::Bigint from CPAN
either.
diff --git a/src/test/perl/README b/src/test/perl/README
index 4b160cce36e..6ddee42a105 100644
--- a/src/test/perl/README
+++ b/src/test/perl/README
@@ -78,10 +78,6 @@ Each test script should end with:
done_testing();
-Test::More::like entails use of the qr// operator. Avoid Perl 5.8.8 bug
-#39185 by not using the "$" regular expression metacharacter in qr// when also
-using the "/m" modifier. Instead of "$", use "\n" or "(?=\n|\z)".
-
Test::Builder::Level controls how far up in the call stack a test will look
at when reporting a failure. This should be incremented by any subroutine
which directly or indirectly calls test routines from Test::More, such as
@@ -103,7 +99,7 @@ Portability
-----------
Avoid using any bleeding-edge Perl features. We have buildfarm animals
-running Perl versions as old as 5.8.3, so your tests will be expected
+running Perl versions as old as 5.14, so your tests will be expected
to pass on that.
Also, do not use any non-core Perl modules except IPC::Run. Or, if you
@@ -116,8 +112,8 @@ One way to test for compatibility with old Perl versions is to use
perlbrew; see http://perlbrew.pl . After installing that, do
export PERLBREW_CONFIGURE_FLAGS='-de -Duseshrplib'
- perlbrew --force install 5.8.3
- perlbrew use 5.8.3
+ perlbrew --force install 5.14.0
+ perlbrew use 5.14.0
perlbrew install-cpanm
cpanm install Test::Simple@0.98
cpanm install IPC::Run@0.79
diff --git a/src/tools/msvc/gendef.pl b/src/tools/msvc/gendef.pl
index b8c514a8311..b4af3dea81b 100644
--- a/src/tools/msvc/gendef.pl
+++ b/src/tools/msvc/gendef.pl
@@ -3,7 +3,6 @@
use strict;
use warnings;
-use 5.8.0;
use List::Util qw(max);
my @def;
diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
index 2ef07bb9fd5..47d2790ef60 100755
--- a/src/tools/pgindent/pgindent
+++ b/src/tools/pgindent/pgindent
@@ -4,7 +4,6 @@
use strict;
use warnings;
-use 5.008001;
use Cwd qw(abs_path getcwd);
use File::Find;