Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3.

From: Noah Misch <noah(at)leadboat(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Daniel Gustafsson <daniel(at)yesql(dot)se>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Craig Ringer <craig(dot)ringer(at)enterprisedb(dot)com>
Subject: Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3.
Date: 2021-10-08 04:24:54
Message-ID: 20211008042454.GB398563@rfd.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Thu, Oct 07, 2021 at 11:39:11PM -0400, Tom Lane wrote:
> Noah Misch <noah(at)leadboat(dot)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(at)0(dot)87
+ cpanm install IPC::Run(at)tbd_old_version

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Daniel Gustafsson 2021-10-08 08:03:42 Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3.
Previous Message Tom Lane 2021-10-08 03:39:11 Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3.

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2021-10-08 05:34:31 GIN pending list cleanup during autoanalyze blocks cleanup by VACUUM
Previous Message Zhihong Yu 2021-10-08 03:57:39 Re: Add client connection check during the execution of the query