Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3.
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Daniel Gustafsson <daniel@yesql.se>, pgsql-hackers@lists.postgresql.org, Craig Ringer <craig.ringer@enterprisedb.com>
Date: 2021-10-08T04:24:54Z
Lists: pgsql-hackers
On Thu, Oct 07, 2021 at 11:39:11PM -0400, Tom Lane wrote:
> Noah Misch <noah@leadboat.com> writes:
> > On Thu, Oct 07, 2021 at 03:44:48PM -0400, Tom Lane wrote:
> >>> (1) I'm distrustful of the idea that perl 5.8.x will compile
> >>> cleanly, or at all, on modern platforms. Certainly Postgres
> >>> releases of similar vintage won't.
>
> > perlbrew uses the patchperl system to build old Perl in modern environments.
> > This year, I used it to get 5.8.0. Building unpatched 5.8.0 does fail.
>
> Oh, cool.
>
> >> I propose that what might be more useful than the existing last
> >> section of src/test/perl/README is something along the lines of:
>
> > -1. This would replace a useful recipe with, essentially, a restatement of
> > that recipe in English words. That just leaves the user to rediscover the
> > actual recipe.
>
> Well, I think the existing text does the reader a disservice
> by stating a specific recipe without any context. Notably,
> it says nothing about restricting which Perl modules you use.
That's obvious from "cpanm install IPC::Run". Surely if any other non-core
module were allowed, the recipe would list it in a similar way. This is a
source tree README; it shouldn't try to hold the reader's hand like the
user-facing docs do. We've not had commits add usage of other modules, so
there's no evidence of actual doubt on this point.
> What do you think of using my proposed text followed by
>
> One way to test against an old Perl version is to use
> perlbrew.
> << more or less the existing text here >>
> Bear in mind that you will still need to install IPC::Run,
> and what you will get is a current version not the one
> distributed with Perl 5.8.3. You will also need to update
> Test::More because the version distributed with Perl 5.8.3
> is too old to run our TAP tests. So this recipe does not create
> a perfect reproduction of a back-in-the-day Perl installation,
> but it will probably catch any problems that might surface in
> the buildfarm.
I don't see an improvement in there. If there's something to change, it's
improving the actual recipe:
--- a/src/test/perl/README
+++ b/src/test/perl/README
@@ -83,3 +83,4 @@ Just install and
perlbrew install-cpanm
- cpanm install IPC::Run
+ cpanm install Test::More@0.87
+ cpanm install IPC::Run@tbd_old_version
Commits
-
Make configure check for minimum required version of IPC::Run.
- 4a235efddaa7 15.0 landed
-
Doc: update testing recipe in src/test/perl/README.
- 3eb1f4d09745 15.0 landed
-
Update test/perl/README to insist on Perl version >= 5.8.3, too.
- 93fb39eca643 15.0 cited
-
Adjust configure to insist on Perl version >= 5.8.3.
- 92e6a98c3636 15.0 cited
-
Doc: specify that the minimum supported version of Perl is 5.8.3.
- dea6ba939fd2 10.0 cited