Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3. - Mailing list pgsql-hackers

From Noah Misch
Subject Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3.
Date
Msg-id 20211008025659.GA398563@rfd.leadboat.com
Whole thread Raw
In response to Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3.  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Thu, Oct 07, 2021 at 03:44:48PM -0400, Tom Lane wrote:
> [ cc'ing Craig and Noah, as author/committer of the existing text ]
> 
> Daniel Gustafsson <daniel@yesql.se> writes:
> > On 7 Oct 2021, at 21:02, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >> BTW, looking at that a second time, I wonder if that advice is
> >> really of any use.
> >> 
> >> (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.

> >> (2) Unless perlbrew.pl is doing something a lot more magic than
> >> I think, you're going to end up with current-not-historical
> >> versions of whatever it has to pull from CPAN.  That's going
> >> to include at least IPC::Run and Test::More if you want to run
> >> our TAP tests.

Yes.  If someone changed the recipe to install Test::More 0.87 and the
oldest-acceptable IPC::Run, we'd detect more portability problems.  I'd regard
such a change as an improvement.

> >> So maybe this advice is helpful, but I'm not very convinced.

The rest of this thread is leaning on the above misconceptions:

> I propose that what might be more useful than the existing last
> section of src/test/perl/README is something along the lines of:
> 
>   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 to pass on that.
> 
>   Also, do not use any non-core Perl modules except IPC::Run.
>   Or, if you must do so for a particular test, arrange to skip
>   the test when the needed module isn't present.

-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.



pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: Role Self-Administration
Next
From: Michael Paquier
Date:
Subject: Re: Lost logs with csvlog redirected to stderr under WIN32 service