Re: overriding make install

Michael G Schwern <[email protected]> Mon, 19 Apr 2010 12:40:16 +0300
Newsgroups gmane.comp.lang.perl.modules.extutils-makemaker.devel
Message-ID <[email protected]>
Gabor Szabo wrote:
>> But if you're not using the MakeMaker install process why are you using
>> MakeMaker?
> 
> I wanted to get Bugzilla on CPAN but making the whole installation process
> really work is not that easy. Max, the Bugzilla lead is afraid that people will
> try to install it from CPAN and they will just get complains on broken
> installations.
> 
> So I suggested to upload Bugzilla to CPAN and replace "make install"
> with a message that points to the currently working direction. Then
> gradually try
> to make sure the whole installation process can work via CPAN as well.

I don't know how much value there is in putting it on CPAN with no install 
mechanism.  A minimum one which does the following would be more useful:

1) Use REQUIRED_MODULES() and OPTIONAL_MODULES() in
    Bugzilla::Install::Requirements to generate PREREQ_PM.
2) Have the Makefile.PL prompt() the user where they want it installed.
3) Run the tests in the t/ directory.
4) Have install copy the files to the user's selected directory.
5) Finish with a pointer to the README and a message that installation
    is not complete and they're up to step 4.

That's fairly straightforward.

MakeMaker does not support optional requirements, features or blacklists, and 
you're eventually going to rewrite nearly the entire Makefile anyway.  About 
the only benefit you'll gain from using MakeMaker over writing a Makefile is 
the cross-platform widgets like $(ECHO) which are only necessary because 
you're writing a Makefile.  Circular.

You'd be better off with Module::Build.  Make ACTION_code do nothing.  Leave 
ACTION_test alone.  Completely override ACTION_install.


> Since then I am not sure any more as apparently they currently include the CVS
> directory in their tarball in order to allow people to upgrade via CVS.

I haven't figured out if that's brilliant or silly.  Or both.  Either way, its 
tiny and seems orthogonal to the issue of getting it on CPAN.


-- 
Just call me 'Moron Sugar'.
	http://www.somethingpositive.net/sp05182002.shtml