Eric Wilhelm wrote:
This still troubles me:

+          'INSTALLDIRS' => ($] >= 5.009003 ? 'perl' : 'site'),

And the EU::CB Build.PL, (as well as a few others) has:

  installdirs => ($] >= 5.009003 ? 'core' : 'site'),

This idiom causes frustration when upgrading a debian system because their site directory has higher precedence than core. Thus, CPAN, Test-Harness, and Module-Build get upgraded by aptitude and the more recent files (installed from cpan) get overwritten with an older version.

  http://www.debian.org/doc/packaging-manuals/perl-policy/ch-perl.html

  $ perl -e 'use Config; my %incpos = map {$INC[$_] => $_} 0..$#INC;
   print "$incpos{$Config{$_}}: $_\n" for(qw(
    installsitearch installsitelib installarchlib installprivlib));
  '
  5: installsitearch
  6: installsitelib
  9: installarchlib
  10: installprivlib

So, in this case, it is better for a dual-life module to install in site.

Do debian users need to fix their configs, or do dual-life modules need to simply install into the @INC directory with higher-precedence?

Most perl distributions set INSTALLDIRS=site in their CPAN config, which is correct in this case.


--
I have a date with some giant cartoon robots and booze.

Reply via email to