module-build-checkins Mailing List for Module::Build (Page 5)
Status: Beta
Brought to you by:
kwilliams
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(82) |
Dec
(58) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(49) |
Feb
(57) |
Mar
(49) |
Apr
(49) |
May
(2) |
Jun
(147) |
Jul
(60) |
Aug
(55) |
Sep
(51) |
Oct
(68) |
Nov
(61) |
Dec
(44) |
2006 |
Jan
(27) |
Feb
(38) |
Mar
(89) |
Apr
(31) |
May
(17) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Ken W. <kwi...@us...> - 2006-03-11 03:06:24
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8915/lib/Module/Build Modified Files: Base.pm Log Message: Add comment about core Index: Base.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v retrieving revision 1.557 retrieving revision 1.558 diff -u -d -r1.557 -r1.558 --- Base.pm 9 Mar 2006 16:22:50 -0000 1.557 +++ Base.pm 11 Mar 2006 03:06:20 -0000 1.558 @@ -336,6 +336,7 @@ my $uninstperl; if ($ENV{PERL_CORE}) { + # CBuilder is also in the core, so it should be available here require ExtUtils::CBuilder; $uninstperl = File::Spec->catfile(ExtUtils::CBuilder::->perl_src, $thisperl); } |
From: Ken W. <kwi...@us...> - 2006-03-09 16:22:53
|
Update of /cvsroot/module-build/Module-Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26521 Modified Files: Changes Log Message: Add an 'or die(...)' for an open() Index: Changes =================================================================== RCS file: /cvsroot/module-build/Module-Build/Changes,v retrieving revision 1.437 retrieving revision 1.438 diff -u -d -r1.437 -r1.438 --- Changes 7 Mar 2006 20:59:17 -0000 1.437 +++ Changes 9 Mar 2006 16:22:49 -0000 1.438 @@ -14,6 +14,11 @@ - Added a Cookbook example of subclassing to modify an action. [Dylan Martin and David Golden] + - When building HTML documentation, we were opening the POD file and + not checking whether the open succeeded, which of course caused + problems down the line if it failed. Now we do "or die(...)" like + everywhere else. [Spotted by Joerg Braun] + 0.27_08 Fri Mar 3 21:22:41 CST 2006 - Due to shell quoting issues and differences in syntax between |
From: Ken W. <kwi...@us...> - 2006-03-09 16:22:53
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26521/lib/Module/Build Modified Files: Base.pm Log Message: Add an 'or die(...)' for an open() Index: Base.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v retrieving revision 1.556 retrieving revision 1.557 diff -u -d -r1.556 -r1.557 --- Base.pm 9 Mar 2006 10:28:00 -0000 1.556 +++ Base.pm 9 Mar 2006 16:22:50 -0000 1.557 @@ -2385,7 +2385,7 @@ ($path2root, $self->installdirs eq 'core' ? () : qw(site) ) ); - my $fh = IO::File->new($infile); + my $fh = IO::File->new($infile) or die "Can't read $infile: $!"; my $abstract = Module::Build::PodParser->new(fh => $fh)->get_abstract(); my $title = join( '::', (@dirs, $name) ); |
From: Randy W. S. <si...@us...> - 2006-03-09 10:28:17
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30142/lib/Module/Build Modified Files: Base.pm Log Message: When creating a packing list, it is not clear how to derive the name of the file when "module_list" is not defined. Index: Base.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v retrieving revision 1.555 retrieving revision 1.556 diff -u -d -r1.555 -r1.556 --- Base.pm 9 Mar 2006 10:00:34 -0000 1.555 +++ Base.pm 9 Mar 2006 10:28:00 -0000 1.556 @@ -769,9 +769,9 @@ return $p->{dist_name} if defined $p->{dist_name}; die "Can't determine distribution name, must supply either 'dist_name' or 'module_name' parameter" - unless $p->{module_name}; + unless $self->module_name; - ($p->{dist_name} = $p->{module_name}) =~ s/::/-/g; + ($p->{dist_name} = $self->module_name) =~ s/::/-/g; return $p->{dist_name}; } @@ -3433,12 +3433,14 @@ "WARNING: Can't figure out install path for types: @skipping\n" . "Files will not be installed.\n" ) if @skipping; - + # Write the packlist into the same place as ExtUtils::MakeMaker. - my $archdir = $self->install_destination('arch'); - my @ext = split /::/, $self->module_name; - $map{write} = File::Spec->catdir($archdir, 'auto', @ext, '.packlist'); - + if (my $module_name = $self->module_name) { + my $archdir = $self->install_destination('arch'); + my @ext = split /::/, $module_name; + $map{write} = File::Spec->catdir($archdir, 'auto', @ext, '.packlist'); + } + # Handle destdir if (length(my $destdir = $self->destdir || '')) { foreach (keys %map) { |
From: Randy W. S. <si...@us...> - 2006-03-09 10:00:40
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13223/lib/Module/Build Modified Files: Base.pm Log Message: Simplify "dist_version_from" Index: Base.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v retrieving revision 1.554 retrieving revision 1.555 diff -u -d -r1.554 -r1.555 --- Base.pm 7 Mar 2006 20:59:20 -0000 1.554 +++ Base.pm 9 Mar 2006 10:00:34 -0000 1.555 @@ -776,15 +776,14 @@ return $p->{dist_name}; } -sub _find_dist_version_from { +sub dist_version_from { my ($self) = @_; my $p = $self->{properties}; if ($self->module_name) { - return $p->{dist_version_from} ||= + $p->{dist_version_from} ||= join( '/', 'lib', split(/::/, $self->module_name) ) . '.pm'; - } else { - return undef; } + return $p->{dist_version_from} || undef; } sub dist_version { @@ -792,11 +791,9 @@ my $p = $self->{properties}; return $p->{dist_version} if defined $p->{dist_version}; - - $self->_find_dist_version_from; - if ( $p->{dist_version_from} ) { - my $version_from = File::Spec->catfile( split( qr{/}, $p->{dist_version_from} ) ); + if ( my $dist_version_from = $self->dist_version_from ) { + my $version_from = File::Spec->catfile( split( qr{/}, $dist_version_from ) ); my $pm_info = Module::Build::ModuleInfo->new_from_file( $version_from ) or die "Can't find file $version_from to determine version"; $p->{dist_version} = $pm_info->version(); @@ -2767,7 +2764,6 @@ sub _main_docfile { my $self = shift; - $self->_find_dist_version_from; if ( my $pm_file = $self->dist_version_from ) { (my $pod_file = $pm_file) =~ s/.pm$/.pod/; return (-e $pod_file ? $pod_file : $pm_file); |
From: Ken W. <kwi...@us...> - 2006-03-09 01:18:17
|
Update of /cvsroot/module-build/Module-Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26944 Modified Files: Tag: release-0_26_branch Build.PL Changes Log Message: Should be okay with any recentish YAML now Index: Build.PL =================================================================== RCS file: /cvsroot/module-build/Module-Build/Build.PL,v retrieving revision 1.45 retrieving revision 1.45.2.1 diff -u -d -r1.45 -r1.45.2.1 --- Build.PL 6 Oct 2004 03:45:52 -0000 1.45 +++ Build.PL 9 Mar 2006 01:18:04 -0000 1.45.2.1 @@ -45,7 +45,7 @@ YAML_support => { description => "Can write fully-functional META.yml files", - requires => { YAML => ' >= 0.35, < 0.49 ' }, + requires => { YAML => 0.35 }, }, }, Index: Changes =================================================================== RCS file: /cvsroot/module-build/Module-Build/Changes,v retrieving revision 1.299.2.54 retrieving revision 1.299.2.55 diff -u -d -r1.299.2.54 -r1.299.2.55 --- Changes 9 Mar 2006 01:16:06 -0000 1.299.2.54 +++ Changes 9 Mar 2006 01:18:04 -0000 1.299.2.55 @@ -2,6 +2,9 @@ 0.2613 + - Since release 0.2612 fixed YAML problems, we now remove the + restriction that YAML's version be less than 0.50. + - Integrated a change from the mainline branch that lets the 'passthrough' Makefile.PL check properly whether Module::Build was successfully installed. |
From: Ken W. <kwi...@us...> - 2006-03-09 01:16:14
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25820/lib/Module/Build Modified Files: Tag: release-0_26_branch Compat.pm Log Message: Integrate passthrough Makefile.PL from mainline Index: Compat.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Compat.pm,v retrieving revision 1.57.2.3 retrieving revision 1.57.2.4 diff -u -d -r1.57.2.3 -r1.57.2.4 --- Compat.pm 7 Jan 2005 08:14:57 -0000 1.57.2.3 +++ Compat.pm 9 Mar 2006 01:16:06 -0000 1.57.2.4 @@ -73,8 +73,9 @@ my $cwd = Cwd::cwd(); my $makefile = File::Spec->rel2abs($0); - CPAN::Shell->install('Module::Build::Compat') - or die " *** Cannot install without Module::Build. Exiting ...\n"; + CPAN::Shell->install('Module::Build::Compat'); + CPAN::Shell->expand("Module", "Module::Build::Compat")->uptodate + or die "Couldn't install Module::Build, giving up.\n"; chdir $cwd or die "Cannot chdir() back to $cwd: $!"; } |
From: Ken W. <kwi...@us...> - 2006-03-09 01:16:14
|
Update of /cvsroot/module-build/Module-Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25820 Modified Files: Tag: release-0_26_branch Changes Log Message: Integrate passthrough Makefile.PL from mainline Index: Changes =================================================================== RCS file: /cvsroot/module-build/Module-Build/Changes,v retrieving revision 1.299.2.53 retrieving revision 1.299.2.54 diff -u -d -r1.299.2.53 -r1.299.2.54 --- Changes 3 Mar 2006 04:34:13 -0000 1.299.2.53 +++ Changes 9 Mar 2006 01:16:06 -0000 1.299.2.54 @@ -1,5 +1,11 @@ Revision history for Perl extension Module::Build. +0.2613 + + - Integrated a change from the mainline branch that lets the + 'passthrough' Makefile.PL check properly whether Module::Build was + successfully installed. + 0.2612 Thu Mar 2 22:27:37 CST 2006 - We now use File::Spec->tmpdir rather than the local _build/ |
From: Randy W. S. <si...@us...> - 2006-03-07 20:59:56
|
Update of /cvsroot/module-build/Module-Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28152 Modified Files: Changes Log Message: Make sure we can find the perl executable when run from uninstalled perl. Index: Changes =================================================================== RCS file: /cvsroot/module-build/Module-Build/Changes,v retrieving revision 1.436 retrieving revision 1.437 diff -u -d -r1.436 -r1.437 --- Changes 7 Mar 2006 04:00:51 -0000 1.436 +++ Changes 7 Mar 2006 20:59:17 -0000 1.437 @@ -2,6 +2,9 @@ 0.27_09 + - Fixed find_perl_interpreter() so we can find the perl executable + when running from uninstalled perl. [Yitzchak Scott-Thoennes] + - Fixed warning message where we were printing the wrong field names. [Chris Dolan] |
From: Randy W. S. <si...@us...> - 2006-03-07 20:59:35
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28152/lib/Module/Build Modified Files: Base.pm Log Message: Make sure we can find the perl executable when run from uninstalled perl. Index: Base.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v retrieving revision 1.553 retrieving revision 1.554 diff -u -d -r1.553 -r1.554 --- Base.pm 7 Mar 2006 00:03:47 -0000 1.553 +++ Base.pm 7 Mar 2006 20:59:20 -0000 1.554 @@ -333,8 +333,15 @@ } elsif (defined $exe) { $thisperl .= $exe unless $thisperl =~ m/$exe$/i; } - - foreach my $perl ( $c->{perlpath}, + + my $uninstperl; + if ($ENV{PERL_CORE}) { + require ExtUtils::CBuilder; + $uninstperl = File::Spec->catfile(ExtUtils::CBuilder::->perl_src, $thisperl); + } + + foreach my $perl ( $uninstperl || (), + $c->{perlpath}, map File::Spec->catfile($_, $thisperl), File::Spec->path() ) { return $perl if -f $perl and $proto->_perl_is_same($perl); |
From: Ken W. <kwi...@us...> - 2006-03-07 04:01:06
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27492/lib/Module/Build Modified Files: Cookbook.pm Log Message: Add subclassing recipe Index: Cookbook.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Cookbook.pm,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- Cookbook.pm 4 Mar 2006 00:42:45 -0000 1.21 +++ Cookbook.pm 7 Mar 2006 04:00:53 -0000 1.22 @@ -329,6 +329,40 @@ =back 4 +=head2 Modifying an action + +Sometimes you might need an to have an action, say C<./Build install>, +do something unusual. For instance, you might need to change the +ownership of a file or do something else peculiar to your application. + +You can subclass C<Module::Build> on the fly using the C<subclass()> +method and override the methods that perform the actions. You may need +to read through C<Module::Build::Authoring> to find the methods you +want to override, but the general pattern is C<ACTION_> followed by +the name of the action you want to modify. Here's an example of how +it would work for C<install>: + + # Build.PL + use Module::Build; + my $class = Module::Build->subclass( + class => "Module::Build::Custom", + code => <<'SUBCLASS' ); + + sub ACTION_install { + my $self = shift; + # YOUR CODE HERE + $self->SUPER::ACTION_install; + } + SUBCLASS + + $class->new( + module_name => 'Your::Module', + # rest of the usual Module::Build parameters + )->create_build_script; + +See the C<Module::Build::Authoring> pod in 0.27 or above for more +complete documentation on this. + =head1 AUTHOR Ken Williams <ke...@cp...> |
From: Ken W. <kwi...@us...> - 2006-03-07 04:01:04
|
Update of /cvsroot/module-build/Module-Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27492 Modified Files: Changes Log Message: Add subclassing recipe Index: Changes =================================================================== RCS file: /cvsroot/module-build/Module-Build/Changes,v retrieving revision 1.435 retrieving revision 1.436 diff -u -d -r1.435 -r1.436 --- Changes 7 Mar 2006 00:03:43 -0000 1.435 +++ Changes 7 Mar 2006 04:00:51 -0000 1.436 @@ -8,6 +8,9 @@ - Added a 'testpodcoverage' action that runs a POD coverage check for all modules in the distribution. [Yanick Champoux] + - Added a Cookbook example of subclassing to modify an action. [Dylan + Martin and David Golden] + 0.27_08 Fri Mar 3 21:22:41 CST 2006 - Due to shell quoting issues and differences in syntax between |
From: Randy W. S. <si...@us...> - 2006-03-07 00:03:51
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6131/lib/Module/Build Modified Files: Base.pm Log Message: Fixed warning message where we were printing the wrong field name. [Chris Dolan] Index: Base.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v retrieving revision 1.552 retrieving revision 1.553 diff -u -d -r1.552 -r1.553 --- Base.pm 4 Mar 2006 03:59:28 -0000 1.552 +++ Base.pm 7 Mar 2006 00:03:47 -0000 1.553 @@ -3077,7 +3077,7 @@ foreach (qw(dist_name dist_version dist_author dist_abstract license)) { (my $name = $_) =~ s/^dist_//; $node->{$name} = $self->$_(); - die "ERROR: Missing required field '$name' for META.yml\n" + die "ERROR: Missing required field '$_' for META.yml\n" unless defined($node->{$name}) && length($node->{$name}); } |
From: Randy W. S. <si...@us...> - 2006-03-07 00:03:51
|
Update of /cvsroot/module-build/Module-Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6131 Modified Files: Changes Log Message: Fixed warning message where we were printing the wrong field name. [Chris Dolan] Index: Changes =================================================================== RCS file: /cvsroot/module-build/Module-Build/Changes,v retrieving revision 1.434 retrieving revision 1.435 diff -u -d -r1.434 -r1.435 --- Changes 4 Mar 2006 03:59:28 -0000 1.434 +++ Changes 7 Mar 2006 00:03:43 -0000 1.435 @@ -2,6 +2,9 @@ 0.27_09 + - Fixed warning message where we were printing the wrong field names. + [Chris Dolan] + - Added a 'testpodcoverage' action that runs a POD coverage check for all modules in the distribution. [Yanick Champoux] |
From: Randy W. S. <si...@us...> - 2006-03-06 23:33:28
|
Update of /cvsroot/module-build/Module-Build/t/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22894/t/lib Modified Files: MBTest.pm Log Message: Ensure we find bundled modules when installed with perl core. [Yitzchak Scott-Thoennes] Index: MBTest.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/t/lib/MBTest.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- MBTest.pm 9 Jan 2006 01:18:15 -0000 1.3 +++ MBTest.pm 6 Mar 2006 23:33:24 -0000 1.4 @@ -5,16 +5,17 @@ use File::Spec; BEGIN { + # Make sure none of our tests load the users ~/.modulebuildrc file + $ENV{MODULEBUILDRC} = 'NONE'; + # In case the test wants to use Test::More or our other bundled # modules, make sure they can be loaded. They'll still do "use # Test::More" in the test script. my $t_lib = File::Spec->catdir('t', 'bundled'); - push @INC, $t_lib; # Let user's installed version override - - # Make sure none of our tests load the users ~/.modulebuildrc file - $ENV{MODULEBUILDRC} = 'NONE'; - if ($ENV{PERL_CORE}) { + if (!$ENV{PERL_CORE}) { + push @INC, $t_lib; # Let user's installed version override + } else { # We change directories, so expand @INC to absolute paths # Also add . @INC = (map(File::Spec->rel2abs($_), @INC), "."); @@ -22,6 +23,8 @@ # we are in 't', go up a level so we don't create t/t/_tmp chdir '..' or die "Couldn't chdir to .."; + push @INC, File::Spec->catdir(qw/lib Module Build/, $t_lib); + # make sure children get @INC pointing to uninstalled files require Cwd; $ENV{PERL5LIB} = File::Spec->catdir(Cwd::cwd(), 'lib'); |
From: Randy W. S. <si...@us...> - 2006-03-05 05:49:46
|
Update of /cvsroot/module-build/Module-Build/website In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18183 Modified Files: META-spec.html META-spec.pod Log Message: Update links Index: META-spec.html =================================================================== RCS file: /cvsroot/module-build/Module-Build/website/META-spec.html,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- META-spec.html 24 Oct 2005 03:45:25 -0000 1.11 +++ META-spec.html 5 Mar 2006 05:49:38 -0000 1.12 @@ -2,7 +2,7 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>META-spec - Specification for F<META.yml> documents</title> -<link rev="made" href="mailto:ro...@ha...net" /> +<link rev="made" href="mailto:root@localhost" /> </head> <body style="background-color: white"> @@ -203,7 +203,7 @@ created by taking the ``main module'' in the distribution and changing ``::'' to ``-''. Sometimes it's completely different, however, as in the case of the libww-perl distribution (see -<a href="http://search.cpan.org/author/GAAS/libwww-perl/">http://search.cpan.org/author/GAAS/libwww-perl/</a>).</p> +<a href="http://search.cpan.org/dist/libwww-perl/">http://search.cpan.org/dist/libwww-perl/</a>).</p> <p> </p> <h2><a name="version">version</a></h2> @@ -504,12 +504,12 @@ <hr /> <h1><a name="see_also">SEE ALSO</a></h1> <p>CPAN, <a href="http://www.cpan.org/">http://www.cpan.org/</a></p> -<p>CPAN.pm, <a href="http://search.cpan.org/author/ANDK/CPAN/">http://search.cpan.org/author/ANDK/CPAN/</a></p> -<p>CPANPLUS, <a href="http://search.cpan.org/author/KANE/CPANPLUS/">http://search.cpan.org/author/KANE/CPANPLUS/</a></p> -<p>Data::Dumper, <a href="http://search.cpan.org/author/ILYAM/Data-Dumper/">http://search.cpan.org/author/ILYAM/Data-Dumper/</a></p> -<p>ExtUtils::MakeMaker, <a href="http://search.cpan.org/author/MSCHWERN/ExtUtils-MakeMaker/">http://search.cpan.org/author/MSCHWERN/ExtUtils-MakeMaker/</a></p> -<p>Module::Build, <a href="http://search.cpan.org/~kwilliams/Module-Build/">http://search.cpan.org/~kwilliams/Module-Build/</a></p> -<p>Module::Install, <a href="http://search.cpan.org/~autrijus/Module-Install/">http://search.cpan.org/~autrijus/Module-Install/</a></p> +<p>CPAN.pm, <a href="http://search.cpan.org/dist/CPAN/">http://search.cpan.org/dist/CPAN/</a></p> +<p>CPANPLUS, <a href="http://search.cpan.org/dist/CPANPLUS/">http://search.cpan.org/dist/CPANPLUS/</a></p> +<p>Data::Dumper, <a href="http://search.cpan.org/dist/Data-Dumper/">http://search.cpan.org/dist/Data-Dumper/</a></p> +<p>ExtUtils::MakeMaker, <a href="http://search.cpan.org/dist/ExtUtils-MakeMaker/">http://search.cpan.org/dist/ExtUtils-MakeMaker/</a></p> +<p>Module::Build, <a href="http://search.cpan.org/dist/Module-Build/">http://search.cpan.org/dist/Module-Build/</a></p> +<p>Module::Install, <a href="http://search.cpan.org/dist/Module-Install/">http://search.cpan.org/dist/Module-Install/</a></p> <p>XML, <a href="http://www.w3.org/XML/">http://www.w3.org/XML/</a></p> <p>YAML, <a href="http://www.yaml.org/">http://www.yaml.org/</a></p> <p> Index: META-spec.pod =================================================================== RCS file: /cvsroot/module-build/Module-Build/website/META-spec.pod,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- META-spec.pod 24 Oct 2005 03:45:25 -0000 1.13 +++ META-spec.pod 5 Mar 2006 05:49:39 -0000 1.14 @@ -138,7 +138,7 @@ created by taking the "main module" in the distribution and changing "::" to "-". Sometimes it's completely different, however, as in the case of the libww-perl distribution (see -L<http://search.cpan.org/author/GAAS/libwww-perl/>). +L<http://search.cpan.org/dist/libwww-perl/>). =head2 version @@ -467,17 +467,17 @@ CPAN, L<http://www.cpan.org/> -CPAN.pm, L<http://search.cpan.org/author/ANDK/CPAN/> +CPAN.pm, L<http://search.cpan.org/dist/CPAN/> -CPANPLUS, L<http://search.cpan.org/author/KANE/CPANPLUS/> +CPANPLUS, L<http://search.cpan.org/dist/CPANPLUS/> -Data::Dumper, L<http://search.cpan.org/author/ILYAM/Data-Dumper/> +Data::Dumper, L<http://search.cpan.org/dist/Data-Dumper/> -ExtUtils::MakeMaker, L<http://search.cpan.org/author/MSCHWERN/ExtUtils-MakeMaker/> +ExtUtils::MakeMaker, L<http://search.cpan.org/dist/ExtUtils-MakeMaker/> -Module::Build, L<http://search.cpan.org/~kwilliams/Module-Build/> +Module::Build, L<http://search.cpan.org/dist/Module-Build/> -Module::Install, L<http://search.cpan.org/~autrijus/Module-Install/> +Module::Install, L<http://search.cpan.org/dist/Module-Install/> XML, L<http://www.w3.org/XML/> |
From: Ken W. <kwi...@us...> - 2006-03-04 16:27:21
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17765/lib/Module/Build Modified Files: Compat.pm Log Message: Query CPAN's uptodate() method after installing M::B::Compat Index: Compat.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Compat.pm,v retrieving revision 1.74 retrieving revision 1.75 diff -u -d -r1.74 -r1.75 --- Compat.pm 1 Mar 2006 22:46:22 -0000 1.74 +++ Compat.pm 4 Mar 2006 16:27:09 -0000 1.75 @@ -90,8 +90,9 @@ # Save this 'cause CPAN will chdir all over the place. my $cwd = Cwd::cwd(); - # There seems to be no way to determine if this install was successful CPAN::Shell->install('Module::Build::Compat'); + CPAN::Shell->expand("Module", "Module::Build::Compat")->uptodate + or die "Couldn't install Module::Build, giving up.\n"; chdir $cwd or die "Cannot chdir() back to $cwd: $!"; } |
From: Ken W. <kwi...@us...> - 2006-03-04 03:59:33
|
Update of /cvsroot/module-build/Module-Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31455 Modified Files: Changes Log Message: Add a testpodcoverage action Index: Changes =================================================================== RCS file: /cvsroot/module-build/Module-Build/Changes,v retrieving revision 1.433 retrieving revision 1.434 diff -u -d -r1.433 -r1.434 --- Changes 4 Mar 2006 03:23:11 -0000 1.433 +++ Changes 4 Mar 2006 03:59:28 -0000 1.434 @@ -1,5 +1,10 @@ Revision history for Perl extension Module::Build. +0.27_09 + + - Added a 'testpodcoverage' action that runs a POD coverage check for + all modules in the distribution. [Yanick Champoux] + 0.27_08 Fri Mar 3 21:22:41 CST 2006 - Due to shell quoting issues and differences in syntax between |
From: Ken W. <kwi...@us...> - 2006-03-04 03:59:32
|
Update of /cvsroot/module-build/Module-Build/lib/Module In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31455/lib/Module Modified Files: Build.pm Log Message: Add a testpodcoverage action Index: Build.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build.pm,v retrieving revision 1.211 retrieving revision 1.212 diff -u -d -r1.211 -r1.212 --- Build.pm 4 Mar 2006 03:23:12 -0000 1.211 +++ Build.pm 4 Mar 2006 03:59:28 -0000 1.212 @@ -222,6 +222,12 @@ This is analogous to the MakeMaker 'make all' target. +=item testpodcoverage + +This checks the pod coverage of the distribution and +produces C<Test::Harness>-style output. If you are a module author, +this is useful to run before creating a new release. + =item clean This action will clean up any files that the build process may have |
From: Ken W. <kwi...@us...> - 2006-03-04 03:59:32
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31455/lib/Module/Build Modified Files: Base.pm Log Message: Add a testpodcoverage action Index: Base.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v retrieving revision 1.551 retrieving revision 1.552 diff -u -d -r1.551 -r1.552 --- Base.pm 2 Mar 2006 21:28:09 -0000 1.551 +++ Base.pm 4 Mar 2006 03:59:28 -0000 1.552 @@ -2172,6 +2172,18 @@ } } +sub ACTION_testpodcoverage { + my $self = shift; + + $self->depends_on('docs'); + + eval q{use Test::Pod::Coverage 1.00; 1} + or die "The 'testpodcoverage' action requires ", + "Test::Pod::Coverage version 1.00"; + + all_pod_coverage_ok(); +} + sub ACTION_docs { my $self = shift; |
From: Ken W. <kwi...@us...> - 2006-03-04 03:23:16
|
Update of /cvsroot/module-build/Module-Build/lib/Module In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11240/lib/Module Modified Files: Build.pm Log Message: Version bump Index: Build.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build.pm,v retrieving revision 1.210 retrieving revision 1.211 diff -u -d -r1.210 -r1.211 --- Build.pm 4 Mar 2006 00:42:44 -0000 1.210 +++ Build.pm 4 Mar 2006 03:23:12 -0000 1.211 @@ -15,7 +15,7 @@ use vars qw($VERSION @ISA); @ISA = qw(Module::Build::Base); -$VERSION = '0.27_07'; +$VERSION = '0.27_08'; $VERSION = eval $VERSION; # Okay, this is the brute-force method of finding out what kind of |
From: Ken W. <kwi...@us...> - 2006-03-04 03:23:16
|
Update of /cvsroot/module-build/Module-Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11240 Modified Files: Changes Log Message: Version bump Index: Changes =================================================================== RCS file: /cvsroot/module-build/Module-Build/Changes,v retrieving revision 1.432 retrieving revision 1.433 diff -u -d -r1.432 -r1.433 --- Changes 4 Mar 2006 00:42:43 -0000 1.432 +++ Changes 4 Mar 2006 03:23:11 -0000 1.433 @@ -1,6 +1,6 @@ Revision history for Perl extension Module::Build. -0.27_08 +0.27_08 Fri Mar 3 21:22:41 CST 2006 - Due to shell quoting issues and differences in syntax between various flavors of Windows, the code for the 'pl2bat' utility |
From: Randy W. S. <si...@us...> - 2006-03-04 00:42:53
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7301/lib/Module/Build Modified Files: Cookbook.pm Log Message: Incorporated code from the 'pl2bat' utility distributed with Perl to avoid shell quoting insufficiencies and differences in various flavors of Windows. Updated documentation to give examples of invoking builds under Windows. Index: Cookbook.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Cookbook.pm,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- Cookbook.pm 7 Jan 2006 16:59:33 -0000 1.20 +++ Cookbook.pm 4 Mar 2006 00:42:45 -0000 1.21 @@ -44,12 +44,13 @@ ./Build test ./Build install -If you're on Windows, you'll probably do something like this: +If you're on Windows where the current directory is always searched +first for scripts, you'll probably do something like this: perl Build.PL - .\Build - .\Build test - .\Build install + Build + Build test + Build install On the old Mac OS (version 9 or lower) using MacPerl, you can double-click on the F<Build.PL> script to create the F<Build> script, @@ -83,7 +84,7 @@ probably best to supply a "traditional" F<Makefile.PL>. The C<Module::Build::Compat> module has some very helpful tools for keeping a F<Makefile.PL> in sync with a F<Build.PL>. See its -documentation, and also the C<create_makefile_pl> parameter to the +documentation, and also the C<create_makefile_pl> parameter to the C<< Module::Build->new() >> method. |
From: Randy W. S. <si...@us...> - 2006-03-04 00:42:53
|
Update of /cvsroot/module-build/Module-Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7301 Modified Files: Changes INSTALL Log Message: Incorporated code from the 'pl2bat' utility distributed with Perl to avoid shell quoting insufficiencies and differences in various flavors of Windows. Updated documentation to give examples of invoking builds under Windows. Index: Changes =================================================================== RCS file: /cvsroot/module-build/Module-Build/Changes,v retrieving revision 1.431 retrieving revision 1.432 diff -u -d -r1.431 -r1.432 --- Changes 2 Mar 2006 21:28:09 -0000 1.431 +++ Changes 4 Mar 2006 00:42:43 -0000 1.432 @@ -2,6 +2,12 @@ 0.27_08 + - Due to shell quoting issues and differences in syntax between + various flavors of Windows, the code for the 'pl2bat' utility + distributed with Perl has been incorporated into M::B::P::Windows. + [Thanks to Dr Bean and Ron Savage for help testing and isolating + the problem.] + - Modify add_build_element() so that it only adds elements if they don't already exist. [David Wheeler] Index: INSTALL =================================================================== RCS file: /cvsroot/module-build/Module-Build/INSTALL,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- INSTALL 16 Feb 2006 16:34:02 -0000 1.6 +++ INSTALL 4 Mar 2006 00:42:43 -0000 1.7 @@ -3,15 +3,17 @@ To install this module, just do: perl Build.PL + ./Build ./Build test ./Build install (this step may need to be done as the superuser) -For other operating systems that don't like the "./" syntax, like -Windows-based systems, you can do: +Or, if you're on a platform (like DOS or Windows) that doesn't require +the "./" notation, you can do this: perl Build.PL - perl Build test - perl Build install + Build + Build test + Build install The important thing is that the "Build" script gets executed and that you pass it the "test", "install", etc. arguments. |
From: Randy W. S. <si...@us...> - 2006-03-04 00:42:52
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build/Platform In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7301/lib/Module/Build/Platform Modified Files: Windows.pm Log Message: Incorporated code from the 'pl2bat' utility distributed with Perl to avoid shell quoting insufficiencies and differences in various flavors of Windows. Updated documentation to give examples of invoking builds under Windows. Index: Windows.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Platform/Windows.pm,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- Windows.pm 3 Mar 2006 23:04:38 -0000 1.31 +++ Windows.pm 4 Mar 2006 00:42:45 -0000 1.32 @@ -2,6 +2,7 @@ use strict; +use Config; use File::Basename; use File::Spec; use IO::File; @@ -11,117 +12,148 @@ use vars qw(@ISA); @ISA = qw(Module::Build::Base); -sub new { - my $class = shift; - my $self = $class->SUPER::new(@_); - $self->_find_pl2bat(); - return $self; +sub manpage_separator { + return '.'; } +sub ACTION_realclean { + my ($self) = @_; -sub _find_pl2bat { - my $self = shift; - my $cf = $self->{config}; - - # Find 'pl2bat.bat' utility used for installing perl scripts. - # This search is probably overkill, as I've never met a MSWin32 perl - # where these locations differed from each other. + $self->SUPER::ACTION_realclean(); - my @potential_dirs; + my $basename = basename($0); + $basename =~ s/(?:\.bat)?$//i; - if ( $ENV{PERL_CORE} ) { + if ( $basename eq $self->build_script ) { + if ( $self->build_bat ) { + my $full_progname = $0; + $full_progname =~ s/(?:\.bat)?$/.bat/i; - require ExtUtils::CBuilder; - @potential_dirs = File::Spec->catdir( ExtUtils::CBuilder->new()->perl_src(), - qw/win32 bin/ ); - } else { - @potential_dirs = map { File::Spec->canonpath($_) } - @${cf}{qw(installscript installbin installsitebin installvendorbin)}, - File::Basename::dirname($self->perl); - } + # Vodoo required to have a batch file delete itself without error; + # Syntax differs between 9x & NT: the later requires a null arg (???) + require Win32; + my $null_arg = (Win32::IsWinNT()) ? '""' : ''; + my $cmd = qq(start $null_arg /min "\%comspec\%" /c del "$full_progname"); - foreach my $dir (@potential_dirs) { - my $potential_file = File::Spec->catfile($dir, 'pl2bat.bat'); - if ( -f $potential_file && !-d _ ) { - $cf->{pl2bat} = $potential_file; - last; + my $fh = IO::File->new(">> $basename.bat") + or die "Can't create $basename.bat: $!"; + print $fh $cmd; + close $fh ; + } else { + $self->delete_filetree($self->build_script . '.bat'); } } } sub make_executable { my $self = shift; - $self->SUPER::make_executable(@_); - - my $perl = $self->perl; - my $pl2bat = $self->{config}{pl2bat}; - my $pl2bat_args = ''; - - if ( defined($pl2bat) && length($pl2bat) ) { + $self->SUPER::make_executable(@_); - foreach my $script (@_) { - next if $script =~ /\.(bat|cmd)$/i; # already a script; nothing to do + foreach my $script (@_) { + my %opts = (); + if ( $script eq $self->build_script ) { + $opts{ntargs} = q(-x -S %0 --build_bat %*); + $opts{otherargs} = q(-x -S "%0" --build_bat %1 %2 %3 %4 %5 %6 %7 %8 %9); + } - (my $script_bat = $script) =~ s/\.plx?$//i; - $script_bat .= '.bat'; # MSWin32 executable batch script file extension + my $out = eval {$self->pl2bat(in => $script, update => 1, %opts)}; + if ( $@ ) { + $self->log_warn("WARNING: Unable to convert file '$script' to an executable script:\n$@"); + } else { + $self->SUPER::make_executable($out); + } + } +} - my $quiet_state = $self->{properties}{quiet}; # keep quiet - if ( $script eq $self->build_script ) { - $self->{properties}{quiet} = 1; - $pl2bat_args = - q(-n "-x -S """%0""" "--build_bat" %*" ) . - q(-o "-x -S """%0""" "--build_bat" %1 %2 %3 %4 %5 %6 %7 %8 %9"); - } +# This routine was copied almost verbatim from the 'pl2bat' utility +# distributed with perl. It requires too much vodoo with shell quoting +# differences and shortcomings between the various flavors of Windows +# to reliably shell out +sub pl2bat { + my $self = shift; + my %opts = @_; - my $status = $self->do_system("$perl $pl2bat $pl2bat_args " . - "< $script > $script_bat"); - $self->SUPER::make_executable($script_bat); + # NOTE: %0 is already enclosed in doublequotes by cmd.exe, as appropriate + $opts{ntargs} = '-x -S %0 %*' unless exists $opts{ntargs}; + $opts{otherargs} = '-x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9' unless exists $opts{otherargs}; - $self->{properties}{quiet} = $quiet_state; # restore quiet - } + $opts{stripsuffix} = '/\\.plx?/' unless exists $opts{stripsuffix}; + $opts{stripsuffix} = ($opts{stripsuffix} =~ m{^/([^/]*[^/\$]|)\$?/?$} ? $1 : "\Q$opts{stripsuffix}\E"); - } else { - warn <<"EOF"; -Could not find 'pl2bat.bat' utility needed to make scripts executable. -Unable to convert scripts ( @{[join(', ', @_)]} ) to executables. -EOF + unless (exists $opts{out}) { + $opts{out} = $opts{in}; + $opts{out} =~ s/$opts{stripsuffix}$//oi; + $opts{out} .= '.bat' unless $opts{in} =~ /\.bat$/i or $opts{in} =~ /^-$/; } -} -sub ACTION_realclean { - my ($self) = @_; + my $head = <<EOT; + \@rem = '--*-Perl-*-- + \@echo off + if "%OS%" == "Windows_NT" goto WinNT + perl $opts{otherargs} + goto endofperl + :WinNT + perl $opts{ntargs} + if NOT "%COMSPEC%" == "%SystemRoot%\\system32\\cmd.exe" goto endofperl + if %errorlevel% == 9009 echo You do not have Perl in your PATH. + if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul + goto endofperl + \@rem '; +EOT - $self->SUPER::ACTION_realclean(); + $head =~ s/^\s+//gm; + my $headlines = 2 + ($head =~ tr/\n/\n/); + my $tail = "\n__END__\n:endofperl\n"; - my $basename = basename($0); - $basename =~ s/(?:\.bat)?$//i; + my $linedone = 0; + my $taildone = 0; + my $linenum = 0; + my $skiplines = 0; - if ( $basename eq $self->build_script ) { - if ( $self->build_bat ) { - my $full_progname = $0; - $full_progname =~ s/(?:\.bat)?$/.bat/i; + my $start = $Config{startperl}; + $start = "#!perl" unless $start =~ /^#!.*perl/; - # Syntax differs between 9x & NT: the later requires a null arg (???) - require Win32; - my $null_arg = (Win32::GetOSVersion() == 2) ? '""' : ''; - my $cmd = qq(start $null_arg /min "\%comspec\%" /c del "$full_progname"); + my $in = IO::File->new("< $opts{in}") or die "Can't open $opts{in}: $!"; + my @file = <$in>; + $in->close; - my $fh = IO::File->new(">> $basename.bat") - or die "Can't create $basename.bat: $!"; - print $fh $cmd; - close $fh ; - } else { - $self->delete_filetree($self->build_script . '.bat'); + foreach my $line ( @file ) { + $linenum++; + if ( $line =~ /^:endofperl\b/ ) { + if (!exists $opts{update}) { + warn "$opts{in} has already been converted to a batch file!\n"; + return; + } + $taildone++; + } + if ( not $linedone and $line =~ /^#!.*perl/ ) { + if (exists $opts{update}) { + $skiplines = $linenum - 1; + $line .= "#line ".(1+$headlines)."\n"; + } else { + $line .= "#line ".($linenum+$headlines)."\n"; + } + $linedone++; + } + if ( $line =~ /^#\s*line\b/ and $linenum == 2 + $skiplines ) { + $line = ""; } } -} -sub manpage_separator { - return '.'; + my $out = IO::File->new("> $opts{out}") or die "Can't open $opts{out}: $!"; + print $out $head; + print $out $start, ( $opts{usewarnings} ? " -w" : "" ), + "\n#line ", ($headlines+1), "\n" unless $linedone; + print $out @file[$skiplines..$#file]; + print $out $tail unless $taildone; + $out->close; + + return $opts{out}; } + sub split_like_shell { # As it turns out, Windows command-parsing is very different from # Unix command-parsing. Double-quotes mean different things, |