[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]
Re: Compress::Zlib / IO::Compress::Gzip / IO::Compress::Bzip2
On Wed, 17 Sep 2008 12:02:30 +0100, "Paul Marquess"
<paul_marquess@yahoo.co.uk> wrote:
I really think this discussion belong to the perl5-porters list.
I'm not the one to decide
BTW the `leaking' should not happen if you don't pass
-Dinc_version_list to Configure, which is in my Policy.sh, so somewhere
it still leaks. No idea why
> From: Jos I. Boumans [mailto:jos@dwim.org]
>
> > Hi Paul,
> >
> > On Sep 8, 2008, at 5:19 PM, Paul Marquess wrote:
> > >>>
> > >> 'use' does a comparison of '>='. Ie, 2.018 would be acceptable too.
> > >>
> > >> What you want is '==', which would be a manual check to add.
> > >
> > > Aaah - the penny (finally) drops. I'll see if I can put something
> > > together
> > > to sort that out.
> >
> > H. Merijn showed me another form of breakage today, this time as part
> > of the core
> > test suite for 5.10.x. This time, Archive::Extract broke:
> >
> > ok 85 - extract() for 'y.jar' reports success
> > # Extractor was: _unzip_az
> > ok 86 - No errors capturing buffers
> > ok 87 - Found correct number of output files
> > ok 88 - Found correct output file 'y/z'
> > ok 89 - Output file '/pro/3gl/CPAN/perl-5.10.x/lib/Archive/Extract/t/
> > out/y/z' exists
> > ok 90 - Extract dir found
> > ok 91 - Extract dir exists
> > ok 92 - Extract dir is expected '/pro/3gl/CPAN/perl-5.10.x/lib/
> > Archive/Extract/t/out/y'
> > ok 93 - Output file successfully removed
> > ok 94 - rmtree gave no error
> > ok 95 - Extract dir succesfully removed
> > # Extracting x.bz2
> > ok 96 - The object isa Archive::Extract
> > ok 97 - Archive type recognized properly
> > # Extracting to: /pro/3gl/CPAN/perl-5.10.x/lib/Archive/Extract/t/out/a
> > # Buffers enabled: 1
> > Can't call method "value" on an undefined value at /pro/lib/perl5/
> > site_perl/5.10.0/IO/Uncompress/Bunzip2.pm line 72.
> > 1..97
> > # Looks like your test died just after 97.
> > Exit 255
> >
> > Note how it's trying to use the IO::U::Bunzip2 from 5.10.0, not from
> > 5.10.x (as it's not
> > part of the core) That version differs from IO::Compress::Base
> > version (it got upgraded
> > after 5.10.0 i assume) and therefor breaks the program.
> >
> > So we need not only worry about installs in the same perl, but also
> > in previous perls that
> > may be in @INC :(
>
> Ugh! I didn't realize that other perls can leak into the core test suite!
>
> I did an experiment to see what happens to a vanilla 5.10.0 install when if
> you then installed IO::Compress::Bunzip2. So the Bunzip2 install works fine,
> but if you then fire up a CPAN shell and try to install anything you get
> this error
>
> install x::y
> CPAN: Storable loaded ok (v2.18)
> Going to read /tmp/cpan/Metadata
> Database was generated on Tue, 09 Sep 2008 05:03:04 GMT
> CPAN: Time::HiRes loaded ok (v1.9711)
> LWP not available
> CPAN: Net::FTP loaded ok (v2.77)
> Fetching with Net::FTP:
> ftp://ftp.demon.co.uk/pub/CPAN/authors/01mailrc.txt.gz
> Going to read /tmp/cpan/sources/authors/01mailrc.txt.gz
> CPAN: Compress::Zlib loaded ok (v2.008)
> Catching error: 'Can\'t call method "value" on an undefined value at
> /spare/marquess/perls/5.10.0/lib/5.10.0/i686-linux/IO/Uncompress/RawInflate.
> pm line 64.
> ' at /spare/marquess/perls/5.10.0/lib/5.10.0/CPAN.pm line 281
> CPAN::shell() called at bin/cpan5.10.0 line 198
> Going to read /tmp/cpan/sources/authors/01mailrc.txt.gz
> Terminal does not support GetHistory.
> Lockfile removed.
> Can't call method "value" on an undefined value at
> /spare/marquess/perls/5.10.0/lib/5.10.0/i686-linux/IO/Uncompress/RawInflate.
> pm line 64.
>
>
> So my previous thinking was to keep the compression modules as separate
> distributions, but highlight the problem more explicitly by beefing up the
> runtime version checking. I know this was my original preference, but I'm
> starting to go off that approach.
>
> That leaves us with a single mega-distribution that includes all the
> IO::Compress modules and, probably, the Compress::Raw::Zlib/Bzip2 modules as
> well. Not sure yet if Compress::Zlib has to live in the mega-distro. I know
> the big distribution is your favored option, but there are a few issues I'd
> like to discuss.
>
> For example, the existing compression modules will still be on CPAN. Is
> there a way to make them empty shells that just have a prerequisite of
> IO::Compress::MegaPack (or whatever the big distribution gets called)?
> Moving the existing modules onto backpan would just break all the other
> modules that have any of the compression modules as a prerequisites.
>
> Also, I don't own all the low-level compressor modules (currently
> Compress::LZO & Compress::LZF) so they can't be included in the mega
> distribution. So I'm thinking that the mega-distro Makefile.PL will only
> install the IO::Compress interfaces to LZO/LZF if Compress::LZO &
> Compress::LZF are already installed. That's probably ok - those compressors
> aren't as high profile as the zlib/bzip2 family.
>
>
> Paul
>
>
>
--
H.Merijn Brand Amsterdam Perl Mongers http://amsterdam.pm.org/
using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00,
11.11, 11.23, and 11.31, SuSE 10.1, 10.2, and 10.3, AIX 5.2, and Cygwin.
http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/
http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/
- Follow-Ups from:
-
"Paul Marquess" <Paul.Marquess@ntlworld.com>
[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]