Karen Etheridge ಠ_ಠ 🌋


Dist::Zilla::Plugin::MakeMaker::Fallback - Generate a Makefile.PL containing a warning for legacy users


version 0.017


In your dist.ini, when you want to ship a Build.PL as well as a fallback Makefile.PL in case the user's cpan client is so old it doesn't recognize configure_requires:



This plugin is a derivative of [MakeMaker], generating a Makefile.PL in your dist, with an added preamble that is printed when it is run:


    If you're seeing this warning, your toolchain is really, really old* and you'll almost certainly have problems installing CPAN modules from this century. But never fear, dear user, for we have the technology to fix this!

    If you're using CPAN.pm to install things, then you can upgrade it using:

        cpan CPAN

    If you're using CPANPLUS to install things, then you can upgrade it using:

        cpanp CPANPLUS

    If you're using cpanminus, you shouldn't be seeing this message in the first place, so please file an issue on github.

    If you're installing manually, please retrain your fingers to run Build.PL when present instead.

    This public service announcement was brought to you by the Perl Toolchain Gang, the irc.perl.org #toolchain IRC channel, and the number 42.


    * Alternatively, you are doing something overly clever, in which case you should consider setting the 'prefer_installer' config option in CPAN.pm, or 'prefer_makefile' in CPANPLUS, to 'mb" and '0' respectively.

    You can also silence this warning for future installations by setting the PERL_MM_FALLBACK_SILENCE_WARNING environment variable.

It is a fatal error to use this plugin when there is not also another plugin enabled that generates a Build.PL (such as [ModuleBuildTiny]).

On top of the regular testing that is provided via the Build.PL-producing plugin, dzil test --release or dzil release will run tests with extra testing variables unset (AUTHOR_TESTING, RELEASE_TESTING). This is to weed out test issues that only manifest under these conditions (for example: bad test count, conditional module loading).


Bugs may be submitted through the RT bug tracker (or bug-Dist-Zilla-Plugin-MakeMaker-Fallback@rt.cpan.org). I am also usually active on irc, as 'ether' at irc.perl.org.


Peter Rabbitson (ribasushi), whose concerns that low-level utility modules were shipping with install tools that did not work out of the box with perls 5.6 and 5.8 inspired the creation of this module.

Matt Trout (mst), for realizing a simple warning would be sufficient, rather than a complicated detection heuristic, as well as the text of the warning (but it turns out that we still need a simple detection heuristic, so -0.5 for that...)



Karen Etheridge <ether@cpan.org>


This software is copyright (c) 2013 by Karen Etheridge.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.