Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the IO-All CPAN distribution.

Report information
The Basics
Id: 19290
Status: resolved
Priority: 0/
Queue: IO-All

People
Owner: Nobody in particular
Requestors: eric [...] cordata.com
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: (no value)
Fixed in: (no value)



Subject: IO::String dependency not installed
When trying to install Kwiki, IO::All get's installed as a dependency. IO::All seems to be dependent on IO::String which was not installed by default on my system. Is there anyway we can make IO::All's install process automatically install IO::String if IO::String is not already installed?
Here's a patch. Ingy, could you please apply this and release a new version of IO::All? diff -u IO-All-0.35/Makefile.PL /home/zev/.cpan/build/IO-All-0.35/Makefile.PL --- IO-All-0.35/Makefile.PL 2006-05-08 04:01:57.000000000 -0400 +++ /home/zev/.cpan/build/IO-All-0.35/Makefile.PL 2006-07-20 18:38:26.000000000 -0400 @@ -4,7 +4,9 @@ all_from 'lib/IO/All.pm'; requires perl => '5.6.1'; +requires 'IO::String'; clean_files 't/output/'; +auto_install; WriteAll; On Tue May 16 11:16:39 2006, guest wrote: Show quoted text
> When trying to install Kwiki, IO::All get's installed as a dependency. > IO::All seems to be dependent on IO::String which was not installed by > default on my system. Is there anyway we can make IO::All's install > process automatically install IO::String if IO::String is not already > installed?
Subject: [PATCH] Don't depend on IO::String
I encountered the same problem but concluded IO::All did not intend to depend on IO::String. This patch fixed the tests so they will properly skip should IO::String (and also MLDBM for the XXX test) not be installed.
=== t/string_open.t ================================================================== --- t/string_open.t (revision 17964) +++ t/string_open.t (local) @@ -2,10 +2,15 @@ use lib 't', 'lib'; use strict; use warnings; -use Test::More tests => 1; +use Test::More; use IO::All; use IO_All_Test; +plan(eval { require IO::String } + ? (tests => 1) + : (skip_all => "requires IO::String") +); + my $s = io('$'); $s->append("write 1\n"); my $s1 = "IO::String ref: (".$s->string_ref.")"; === t/xxx.t ================================================================== --- t/xxx.t (revision 17964) +++ t/xxx.t (local) @@ -3,18 +3,22 @@ use warnings; use Test::More tests => 1; -use IO::All; -use IO::All::Temp; -use IO::All::String; -use IO::All::Socket; -use IO::All::MLDBM; -use IO::All::Link; -use IO::All::Pipe; -use IO::All::Dir; -use IO::All::Filesys; -use IO::All::File; -use IO::All::DBM; -use IO::All::STDIO; -use IO::All::Base; +for my $mod (qw(IO::All + IO::All::Temp + IO::All::String + IO::All::Socket + IO::All::MLDBM + IO::All::Link + IO::All::Pipe + IO::All::Dir + IO::All::Filesys + IO::All::File + IO::All::DBM + IO::All::STDIO + IO::All::Base + )) +{ + eval "use $mod"; +} is($INC{'XXX.pm'}, undef, "Don't ship with XXX");
This seems to have been fixed a while ago.
Oui.