Bug#688842: CPAN modules no longer installed to /usr/local by default

Niko Tyni ntyni at debian.org
Wed Oct 3 08:41:30 UTC 2012


On Wed, Sep 26, 2012 at 09:12:00AM +0300, Niko Tyni wrote:
> Package: perl
> Version: 5.14.2-13
> Severity: serious
> Justification: maintainer opinion
> 
> On Wed, Sep 26, 2012 at 06:46:02AM +1100, Steve (Telsat Broadband) wrote:
>  
> > I believe I've uncovered a small bug relating to the default
> > installation parameters when using CPAN.  On my first try using CPAN
> > on the latest Debian testing version (Wheezy), I found that it was
> > installing all the modules I requested into /root/perl instead of in
> > the proper directories.
> 
> Thanks for reporting this. They are indeed supposed to go in /usr/local
> rather than /root by default when root is installing modules.

> When the site dirs don't exist, the CPAN shell interactive configuration states
>   Warning: You do not have write permission for Perl library directories.
> and proceeds to suggest local::lib for installation, which is not the
> optimal suggestion for root users.
> 
> We don't ship the site directories in /usr/local with the perl package,
> as they used to be created at CPAN install time if necessary, and not
> having them by default saves (or at least used to save) a bunch of stat()
> calls on every interpreter startup in the common case.

This should've been s/on every interpreter startup/on require time/,
see #510895. However, some quick tests indicate the stat() calls are
made anyway, and that this was the case for squeeze too. Not sure
how much that matters though.

Still, creating /usr/local/lib/perl/<version> from postinst scripts
leads to a profileration of empty directories in the common case
where CPAN is never used. I'd rather avoid that.

> Possibly we need to make CPAN::FirstTime try to mkdir those directories
> when probing.

My current thinking is that a minimally invasive fix would be a loop
that tests the first existing directory up the tree for writability.
This way we can leave the mkdir part (along with umask settings,
see debian/patches/debian/writable_site_dirs.diff) for later.
 
> Help (and opinions on the right thing to do) is welcome on this.

This still applies.
-- 
Niko Tyni   ntyni at debian.org




More information about the Perl-maintainers mailing list