Really more of a tourist map like you get at a hotel than a roadmap. Just wanted to discuss the near future plans for MakeMaker.
First, MakeMaker needs a stable release. Its really close to one with only two outstanding issues. They're mostly things changed since 6.30 that broke existing modules. See rt.cpan.org for details. 21539 command line args completely override ones from Configure and break things like Wx.pm 17224 PL_FILES issue effecting certain versions of Perl on Windows If there's anything critical I'm missing, let me know. The next stable release will accomplish... ------------------------------------------ 1) Critical bug fixes. Look at http://svn.schwern.org/svn/CPAN/ExtUtils-MakeMaker/trunk/Changes to see what's already been done. AFAIK all the fixes in bleadperl have been integrated, let me know if I missed something. I've gotten ok's from Windows and VMS. 2) Compatibility with Module::Build. *DONE* This was primarily documenting INSTALL_BASE and the new FAQ entry about getting MM and MB to install to the same place. 3) Kick out satellite modules. *DONE* ExtUtils::Install, Manifest and Command are now their own distributions. MakeMaker still ships with them but they are not indexed and will not install over a newer or equal version. Once 6.31 is out the pressure is off. Some minor bug fixes and features can be addressed but mostly I want to focus on making MakeMaker installation much friendlier. There's some minor bug fixes and features which need attention -------------------------------------------------------------- 21282 Facilities to customize the generated META.yml file. 20145, 20144 Two minor fixes for building Pugs on Windows. 16375 Possible Cygwin issue with /cygdrive Here's a brain dump of the user-oriented projects. Please let me know if you're interested in them. The documentation needs a complete rewrite ------------------------------------------ It stinks. Its jumbled. Its out of date. Its sometimes incorrect. Its a nightmare for a new user. It would be split up into several parts according to the desire of the reader: * Module installation (basic, advanced, reference, FAQ) * Module authoring (basic, advanced, reference, FAQ) * Module packaging (ie. best practices for making RPMs/debs out of Perl modules) * MakeMaker patching * MakeMaker reference As I don't want to have to write this all out myself, I'll probably sketch out the basics and then resurrect my POD Wiki in the hopes of getting collaborative writing. http://schwern.org/podwiki/ .makemaker.rc ------------- A MakeMaker config file containing default arguments for Makefile.PL and (maybe) various make targets so you don't have to type it into the command line all the time. This should make installing modules without a CPAN shell a bit less tedious. A command line dependency resolver ---------------------------------- ExtUtils::AutoInstall has a handy feature where it will download and install its dependencies for you. This is very handy if you cannot, for whatever reason, use the CPAN shell (for example, you are in the middle of developing a new version of the module). Unfortunately the module author must use ExtUtils::Install themselves. It would be handy to have a command line version which scans the module's dependencies (by scraping the Makefile as MakeMaker does) and installs them. CPAN shell config wizard ------------------------ The configuration of MakeMaker and Module::Build in the CPAN shells can be simplified by offering a user-oriented configuration in addition to the current developer-oriented one. For example, rather than asking what arguments you'd like to pass to the Makefile.PL and then again for Build.PL it can simply ask things like "Would you like to install modules into your home directory?", "Do you want to uninstall older versions of your modules?", "Do you need to pass any extra flags to your C compiler?" and it figures out the appropriate args for both MakeMaker and Module::Build. Make CPAN shells gracefully handle MakeMaker dependencies --------------------------------------------------------- If a module depends on a newer version of MakeMaker than the one installed it should note this, install the newer version and then rerun the Makefile.PL. AFAIK right now the Makefile.PL does not get rerun after the dependencies are resolved. Ship MM with your module ------------------------ A la Module::Install, it would be handy to have an easy way to ship a copy of MakeMaker with your module thus allowing module authors to take advantage of new MM features and bug fixes without making their users upgrade a major subsystem of Perl.