Skip Menu |

This queue is for tickets about the Module-ScanDeps CPAN distribution.

Report information
The Basics
Id: 22573
Status: resolved
Priority: 0/
Queue: Module-ScanDeps

People
Owner: smueller [...] cpan.org
Requestors: RSCHUPP [...] cpan.org
Cc:
AdminCc:

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



Subject: PerlIO.pm should imply PerlIO::scalar.pm
Follow-up to the discussion started in http://www.nntp.perl.org/group/perl.par/2556: - perl 5.8.x loads PerlIO.pm "under the hood" for certain kinds of open() calls (e.g. open with layers, open for reading from a string) - when a script uses such an open() and it is packed by PAR, then running it may result in "PerlIO.pm not found" (because it wasn't detected by Module::Scandeps and hence not packed) - PerlIO may load other modules, decided at runtime, hence not inferrable by Module::ScanDeps - special case when third argument to open() is (scalar) reference (i.e. reading from a string), then PerlIO::scalar will be loaded; this one is nasty since there will be no error reported in perl <= 5.8.8 when loading PerlIO::scalar fails - so if a packer tries to work around the "PerlIO.pm not found" by explicitly adding PerlIO.pm, it may still fail because of the missing PerlIO::scalar.pm, but this case without any useful error message (the error will occur later, when trying to read/write on the filehandle) - so the least we should do, is silently add PerlIO::scalar when we just added PerlIO
Subject: scandeps.patch
--- Module/ScanDeps.pm.orig 2006-10-25 18:01:08.000000000 +0200 +++ Module/ScanDeps.pm 2006-10-25 18:03:22.000000000 +0200 @@ -277,6 +277,7 @@ ], 'Parse/AFP.pm' => 'sub', 'Parse/Binary.pm' => 'sub', + 'PerlIO.pm' => [qw( PerlIO/scalar.pm )], 'Regexp/Common.pm' => 'sub', 'SerialJunk.pm' => [ qw( termios.ph asm/termios.ph sys/termiox.ph sys/termios.ph sys/ttycom.ph
Okay, I know. I said I couldn't fix it. But even more, I couldn't resist. Bugs bug me ;) Steffen