On Tue, Nov 26, 2002 at 01:37:12PM -0800, Brian Ingerson wrote: > I had forgot that Search goes through the entire tarball looking for .pm > files. EU::MakeMaker doesn't do this. It only uses modules in ./ lib/ or > contiguous subdirectories containing a Makefile.PL. I found this out when I > tried to hide a sample Math::Simple in the Inline dist. It doesn't get > installed, but it gets (much to my chagrin) indexed. > > It would be nice to prevent this.
I disagree. EU::MM can be told to look for module files anywhere. As search does not have this infomation. the correct thing todo will be to scan the whole tree. > Well I am trying to stick everything sneaky under the ./CPAN/ directory. > Since that directory must be there for CPAN::MakeMaker to work anyway. Why ? I think assuming . in the path will find you module is a bad assumption. What if some sysadmon does install CPAN::MM, then when someone tries todo a private install it will always get the installed copy, not the one in the distribution. Also, why should only module be treated special ? It would be much better to have one directory designated as a directory to include files only needed for installation. It would only require a use lib 'privlib'; at the top of the MakeFile.PL and you can then be sure that modules in the dist will be used in preference over those installed and it also gives a standard place for other people to place similar modules. > It's interesting that I couldn't have used the module name > CPAN_MakeMaker.pm because it would have been picked up for installation; > but since MakeMaker.pm is under ./CPAN/ , EU::MM ignores it. (Search > should too :) MM ignores it because of info you have not placed in the MakeFile.PL, search does not know any of that. > As you can see, bundle tarballs can go anywhere. This probably won't confuse > Search, since they are tarred up. The bundle_module stuff goes under CPAN/. I > would suggest ignoring ./CPAN/ for modules. (Does anyone use ./CPAN/?) The > Test::More stuff could also go under ./CPAN/ and I could adjust the Makefile > to put ./CPAN/ in the @INC path. CPAN may be the name for the shared directory, but I would suggest that the CPAN::MM module be copied to CPAN/CPAN/MakeMake.pm and have use lib 'CPAN' into the Makefile.PL and no depend on . Graham. > The upshot would (could) be that CPAN::MakeMaker reserves ./CPAN for itself. > It should be easy to detect if the Author was trying to use it for anything > else, and give a fair warning. > > Cheers, Brian
