Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3. - Mailing list pgsql-hackers
From | Tom Lane |
---|---|
Subject | Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3. |
Date | |
Msg-id | 234637.1633709021@sss.pgh.pa.us Whole thread Raw |
In response to | Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3. (Daniel Gustafsson <daniel@yesql.se>) |
Responses |
Re: pgsql: Adjust configure to insist on Perl version >= 5.8.3.
|
List | pgsql-hackers |
Daniel Gustafsson <daniel@yesql.se> writes: > On 8 Oct 2021, at 06:24, Noah Misch <noah@leadboat.com> wrote: >> 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. > The proposed changes talks about with core modules are allowed to use, I think > that's a different thing. The distinction between core and non-core modules > may not be known/clear to people who haven't used Perl in the past. Yeah, I don't really think that this recipe makes it plain that we have a policy. It certainly fails to explain that you're allowed to use additional modules if you're willing to skip the relevant tests. > This README isn't primarily targeting committers though IMO, but new developers > onboarding onto postgres who are trying to learn the dev environment. Right. >> If there's something to change, it's improving the actual recipe: > That we should do as well. You're not going to get far with "improving the recipe", because it's just not possible. To check this, I installed perlbrew on a Fedora 34 machine, and found that it actually can install a mostly-working 5.8.3 (nice!). But as I suspected earlier, it can't reproduce the old module configuration: $ cpanm install Test::More@0.87 --> Working on install Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/install-0.01.tar.gz ... OK ==> Found dependencies: ExtUtils::MakeMaker --> Working on ExtUtils::MakeMaker Fetching http://www.cpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.62.tar.gz ... OK Configuring ExtUtils-MakeMaker-7.62 ... OK Building and testing ExtUtils-MakeMaker-7.62 ... OK Successfully installed ExtUtils-MakeMaker-7.62 (upgraded from 6.17) Configuring install-0.01 ... OK Building and testing install-0.01 ... OK Successfully installed install-0.01 ! Finding Test::More (== 0.87) on cpanmetadb failed. Found Test::More 1.302188 which doesn't satisfy == 0.87. 2 distributions installed Not only is that a fail on Test::More itself, but as un-asked-for side effects, it upgraded ExtUtils::MakeMaker to current, and installed a module that should not have been there (which kinda defeats the point of the exercise). I did find I could install IPC::Run 0.79, which matches prairiedog's version of that module: $ cpanm install IPC::Run@0.79 install is up to date. (0.01) ! Finding IPC::Run (== 0.79) on cpanmetadb failed. --> Working on IPC::Run Fetching http://cpan.metacpan.org/authors/id/R/RS/RSOD/IPC-Run-0.79.tar.gz ... OK Configuring IPC-Run-0.79 ... OK Building and testing IPC-Run-0.79 ... OK Successfully installed IPC-Run-0.79 1 distribution installed However, this just reflects the fact that prairiedog's installation is itself a bit Frankensteinan. What it has for Test::More and IPC::Run are just the oldest versions I could find on CPAN back in 2017 when I built that installation. I can't claim that they have any historical relevance. They are, however, a lot more likely to still be duplicatable from current CPAN than actually-old versions. So while this recipe is a lot more useful than I thought, it can't entirely reproduce the Perl environment of older buildfarm members. I think we really ought to document that. I also think it is useful to explicitly state the policy and then give this recipe as one way to (partially) test against the policy. regards, tom lane
pgsql-hackers by date: