📄 changes
字号:
require to fail when the argument to require is an expression involving File::Spec. We now assign the result of the File::Spec call to a variable and then call require with that variable. - Tilde-expansion is now performed on arguments passed to a compatibility-Makefile.PL [Spotted by Sam Vilain] - We now run the 'gzip' and 'tar' values through split_like_shell() when running the 'dist' action, so that e.g. the 'gzip' value can be set to something like "gzip -f --best" and it'll work correctly. [Spotted by Chris Dolan] - Work around some bad mojo between Fedora Core [with its very long @INC] and old versions of Test::Harness [with its propensity to compound the number of @INC entries] that produced an "argument list too long" error during testing. [assisted by Ville Skytta, David Golden, & Randy Sims] - Killed an infinite loop that would happen in y_n() in interactive mode if the author provided no default value. [Max Maischein]0.2607 (Bug fix release in 0.26 series) Sat Dec 18 14:14:09 CST 2004 - Instead of freezing @INC in the 'Build' script to the value it had when Build.PL was run, we now just add those additional values that aren't part of the default compiled-in @INC. [Michael Schwern] - The run_perl_script() method will now propagate any extra entries in @INC (such as those added by "use lib" or the -I command-line switch) to the subprocess. This helps situations in which you want to tell the subprocess where to find a certain module, for instance. [Michael Schwern]0.2606 (Bug fix release in 0.26 series) Tue Dec 7 22:33:11 CST 2004 - Fixed a linking bug on Win32, in which compiled C code object files never got linked in with the modules being built. [Dominic Mitchell] - Fixed a bug in the new_from_context() method in which any arguments passed made us die. [Spotted by Jos Boumans]0.2605 (Bug fix release in 0.26 series) Tue Nov 30 07:16:13 CST 2004 - Fixed a bug in which zero-length arguments for hash-valued parameters (e.g. " --config foo= ") weren't being allowed. - The tests now play better with environments in which version.pm is pre-loaded, like in bleadperl. [John Peacock & Michael Schwern] - Fixed a syntax error in one of the tests under perl 5.005.0.2604 (Bug fix release in 0.26 series) Wed Nov 17 14:32:42 CST 2004 - Fixed a split_like_shell() bug introduced in 0.2603 for Windows, in which an array reference passed as an argument was returned as an array reference, rather than as a list. [Spotted by Steve Hay] - module_name() will now return '' instead of undef when module_name is not set. This eliminates a couple uninitialized-value warnings. [Suggested by Michael Schwern] - The expand_test_dir() method will now skip dotfiles (like ._foo.t, which sometimes gets automatically created on Mac systems) when 'recursive_test_files' is in effect. [Tom Insam]0.2603 (Bug fix release in 0.26 series) Mon Nov 15 10:28:00 CST 2004 - Added documentation for the new_from_context() method. - Completely rewrote the split_like_shell() method for the Windows platform so it works like the command.com shell. [Randy Sims]0.2602 (Bug fix release in 0.26 series) Thu Nov 4 11:19:29 CST 2004 - The two bug fixes in 0.2601 gnashed against each other incorrectly, resulting in a Win32 bug in split_like_shell(). Fixed. [Spotted by Steve Hay & Randy Sims] - Removed a couple of 'use warnings' statements from the code - they were causing compile failures on 5.005_04, where warnings.pm isn't available. [Blair Zajac]0.2601 (Bug fix release in 0.26 series) Wed Nov 3 20:09:27 CST 2004 - Fixed some backslash problems with split_like_shell() on Win32. [Steve Hay] - Fixed a bug in split_like_shell() in which leading whitespace was creating an empty word, manifesting as something like "gcc - no such file or directory" during tests. [Spotted by Warren L. Dodge]0.26 Sat Oct 9 17:51:01 CDT 2004 - Removed some language from the Module::Build::Compat documentation that encouraged people to include a Build.PL without a Makefile.PL. Also changed "a replacement for MakeMaker" to "an alternative to MakeMaker" in the main documentation, which is basically what I meant all along (i.e. a replacement for MakeMaker in your particular build process - MakeMaker is never going to be fully replaced in the perl world at large, of course), but some people got the impression I was a little more truculent toward MakeMaker than I really am. - Added the formal concepts of "features" and "config data" for distributions. This allows the module author to define a certain set of features that the user can switch on and off (usually according to whether they have the proper prerequisites for them), and to save build-time configuration information in a standardized format. See the main documentation of Module::Build for more details. (Note that the name of this system was called "BuildConfig" for a while in beta, but now it's called "ConfigData".) - Added an 'auto_features' capability, which simplifies the process of defining features that depend on a set of prerequisites. - Added the 'get_options' parameter, which lets module authors declare certain command-line arguments their Build.PL can accept [David Wheeler] - Changed the split_like_shell() method to use the shellwords() function from Text::ParseWords (a core module since 5.0), which does a much better job than the split() we were using. - Added a 'testpod' action, which checks the syntactic validity of all POD files in the distribution using Test::Pod. This eliminates the need for doing so in a regression test. [Initial patch by Mark Stosberg] - Added a process_files_by_extension() method, which generalizes the kind of processing (essentially just copying) that happens for .pm and .pod files, and makes it available to other user-defined types of files. See the new cookbook entry. - Improved compatibility with version.pm when authors are using version objects as their $VERSION variables. Now version_from_file() can deal with these objects. Currently we stringify them right away, but perhaps in the future we will preserve them as objects for a while. - During 'distdir' and 'distmeta' actions, die a bit more gracefully if there's no MANIFEST (i.e. explicitly say that a MANIFEST is required). [Spotted by Adrian Howard] - Eliminated a recursive dependency between creating the MANIFEST file and creating the META.yml file. [Spotted by Dave Rolsky] - On Win32, where a single directory might be known variously as "Module-Build-0.25_03" or "MODULE~1.25_", we now use Win32::GetShortPathName($cwd) to verify that the 'Build' script is being run from the correct directory, rather than just a string comparison. - The add_to_cleanup() method will now accept glob()-style patterns in addition to explicit filenames. Also documented the fact that they can be specified in either Unix-style or native-style notation. - Passing a PREFIX value to a pass-through Makefile 'make install' now has the same effect as passing it to 'perl Makefile.PL' (it dies with a helpful message). - Added the 'testcover' action, which runs a test suite using Devel::Cover. [Dave Rolsky] - Added the 'lib' and 'arch' installation directories to the search path for the 'diff' action, since they won't necessarily (though they usually will) be in @INC at installation time. [Suggested by Kevin Baker] - The "=head3" POD directive isn't supported in older podlators (particularly Pod::Man), so we don't use it anymore. - Fixed a typo & improved the docs in the SUBCLASSING section. [Ron Savage] - Added the '.tmp' suffix to the default MANIFEST.SKIP file, which should avoid adding things like pod2htmi.tmp to the MANIFEST [Ron Savage] - Backup files from Emacs, containing the string '.#' in their names, should no longer find their way into the blib/ directory (and from there into installation directories). - Worked around an unpleasant interaction between version.pm and the version-checking code that makes sure Module::Build's version hasn't changed during the lifetime of the 'Build' script. [Reported by Trevor Schellhorn] - Fixed a problem in htmlify_pods() that would produce test failures on Cygwin (and probably elsewhere). [Yitzchak Scott-Thoennes] - Fixed a test failure on Cygwin (and probably elsewhere) in t/compat.t, resulting from empty environment variables being set to the empty string (as opposed to simply being unset) by their mere presence in the "EXPORT:" list. - Fixed a fatal error that occurred when the author specified 'dist_author' manually in their Build.PL script. [Spotted by Ron Savage] - The 'provides' section of the META.yml file wasn't being built properly on Win32, because of a mismatch between URL-format and native-format pathnames. Fixed. [Reported by Robert Rothenberg] - The progress message "lib/Foo.xs -> lib/Foo.c" was previously being output even when the Foo.c file wasn't being rebuilt. It's now fixed. - Fixed a couple of places in Compat.pm where it could have forgotten which perl interpreter it had been run with ($^X isn't very trustworthy). - On some systems, the way we updated the timestamp on the "lib/Foo.bs" file (one of the output files for XS-based modules) was failing. It's been replaced by a simple call to utime(). - Fixed a problem in t/compat.t that prevented it from being run individually using 'make test TEST_FILES=t/compat.t'. The problem was that a couple environment variables (TEST_FILES, MAKEFLAGS) were being passed through to subprocesses, and confused them. - Fixed an important typo in the documentation for the 'install_base' parameter ('libdoc' and 'bindoc' were switched). [Ray Zimmerman] - The pass-through Makefiles (type 'small' or 'passthrough') now support the TEST_FILES parameter to 'make test'. - Fixed a fatal error that would occur on perl 5.005 when building HTML documentation, because its version of Pod::Html was old and didn't like some of the parameters we fed it. [Spotted by Blair Zajac] - The final line of the generated pass-through Makefile was missing its trailing newline, which is now fixed. [Chip Salzenberg] - We now depend on YAML version at least 0.35 and at most version 0.49, so that we don't pick up a new (and backward-incompatible) beta version from CPAN. - Squashed a warning in t/basic.t about '"Foo::Module::VERSION" used only once', and one in PPMMaker about $^V being undefined. [Blair Zajac] - Added a couple temporary output files from HTML documentation generation to the cleanup list. [Toby Ovod-Everett] - The PodParser module will now only extract paragraphs in the 'AUTHOR' section of the pod if they contain an '@' character. This tends to do a better job, heuristically speaking, of returning relevant stuff. - Added regression tests and a helper method ( add_build_elements() ) for adding new elements to the build process. Also some documentation. - Wrote a recipe in the Cookbook for adding new elements to the build process, and a recipe for changing the order in which the steps in the build process will occur.0.25 Sun Apr 25 11:12:36 CDT 2004 - During the 'distdir' action, if no MANIFEST.SKIP file exists, we will now create a reasonable default one. [Randy Sims] - In Makefile compatibility mode, some arguments (like UNINST, TEST_VERBOSE, etc.) given to 'make' are now recognized and passed through to Module::Build. [Randy Sims] - The regression tests now make sure that several pass-through Makefile.PL parameters are dealt with correctly. - Added support for the 'LIB' parameter to passthrough Makefile.PLs. [Spotted by Jesse Erlbaum] - Passing a 'PREFIX' parameter to a passthrough Makefile.PL was supposed to make it die with a helpful error message, but instead it just ignored it and blindly tried to install to the wrong place. This is now fixed. [Spotted by Jesse Erlbaum] - Added an extra_compiler_flags() accessor method. - If the 'recursive_test_files' option was turned on, the test files weren't sorted, but returned in an apparently random order. Now they're sorted. [Martyn Peck] - Documented the 'tar' and 'gzip' parameters to the 'dist' and 'ppmdist' actions. - The generation of HTML documentation now works (it was accidentally partially implemented with an itchy patch-application finger in 0.24). [Randy Kobes] - Fixed a fatal bug when building META.yml with YAML.pm and 'dynamic_config' is set. [Reported by Jaap Karssenberg] - Fixed some incorrect error messages that occurred when compiling/linking C sources went awry. - If the author uses a custom builder subclass, that subclass will now be loaded correctly in the passthrough Makefile.PL if the author uses the 'small' or 'passthrough' Makefile.PL options in Module::Build::Compat. [Martyn Peck and Jaap Karssenberg] - If the author uses a custom builder subclass created dynamically
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -