# from [EMAIL PROTECTED]
# on Sunday 17 February 2008 12:22:

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?

We sort-of had this discussion, but nothing changed (and I don't think 
we came to a conclusion.)  It looks like the last word was:

# from Michael G Schwern on Tuesday 16 October 2007 13:21:
>All to add a convenience feature for a very narrow group of module
> authors which already has an O(1) solution.

But what is said solution?  Have dual-life modules use the above 
installdirs idiom?  I would like it to actually work if we're going to 
call it a solution.

IMO, the trouble is that we're setting installdirs on the wrong 
criteria.  The condition should be:

  $] >= 5.009003 && site_core_is_backwards() ? 'core' : 'site'

--Eric
-- 
You can't whack a chisel without a big wooden mallet.
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to