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
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/){
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
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?
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.