cr...@animalhead.com wrote:
The installation process needs to know at least: 1. where the accompanying DB-building script should go
Module::Build knows where to put bin/ or script/ files and it does so according to how Perl and CPAN are configured. I assume EU::MM does too.
2. where the DB that the app builds should go
That's probably something your application should allow to be specified, either a command line option to the script or an option to the module, or both.
How can such necessary things be determined, other than by asking the user?
If it's a run time option (and can be changed or multiple programs can use this and thus want different values) don't ask for it at install time.
I was just going to add a note before or after these two queries, that if they have a mod_perl2 library and want the module to go there, they should "do this".
Putting extra docs in your module is ok, but I personally wouldn't repeat the docs that are already out there.
As I just wrote to Perrin off-list, since only a tiny fraction of CPAN downloads are mod_perl2 modules, no one can configure CPAN for a mod_perl2 library.
All perl libraries should go in the same place IMO. Whether it's Apache specific, or GTK or something else. I don't want to have to mess with @INC just because someone put something someplace non-standard.
So now if Makefile.PL doesn't find 'mm' in /usr/local/lib, it prompts the user to enter the path to 'mm', which is then passed to Devel::CheckLib. The query is accompanied by a note showing the URL from which 'mm' can be downloaded.
Personally, I'd just bomb out if you can't find the lib (and Devel::CheckLib is good for that). Give the user a message that you can't find the library and then exit. I doubt that someone who has a library that's not in the system libs will know where it is, and if they do they can just as easily set LD_LIBRARY_PATH themselves.
On the other hand, my latest version 0.58 has only been tested by one tester, a week after uploading it. Maybe that's because of the new query in Makefile.PL!
That's why prompts are evil. Automated tests won't work. So just bomb out and at least you'll get lots of UNKNOWN test results which is better than nothing :)
-- Michael Peters Plus Three, LP