I think I'm getting the hang of this CPAN thing! Unfortunately, Mark Stosberg threw me a curve by introducing me to Module::Build, so now I'm wondering what's the best way to build CPAN modules ... the Makefile.PL way or the Build.PL way? Guess I need to buy Writing Perl Modules for CPAN.
Anyway, I have released two new-from-scratch modules:
so now I'm wondering what's the best way to build CPAN modules... the Makefile.PL way or the Build.PL way? Guess I need to buy Writing Perl Modules for CPAN.
create_makefile_pl => traditional
. If EU::MM is already installed and works, why should I have to go and install another module in order to build this one?
Alternatively, support both equally well by using the "traditional" option for creating a Makefile.PL from Module::Build. Otherwise I would have to install Module::Build on every machine where I want to put your module, for no good reason.
Re:please don't
knowmad on 2004-12-09T13:28:18
I too really like Module::Build and use it exclusively when developing internal projects. However, I think that wisdom of the previous two posters prevails until such time as M::B is shipping with a mainstream version of Perl.
Because I haven't released many modules to CPAN, I didn't even realize M::B could generate a traditional Makefile.PL. Indeed the create_makefile_pl parameter to new() in conjunction with Module::Build::Compat should generate the file as Perrin describes. Cool!
Re:please don't
knowmad on 2004-12-09T13:46:16
Doh, I also meant to mention ExtUtils::ModuleMaker which I use for creating my base packages. It can generate EU::MM, M::B, or M::B with a proxy Makefile.PL packages. The latter option isn't much help to you since it would still require M::B to be installed on the target system (it's like the 'small' style of create_makefile_pl).
If you're releasing stuff to CPAN you should take a look at Module::Release, and the associated release(1) command, which makes the process much easier.
And if you do use Module::Release with either Subversion or Module::Build then you should probably look at Module::Release::Extras too...
N
Re:Module::Release{::Extras}
chromatic on 2004-12-09T22:34:49
I found Module::Release::Extras on the CPAN but not Module::Release. Can you give a link?
Re:Module::Release{::Extras}
nik on 2004-12-10T03:10:47
Er, that's odd. It certainly used to be on CPAN. Last I knew, brian d foy was planning a new release -- you can see this from the horses mouth.
There's "release" on CPAN, listed under brian's software list, but that looks like it's a very old version (from before release(1) was split out in to Module::Release). I wonder if brian's uploaded an old version by mistake at some point.
Re:Module::Release{::Extras}
petdance on 2004-12-10T03:11:38
There is apparently bad reindexing bummers running around. Apparenlty I have the latest release, but I'm no longer the registered owner since brian came back.Please ping brian directly and ask him to upload a new one, if only to get the version bumped, and then I'll delete all my versions.