Change 34425 by [EMAIL PROTECTED] on 2008/09/26 16:43:21

        Upgrade Compression modules to 2.015

Affected files ...

... //depot/perl/ext/Compress/Raw/Zlib/Changes#14 edit
... //depot/perl/ext/Compress/Raw/Zlib/README#18 edit
... //depot/perl/ext/Compress/Raw/Zlib/Zlib.xs#12 edit
... //depot/perl/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm#19 edit
... //depot/perl/ext/Compress/Raw/Zlib/private/MakeUtil.pm#5 edit
... //depot/perl/ext/Compress/Zlib/Changes#26 edit
... //depot/perl/ext/Compress/Zlib/Makefile.PL#29 edit
... //depot/perl/ext/Compress/Zlib/README#27 edit
... //depot/perl/ext/Compress/Zlib/lib/Compress/Zlib.pm#20 edit
... //depot/perl/ext/Compress/Zlib/private/MakeUtil.pm#5 edit
... //depot/perl/ext/IO_Compress_Base/Changes#9 edit
... //depot/perl/ext/IO_Compress_Base/README#9 edit
... //depot/perl/ext/IO_Compress_Base/lib/IO/Compress/Base.pm#9 edit
... //depot/perl/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm#9 edit
... //depot/perl/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm#9 edit
... //depot/perl/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm#9 edit
... //depot/perl/ext/IO_Compress_Base/private/MakeUtil.pm#4 edit
... //depot/perl/ext/IO_Compress_Base/t/01misc.t#4 edit
... //depot/perl/ext/IO_Compress_Zlib/Changes#9 edit
... //depot/perl/ext/IO_Compress_Zlib/Makefile.PL#9 edit
... //depot/perl/ext/IO_Compress_Zlib/README#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm#10 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm#9 
edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm#9 
edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm#9 edit
... //depot/perl/ext/IO_Compress_Zlib/private/MakeUtil.pm#4 edit

Differences ...

==== //depot/perl/ext/Compress/Raw/Zlib/Changes#14 (text) ====
Index: perl/ext/Compress/Raw/Zlib/Changes
--- perl/ext/Compress/Raw/Zlib/Changes#13~34145~        2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/Compress/Raw/Zlib/Changes  2008-09-26 09:43:21.000000000 -0700
@@ -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.

==== //depot/perl/ext/Compress/Raw/Zlib/README#18 (text) ====
Index: perl/ext/Compress/Raw/Zlib/README
--- perl/ext/Compress/Raw/Zlib/README#17~34145~ 2008-07-16 01:00:23.000000000 
-0700
+++ perl/ext/Compress/Raw/Zlib/README   2008-09-26 09:43:21.000000000 -0700
@@ -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 @@
         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

==== //depot/perl/ext/Compress/Raw/Zlib/Zlib.xs#12 (text) ====
Index: perl/ext/Compress/Raw/Zlib/Zlib.xs
--- perl/ext/Compress/Raw/Zlib/Zlib.xs#11~34145~        2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/Compress/Raw/Zlib/Zlib.xs  2008-09-26 09:43:21.000000000 -0700
@@ -112,6 +112,7 @@
 #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 @@
         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 @@
 
         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 @@
                 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 @@
                                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)

==== //depot/perl/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm#19 (text) ====
Index: perl/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm
--- perl/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm#18~34145~       
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm 2008-09-26 
09:43:21.000000000 -0700
@@ -13,7 +13,7 @@
 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_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 @@
     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 @@
     $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()

==== //depot/perl/ext/Compress/Raw/Zlib/private/MakeUtil.pm#5 (text) ====
Index: perl/ext/Compress/Raw/Zlib/private/MakeUtil.pm
--- perl/ext/Compress/Raw/Zlib/private/MakeUtil.pm#4~34145~     2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/Compress/Raw/Zlib/private/MakeUtil.pm      2008-09-26 
09:43:21.000000000 -0700
@@ -297,6 +297,83 @@
     }
 }
 
+
+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;

==== //depot/perl/ext/Compress/Zlib/Changes#26 (text) ====
Index: perl/ext/Compress/Zlib/Changes
--- perl/ext/Compress/Zlib/Changes#25~34145~    2008-07-16 01:00:23.000000000 
-0700
+++ perl/ext/Compress/Zlib/Changes      2008-09-26 09:43:21.000000000 -0700
@@ -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

==== //depot/perl/ext/Compress/Zlib/Makefile.PL#29 (xtext) ====
Index: perl/ext/Compress/Zlib/Makefile.PL
--- perl/ext/Compress/Zlib/Makefile.PL#28~34145~        2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/Compress/Zlib/Makefile.PL  2008-09-26 09:43:21.000000000 -0700
@@ -3,7 +3,7 @@
 use strict ;
 require 5.004 ;
 
-$::VERSION = '2.012' ;
+$::VERSION = '2.015' ;
 
 use private::MakeUtil;
 use ExtUtils::MakeMaker 5.16 ;

==== //depot/perl/ext/Compress/Zlib/README#27 (text) ====
Index: perl/ext/Compress/Zlib/README
--- perl/ext/Compress/Zlib/README#26~34145~     2008-07-16 01:00:23.000000000 
-0700
+++ perl/ext/Compress/Zlib/README       2008-09-26 09:43:21.000000000 -0700
@@ -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 @@
         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

==== //depot/perl/ext/Compress/Zlib/lib/Compress/Zlib.pm#20 (text) ====
Index: perl/ext/Compress/Zlib/lib/Compress/Zlib.pm
--- perl/ext/Compress/Zlib/lib/Compress/Zlib.pm#19~34145~       2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/Compress/Zlib/lib/Compress/Zlib.pm 2008-09-26 09:43:21.000000000 
-0700
@@ -8,17 +8,17 @@
 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 @@
 
 package Compress::Zlib ;
 
-use IO::Compress::Gzip::Constants 2.012 ;
+use IO::Compress::Gzip::Constants 2.015 ;
 
 sub memGzip($)
 {

==== //depot/perl/ext/Compress/Zlib/private/MakeUtil.pm#5 (text) ====
Index: perl/ext/Compress/Zlib/private/MakeUtil.pm
--- perl/ext/Compress/Zlib/private/MakeUtil.pm#4~34145~ 2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/Compress/Zlib/private/MakeUtil.pm  2008-09-26 09:43:21.000000000 
-0700
@@ -297,6 +297,83 @@
     }
 }
 
+
+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;

==== //depot/perl/ext/IO_Compress_Base/Changes#9 (text) ====
Index: perl/ext/IO_Compress_Base/Changes
--- perl/ext/IO_Compress_Base/Changes#8~34145~  2008-07-16 01:00:23.000000000 
-0700
+++ perl/ext/IO_Compress_Base/Changes   2008-09-26 09:43:21.000000000 -0700
@@ -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
 

==== //depot/perl/ext/IO_Compress_Base/README#9 (text) ====
Index: perl/ext/IO_Compress_Base/README
--- perl/ext/IO_Compress_Base/README#8~34145~   2008-07-16 01:00:23.000000000 
-0700
+++ perl/ext/IO_Compress_Base/README    2008-09-26 09:43:21.000000000 -0700
@@ -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 @@
         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

==== //depot/perl/ext/IO_Compress_Base/lib/IO/Compress/Base.pm#9 (text) ====
Index: perl/ext/IO_Compress_Base/lib/IO/Compress/Base.pm
--- perl/ext/IO_Compress_Base/lib/IO/Compress/Base.pm#8~34145~  2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Base/lib/IO/Compress/Base.pm   2008-09-26 
09:43:21.000000000 -0700
@@ -6,7 +6,7 @@
 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 @@
 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.
 

==== //depot/perl/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm#9 (text) 
====
Index: perl/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm
--- perl/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm#8~34145~   
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm    2008-09-26 
09:43:21.000000000 -0700
@@ -11,7 +11,7 @@
 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 @@
 
     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 @@
 
     my $got = $self->{Got} ;
     my $firstTime = keys %{ $got } == 0 ;
+    my $other;
 
     my (@Bad) ;
     my @entered = () ;
@@ -544,9 +549,7 @@
         @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 @@
             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 @@
     }
 
     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] ;

==== //depot/perl/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm#9 
(text) ====
Index: perl/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm
--- perl/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm#8~34145~       
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm        
2008-09-26 09:43:21.000000000 -0700
@@ -4,16 +4,16 @@
 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 @@
 
 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 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] ) ;
 }
 

==== //depot/perl/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm#9 (text) ====
Index: perl/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm
--- perl/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm#8~34145~        
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm 2008-09-26 
09:43:21.000000000 -0700
@@ -9,12 +9,12 @@
 @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 @@
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
 
+

==== //depot/perl/ext/IO_Compress_Base/private/MakeUtil.pm#4 (text) ====
Index: perl/ext/IO_Compress_Base/private/MakeUtil.pm
--- perl/ext/IO_Compress_Base/private/MakeUtil.pm#3~34145~      2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Base/private/MakeUtil.pm       2008-09-26 
09:43:21.000000000 -0700
@@ -297,6 +297,83 @@
     }
 }
 
+
+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;

==== //depot/perl/ext/IO_Compress_Base/t/01misc.t#4 (text) ====
Index: perl/ext/IO_Compress_Base/t/01misc.t
--- perl/ext/IO_Compress_Base/t/01misc.t#3~33816~       2008-05-10 
13:04:34.000000000 -0700
+++ perl/ext/IO_Compress_Base/t/01misc.t        2008-09-26 09:43:21.000000000 
-0700
@@ -19,7 +19,7 @@
     $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 @@
     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 @@
 
     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();
 
 

==== //depot/perl/ext/IO_Compress_Zlib/Changes#9 (text) ====
Index: perl/ext/IO_Compress_Zlib/Changes
--- perl/ext/IO_Compress_Zlib/Changes#8~34145~  2008-07-16 01:00:23.000000000 
-0700
+++ perl/ext/IO_Compress_Zlib/Changes   2008-09-26 09:43:21.000000000 -0700
@@ -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

==== //depot/perl/ext/IO_Compress_Zlib/Makefile.PL#9 (text) ====
Index: perl/ext/IO_Compress_Zlib/Makefile.PL
--- perl/ext/IO_Compress_Zlib/Makefile.PL#8~34145~      2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/Makefile.PL       2008-09-26 09:43:21.000000000 
-0700
@@ -3,7 +3,7 @@
 use strict ;
 require 5.004 ;
 
-$::VERSION = '2.012' ;
+$::VERSION = '2.015' ;
 
 use private::MakeUtil;
 use ExtUtils::MakeMaker 5.16 ;

==== //depot/perl/ext/IO_Compress_Zlib/README#9 (text) ====
Index: perl/ext/IO_Compress_Zlib/README
--- perl/ext/IO_Compress_Zlib/README#8~34145~   2008-07-16 01:00:23.000000000 
-0700
+++ perl/ext/IO_Compress_Zlib/README    2008-09-26 09:43:21.000000000 -0700
@@ -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 @@
         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

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm#9 
(text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm#8~34145~       
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm        
2008-09-26 09:43:21.000000000 -0700
@@ -4,12 +4,12 @@
 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
 {

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm#9 
(text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm#8~34145~      
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm       
2008-09-26 09:43:21.000000000 -0700
@@ -4,10 +4,10 @@
 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
 {

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm#9 (text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm#8~34145~       
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm        2008-09-26 
09:43:21.000000000 -0700
@@ -6,16 +6,16 @@
 
 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);

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm#9 (text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm#8~34145~  2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm   2008-09-26 
09:43:21.000000000 -0700
@@ -8,12 +8,12 @@
 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 @@
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GzipError);
 
-$VERSION = '2.012';
+$VERSION = '2.015';
 $GzipError = '' ;
 
 @ISA    = qw(Exporter IO::Compress::RawDeflate);

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm#10 
(text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm#9~34145~        
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm 2008-09-26 
09:43:21.000000000 -0700
@@ -9,7 +9,7 @@
 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);
 

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm#9 (text) 
====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm#8~34145~    
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm     2008-09-26 
09:43:21.000000000 -0700
@@ -7,16 +7,16 @@
 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 @@
 {
     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 (

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm#9 (text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm#8~34145~   2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm    2008-09-26 
09:43:21.000000000 -0700
@@ -4,21 +4,21 @@
 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 @@
 
 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 @@
 {
     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 = ();
     

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm#9 
(text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm#8~34145~ 
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm  2008-09-26 
09:43:21.000000000 -0700
@@ -7,7 +7,7 @@
 
 our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);
 
-$VERSION = '2.012';
+$VERSION = '2.015';
 
 @ISA = qw(Exporter);
 
@@ -84,6 +84,7 @@
 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;

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm#9 
(text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm#8~34145~        
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm 2008-09-26 
09:43:21.000000000 -0700
@@ -9,7 +9,7 @@
 
 our ($VERSION, @ISA, @EXPORT);
 
-$VERSION = '2.012';
+$VERSION = '2.015';
 
 @ISA = qw(Exporter);
 

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm#9 (text) 
====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm#8~34145~    
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm     2008-09-26 
09:43:21.000000000 -0700
@@ -8,9 +8,9 @@
 
 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
 {

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm#9 
(text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm#8~34145~    
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm     
2008-09-26 09:43:21.000000000 -0700
@@ -4,13 +4,13 @@
 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
 {

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm#9 
(text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm#8~34145~     
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm      
2008-09-26 09:43:21.000000000 -0700
@@ -4,11 +4,11 @@
 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';
 
 
 

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm#9 (text) 
====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm#8~34145~  
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm   2008-09-26 
09:43:21.000000000 -0700
@@ -6,22 +6,22 @@
 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 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] ) ;
 }
 

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm#9 (text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm#8~34145~      
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm       2008-09-26 
09:43:21.000000000 -0700
@@ -9,12 +9,12 @@
 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 @@
 
 $GunzipError = '';
 
-$VERSION = '2.012';
+$VERSION = '2.015';
 
 sub new
 {
@@ -47,7 +47,7 @@
 
 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] ) ;
 }
 

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm#9 (text) 
====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm#8~34145~     
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm      2008-09-26 
09:43:21.000000000 -0700
@@ -5,15 +5,15 @@
 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 );

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm#9 (text) 
====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm#8~34145~  
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm   2008-09-26 
09:43:21.000000000 -0700
@@ -5,11 +5,11 @@
 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 @@
 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 );

==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm#9 (text) ====
Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm
--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm#8~34145~       
2008-07-16 01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm        2008-09-26 
09:43:21.000000000 -0700
@@ -8,14 +8,14 @@
 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 @@
 
 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 getExtraParams
 {
-    use IO::Compress::Base::Common  2.012 qw(:Parse);
+    use IO::Compress::Base::Common  2.015 qw(:Parse);
 
     
     return (

==== //depot/perl/ext/IO_Compress_Zlib/private/MakeUtil.pm#4 (text) ====
Index: perl/ext/IO_Compress_Zlib/private/MakeUtil.pm
--- perl/ext/IO_Compress_Zlib/private/MakeUtil.pm#3~34145~      2008-07-16 
01:00:23.000000000 -0700
+++ perl/ext/IO_Compress_Zlib/private/MakeUtil.pm       2008-09-26 
09:43:21.000000000 -0700
@@ -297,6 +297,83 @@
     }
 }
 
+
+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;
End of Patch.

Reply via email to