Re: PL_stashcache, or, what's our minimum Perl version?

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: Noah Misch <noah@leadboat.com>, pgsql-hackers@postgreSQL.org
Date: 2017-07-31T22:54:06Z
Lists: pgsql-hackers
I wrote:
> Done.  I have also reconfigured buildfarm member prairiedog to use
> a non-MULTIPLICITY build of Perl 5.8.3, with the oldest Test::More
> and IPC::Run versions I could lay my hands on.  Although I'd gotten
> through a manual "make check-world" with this configuration in HEAD
> before touching the buildfarm configuration, I see that it just fell
> over in the back branches.  So there's still some more fixing to be
> done, or else we'll need to change that claim again.  Will investigate
> once the buildfarm run finishes.

The reason it works manually and not in the buildfarm is that the
buildfarm injects

    my $pflags = "PROVE_FLAGS=--timer";

(run_build.pl:1609) and it turns out that 5.8.3's version of prove
does not have the --timer switch.  I see that --timer is there in
the next oldest version I have at hand, 5.8.6.  I doubt it is worth
teaching the buildfarm scripts to autoconfigure this, but could we
do something like

    my $pflags = "PROVE_FLAGS='" . ($ENV{PROVE_FLAGS} || "--timer") . "'";

to allow overriding this choice from the buildfarm config?

FYI, I plan to keep the TAP tests enabled on prairiedog for HEAD,
but probably not for the back branches after this run cycle
finishes, because it's just too-darn-slow.

			regards, tom lane


Commits

  1. Adjust configure to insist on Perl version >= 5.8.3.

  2. Further improve consistency of configure's program searching.

  3. Doc: specify that the minimum supported version of Perl is 5.8.3.

  4. Record full paths of programs sought by "configure".

  5. Abandon the use of Perl's Safe.pm to enforce restrictions in plperl, as it is