On Sun, Oct 10, 2021 at 04:10:38PM -0400, Tom Lane wrote:
> Noah Misch <noah(at)leadboat(dot)com> writes:
> > On Sun, Oct 10, 2021 at 01:17:10PM -0400, Tom Lane wrote:
> >> The closest I can get to what we want using cpanm is with this recipe:
> >> cpanm install Test::Simple(at)0(dot)87_01
> >> cpanm install IPC::Run(at)0(dot)79
> >> cpanm install ExtUtils::MakeMaker(at)6(dot)50 # downgrade
>
> > While the MakeMaker litter is annoying, I'm not too worried about it. The
> > only other thing I'd consider is doing the MakeMaker 6.50 install before
> > Test::Simple, not after.
>
> Tried that to begin with, doesn't work. There are at least two problems:
>
> 1. Before anything else, the first invocation of "cpanm install" wants
> to pull in "install". That seems to be a dummy module, but it's not
> without side-effects: it updates ExtUtils to current. If your first
> request is "cpanm install ExtUtils::MakeMaker(at)6(dot)50", the version
> specification is effectively ignored.
>
> 2. I then tried doing a second "cpanm install ExtUtils::MakeMaker(at)6(dot)50",
> and that did successfully downgrade to 6.50 ... but then the request
> to update Test::Simple upgraded it again. I'm not really sure why
> that happened. It looks more like a cpanm bug than anything Test::Simple
> asked for.
>
> I didn't do exhaustive experimentation to see if putting the downgrade
> before "install IPC::Run" would work. I think we're best off assuming
> that cpanm will cause that upgrade due to phase-of-the-moon conditions,
> so putting the downgrade last is the most robust recipe.
Got it. Good enough!