Skip Menu |
 

This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics
Id: 29235
Status: resolved
Priority: 0/
Queue: CPAN

People
Owner: Nobody in particular
Requestors: mschwern [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: (no value)
Fixed in: (no value)



Subject: Change default for "preferred installer" to Module::Build
Download (untitled) / with headers
text/plain 1.7k
When a module has both a Build.PL and a Makefile.PL it means the author wrote the module using Module::Build and then provided a Makefile.PL for compatibility purposes, either for machines which do not have Module::Build or for automated tools which do not yet understand how to work with Module::Build. The Makefile.PL often does not have all the features of the Build.PL. This is because it is often auto-generated, so any custom code in the Build.PL is lost in translation. For example, special code to prompt the user for configuration details. It is also because Module::Build can do a lot of things MakeMaker cannot. For example, specify modules only necessary for building or testing. Or run all tests in t/ including its subdirectories. When both are provided, Build.PL is always the intended primary. There's no reason to write a module with MakeMaker and then provide Build.PL for compatibility. There are no tools to go from a Build.PL to a Makefile.PL. If you have Module::Build installed there's no reason to prefer the Makefile.PL unless something is broken. Preferring the Makefile.PL by default means degraded functionality. Therefore, the default for CPAN.pm's preferred_installer should be MB. Here's the patch. --- lib/CPAN/FirstTime.pm.bak 2007-09-08 03:38:22.000000000 -0700 +++ lib/CPAN/FirstTime.pm 2007-09-08 03:38:39.000000000 -0700 @@ -457,7 +457,7 @@ if (!$matcher or 'prefer_installer' =~ /$matcher/){ $CPAN::Frontend->myprint($prompts{prefer_installer_intro}); - my_prompt_loop(prefer_installer => 'EUMM', $matcher, 'MB|EUMM'); + my_prompt_loop(prefer_installer => 'MB', $matcher, 'MB|EUMM'); } if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/){
Download (untitled) / with headers
text/plain 207b
Overhauled in 1.91_55. MB is now default, more text and a link to this ticket is provided, a third option now is to make a random decision. If new issues crop up, please reopen this ticket. Thanks, Schwern,
From: MSCHWERN [...] cpan.org
Download (untitled) / with headers
text/plain 318b
On Sun Sep 16 03:37:39 2007, ANDK wrote: Show quoted text
> Overhauled in 1.91_55. MB is now default, more text and a link to this > ticket is provided, a third option now is to make a random decision. If > new issues crop up, please reopen this ticket.
Thanks for making the change. But, umm... random? What's the thinking on that?
Download (untitled) / with headers
text/plain 225b
Show quoted text
> But, umm... random? What's the thinking on that?
If people provide both Build.PL and Makefile.PL then both should be tested and get their share of testers reports. So to get good test coverage a tester can choose "random".
Has now been in place for a long time and caused no further gripes, so closing ticket now.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.