Skip Menu |

This queue is for tickets about the pmtools CPAN distribution.

Report information
The Basics
Id: 119879
Status: resolved
Priority: 0/
Queue: pmtools

People
Owner: MLFISHER [...] cpan.org
Requestors: VINSWORLD [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 2.0.0
Fixed in: 2.1.2



Subject: Win32 support lacking
I see the earlier bug about tests in Win32 which is indeed true, but many tools fail in Win32 as well. Attached are patches to fix many of the issues.
Subject: faqpods.patch
--- faqpods.orig 2017-01-16 20:32:45.241256600 -0500 +++ faqpods 2017-01-16 20:33:43.583593600 -0500 @@ -7,10 +7,11 @@ # ------ pragmas use strict; use warnings; +use FindBin qw($Bin); our $VERSION = '2.0.0'; -open(PROG, "$^X -S basepods |") || die "can't fork: $!"; +open(PROG, "$^X -S $Bin/basepods |") || die "can't fork: $!"; while (<PROG>) { print if /perlfaq/; }
Subject: modpods.patch
--- modpods.orig 2017-01-16 20:37:30.176554000 -0500 +++ modpods 2017-01-16 20:36:02.626546400 -0500 @@ -7,10 +7,11 @@ # ------ pragmas use strict; use warnings; +use FindBin qw($Bin); our $VERSION = '2.0.0'; -system $^X, "-S", "pminst", "-l"; +system $^X, "-S", "$Bin/pminst", "-l"; __END__
Subject: pmdesc.patch
--- pmdesc.orig 2017-01-16 20:52:34.242263600 -0500 +++ pmdesc 2017-01-16 20:55:49.073407300 -0500 @@ -19,15 +19,15 @@ BEGIN { $^W = 1 } GetOptions ("splitpod" => \$use_pod); -print "use_pod = $use_pod\n"; +print "use_pod = $use_pod\n" if $use_pod; $errors = 0; MODULE: for $module (@ARGV) { if ($use_pod) { - $fullpath = `$Bin/podpath $module`; + $fullpath = `$^X $Bin/podpath $module`; } else { - $fullpath = `$Bin/pmpath $module`; + $fullpath = `$^X $Bin/pmpath $module`; } if ($?) { $errors++; @@ -64,7 +64,12 @@ sub getversion { my $module = shift; - my $vers = `$^X -S $Bin/pmvers $module 2>/dev/null`; + my $vers; + if ( $^O eq "MSWin32" ) { + $vers = `$^X -S $Bin/pmvers $module 2>NUL`; + } else { + $vers = `$^X -S $Bin/pmvers $module 2>/dev/null`; + } return if $?; chomp $vers; return $vers;
Subject: pmls.patch
--- pmls.orig 2017-01-16 21:08:30.375951300 -0500 +++ pmls 2017-01-16 21:11:53.168550300 -0500 @@ -17,8 +17,14 @@ unless (@ARGV) { die "usage: $0 module ...\n"; } -for $module (@ARGV) { - system "ls -l " . `$^X -S $Bin/pmpath $module`; +for $module (@ARGV) { + if ( $^O eq "MSWin32" ) { + my $path = `$^X -S $Bin/pmpath $module`; + $path =~ s/\//\\/g; + system "dir " . $path; + } else { + system "ls -l " . `$^X -S $Bin/pmpath $module`; + } } __END__
Subject: pods.patch
--- pods.orig 2017-01-16 21:18:49.383356500 -0500 +++ pods 2017-01-16 21:17:50.435984900 -0500 @@ -6,11 +6,12 @@ use strict; use warnings; +use FindBin qw($Bin); our $VERSION = '2.0.0'; -system $^X, "-S", "stdpods"; -system $^X, "-S", "pminst", "-l"; +system $^X, "-S", "$Bin/stdpods"; +system $^X, "-S", "$Bin/pminst", "-l"; __END__
Subject: sitepods.patch
--- sitepods.orig 2017-01-16 21:20:29.526084300 -0500 +++ sitepods 2017-01-16 21:25:54.861692400 -0500 @@ -8,13 +8,18 @@ # ------ pragmas use strict; use warnings; +use FindBin qw($Bin); our $VERSION = '2.0.0'; -open(PROG, "$^X -S modpods |") || die "can't fork: $!"; +open(PROG, "$^X -S $Bin/modpods |") || die "can't fork: $!"; while (<PROG>) { - print if /site_perl/; + if ( $^O eq "MSWin32" ) { + print if /\/site\//; + } else { + print if /site_perl/; + } } __END__
Subject: stdpods.patch
--- stdpods.orig 2017-01-16 21:24:50.273998200 -0500 +++ stdpods 2017-01-16 21:27:34.155371700 -0500 @@ -8,13 +8,18 @@ # ------ pragmas use strict; use warnings; +use FindBin qw($Bin); our $VERSION = '2.0.0'; -system("$^X -S basepods"); -open(PROG, "$^X -S modpods |") || die "can't fork: $!"; +system("$^X -S $Bin/basepods"); +open(PROG, "$^X -S $Bin/modpods |") || die "can't fork: $!"; while (<PROG>) { - print unless /site_perl/; + if ( $^O eq "MSWin32" ) { + print unless /\/site\//; + } else { + print unless /site_perl/; + } } close PROG;