summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorSteve Hay <SteveHay@planit.com>2008-09-26 16:43:21 +0000
committerSteve Hay <SteveHay@planit.com>2008-09-26 16:43:21 +0000
commit9253672d50e6fbfe60cc73666d91a174b588b7e4 (patch)
tree781baa3b7c851228f712d8494fa34ffdf42dafd4 /ext
parent9f34a1744f8a4c0c07e722ccbf034bc0bdb7c3c4 (diff)
downloadperl-9253672d50e6fbfe60cc73666d91a174b588b7e4.tar.gz
Upgrade Compression modules to 2.015
p4raw-id: //depot/perl@34425
Diffstat (limited to 'ext')
-rw-r--r--ext/Compress/Raw/Zlib/Changes10
-rw-r--r--ext/Compress/Raw/Zlib/README6
-rw-r--r--ext/Compress/Raw/Zlib/Zlib.xs26
-rw-r--r--ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm6
-rw-r--r--ext/Compress/Raw/Zlib/private/MakeUtil.pm77
-rw-r--r--ext/Compress/Zlib/Changes10
-rwxr-xr-xext/Compress/Zlib/Makefile.PL2
-rw-r--r--ext/Compress/Zlib/README6
-rw-r--r--ext/Compress/Zlib/lib/Compress/Zlib.pm12
-rw-r--r--ext/Compress/Zlib/private/MakeUtil.pm77
-rw-r--r--ext/IO_Compress_Base/Changes14
-rw-r--r--ext/IO_Compress_Base/README6
-rw-r--r--ext/IO_Compress_Base/lib/IO/Compress/Base.pm4
-rw-r--r--ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm40
-rw-r--r--ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm32
-rw-r--r--ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm5
-rw-r--r--ext/IO_Compress_Base/private/MakeUtil.pm77
-rw-r--r--ext/IO_Compress_Base/t/01misc.t43
-rw-r--r--ext/IO_Compress_Zlib/Changes10
-rw-r--r--ext/IO_Compress_Zlib/Makefile.PL2
-rw-r--r--ext/IO_Compress_Zlib/README6
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm6
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm4
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm10
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm12
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm2
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm12
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm24
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm3
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm2
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm4
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm6
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm6
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm18
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm14
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm8
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm10
-rw-r--r--ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm18
-rw-r--r--ext/IO_Compress_Zlib/private/MakeUtil.pm77
39 files changed, 559 insertions, 148 deletions
diff --git a/ext/Compress/Raw/Zlib/Changes b/ext/Compress/Raw/Zlib/Changes
index b7cc19df14..e818e4f2f7 100644
--- a/ext/Compress/Raw/Zlib/Changes
+++ b/ext/Compress/Raw/Zlib/Changes
@@ -1,6 +1,16 @@
CHANGES
-------
+ 2.015 3 September 2008
+
+ * Makefile.PL
+ Backout changes made in 2.014
+
+ 2.014 2 September 2008
+
+ * Makefile.PL
+ Updated to check for indirect dependencies.
+
2.012 15 July 2008
* Document the gzip flags that WindowBits can take.
diff --git a/ext/Compress/Raw/Zlib/README b/ext/Compress/Raw/Zlib/README
index 42d2d6bafc..0a5f5182cc 100644
--- a/ext/Compress/Raw/Zlib/README
+++ b/ext/Compress/Raw/Zlib/README
@@ -1,9 +1,9 @@
Compress-Raw-Zlib
- Version 2.012
+ Version 2.015
- 15th July 2008
+ 2nd September 2008
Copyright (c) 2005-2008 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it
@@ -326,7 +326,7 @@ To help me help you, I need all of the following information:
If you haven't installed Compress-Raw-Zlib then search Compress::Raw::Zlib.pm
for a line like this:
- $VERSION = "2.012" ;
+ $VERSION = "2.015" ;
c. The version of zlib you have used.
If you have successfully installed Compress-Raw-Zlib, this one-liner
diff --git a/ext/Compress/Raw/Zlib/Zlib.xs b/ext/Compress/Raw/Zlib/Zlib.xs
index cd366f17fc..821e1d1c7b 100644
--- a/ext/Compress/Raw/Zlib/Zlib.xs
+++ b/ext/Compress/Raw/Zlib/Zlib.xs
@@ -112,6 +112,7 @@ typedef struct di_stream {
#define FLAG_CRC32 2
#define FLAG_ADLER32 4
#define FLAG_CONSUME_INPUT 8
+#define FLAG_LIMIT_OUTPUT 16
uLong crc32 ;
uLong adler32 ;
z_stream stream;
@@ -470,6 +471,8 @@ DispStream(s, message)
printf(" CRC32 %s\n", EnDis(FLAG_CRC32));
printf(" ADLER32 %s\n", EnDis(FLAG_ADLER32));
printf(" CONSUME %s\n", EnDis(FLAG_CONSUME_INPUT));
+ printf(" LIMIT %s\n", EnDis(FLAG_LIMIT_OUTPUT));
+
#ifdef MAGIC_APPEND
printf(" window 0x%p\n", s->window);
@@ -1329,7 +1332,16 @@ inflate (s, buf, output, eof=FALSE)
RETVAL = inflate(&(s->stream), Z_SYNC_FLUSH);
- if (RETVAL == Z_STREAM_ERROR || RETVAL == Z_MEM_ERROR ||
+
+ if (RETVAL == Z_NEED_DICT && s->dictionary) {
+ s->dict_adler = s->stream.adler ;
+ RETVAL = inflateSetDictionary(&(s->stream),
+ (const Bytef*)SvPVbyte_nolen(s->dictionary),
+ SvCUR(s->dictionary));
+ }
+
+ if (s->flags & FLAG_LIMIT_OUTPUT ||
+ RETVAL == Z_STREAM_ERROR || RETVAL == Z_MEM_ERROR ||
RETVAL == Z_DATA_ERROR || RETVAL == Z_STREAM_END )
break ;
@@ -1341,17 +1353,9 @@ inflate (s, buf, output, eof=FALSE)
break ;
}
}
-
- if (RETVAL == Z_NEED_DICT && s->dictionary) {
- s->dict_adler = s->stream.adler ;
- RETVAL = inflateSetDictionary(&(s->stream),
- (const Bytef*)SvPVbyte_nolen(s->dictionary),
- SvCUR(s->dictionary));
- }
-
}
#ifdef NEED_DUMMY_BYTE_AT_END
- if (eof && RETVAL == Z_OK) {
+ if (eof && RETVAL == Z_OK && s->flags & FLAG_LIMIT_OUTPUT == 0) {
Bytef* nextIn = s->stream.next_in;
uInt availIn = s->stream.avail_in;
s->stream.next_in = (Bytef*) " ";
@@ -1399,7 +1403,7 @@ inflate (s, buf, output, eof=FALSE)
SvCUR(output)-prefix_length) ;
/* fix the input buffer */
- if (s->flags & FLAG_CONSUME_INPUT) {
+ if (s->flags & FLAG_CONSUME_INPUT || s->flags & FLAG_LIMIT_OUTPUT) {
in = s->stream.avail_in ;
SvCUR_set(buf, in) ;
if (in)
diff --git a/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm b/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm
index 5f1503123b..6d096e016d 100644
--- a/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm
+++ b/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm
@@ -13,7 +13,7 @@ use warnings ;
use bytes ;
our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
-$VERSION = '2.012';
+$VERSION = '2.015';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -84,6 +84,7 @@ use constant FLAG_APPEND => 1 ;
use constant FLAG_CRC => 2 ;
use constant FLAG_ADLER => 4 ;
use constant FLAG_CONSUME_INPUT => 8 ;
+use constant FLAG_LIMIT_OUTPUT => 16 ;
eval {
require XSLoader;
@@ -387,6 +388,7 @@ sub Compress::Raw::Zlib::Inflate::new
my ($got) = ParseParameters(0,
{
'AppendOutput' => [1, 1, Parse_boolean, 0],
+ 'LimitOutput' => [1, 1, Parse_boolean, 0],
'CRC32' => [1, 1, Parse_boolean, 0],
'ADLER32' => [1, 1, Parse_boolean, 0],
'ConsumeInput' => [1, 1, Parse_boolean, 1],
@@ -406,6 +408,8 @@ sub Compress::Raw::Zlib::Inflate::new
$flags |= FLAG_CRC if $got->value('CRC32') ;
$flags |= FLAG_ADLER if $got->value('ADLER32') ;
$flags |= FLAG_CONSUME_INPUT if $got->value('ConsumeInput') ;
+ $flags |= FLAG_LIMIT_OUTPUT if $got->value('LimitOutput') ;
+
my $windowBits = $got->value('WindowBits');
$windowBits += MAX_WBITS()
diff --git a/ext/Compress/Raw/Zlib/private/MakeUtil.pm b/ext/Compress/Raw/Zlib/private/MakeUtil.pm
index 4c706e0117..e595910654 100644
--- a/ext/Compress/Raw/Zlib/private/MakeUtil.pm
+++ b/ext/Compress/Raw/Zlib/private/MakeUtil.pm
@@ -297,6 +297,83 @@ sub doUpDownViaCopy
}
}
+
+sub FindBrokenDependencies
+{
+ my $version = shift ;
+ my %thisModule = map { $_ => 1} @_;
+
+ my @modules = qw(
+ IO::Compress::Base
+ IO::Compress::Base::Common
+ IO::Uncompress::Base
+
+ Compress::Raw::Zlib
+ Compress::Raw::Bzip2
+
+ IO::Compress::RawDeflate
+ IO::Uncompress::RawInflate
+ IO::Compress::Deflate
+ IO::Uncompress::Inflate
+ IO::Compress::Gzip
+ IO::Compress::Gzip::Constants
+ IO::Uncompress::Gunzip
+ IO::Compress::Zip
+ IO::Uncompress::Unzip
+
+ IO::Compress::Bzip2
+ IO::Uncompress::Bunzip2
+
+ IO::Compress::Lzf
+ IO::Uncompress::UnLzf
+
+ IO::Compress::Lzop
+ IO::Uncompress::UnLzop
+
+ Compress::Zlib
+ );
+
+ my @broken = ();
+
+ foreach my $module ( grep { ! $thisModule{$_} } @modules)
+ {
+ my $hasVersion = getInstalledVersion($module);
+
+ # No need to upgrade if the module isn't installed at all
+ next
+ if ! defined $hasVersion;
+
+ # If already have C::Z version 1, then an upgrade to any of the
+ # IO::Compress modules will not break it.
+ next
+ if $module eq 'Compress::Zlib' && $hasVersion < 2;
+
+ if ($hasVersion < $version)
+ {
+ push @broken, $module
+ }
+ }
+
+ return @broken;
+}
+
+sub getInstalledVersion
+{
+ my $module = shift;
+ my $version;
+
+ eval " require $module; ";
+
+ if ($@ eq '')
+ {
+ no strict 'refs';
+ $version = ${ $module . "::VERSION" };
+ $version = 0
+ }
+
+ return $version;
+}
+
package MakeUtil ;
1;
diff --git a/ext/Compress/Zlib/Changes b/ext/Compress/Zlib/Changes
index 74874e7ad5..931eea6e94 100644
--- a/ext/Compress/Zlib/Changes
+++ b/ext/Compress/Zlib/Changes
@@ -1,6 +1,16 @@
CHANGES
-------
+ 2.015 3 September 2008
+
+ * Makefile.PL
+ Backout changes made in 2.014
+
+ 2.014 2 September 2008
+
+ * Makefile.PL
+ Updated to check for indirect dependencies.
+
2.012 15 July 2008
* No Changes
diff --git a/ext/Compress/Zlib/Makefile.PL b/ext/Compress/Zlib/Makefile.PL
index 6f4a8bb056..1f6ba8060a 100755
--- a/ext/Compress/Zlib/Makefile.PL
+++ b/ext/Compress/Zlib/Makefile.PL
@@ -3,7 +3,7 @@
use strict ;
require 5.004 ;
-$::VERSION = '2.012' ;
+$::VERSION = '2.015' ;
use private::MakeUtil;
use ExtUtils::MakeMaker 5.16 ;
diff --git a/ext/Compress/Zlib/README b/ext/Compress/Zlib/README
index 77264dbdec..89d1f07c77 100644
--- a/ext/Compress/Zlib/README
+++ b/ext/Compress/Zlib/README
@@ -1,9 +1,9 @@
Compress-Zlib
- Version 2.012
+ Version 2.015
- 15th July 2008
+ 2nd September 2008
Copyright (c) 1995-2008 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it
@@ -106,7 +106,7 @@ To help me help you, I need all of the following information:
If you haven't installed Compress-Zlib then search Compress::Zlib.pm
for a line like this:
- $VERSION = "2.012" ;
+ $VERSION = "2.015" ;
2. If you are having problems building Compress-Zlib, send me a
complete log of what happened. Start by unpacking the Compress-Zlib
diff --git a/ext/Compress/Zlib/lib/Compress/Zlib.pm b/ext/Compress/Zlib/lib/Compress/Zlib.pm
index 47b255782c..7c712f6330 100644
--- a/ext/Compress/Zlib/lib/Compress/Zlib.pm
+++ b/ext/Compress/Zlib/lib/Compress/Zlib.pm
@@ -8,17 +8,17 @@ use Carp ;
use IO::Handle ;
use Scalar::Util qw(dualvar);
-use IO::Compress::Base::Common 2.012 ;
-use Compress::Raw::Zlib 2.012 ;
-use IO::Compress::Gzip 2.012 ;
-use IO::Uncompress::Gunzip 2.012 ;
+use IO::Compress::Base::Common 2.015 ;
+use Compress::Raw::Zlib 2.015 ;
+use IO::Compress::Gzip 2.015 ;
+use IO::Uncompress::Gunzip 2.015 ;
use strict ;
use warnings ;
use bytes ;
our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
-$VERSION = '2.012';
+$VERSION = '2.015';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -452,7 +452,7 @@ sub inflate
package Compress::Zlib ;
-use IO::Compress::Gzip::Constants 2.012 ;
+use IO::Compress::Gzip::Constants 2.015 ;
sub memGzip($)
{
diff --git a/ext/Compress/Zlib/private/MakeUtil.pm b/ext/Compress/Zlib/private/MakeUtil.pm
index 4c706e0117..e595910654 100644
--- a/ext/Compress/Zlib/private/MakeUtil.pm
+++ b/ext/Compress/Zlib/private/MakeUtil.pm
@@ -297,6 +297,83 @@ sub doUpDownViaCopy
}
}
+
+sub FindBrokenDependencies
+{
+ my $version = shift ;
+ my %thisModule = map { $_ => 1} @_;
+
+ my @modules = qw(
+ IO::Compress::Base
+ IO::Compress::Base::Common
+ IO::Uncompress::Base
+
+ Compress::Raw::Zlib
+ Compress::Raw::Bzip2
+
+ IO::Compress::RawDeflate
+ IO::Uncompress::RawInflate
+ IO::Compress::Deflate
+ IO::Uncompress::Inflate
+ IO::Compress::Gzip
+ IO::Compress::Gzip::Constants
+ IO::Uncompress::Gunzip
+ IO::Compress::Zip
+ IO::Uncompress::Unzip
+
+ IO::Compress::Bzip2
+ IO::Uncompress::Bunzip2
+
+ IO::Compress::Lzf
+ IO::Uncompress::UnLzf
+
+ IO::Compress::Lzop
+ IO::Uncompress::UnLzop
+
+ Compress::Zlib
+ );
+
+ my @broken = ();
+
+ foreach my $module ( grep { ! $thisModule{$_} } @modules)
+ {
+ my $hasVersion = getInstalledVersion($module);
+
+ # No need to upgrade if the module isn't installed at all
+ next
+ if ! defined $hasVersion;
+
+ # If already have C::Z version 1, then an upgrade to any of the
+ # IO::Compress modules will not break it.
+ next
+ if $module eq 'Compress::Zlib' && $hasVersion < 2;
+
+ if ($hasVersion < $version)
+ {
+ push @broken, $module
+ }
+ }
+
+ return @broken;
+}
+
+sub getInstalledVersion
+{
+ my $module = shift;
+ my $version;
+
+ eval " require $module; ";
+
+ if ($@ eq '')
+ {
+ no strict 'refs';
+ $version = ${ $module . "::VERSION" };
+ $version = 0
+ }
+
+ return $version;
+}
+
package MakeUtil ;
1;
diff --git a/ext/IO_Compress_Base/Changes b/ext/IO_Compress_Base/Changes
index 3330827b68..92142be4fb 100644
--- a/ext/IO_Compress_Base/Changes
+++ b/ext/IO_Compress_Base/Changes
@@ -1,6 +1,20 @@
CHANGES
-------
+ 2.015 3 September 2008
+
+ * Makefile.PL
+ Backout changes made in 2.014
+
+ 2.014 2 September 2008
+
+ * Makefile.PL
+ Updated to check for indirect dependencies.
+
+ 2.013 18 July 2008
+
+ * IO::Compress::Base
+ - Allow IO::Compress::Base::Parameters::parse to accept an IO::Compress::Base::Parameters object.
2.012 15 July 2008
diff --git a/ext/IO_Compress_Base/README b/ext/IO_Compress_Base/README
index 823165c007..0cfa8730de 100644
--- a/ext/IO_Compress_Base/README
+++ b/ext/IO_Compress_Base/README
@@ -1,9 +1,9 @@
IO-Compress-Base
- Version 2.012
+ Version 2.015
- 15th July 2008
+ 2nd September 2008
Copyright (c) 2005-2008 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it
@@ -76,7 +76,7 @@ To help me help you, I need all of the following information:
If you haven't installed IO-Compress-Base then search IO::Compress::Base.pm
for a line like this:
- $VERSION = "2.012" ;
+ $VERSION = "2.015" ;
2. If you are having problems building IO-Compress-Base, send me a
complete log of what happened. Start by unpacking the IO-Compress-Base
diff --git a/ext/IO_Compress_Base/lib/IO/Compress/Base.pm b/ext/IO_Compress_Base/lib/IO/Compress/Base.pm
index 384ca05470..484c0cfb77 100644
--- a/ext/IO_Compress_Base/lib/IO/Compress/Base.pm
+++ b/ext/IO_Compress_Base/lib/IO/Compress/Base.pm
@@ -6,7 +6,7 @@ require 5.004 ;
use strict ;
use warnings;
-use IO::Compress::Base::Common 2.012 ;
+use IO::Compress::Base::Common 2.015 ;
use IO::File ;
use Scalar::Util qw(blessed readonly);
@@ -20,7 +20,7 @@ use bytes;
our (@ISA, $VERSION);
@ISA = qw(Exporter IO::File);
-$VERSION = '2.012';
+$VERSION = '2.015';
#Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16.
diff --git a/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm b/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm
index 26750f7cd6..d35a4dff7d 100644
--- a/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm
+++ b/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm
@@ -11,7 +11,7 @@ use File::GlobMapper;
require Exporter;
our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE);
@ISA = qw(Exporter);
-$VERSION = '2.012';
+$VERSION = '2.015';
@EXPORT = qw( isaFilehandle isaFilename whatIsInput whatIsOutput
isaFileGlobString cleanFileGlobString oneTarget
@@ -485,7 +485,11 @@ sub ParseParameters
my $sub = (caller($level + 1))[3] ;
local $Carp::CarpLevel = 1 ;
- my $p = new IO::Compress::Base::Parameters() ;
+
+ return $_[1]
+ if @_ == 2 && defined $_[1] && UNIVERSAL::isa($_[1], "IO::Compress::Base::Parameters");
+
+ my $p = new IO::Compress::Base::Parameters() ;
$p->parse(@_)
or croak "$sub: $p->{Error}" ;
@@ -534,6 +538,7 @@ sub IO::Compress::Base::Parameters::parse
my $got = $self->{Got} ;
my $firstTime = keys %{ $got } == 0 ;
+ my $other;
my (@Bad) ;
my @entered = () ;
@@ -544,9 +549,7 @@ sub IO::Compress::Base::Parameters::parse
@entered = () ;
}
elsif (@_ == 1) {
- my $href = $_[0] ;
- return $_[0]
- if UNIVERSAL::isa($_[0], "IO::Compress::Base::Parameters");
+ my $href = $_[0] ;
return $self->setError("Expected even number of parameters, got 1")
if ! defined $href or ! ref $href or ref $href ne "HASH" ;
@@ -562,8 +565,13 @@ sub IO::Compress::Base::Parameters::parse
if $count % 2 != 0 ;
for my $i (0.. $count / 2 - 1) {
- push @entered, $_[2* $i] ;
- push @entered, \$_[2* $i+1] ;
+ if ($_[2 * $i] eq '__xxx__') {
+ $other = $_[2 * $i + 1] ;
+ }
+ else {
+ push @entered, $_[2 * $i] ;
+ push @entered, \$_[2 * $i + 1] ;
+ }
}
}
@@ -591,6 +599,24 @@ sub IO::Compress::Base::Parameters::parse
}
my %parsed = ();
+
+ if ($other)
+ {
+ for my $key (keys %$default)
+ {
+ my $canonkey = lc $key;
+ if ($other->parsed($canonkey))
+ {
+ my $value = $other->value($canonkey);
+#print "SET '$canonkey' to $value [$$value]\n";
+ ++ $parsed{$canonkey};
+ $got->{$canonkey}[OFF_PARSED] = 1;
+ $got->{$canonkey}[OFF_DEFAULT] = $value;
+ $got->{$canonkey}[OFF_FIXED] = $value;
+ }
+ }
+ }
+
for my $i (0.. @entered / 2 - 1) {
my $key = $entered[2* $i] ;
my $value = $entered[2* $i+1] ;
diff --git a/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm b/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm
index e61acc61d6..bdd28222f7 100644
--- a/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm
+++ b/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm
@@ -4,16 +4,16 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.012 qw(createSelfTiedObject);
+use IO::Compress::Base::Common 2.015 qw(createSelfTiedObject);
-use IO::Uncompress::Base 2.012 ;
+use IO::Uncompress::Base 2.015 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError);
-$VERSION = '2.012';
+$VERSION = '2.015';
$AnyUncompressError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -27,18 +27,18 @@ Exporter::export_ok_tags('all');
BEGIN
{
- eval ' use IO::Uncompress::Adapter::Inflate 2.012 ;';
- eval ' use IO::Uncompress::Adapter::Bunzip2 2.012 ;';
- eval ' use IO::Uncompress::Adapter::LZO 2.012 ;';
- eval ' use IO::Uncompress::Adapter::Lzf 2.012 ;';
-
- eval ' use IO::Uncompress::Bunzip2 2.012 ;';
- eval ' use IO::Uncompress::UnLzop 2.012 ;';
- eval ' use IO::Uncompress::Gunzip 2.012 ;';
- eval ' use IO::Uncompress::Inflate 2.012 ;';
- eval ' use IO::Uncompress::RawInflate 2.012 ;';
- eval ' use IO::Uncompress::Unzip 2.012 ;';
- eval ' use IO::Uncompress::UnLzf 2.012 ;';
+ eval ' use IO::Uncompress::Adapter::Inflate 2.015 ;';
+ eval ' use IO::Uncompress::Adapter::Bunzip2 2.015 ;';
+ eval ' use IO::Uncompress::Adapter::LZO 2.015 ;';
+ eval ' use IO::Uncompress::Adapter::Lzf 2.015 ;';
+
+ eval ' use IO::Uncompress::Bunzip2 2.015 ;';
+ eval ' use IO::Uncompress::UnLzop 2.015 ;';
+ eval ' use IO::Uncompress::Gunzip 2.015 ;';
+ eval ' use IO::Uncompress::Inflate 2.015 ;';
+ eval ' use IO::Uncompress::RawInflate 2.015 ;';
+ eval ' use IO::Uncompress::Unzip 2.015 ;';
+ eval ' use IO::Uncompress::UnLzf 2.015 ;';
}
sub new
@@ -56,7 +56,7 @@ sub anyuncompress
sub getExtraParams
{
- use IO::Compress::Base::Common 2.012 qw(:Parse);
+ use IO::Compress::Base::Common 2.015 qw(:Parse);
return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ;
}
diff --git a/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm b/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm
index bee5698d73..faeb8232ed 100644
--- a/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm
+++ b/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm
@@ -9,12 +9,12 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS);
@ISA = qw(Exporter IO::File);
-$VERSION = '2.012';
+$VERSION = '2.015';
use constant G_EOF => 0 ;
use constant G_ERR => -1 ;
-use IO::Compress::Base::Common 2.012 ;
+use IO::Compress::Base::Common 2.015 ;
#use Parse::Parameters ;
use IO::File ;
@@ -1453,3 +1453,4 @@ Copyright (c) 2005-2008 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
+
diff --git a/ext/IO_Compress_Base/private/MakeUtil.pm b/ext/IO_Compress_Base/private/MakeUtil.pm
index 4c706e0117..e595910654 100644
--- a/ext/IO_Compress_Base/private/MakeUtil.pm
+++ b/ext/IO_Compress_Base/private/MakeUtil.pm
@@ -297,6 +297,83 @@ sub doUpDownViaCopy
}
}
+
+sub FindBrokenDependencies
+{
+ my $version = shift ;
+ my %thisModule = map { $_ => 1} @_;
+
+ my @modules = qw(
+ IO::Compress::Base
+ IO::Compress::Base::Common
+ IO::Uncompress::Base
+
+ Compress::Raw::Zlib
+ Compress::Raw::Bzip2
+
+ IO::Compress::RawDeflate
+ IO::Uncompress::RawInflate
+ IO::Compress::Deflate
+ IO::Uncompress::Inflate
+ IO::Compress::Gzip
+ IO::Compress::Gzip::Constants
+ IO::Uncompress::Gunzip
+ IO::Compress::Zip
+ IO::Uncompress::Unzip
+
+ IO::Compress::Bzip2
+ IO::Uncompress::Bunzip2
+
+ IO::Compress::Lzf
+ IO::Uncompress::UnLzf
+
+ IO::Compress::Lzop
+ IO::Uncompress::UnLzop
+
+ Compress::Zlib
+ );
+
+ my @broken = ();
+
+ foreach my $module ( grep { ! $thisModule{$_} } @modules)
+ {
+ my $hasVersion = getInstalledVersion($module);
+
+ # No need to upgrade if the module isn't installed at all
+ next
+ if ! defined $hasVersion;
+
+ # If already have C::Z version 1, then an upgrade to any of the
+ # IO::Compress modules will not break it.
+ next
+ if $module eq 'Compress::Zlib' && $hasVersion < 2;
+
+ if ($hasVersion < $version)
+ {
+ push @broken, $module
+ }
+ }
+
+ return @broken;
+}
+
+sub getInstalledVersion
+{
+ my $module = shift;
+ my $version;
+
+ eval " require $module; ";
+
+ if ($@ eq '')
+ {
+ no strict 'refs';
+ $version = ${ $module . "::VERSION" };
+ $version = 0
+ }
+
+ return $version;
+}
+
package MakeUtil ;
1;
diff --git a/ext/IO_Compress_Base/t/01misc.t b/ext/IO_Compress_Base/t/01misc.t
index 3dda40a1f0..27706f6cfa 100644
--- a/ext/IO_Compress_Base/t/01misc.t
+++ b/ext/IO_Compress_Base/t/01misc.t
@@ -19,7 +19,7 @@ BEGIN {
$extra = 1
if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 };
- plan tests => 78 + $extra ;
+ plan tests => 88 + $extra ;
use_ok('Scalar::Util');
use_ok('IO::Compress::Base::Common');
@@ -95,13 +95,11 @@ sub My::testParseParameters()
my $got = ParseParameters(1, {'Fred' => [1, 1, 0x1000000, 0]}, Fred => 'abc') ;
is $got->value('Fred'), "abc", "other" ;
- $got = ParseParameters(1, {'Fred' => [0, 1, Parse_any, undef]}, Fred =>
-undef) ;
+ $got = ParseParameters(1, {'Fred' => [0, 1, Parse_any, undef]}, Fred => undef) ;
ok $got->parsed('Fred'), "undef" ;
ok ! defined $got->value('Fred'), "undef" ;
- $got = ParseParameters(1, {'Fred' => [0, 1, Parse_string, undef]}, Fred =>
-undef) ;
+ $got = ParseParameters(1, {'Fred' => [0, 1, Parse_string, undef]}, Fred => undef) ;
ok $got->parsed('Fred'), "undef" ;
is $got->value('Fred'), "", "empty string" ;
@@ -117,16 +115,41 @@ undef) ;
ok $got->parsed('Fred'), "parsed" ;
$xx_ref = $got->value('Fred');
+
$$xx_ref = 666 ;
is $xx, 666;
-# my $got1 = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, $got) ;
-# ok $got->parsed('Fred'), "parsed" ;
-# $xx_ref = $got->value('Fred');
-# $$xx_ref = 666 ;
-# is $xx, 666;
+ {
+ my $got1 = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, $got) ;
+ is $got1, $got, "Same object";
+
+ ok $got1->parsed('Fred'), "parsed" ;
+ $xx_ref = $got1->value('Fred');
+
+ $$xx_ref = 777 ;
+ is $xx, 777;
+ }
+
+ my $got2 = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, '__xxx__' => $got) ;
+ isnt $got2, $got, "not the Same object";
+
+ ok $got2->parsed('Fred'), "parsed" ;
+ $xx_ref = $got2->value('Fred');
+ $$xx_ref = 888 ;
+ is $xx, 888;
+
+ my $other;
+ my $got3 = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, '__xxx__' => $got, Fred => \$other) ;
+ isnt $got3, $got, "not the Same object";
+
+ ok $got3->parsed('Fred'), "parsed" ;
+ $xx_ref = $got3->value('Fred');
+ $$xx_ref = 999 ;
+ is $other, 999;
+ is $xx, 888;
}
+
My::testParseParameters();
diff --git a/ext/IO_Compress_Zlib/Changes b/ext/IO_Compress_Zlib/Changes
index 0e6ff5c183..dfcb3781b1 100644
--- a/ext/IO_Compress_Zlib/Changes
+++ b/ext/IO_Compress_Zlib/Changes
@@ -1,6 +1,16 @@
CHANGES
-------
+ 2.015 3 September 2008
+
+ * Makefile.PL
+ Backout changes made in 2.014
+
+ 2.014 2 September 2008
+
+ * Makefile.PL
+ Updated to check for indirect dependencies.
+
2.012 15 July 2008
* No Changes
diff --git a/ext/IO_Compress_Zlib/Makefile.PL b/ext/IO_Compress_Zlib/Makefile.PL
index 026c7b8f02..854b1d9898 100644
--- a/ext/IO_Compress_Zlib/Makefile.PL
+++ b/ext/IO_Compress_Zlib/Makefile.PL
@@ -3,7 +3,7 @@
use strict ;
require 5.004 ;
-$::VERSION = '2.012' ;
+$::VERSION = '2.015' ;
use private::MakeUtil;
use ExtUtils::MakeMaker 5.16 ;
diff --git a/ext/IO_Compress_Zlib/README b/ext/IO_Compress_Zlib/README
index b962502e35..a61d40a6c2 100644
--- a/ext/IO_Compress_Zlib/README
+++ b/ext/IO_Compress_Zlib/README
@@ -1,9 +1,9 @@
IO-Compress-Zlib
- Version 2.012
+ Version 2.015
- 15th July 2008
+ 2nd September 2008
Copyright (c) 2005-2008 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it
@@ -93,7 +93,7 @@ To help me help you, I need all of the following information:
If you haven't installed IO-Compress-Zlib then search IO::Compress::Gzip.pm
for a line like this:
- $VERSION = "2.012" ;
+ $VERSION = "2.015" ;
2. If you are having problems building IO-Compress-Zlib, send me a
complete log of what happened. Start by unpacking the IO-Compress-Zlib
diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm
index fa9e07358a..4425e3670d 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm
@@ -4,12 +4,12 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.012 qw(:Status);
+use IO::Compress::Base::Common 2.015 qw(:Status);
-use Compress::Raw::Zlib 2.012 qw(Z_OK Z_FINISH MAX_WBITS) ;
+use Compress::Raw::Zlib 2.015 qw(Z_OK Z_FINISH MAX_WBITS) ;
our ($VERSION);
-$VERSION = '2.012';
+$VERSION = '2.015';
sub mkCompObject
{
diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm
index c615797961..1b1998e120 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm
@@ -4,10 +4,10 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.012 qw(:Status);
+use IO::Compress::Base::Common 2.015 qw(:Status);
our ($VERSION);
-$VERSION = '2.012';
+$VERSION = '2.015';
sub mkCompObject
{
diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm
index 0c94e8f854..fae42bf3db 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm
@@ -6,16 +6,16 @@ use bytes;
require Exporter ;
-use IO::Compress::RawDeflate 2.012 ;
+use IO::Compress::RawDeflate 2.015 ;
-use Compress::Raw::Zlib 2.012 ;
-use IO::Compress::Zlib::Constants 2.012 ;
-use IO::Compress::Base::Common 2.012 qw(createSelfTiedObject);
+use Compress::Raw::Zlib 2.015 ;
+use IO::Compress::Zlib::Constants 2.015 ;
+use IO::Compress::Base::Common 2.015 qw(createSelfTiedObject);
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $DeflateError);
-$VERSION = '2.012';
+$VERSION = '2.015';
$DeflateError = '';
@ISA = qw(Exporter IO::Compress::RawDeflate);
diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm
index e7a54ead12..dfd41e3374 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm
@@ -8,12 +8,12 @@ use warnings;
use bytes;
-use IO::Compress::RawDeflate 2.012 ;
+use IO::Compress::RawDeflate 2.015 ;
-use Compress::Raw::Zlib 2.012 ;
-use IO::Compress::Base::Common 2.012 qw(:Status :Parse createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.012 ;
-use IO::Compress::Zlib::Extra 2.012 ;
+use Compress::Raw::Zlib 2.015 ;
+use IO::Compress::Base::Common 2.015 qw(:Status :Parse createSelfTiedObject);
+use IO::Compress::Gzip::Constants 2.015 ;
+use IO::Compress::Zlib::Extra 2.015 ;
BEGIN
{
@@ -27,7 +27,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GzipError);
-$VERSION = '2.012';
+$VERSION = '2.015';
$GzipError = '' ;
@ISA = qw(Exporter IO::Compress::RawDeflate);
diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm
index 1a2b35c796..ac38b97894 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);
our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE);
-$VERSION = '2.012';
+$VERSION = '2.015';
@ISA = qw(Exporter);
diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm
index 8f2e36f4e8..5540d4c34d 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm
@@ -7,16 +7,16 @@ use warnings;
use bytes;
-use IO::Compress::Base 2.012 ;
-use IO::Compress::Base::Common 2.012 qw(:Status createSelfTiedObject);
-use IO::Compress::Adapter::Deflate 2.012 ;
+use IO::Compress::Base 2.015 ;
+use IO::Compress::Base::Common 2.015 qw(:Status createSelfTiedObject);
+use IO::Compress::Adapter::Deflate 2.015 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError);
-$VERSION = '2.012';
+$VERSION = '2.015';
$RawDeflateError = '';
@ISA = qw(Exporter IO::Compress::Base);
@@ -142,8 +142,8 @@ sub getZlibParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.012 qw(:Parse);
- use Compress::Raw::Zlib 2.012 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+ use IO::Compress::Base::Common 2.015 qw(:Parse);
+ use Compress::Raw::Zlib 2.015 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
return (
diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm
index 6220d98c83..976ec484cb 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm
@@ -4,21 +4,21 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.012 qw(:Status createSelfTiedObject);
-use IO::Compress::RawDeflate 2.012 ;
-use IO::Compress::Adapter::Deflate 2.012 ;
-use IO::Compress::Adapter::Identity 2.012 ;
-use IO::Compress::Zlib::Extra 2.012 ;
-use IO::Compress::Zip::Constants 2.012 ;
+use IO::Compress::Base::Common 2.015 qw(:Status createSelfTiedObject);
+use IO::Compress::RawDeflate 2.015 ;
+use IO::Compress::Adapter::Deflate 2.015 ;
+use IO::Compress::Adapter::Identity 2.015 ;
+use IO::Compress::Zlib::Extra 2.015 ;
+use IO::Compress::Zip::Constants 2.015 ;
-use Compress::Raw::Zlib 2.012 qw(crc32) ;
+use Compress::Raw::Zlib 2.015 qw(crc32) ;
BEGIN
{
eval { require IO::Compress::Adapter::Bzip2 ;
- import IO::Compress::Adapter::Bzip2 2.012 ;
+ import IO::Compress::Adapter::Bzip2 2.015 ;
require IO::Compress::Bzip2 ;
- import IO::Compress::Bzip2 2.012 ;
+ import IO::Compress::Bzip2 2.015 ;
} ;
}
@@ -27,7 +27,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $ZipError);
-$VERSION = '2.012';
+$VERSION = '2.015';
$ZipError = '';
@ISA = qw(Exporter IO::Compress::RawDeflate);
@@ -452,8 +452,8 @@ sub getExtraParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.012 qw(:Parse);
- use Compress::Raw::Zlib 2.012 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+ use IO::Compress::Base::Common 2.015 qw(:Parse);
+ use Compress::Raw::Zlib 2.015 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
my @Bzip2 = ();
diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm
index 5455c37499..ead53978b8 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm
@@ -7,7 +7,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);
-$VERSION = '2.012';
+$VERSION = '2.015';
@ISA = qw(Exporter);
@@ -84,6 +84,7 @@ use constant ZIP_OS_CODE_DEFAULT => 3;
use constant ZIP_EXTRA_ID_ZIP64 => pack "v", 1;
use constant ZIP_EXTRA_ID_EXT_TIMESTAMP => "UT";
use constant ZIP_EXTRA_ID_INFO_ZIP_UNIX2 => "Ux";
+use constant ZIP_EXTRA_ID_INFO_ZIP_UNIXn => "ux";
use constant ZIP_EXTRA_ID_JAVA_EXE => pack "v", 0xCAFE;
use constant ZIP64_MIN_VERSION => 45;
diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm
index 5dbabcbfec..bf2eb22555 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT);
-$VERSION = '2.012';
+$VERSION = '2.015';
@ISA = qw(Exporter);
diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm
index e91824e8b7..1c02d18d9f 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm
@@ -8,9 +8,9 @@ use bytes;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = '2.012';
+$VERSION = '2.015';
-use IO::Compress::Gzip::Constants 2.012 ;
+use IO::Compress::Gzip::Constants 2.015 ;
sub ExtraFieldError
{
diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm
index 23859ebd70..ed96393f55 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm
@@ -4,13 +4,13 @@ use warnings;
use strict;
use bytes;
-use IO::Compress::Base::Common 2.012 qw(:Status);
+use IO::Compress::Base::Common 2.015 qw(:Status);
our ($VERSION);
-$VERSION = '2.012';
+$VERSION = '2.015';
-use Compress::Raw::Zlib 2.012 ();
+use Compress::Raw::Zlib 2.015 ();
sub mkUncompObject
{
diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm
index 23082541cd..d87b9f5e26 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm
@@ -4,11 +4,11 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.012 qw(:Status);
-use Compress::Raw::Zlib 2.012 qw(Z_OK Z_DATA_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
+use IO::Compress::Base::Common 2.015 qw(:Status);
+use Compress::Raw::Zlib 2.015 qw(Z_OK Z_DATA_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
our ($VERSION);
-$VERSION = '2.012';
+$VERSION = '2.015';
diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm
index 7cf8a5908b..f350f32238 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm
@@ -6,22 +6,22 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.012 qw(createSelfTiedObject);
+use IO::Compress::Base::Common 2.015 qw(createSelfTiedObject);
-use IO::Uncompress::Adapter::Inflate 2.012 ();
+use IO::Uncompress::Adapter::Inflate 2.015 ();
-use IO::Uncompress::Base 2.012 ;
-use IO::Uncompress::Gunzip 2.012 ;
-use IO::Uncompress::Inflate 2.012 ;
-use IO::Uncompress::RawInflate 2.012 ;
-use IO::Uncompress::Unzip 2.012 ;
+use IO::Uncompress::Base 2.015 ;
+use IO::Uncompress::Gunzip 2.015 ;
+use IO::Uncompress::Inflate 2.015 ;
+use IO::Uncompress::RawInflate 2.015 ;
+use IO::Uncompress::Unzip 2.015 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError);
-$VERSION = '2.012';
+$VERSION = '2.015';
$AnyInflateError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -48,7 +48,7 @@ sub anyinflate
sub getExtraParams
{
- use IO::Compress::Base::Common 2.012 qw(:Parse);
+ use IO::Compress::Base::Common 2.015 qw(:Parse);
return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ;
}
diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm
index b298594dd5..72dd5cff49 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm
@@ -9,12 +9,12 @@ use strict ;
use warnings;
use bytes;
-use IO::Uncompress::RawInflate 2.012 ;
+use IO::Uncompress::RawInflate 2.015 ;
-use Compress::Raw::Zlib 2.012 qw( crc32 ) ;
-use IO::Compress::Base::Common 2.012 qw(:Status createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.012 ;
-use IO::Compress::Zlib::Extra 2.012 ;
+use Compress::Raw::Zlib 2.015 qw( crc32 ) ;
+use IO::Compress::Base::Common 2.015 qw(:Status createSelfTiedObject);
+use IO::Compress::Gzip::Constants 2.015 ;
+use IO::Compress::Zlib::Extra 2.015 ;
require Exporter ;
@@ -28,7 +28,7 @@ Exporter::export_ok_tags('all');
$GunzipError = '';
-$VERSION = '2.012';
+$VERSION = '2.015';
sub new
{
@@ -47,7 +47,7 @@ sub gunzip
sub getExtraParams
{
- use IO::Compress::Base::Common 2.012 qw(:Parse);
+ use IO::Compress::Base::Common 2.015 qw(:Parse);
return ( 'ParseExtra' => [1, 1, Parse_boolean, 0] ) ;
}
diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm
index f369d29418..23fe2db209 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm
@@ -5,15 +5,15 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.012 qw(:Status createSelfTiedObject);
-use IO::Compress::Zlib::Constants 2.012 ;
+use IO::Compress::Base::Common 2.015 qw(:Status createSelfTiedObject);
+use IO::Compress::Zlib::Constants 2.015 ;
-use IO::Uncompress::RawInflate 2.012 ;
+use IO::Uncompress::RawInflate 2.015 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError);
-$VERSION = '2.012';
+$VERSION = '2.015';
$InflateError = '';
@ISA = qw( Exporter IO::Uncompress::RawInflate );
diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm
index 50c646c1b7..def05a885f 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm
@@ -5,11 +5,11 @@ use strict ;
use warnings;
use bytes;
-use Compress::Raw::Zlib 2.012 ;
-use IO::Compress::Base::Common 2.012 qw(:Status createSelfTiedObject);
+use Compress::Raw::Zlib 2.015 ;
+use IO::Compress::Base::Common 2.015 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Base 2.012 ;
-use IO::Uncompress::Adapter::Inflate 2.012 ;
+use IO::Uncompress::Base 2.015 ;
+use IO::Uncompress::Adapter::Inflate 2.015 ;
@@ -17,7 +17,7 @@ use IO::Uncompress::Adapter::Inflate 2.012 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError);
-$VERSION = '2.012';
+$VERSION = '2.015';
$RawInflateError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm
index 16be675a3f..6ba7644520 100644
--- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm
+++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm
@@ -8,14 +8,14 @@ use strict ;
use warnings;
use bytes;
-use IO::Uncompress::RawInflate 2.012 ;
-use IO::Compress::Base::Common 2.012 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Adapter::Inflate 2.012 ;
-use IO::Uncompress::Adapter::Identity 2.012 ;
-use IO::Compress::Zlib::Extra 2.012 ;
-use IO::Compress::Zip::Constants 2.012 ;
+use IO::Uncompress::RawInflate 2.015 ;
+use IO::Compress::Base::Common 2.015 qw(:Status createSelfTiedObject);
+use IO::Uncompress::Adapter::Inflate 2.015 ;
+use IO::Uncompress::Adapter::Identity 2.015 ;
+use IO::Compress::Zlib::Extra 2.015 ;
+use IO::Compress::Zip::Constants 2.015 ;
-use Compress::Raw::Zlib 2.012 qw(crc32) ;
+use Compress::Raw::Zlib 2.015 qw(crc32) ;
BEGIN
{
@@ -28,7 +28,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);
-$VERSION = '2.012';
+$VERSION = '2.015';
$UnzipError = '';
@ISA = qw(Exporter IO::Uncompress::RawInflate);
@@ -61,7 +61,7 @@ sub unzip
sub getExtraParams
{
- use IO::Compress::Base::Common 2.012 qw(:Parse);
+ use IO::Compress::Base::Common 2.015 qw(:Parse);
return (
diff --git a/ext/IO_Compress_Zlib/private/MakeUtil.pm b/ext/IO_Compress_Zlib/private/MakeUtil.pm
index 4c706e0117..e595910654 100644
--- a/ext/IO_Compress_Zlib/private/MakeUtil.pm
+++ b/ext/IO_Compress_Zlib/private/MakeUtil.pm
@@ -297,6 +297,83 @@ sub doUpDownViaCopy
}
}
+
+sub FindBrokenDependencies
+{
+ my $version = shift ;
+ my %thisModule = map { $_ => 1} @_;
+
+ my @modules = qw(
+ IO::Compress::Base
+ IO::Compress::Base::Common
+ IO::Uncompress::Base
+
+ Compress::Raw::Zlib
+ Compress::Raw::Bzip2
+
+ IO::Compress::RawDeflate
+ IO::Uncompress::RawInflate
+ IO::Compress::Deflate
+ IO::Uncompress::Inflate
+ IO::Compress::Gzip
+ IO::Compress::Gzip::Constants
+ IO::Uncompress::Gunzip
+ IO::Compress::Zip
+ IO::Uncompress::Unzip
+
+ IO::Compress::Bzip2
+ IO::Uncompress::Bunzip2
+
+ IO::Compress::Lzf
+ IO::Uncompress::UnLzf
+
+ IO::Compress::Lzop
+ IO::Uncompress::UnLzop
+
+ Compress::Zlib
+ );
+
+ my @broken = ();
+
+ foreach my $module ( grep { ! $thisModule{$_} } @modules)
+ {
+ my $hasVersion = getInstalledVersion($module);
+
+ # No need to upgrade if the module isn't installed at all
+ next
+ if ! defined $hasVersion;
+
+ # If already have C::Z version 1, then an upgrade to any of the
+ # IO::Compress modules will not break it.
+ next
+ if $module eq 'Compress::Zlib' && $hasVersion < 2;
+
+ if ($hasVersion < $version)
+ {
+ push @broken, $module
+ }
+ }
+
+ return @broken;
+}
+
+sub getInstalledVersion
+{
+ my $module = shift;
+ my $version;
+
+ eval " require $module; ";
+
+ if ($@ eq '')
+ {
+ no strict 'refs';
+ $version = ${ $module . "::VERSION" };
+ $version = 0
+ }
+
+ return $version;
+}
+
package MakeUtil ;
1;