Thread: [Module::Build] ANNOUNCE: 0.21 released
Status: Beta
Brought to you by:
kwilliams
|
From: Ken W. <ke...@ma...> - 2003-10-16 01:50:51
|
Hey,
I just release version 0.21 of Module::Build to CPAN and Sourceforge.
Here are the changes since 0.20 (they include the changes from a couple
of beta versions):
0.21 Wed Oct 15 20:47:05 CDT 2003
- Added a have_c_compiler() method.
- Added documentation for the requires(), recommends(),
build_requires(), and conflicts() methods.
- On Unix platforms, we now create the "Build" script with a #! line
matching the perl interpreter that was used to invoke the Build.PL
script, rather than whatever is in $Config{startperl}. This avoids
a potential warning about the interpreters not matching. [Spotted
by Ken Y. Clark]
- The Unix version now uses the safer multi-argument form of system()
when building distribution tarballs.
- Added a regression test for the 'dist' action to the t/runthrough.t
test.
- Fixed a problem with File::Spec usage when creating the names of
'libdoc' manual pages - the code wasn't dealing with the volume or
file portions correctly on certain platforms.
- When creating the names of the 'libdoc' manual pages, we no longer
assume that pods are under the hard-coded paths 'blib/lib' or
'blib/arch'.
- Fixed a crashing bug that could sometimes occur when the
distribution contained no 'lib' directory. [Chris Dolan]
- Fixed a crashing bug that happened when the user had .PL files in
the lib/ directory and didn't explicitly name them in a hash
reference to the new() constructor. [Chris Reinhardt, bug #4036]
- .PL files are now passed the names of their target file(s) on the
command line when they run.
- When YAML.pm wasn't installed, t/runthrough.t wasn't properly
skipping some tests that required YAML. This is now fixed.
[Stephen J. Smith]
- Added documentation for the dist_version() and dist_name()
methods. [Spotted by Johan Vromans]
- Existing values in $ENV{HARNESS_PERL_SWITCHES} are now respected
and not squashed when we run the 'test' action. [Paul Johnson]
- On cygwin, the separator string for manual page names has been set
to '.'. Previously it was '::', inherited from Unix. [Yitzchak
Scott-Thoennes]
- Avoid a warning when Build.PL is run (i.e. when the new() method is
called) and no MANIFEST file exists. [Michael Schwern and Kevin
Ruscoe]
- Added documentation for the 'code' and 'docs' actions. [Steve
Purkis and Mark Stosberg]
- The internal method compile_support_files() has been renamed to
process_support_files() in order to make it consistent with other
processing methods. Note that it was never documented using the
old name. It's still not documented, actually. Maybe later.
- Skip the 'write' pseudo-entry in the 'diff' action's installation
map. [Chris Dolan]
- Fixed a bug in which notes() set in the Build.PL before
create_build_script() was called would get lost unless more notes()
were also set afterwards. [Spotted by Dave Rolsky]
- The process of building elements of the distribution is now driven
by a list of build elements, paving the way for letting people add
their own types of build elements in future versions of
Module::Build (or in the current version with some difficulty).
- Fixed some linking errors on Cygwin. [Randy Sims, Terrence Brannon]
- Fixed a line-ending problem with detecting the dist_abstract
properly on Cygwin. [Randy Sims]
- Fixed a problem with signatures that occurred if 'distsign' was
called before 'distdir' - the signature would be generated twice.
- Added a 'create_readme' parameter to new(), which will use
Pod::Text to generate a README from the main (dist_version_from)
module file during the 'distdir' action.
- We now refuse to run the 'Build' script if it was created using a
different version of Module::Build. This has caused a couple of
nasty bugs in the past, I don't want to know what it would cause in
the future.
- Documentation for do_system() has been added. [Dave Rolsky]
- run_perl_script() is now available as a class method, though it
will need to (re-)find the perl interpreter in this case.
- Added a new_from_context() method that authors of automated tools
like CPANPLUS and CPAN can use instead of running all tasks as
sub-processes. We also use it in the regression tests for
Module::Build itself. ** Note that this method is currently
undocumented because its name may change in the future. **
- When signing distributions with Module::Signature, we now
automatically add the SIGNATURE file to the MANIFEST, avoiding an
unpleasant chicken/egg problem for the module author.
[unpleasantness spotted by sungo]
- In Module::Build::Compat, added support for the 'verbose' parameter
to Makefile.PL [spotted by Soren Andersen, fixed by Michael
Schwern]
- The Module::Build distribution now has a cryptographic 'SIGNATURE'
file created by Module::Signature.
- Added proper documentation for the subclass() method. [spotted by
Jonathan Steinert]
- Worked around a Config.pm bug in Red Hat 9 which prevented man
pages from being installed in the correct places. [spotted by Ville
Skytta]
- Fixed a Module::Build::Compat bug in which setting INSTALLDIRS
caused a crash. [spotted by Ilya Martynov]
|
|
From: Randy W. S. <Ra...@Th...> - 2003-10-16 03:22:58
|
On 10/15/2003 9:49 PM, Ken Williams wrote: > Hey, > > I just release version 0.21 of Module::Build to CPAN and Sourceforge. > Here are the changes since 0.20 (they include the changes from a couple > of beta versions): > > 0.21 Wed Oct 15 20:47:05 CDT 2003 > A test failure creeped in on Windows (not Cygwin) at t/install.t #19. Any ideas what might of changed here? There is also something going on at t/runthrough.t #20. I think I upgraded the Tar module recently, that may have something to do with it as it has always been troublesome on Windows. Randy. |
|
From: Randy W. S. <Ra...@Th...> - 2003-10-17 03:31:02
|
On 10/15/2003 11:22 PM, Randy W. Sims wrote:
> There is also something going on at t/runthrough.t #20. I think I
> upgraded the Tar module recently, that may have something to do with it
> as it has always been troublesome on Windows.
>
> Randy.
This chatter comes from tring to add directories to the tarball.
grepping before passing the list to create_archive() fixes this problem.
sub make_tarball {
my ($self, $dir) = @_;
require Archive::Tar;
my $files = $self->rscan_dir($dir);
print "Creating $dir.tar.gz\n";
Archive::Tar->create_archive("$dir.tar.gz", 1, grep !-d, @$files);
}
Randy.
|
|
From: Ken W. <ke...@ma...> - 2003-10-18 03:30:49
|
On Thursday, October 16, 2003, at 10:29 PM, Randy W. Sims wrote:
>
>
> On 10/15/2003 11:22 PM, Randy W. Sims wrote:
>> There is also something going on at t/runthrough.t #20. I think I
>> upgraded the Tar module recently, that may have something to do with
>> it as it has always been troublesome on Windows.
>> Randy.
>
> This chatter comes from tring to add directories to the tarball.
> grepping before passing the list to create_archive() fixes this
> problem.
>
> sub make_tarball {
> my ($self, $dir) = @_;
>
> require Archive::Tar;
> my $files = $self->rscan_dir($dir);
>
> print "Creating $dir.tar.gz\n";
> Archive::Tar->create_archive("$dir.tar.gz", 1, grep !-d, @$files);
> }
>
Looks good, applied. Thanks.
-Ken
|
|
From: <ajs...@ya...> - 2003-10-20 00:19:38
|
"Randy W. Sims" wrote:
> On 10/15/2003 11:22 PM, Randy W. Sims wrote:
> > There is also something going on at t/runthrough.t #20. I think I
> > upgraded the Tar module recently, that may have something to do with it
> > as it has always been troublesome on Windows.
> >
> > Randy.
>
> This chatter comes from tring to add directories to the tarball.
> grepping before passing the list to create_archive() fixes this problem.
>
> sub make_tarball {
> my ($self, $dir) = @_;
>
> require Archive::Tar;
> my $files = $self->rscan_dir($dir);
>
> print "Creating $dir.tar.gz\n";
> Archive::Tar->create_archive("$dir.tar.gz", 1, grep !-d, @$files);
> }
The next release of Archive::Tar (1.08) will fix the bug of adding
directories to tarballs failing under Windows (so the above grep
workaround should then become unnecessary). If you need a patch
for this bug now, please let me know.
/-\
http://personals.yahoo.com.au - Yahoo! Personals
New people, new possibilities. FREE for a limited time.
|
|
From: Randy W. S. <Ra...@Th...> - 2003-10-20 10:08:08
|
Andrew Savige wrote: > The next release of Archive::Tar (1.08) will fix the bug of adding > directories to tarballs failing under Windows (so the above grep > workaround should then become unnecessary). If you need a patch > for this bug now, please let me know. > Hi Andrew, Thanks for the quick fix; It's good to know that Archive::Tar is now being actively maintained. Ken, Since a file stat and test is a relatively expensive operation, and since the chatter produced is non-fatal, doesn't break anything, and will go away in future versions of Archive::Tar, I would suggest reverting this change. If anyone complains about the chatter, we can suggest that they bump their version of Archive::Tar. Randy. |
|
From: <ajs...@ya...> - 2003-10-20 09:54:41
|
Randy W. Sims wrote: > Ken, Since a file stat and test is a relatively expensive operation, and > since the chatter produced is non-fatal, doesn't break anything, and > will go away in future versions of Archive::Tar, I would suggest > reverting this change. If anyone complains about the chatter, we can > suggest that they bump their version of Archive::Tar. Just to clarify, though I'm the hoplite for Archive:Tar (see http://qa.perl.org/phalanx/ if you don't know what a "hoplite" is ;-) I can't guarantee when the next release (1.08) of Archive::Tar will be made (that is up to Jos). However, I'm confident this will be fixed in the next release because I sent the File.pm patch to Jos yesterday and he has already put it in his p4 repository. Now that everyone knows what a hoplite is, I'm sure Ken will be flooded with volunteers for the very prestigious title of, dada: *** Module::Build hoplite *** ;-) /-\ http://personals.yahoo.com.au - Yahoo! Personals New people, new possibilities. FREE for a limited time. |
|
From: Ken W. <ke...@ma...> - 2003-10-21 04:16:29
|
On Monday, October 20, 2003, at 04:34 AM, Randy W. Sims wrote: > Andrew Savige wrote: >> The next release of Archive::Tar (1.08) will fix the bug of adding >> directories to tarballs failing under Windows (so the above grep >> workaround should then become unnecessary). If you need a patch >> for this bug now, please let me know. > > Hi Andrew, Thanks for the quick fix; It's good to know that > Archive::Tar is now being actively maintained. > > Ken, Since a file stat and test is a relatively expensive operation, > and since the chatter produced is non-fatal, doesn't break anything, > and will go away in future versions of Archive::Tar, I would suggest > reverting this change. If anyone complains about the chatter, we can > suggest that they bump their version of Archive::Tar. Agreed - done. -Ken |
|
From: <ajs...@ya...> - 2003-10-20 01:39:31
|
"Randy W. Sims" wrote: > There is also something going on at t/runthrough.t #20. I think I > upgraded the Tar module recently, that may have something to do with > it as it has always been troublesome on Windows. Avoid Archive-Tar-1.06 (which only lasted 2 days). v 1.07 fixed an important Windows bug; the next version will fix more. /-\ (who has just started helping Jos with Archive::Tar Windows testing) http://personals.yahoo.com.au - Yahoo! Personals New people, new possibilities. FREE for a limited time. |
|
From: Randy W. S. <Ra...@Th...> - 2003-10-16 03:25:50
Attachments:
build.log
|
I forgot to attatch the output. |
|
From: Ken W. <ke...@ma...> - 2003-10-17 17:41:21
|
On Wednesday, October 15, 2003, at 10:25 PM, Randy W. Sims wrote: > ok 16 > Deleting > T:\MIRROR\www.cpan.org\modules\by-module\Module\Module-Build-> 0.21\t\ins > tall_test > Deleting blib > Deleting lib/Sample/Script > Deleting _build > Deleting Build > ok 17 > ok 18 > not ok 19 > # Test 19 got: <UNDEF> (t\install.t at line 102) > # Expected: 'lib\Sample\Docs.pod' > # t\install.t line 102 is: ok $pods->{$expect}, $expect; > It looks like File::Find isn't localizing the path to use backslashes on your system. Is this an older File::Find? Maybe I should explicitly the results of rscan_dir() using localize_file_path() inside _find_file_by_type(). -Ken |
|
From: Ken W. <ke...@ma...> - 2003-10-17 00:21:22
|
On Thursday, October 16, 2003, at 08:25 AM, Ken Williams wrote:
>
>
> It looks like File::Find isn't localizing the path to use backslashes
> on your system. Is this an older File::Find?
>
> Maybe I should explicitly the results of rscan_dir() using
> localize_file_path() inside _find_file_by_type().
I'm applying a patch to do so, here's what it looks like.
-Ken
--- lib/Module/Build/Base.pm 16 Oct 2003 01:26:23 -0000 1.213
+++ lib/Module/Build/Base.pm 17 Oct 2003 00:15:47 -0000 1.214
@@ -1216,7 +1216,9 @@
}
return {} unless -d $dir;
- return { map {$_, $_} @{ $self->rscan_dir($dir, qr{\.$type$}) } };
+ return { map {$_, $_}
+ map $self->localize_file_path($_),
+ @{ $self->rscan_dir($dir, qr{\.$type$}) } };
}
sub localize_file_path {
|
|
From: Randy W. S. <Ra...@Th...> - 2003-10-17 02:31:35
|
On 10/16/2003 8:20 PM, Ken Williams wrote:
> I'm applying a patch to do so, here's what it looks like.
>
> -Ken
>
> --- lib/Module/Build/Base.pm 16 Oct 2003 01:26:23 -0000 1.213
> +++ lib/Module/Build/Base.pm 17 Oct 2003 00:15:47 -0000 1.214
> @@ -1216,7 +1216,9 @@
> }
>
> return {} unless -d $dir;
> - return { map {$_, $_} @{ $self->rscan_dir($dir, qr{\.$type$}) } };
> + return { map {$_, $_}
> + map $self->localize_file_path($_),
> + @{ $self->rscan_dir($dir, qr{\.$type$}) } };
> }
>
> sub localize_file_path {
>
It's a good thing I got a late start--otherwise, I'd a had to do that. ;)
That fixed it.
Thanks,
Randy.
|