Skip Menu |

This queue is for tickets about the ExtUtils-ModuleMaker CPAN distribution.

Report information
The Basics
Id: 25881
Status: resolved
Worked: 30 min
Priority: 0/
Queue: ExtUtils-ModuleMaker

People
Owner: jkeenan [...] cpan.org
Requestors: sirianpm [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.48
Fixed in: (no value)



Subject: pod-coverage.t and pod.t entries in manifest use \ in the path
I am running ActiveSate Perl 5.8.8 on a Windows XP SP2 machine. When specifying the INCLUDE_POD_COVERAGE_TEST and INCLUDE_POD_TEST attributes, ModuleMaker uses File::Spec->catfile to create the path and file name for each of these test files. The catfile function uses a \ in the path instead of /. This poses a problem for ExtUtils::Manifest which does not support DOS style path names and does not convert them to Unix style path names. I am extending ModuleMaker and overriding complete_build() and have made the necessary changes in my extension. However, this will need correcting in ModuleMaker.pm itself. Here is the output from perl Makefile.PL on a module that includes these tests: **************** C:\Temp\Sparrow\Vocollect-Sparrow-Plugin-MyPlugin>perl Makefile.PL Checking if your kit is complete... Warning: the following files are missing in your kit: t\pod-coverage.t t\pod.t Please inform the author. Writing Makefile for Vocollect::Sparrow::Plugin::MyPlugin **************** This warning originates from ExtUtils::Manifest->manicheck(). Attached is the MANIFEST file being verified. Here is the culprit code from ModuleMaker.pm: $self->print_file( File::Spec->catfile( qw| t pod-coverage.t | ), $self->text_pod_coverage_test() ) if $self->{INCLUDE_POD_COVERAGE_TEST}; # default is off $self->print_file( File::Spec->catfile( qw| t pod.t | ), $self->text_pod_test() ) if $self->{INCLUDE_POD_TEST}; # default is off
Subject: MANIFEST
MANIFEST README LICENSE t/pod-coverage.t t/pod.t Makefile.PL lib/Vocollect/Sparrow/Plugin/MyPlugin.pm lib/Vocollect/Sparrow/Plugin/MyPlugin.xml t/00.Vocollect.Sparrow.Plugin.MyPlugin.t
From: sirianpm [...] gmail.com
Sorry, wrong MANIFEST file. Here is the causing the problems. On Tue Mar 27 18:03:08 2007, Paul_AV wrote: Show quoted text
> I am running ActiveSate Perl 5.8.8 on a Windows XP SP2 machine. > > When specifying the INCLUDE_POD_COVERAGE_TEST and INCLUDE_POD_TEST > attributes, ModuleMaker uses File::Spec->catfile to create the path > and file name for each of these test files. The catfile function
uses Show quoted text
> a \ in the path instead of /. This poses a problem for > ExtUtils::Manifest which does not support DOS style path names and > does not convert them to Unix style path names. I am extending > ModuleMaker and overriding complete_build() and have made the > necessary changes in my extension. However, this will need
correcting Show quoted text
> in ModuleMaker.pm itself. > > Here is the output from perl Makefile.PL on a module that includes > these tests: > **************** > C:\Temp\Sparrow\Vocollect-Sparrow-Plugin-MyPlugin>perl Makefile.PL > Checking if your kit is complete... > Warning: the following files are missing in your kit: > t\pod-coverage.t > t\pod.t > Please inform the author. > Writing Makefile for Vocollect::Sparrow::Plugin::MyPlugin > **************** > > This warning originates from ExtUtils::Manifest->manicheck(). > Attached is the MANIFEST file being verified. Here is the culprit > code from ModuleMaker.pm: > > $self->print_file( File::Spec->catfile( qw| t pod-coverage.t | ), > $self->text_pod_coverage_test() ) > if $self->{INCLUDE_POD_COVERAGE_TEST}; #
default Show quoted text
> is off > > $self->print_file( File::Spec->catfile( qw| t pod.t | ), > $self->text_pod_test() ) > if $self->{INCLUDE_POD_TEST}; #
default Show quoted text
> is off > >
MANIFEST README LICENSE t/pod-coverage.t t/pod.t Makefile.PL lib/Vocollect/Sparrow/Plugin/MyPlugin.pm lib/Vocollect/Sparrow/Plugin/MyPlugin.xml t/00.Vocollect.Sparrow.Plugin.MyPlugin.t
From: sirianpm [...] gmail.com
Third time is a charm :-} On Tue Mar 27 18:05:50 2007, Paul_AV wrote: Show quoted text
> Sorry, wrong MANIFEST file. Here is the causing the problems. > > On Tue Mar 27 18:03:08 2007, Paul_AV wrote:
> > I am running ActiveSate Perl 5.8.8 on a Windows XP SP2 machine. > > > > When specifying the INCLUDE_POD_COVERAGE_TEST and INCLUDE_POD_TEST > > attributes, ModuleMaker uses File::Spec->catfile to create the
path Show quoted text
> > and file name for each of these test files. The catfile function
> uses
> > a \ in the path instead of /. This poses a problem for > > ExtUtils::Manifest which does not support DOS style path names and > > does not convert them to Unix style path names. I am extending > > ModuleMaker and overriding complete_build() and have made the > > necessary changes in my extension. However, this will need
> correcting
> > in ModuleMaker.pm itself. > > > > Here is the output from perl Makefile.PL on a module that includes > > these tests: > > **************** > > C:\Temp\Sparrow\Vocollect-Sparrow-Plugin-MyPlugin>perl Makefile.PL > > Checking if your kit is complete... > > Warning: the following files are missing in your kit: > > t\pod-coverage.t > > t\pod.t > > Please inform the author. > > Writing Makefile for Vocollect::Sparrow::Plugin::MyPlugin > > **************** > > > > This warning originates from ExtUtils::Manifest->manicheck(). > > Attached is the MANIFEST file being verified. Here is the culprit > > code from ModuleMaker.pm: > > > > $self->print_file( File::Spec->catfile( qw| t pod-coverage.t
| ), Show quoted text
> > $self->text_pod_coverage_test() ) > > if $self->{INCLUDE_POD_COVERAGE_TEST}; #
> default
> > is off > > > > $self->print_file( File::Spec->catfile( qw| t pod.t | ), > > $self->text_pod_test() ) > > if $self->{INCLUDE_POD_TEST}; #
> default
> > is off > > > >
> >
MANIFEST README LICENSE t\pod-coverage.t t\pod.t Makefile.PL lib/Vocollect/Sparrow/Plugin/MyPlugin.pm lib/Vocollect/Sparrow/Plugin/MyPlugin.xml t/00.Vocollect.Sparrow.Plugin.MyPlugin.t
1. Recommended: Get v0.49, just uploaded to CPAN. 2. Or, if you want to just patch locally, use attached patch.
Index: lib/ExtUtils/ModuleMaker.pm =================================================================== --- lib/ExtUtils/ModuleMaker.pm (revision 1152) +++ lib/ExtUtils/ModuleMaker.pm (revision 1153) @@ -4,7 +4,7 @@ local $^W = 1; BEGIN { use vars qw( $VERSION @ISA ); - $VERSION = 0.48; + $VERSION = 0.49; use base qw( ExtUtils::ModuleMaker::Defaults ExtUtils::ModuleMaker::Initializers @@ -146,12 +146,10 @@ $self->text_MANIFEST_SKIP() ) if $self->{INCLUDE_MANIFEST_SKIP}; # default is off - $self->print_file( File::Spec->catfile( qw| t pod-coverage.t | ), - $self->text_pod_coverage_test() ) + $self->print_file( qq|t/pod-coverage.t|, $self->text_pod_coverage_test() ) if $self->{INCLUDE_POD_COVERAGE_TEST}; # default is off - $self->print_file( File::Spec->catfile( qw| t pod.t | ), - $self->text_pod_test() ) + $self->print_file( qq|t/pod.t|, $self->text_pod_test() ) if $self->{INCLUDE_POD_TEST}; # default is off if ( $self->{BUILD_SYSTEM} eq 'ExtUtils::MakeMaker' ) { @@ -403,8 +401,8 @@ =head1 VERSION -This document references version 0.48 of ExtUtils::ModuleMaker, released -to CPAN on March 26, 2007. +This document references version 0.49 of ExtUtils::ModuleMaker, released +to CPAN on March 27, 2007. =head1 DESCRIPTION @@ -1336,10 +1334,14 @@ itself. Several Perlmonks helped investigate this problem: chromatic, dave_the_m, randyk, and njh. +Thanks to Paul M Sirianni for reporting bugs that led to versions 0.48 and +0.49. + =head1 COPYRIGHT Copyright (c) 2001-2002 R. Geoffrey Avery. -Revisions from v0.33 forward (c) 2005 James E. Keenan. All rights reserved. +Revisions from v0.33 forward (c) 2005-2007 James E. Keenan. +All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.