Supporting a perl without . in @INC

[email protected] (Todd Rinaldo) Mon, 16 Jan 2017 11:06:22 -0600
Newsgroups perl.cpan.workers
Message-ID <[email protected]>
All,

Currently in blead is a change that will begin breaking many CPAN installs. This is a result of a non-default change to perl builds which removes . from @INC. There is currently a separate proposal ( https://rt.perl.org/Public/Bug/Display.html?id=130467 <https://rt.perl.org/Public/Bug/Display.html?id=130467> )being discussed to remove . from @INC by default in 5.26. 

More information on the impact of this can also be found here. http://blogs.perl.org/users/todd_rinaldo/2016/11/how-removing-from-inc-is-about-to-break-cpan.html <http://blogs.perl.org/users/todd_rinaldo/2016/11/how-removing-from-inc-is-about-to-break-cpan.html>

As I understand things, this is the closest thing to a mailing list for the toolchain group, so I'm trying this list first.

In order to action RT 130467 without completely breaking CPAN, I propose the following patches to CPAN install related modules to fix the problem:

* Inject PERL_USE_UNSAFE_INC=1 into the environment early in the following clients. This assures that everything spawned by these clients gets . in @INC during test/install.
CPAN
CPANPLUS
App::cpanminus

* Inject PERL_USE_UNSAFE_INC=1 into TAP::Harness to support ad-hoc use of prove. (Leon is already working on this)

* Inject PERL_USE_UNSAFE_INC=1 into install modules to try to address as many Makefile.PL missing . in @INC issues as possible:
ExtUtils::MakeMaker
Module::Build
Module::Build::Tiny

What at this point I feel is lacking is agreement and/or discussion that the above is the correct approach to solving this problem. 

If you are not for this plan and/or you are a maintainer of one of the above mentioned packages, your response would be appreciated. We're running out of time to complete this in time for perl 5.26.

Thanks,
Todd Rinaldo