📄 changes
字号:
Revision history for Perl extension Module::Build. - All .pm files in the Module-Build distribution (except for M::B::Version.pm, which is kind of tied to version.pm) now have the same $VERSION number explicitly specified. - When checking prerequisites, the required version of perl is now checked before we start finding the $VERSION declaration of the distribution, which results in much more intuitive error messages e.g. if the author is using 5.6-isms in their declaration but the user doesn't have 5.6. [Slaven Rezic] - Added 'artistic_2' license, corrected 'lgpl' license url (bug #29783) [David Thomas] - VMS find_perl_interpreter() is just $^X (bug #29810) [Craig A. Berry] - Some large VMS fixes, mostly having to do with the non-case- preserving nature of most VMS filesystems, but also correcting for illegal characters in VMS file specs. [John E. Malmberg and Craig A. Berry] - Fixed the _detildefy() method on VMS. [John E. Malmberg and Craig A. Berry] - We now use a much more reliable method when Data::Dumper-ing saved state data. [Yves] - When a module had 0.000 as its version, a few places in the code thought the module had no version at all. This is now fixed. [Andrew "Zefram" Main] - When finding the default set of script_files, we now compute them as relative paths, not absolute. [Spotted by Curtis "Ovid" Poe] - Got rid of a call to eliminate_macros, which isn't needed in Module::Build since there is no external make utility involved. Override expand_test_dir to make up for the fact that the home-grown glob() returns absolute, not relative, paths. [Craig A. Berry] - Fixed a catdir() that needed to be catfile() in the .packlist creation code. [John E. Malmberg] - If a *.PL file ended abnormally during the build, processing should have stopped, but it didn't. Fixed. [Matthew Cast and David Golden] - Module::Build::Compat adds "require 5.XXXXX" to Makefile.PL when 'perl' is specified as a 'requires' prerequisite [David Golden] - Refactored t/compat.t for modularity and transparency; added labels for all tests; supressed subprocess output to STDOUT and STDERR [David Golden] - Fixed bug in perl_version_to_float when version is already a float [David Golden] - Removed a mention of $build->{config} from the documentation, the official interface to Config.pm settings is now via the $build->config() and has been for some time. [Suggested by Michael Schwern] - Tweaked some text in the Cookbook to bring it into the modern age, and added a recipe for accessing Config.pm settings. [Ibid] - Lots of POD link/readability improvements to the Module::Build::API documentation [Salve J. Nilsen] - Added configure_requires as a new type of prereq. [Suggested by Adam Kennedy] - Patch 31156 from bleadperl: some filename dot and extension help for Module::Build on VMS. [Craig Berry] - Reworked the _detildefy() method so it doesn't depend on glob() anymore. This gets rid of a problem with spaces or other special shell characters in things like 'prefix' or 'install_path' entries. [Prodding by Eric Wilhelm] - Added midnightbsd to the list of Unix-like OSes we know about [Rafael Garcia-Suarez]0.2808 - Sat Apr 28 12:59:43 2007 - Added is_vmsish(), is_windowsish(), and is_unixish() boolean convenience functions. Fixes some test failures on platforms where $^O is set to a value we don't know about (like 'gnu'). - Upgraded to version.pm 0.7203. [John Peacock] - Support get_action_docs() =head2 style. [ewilhelm] - Workaround Test::Pod::Coverage @INC bug. [Eric Wilhelm] - Fixed the command-line args --extra_compiler_flags and --extra_linker_flags so they properly shell-split their arguments.0.2807 - Sat Mar 24 22:19:02 2007 - Upgraded to version.pm 0.71. [John Peacock] - Removed a couple small constructs in the tests ("use warnings;" and "qw$foo bar$[1]") that caused test failures under perl 5.005. - Added support for an explicit default value of undef in prompt(). [Eric Wilhelm] - Improved our prompt() method, which could sometimes hang before the user got a chance to see a prompt. [Andreas Koenig] - Added a note about --allow_mb_mismatch to the error message that happens right before someone might want to use that parameter. - Added DragonflyBSD to the list of known Unix OSes. - get_action_docs() dies on error rather than twiddling $@ - Made ModuleInfo's _evaluate_version_line() compatible with 'use version ...$VERSION' lines. [Eric Wilhelm] - Added some verbiage in Module::Build::API that officially blesses the _build/prereqs file for external consumption. [Suggested by Andreas Koenig] - Added test profiles support via the test_types property and "testall" target. [Eric Wilhelm, Jeff Lavallee] - Use syscopy() on OS/2 in copy_if_modified() so we make sure to overwrite any existing target file. [Ilya Zakharevich] - Removed seemingly silly '~~' test in t/tilde.t. - In our test-time utility library t/lib/MBTest.pm, we need to know about a few .exe-like extensions on OS/2. [Ilya Zakharevich] - In t/ppm.t, use DynaLoader::mod2fname() (if available) to determine the correct translation of our test module's name into a DLL name. [Ilya Zakharevich] - Avoid an unlink() error on OS/2 when fixing shebang lines. [Ilya Zakharevich] - When we're protecting the world from the evils of long RedHat $ENV{PERL5LIB} variables, don't assume $ENV{PERL5LIB} is already defined. This gets rid of a huge number of warnings for some people. [Dave Rolsky]0.2806 - Fri Dec 15 22:20:14 2006 - On some systems (haven't identified the actual problem yet) $ENV{PERL5LIB} can grow to enormous enough sizes that we can't launch any more subprocesses because the environment table is full. This is the now-infamous "Couldn't run Build.PL: Argument list too long" error. Now we detect such situations and trim the directory list to only include directories that actually exist, listed only once each. Not the ideal solution, but it should work. - Silence a warning in M::B::ModuleInfo that happens when the author is using the "$VERSION = eval $VERSION" idiom. - When running the 'testcover' action, do "cover --delete" if any of the test files have changed (we already did so if any of the code under test has changed). [Suggested by Chris Dolan, RT #23584] - Fixed a broken link in the documentation about PREFIX. [Spotted by David Steinbrunner] - Changes to do_system() & friends on VMS to get system calls working much better there. [Craig Berry] - Added the "pardist" target which creates a PAR binary distribution akin to a PPM distribution. [Steffen Mueller] - Added the Interix platform as a Unix variant. [Stephen Hartland] - Improved the error message we emit when a distribution contains XS files but the user has no C compiler. [Suggested by Andreas Koenig]0.2805_01 Thu Sep 7 21:57:29 CDT 2006 - Because of a weird behavior of YAML::Node, any distribution that used version.pm objects to define their versions was generating the wrong syntax for the versions in their META.yml file. They will now appear as strings like v3.42.1 or similar, including the leading v. - Upgraded to version 0.67 of version.pm. [John Peacock] - Added a contrib/ directory with a bash completion function for M::B actions and switches. [Julian Mehnle] - When we eval() the embedded version.pm code we will now die() if the eval() was unsuccessful, rather than continuing blindly on and dying mysteriously later. - Added a 'retest' action that lets users run the current regression tests on a previously-installed version of a distribution. * Instead of storing an entire dump of the Config.pm hash in the _build/ directory upon startup, we now just store any overrides the user or author has specified. Note that if you were doing anything you weren't supposed to be doing, like poking around in the internals of $buld->{config}, your code might break, so I've put the asterisk of incompatibility on this one just to cover my tuchus. [Idea originally by Randy Sims] - Made copying files via copy_if_modified() a little less chatty.0.2805 Sat Jul 29 22:01:24 CDT 2006 - We now embed a copy of version.pm right in the Module::Build::Version source code, with John Peacock's blessing, in case the user has a rough time installing version.pm. This helps alleviate troubles people were still having with working out a seemingly circular dependency (even though version.pm now ships with a standard Makefile.PL too). A version.pm >= 0.661 installed on the system will take precedence over our bundled one. [John Peacock] - Fix some test warnings (or failures?) related to version.pm numification. [John Peacock] - The top-level 'version' entry in META.yml files we'd generated was in the wrong format (it was being treated as a version.pm object rather than a serialized copy) due to a weird YAML::Node issue. Fixed. - Don't 'use base qw(version)' anymore in our M::B::Version wrapper, just set @ISA directly, because some people have reported that the 'use base' line is croaking. - Added an 'allow_mb_mismatch' parameter to suppress the startup check that ensures the version of M::B currently running is the same as the one initially used to run the Build.PL. Use with caution. - Module::Build::ModuleInfo will no longer detect things that look like $VERSION assignments after an __END__ or __DATA__ token. - Updated documentation to mention the new mailing list on perl.org rather than the old one on sourceforge.0.2804 Sun Jul 16 16:41:25 CDT 2006 - Added 'use version;' in Module::Build::Version, because some versions of base.pm won't automatically load version.pm when we do 'use base qw/version/;'. [Spotted by Erik Tank]0.2803 Sat Jul 15 08:26:34 CDT 2006 - The META.yml file in the last release was all screwed up, so the distribution wasn't indexed properly. Fixed in this release.0.2802 Fri Jul 14 22:40:34 CDT 2006 - Added reliance on version.pm, which means we should deal much better with the wide range of version specifications one finds on CPAN. This is made possible by recent releases of version.pm that give the user a pure-perl option, so installing version.pm shouldn't be too onerous for most users. [John Peacock] - We should be accepting the default when we're in unattended mode, not acting dumb and ignoring both the default and the [empty] answer from the user. Fixed. [Spotted by Nik Clayton]0.2801 Sun May 21 00:07:40 CDT 2006 - Module::Build::Compat's emulation of INC is incorrectly prepending a -I to the value of INC. This is incorrect because there should already be a -I on the value. I.E. it's "perl Makefile.PL INC=-Ifoo" not "perl Makefile.PL INC=foo" so Compat should not prefix a -I. [Michael Schwern] - Native batch scripts under Windows should not be converted by pl2bat. [Spotted by Ron Savage] - Tweaked the way we determine whether a file is executable on Unix. We use this determination to decide whether to make it executable during installation. [Julian Mehnle] - Replaced a vestigial 'next' with 'return' now that the code is in a subroutine (htmlify_pods()), not a loop. [Ron Savage] - Fixed a guaranteed failure in t/signature.t when TEST_SIGNATURE was set. [Eric R. Meyers] - Fixed a test failure that occurred when testing or installing in unattended mode - the code to test whether unattended mode and attended mode are working properly was assuming that we started out in attended mode. [Steve Peters] - Improved our stand-in YAML generator that we use to generate META.yaml when authors don't have a copy of YAML.pm installed on their machine. It was unable to handle things like embedded newlines in the data, now it has a much more extensive escaping mechanism. [Stephen Adkins] - Revised the docs for --prefix and PREFIX. [Michael Schwern]0.28 Thu Apr 27 22:25:00 CDT 2006 - When y_n() or prompt() are called without a default value and the build seems to be unattended (e.g. in automatic CPAN testing), we now die() with an error message rather than silently returning undef for prompt(), or looping indefinitely for y_n().
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -