Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Re: Re: Module::Build and the PPM

by tilly (Archbishop)
on May 19, 2004 at 01:10 UTC ( [id://354489]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Module::Build and the PPM
in thread Module::Build and the PPM

See the discussion at Re: Re: Re: Acme::Lingua::Pirate::Perl author needs encouragement to add Makefile.PL.

Following that thread, I sent email to Ken Williams suggesting that the documentation for Module::Build::Compat not say that the preferred scenario is the one where you omit Makefile.PL and just tell people what to do in the README. Instead I thought that people should default to having passthrough present to install Module::Build for them. My point was that the resulting problems will mostly be felt by people who are trying to do something else (eg sysadmins doing a semi-automated install) who were only going to be annoyed at the extra difficulty. He replied saying that he didn't want to do that because he really wanted as many people as possible to learn about Module::Build. As I recall, the response got sent to some Module::Build mailing list, there was brief discussion, and the topic got dropped. I never followed up, and the documentation for Module::Build::Compat still says that the preferred scenario is to not provide compatibility with Makefile.PL, which will break people using CPAN to do installs.

You can make of this what you will. As you might have guessed from my previous post, the episode left me with a bad taste. Furthermore any module that I happen to notice following Ken's advice is broken in my books, and I'll not fail to describe it accordingly if the occasion arises.

Feel free to pass this message on to Ken if you wish. I presume that he is aware of my opinion, and likely doesn't care. At least he didn't care before, and I know of no reason for that to have changed.

Replies are listed 'Best First'.
Re: Re: Re: Re: Module::Build and the PPM
by autarch (Hermit) on May 19, 2004 at 07:46 UTC

    Well, I think your paraphrase of the Module::Build::Compat docs leaves quite a bit to be desired. Here's the actual text:

    Just include a Build.PL script (without a Makefile.PL script), and give installation directions in a README or INSTALL document explaining how to install the module. In particular, explain that the user must install Module::Build before installing your module. I prefer this method, mainly because I believe that the woes and hardships of doing this are far less significant than most people would have you believe. It's also the simplest method, which is nice. But anyone with an older version of CPAN or CPANPLUS on their system will probably have problems installing your module with it.

    So basically, Ken's saying that he prefers to just include a Build.PL file in his modules. He also points out the problems with this. Presumably, anyone using Module::Build is well aware of the fact that it isn't as well supported as EU::MM with common tools, and is capable of making a reasonable choice of what amount of backwards compatibility to provide, and won't be unduly swayed by Ken's opinion. The really funny thing is that Ken appears to be providing an auto-generated Makefile.PL with all his distros, despite what he writes in Module::Build::Compat ;)

      I find it not very much in the style of sensible defaults not to include a Makefile.PL. To recommend such a "solution" in the face of the fact that older versions "propably have problems installing your module" defies the use of a module to handle the installation. If I wanted to create problems during installation, I would write the Makefile myself. If I give up installation to a module, I expect that the module tries its best to work in all situations. ExtUtils::MakeMaker works in all situations, while Module::Build doesn't unless I make special provisions, like including a passthrough Makefile.PL for compatibility.

      Why can it be a design decision to make it easier for people to create broken distributions that won't install using CPAN by default?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://354489]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (4)
As of 2024-04-25 23:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found