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: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Noah Misch <noah@leadboat.com>, Andrew Dunstan <andrew@dunslane.net>, pgsql-hackers@postgresql.org
Date: 2017-07-31T20:54:45Z
Lists: pgsql-hackers
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
> On 7/31/17 15:38, Tom Lane wrote:
>> Really?  That seems pretty broken, independently of how many variables
>> are affected.  But the ones you'd be most likely to do that with are
>> using AC_PATH_PROG already, I think.  Having lesser-used program variables
>> behave inconsistently doesn't seem like much of a win.

> Well, if we're fiddling around here, I would change them all to
> AC_CHECK_PROG if possible.  Especially the PYTHON one annoys me all the
> time.  CC is another one I set occasionally.

I will object really really strongly to that, as it is 180 degrees from
where I think we need to go, and will make things a lot worse than before
on the documentation aspect that I was concerned about to begin with.

If we need to fix things so that AC_PATH_PROG will honor a non-path
input value, then let's do that.  But let's not make the build system
shakier/less reproducible than it is already.

I suggest that we could inject logic like this:

  if VARIABLE-is-set-and-value-isn't-already-absolute; then
    VARIABLE=`which $VARIABLE 2>/dev/null`
  fi

in front of the existing logic for AC_PATH_PROG(VARIABLE,...).
Maybe "which" isn't the best tool for the job, not sure.

Another idea, which would probably require replacing _AC_PATH_PROG
rather than just putting a wrapper around it, would be to let it
perform its normal path walk but using the given word instead of
$ac_word.

			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