Hello community,
here is the log from the commit of package perl-Archive-Zip for openSUSE:Factory checked in at 2015-07-02 22:44:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Archive-Zip (Old)
and /work/SRC/openSUSE:Factory/.perl-Archive-Zip.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Archive-Zip"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Archive-Zip/perl-Archive-Zip.changes 2015-04-16 14:11:59.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Archive-Zip.new/perl-Archive-Zip.changes 2015-07-02 22:44:28.000000000 +0200
@@ -1,0 +2,13 @@
+Sun Jun 21 08:16:04 UTC 2015 - coolo@suse.com
+
+- updated to 1.48
+ see /usr/share/doc/packages/perl-Archive-Zip/Changes
+
+ 1.48 Thu 18 Jun 2015
+ - Wrap skip in a SKIP: block [github/plicease]
+
+ 1.47 Wed 17 Jun 2015
+ - zip file with a deflated directory cannot be written out again [github/ntyni]
+ - add missing test data to MANIFEST
+
+-------------------------------------------------------------------
Old:
----
Archive-Zip-1.46.tar.gz
New:
----
Archive-Zip-1.48.tar.gz
cpanspec.yml
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Archive-Zip.spec ++++++
--- /var/tmp/diff_new_pack.1ttPAX/_old 2015-07-02 22:44:29.000000000 +0200
+++ /var/tmp/diff_new_pack.1ttPAX/_new 2015-07-02 22:44:29.000000000 +0200
@@ -17,14 +17,15 @@
Name: perl-Archive-Zip
-Version: 1.46
+Version: 1.48
Release: 0
%define cpan_name Archive-Zip
-Summary: Provide an interface to ZIP archive files.
+Summary: Provide an interface to ZIP archive files
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Archive-Zip/
-Source: http://www.cpan.org/authors/id/P/PH/PHRED/%{cpan_name}-%{version}.tar.gz
+Source0: http://www.cpan.org/authors/id/P/PH/PHRED/%{cpan_name}-%{version}.tar.gz
+Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
++++++ Archive-Zip-1.46.tar.gz -> Archive-Zip-1.48.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/Changes new/Archive-Zip-1.48/Changes
--- old/Archive-Zip-1.46/Changes 2015-03-25 06:16:44.000000000 +0100
+++ new/Archive-Zip-1.48/Changes 2015-06-18 23:12:33.000000000 +0200
@@ -1,5 +1,12 @@
Revision history for Perl extension Archive-Zip
+1.48 Thu 18 Jun 2015
+ - Wrap skip in a SKIP: block [github/plicease]
+
+1.47 Wed 17 Jun 2015
+ - zip file with a deflated directory cannot be written out again [github/ntyni]
+ - add missing test data to MANIFEST
+
1.46 Tue 24 Mar 2015
- "CRC or size mismatch" when extracting member second time [github/AGWA github/pwr22]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/MANIFEST new/Archive-Zip-1.48/MANIFEST
--- old/Archive-Zip-1.46/MANIFEST 2015-03-25 06:17:42.000000000 +0100
+++ new/Archive-Zip-1.48/MANIFEST 2015-06-18 23:12:53.000000000 +0200
@@ -52,14 +52,20 @@
t/17_101092.t
t/18_bug_92205.t
t/19_bug_101240.t
+t/20_bug_github11.t
+t/21_zip64.t
+t/22_deflated_dir.t
t/badjpeg/expected.jpg
t/badjpeg/source.zip
t/common.pm
+t/data/bad_github11.zip
t/data/chmod.zip
t/data/crypcomp.zip
t/data/crypt.zip
t/data/def.zip
t/data/defstr.zip
+t/data/good_github11.zip
+t/data/jar.zip
t/data/store.zip
t/data/storestr.zip
t/data/emptydef.zip
@@ -71,5 +77,6 @@
t/data/perl.zip
t/data/streamed.zip
t/data/winzip.zip
+t/data/zip64.zip
META.yml Module YAML meta-data (added by MakeMaker)
META.json Module JSON meta-data (added by MakeMaker)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/META.json new/Archive-Zip-1.48/META.json
--- old/Archive-Zip-1.46/META.json 2015-03-25 06:17:42.000000000 +0100
+++ new/Archive-Zip-1.48/META.json 2015-06-18 23:12:53.000000000 +0200
@@ -4,7 +4,7 @@
"Ned Konz "
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 6.6302, CPAN::Meta::Converter version 2.142690",
+ "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142690",
"license" : [
"perl_5"
],
@@ -53,5 +53,5 @@
"url" : "https://github.com/redhotpenguin/perl-Archive-Zip-svn"
}
},
- "version" : "1.46"
+ "version" : "1.48"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/META.yml new/Archive-Zip-1.48/META.yml
--- old/Archive-Zip-1.46/META.yml 2015-03-25 06:17:42.000000000 +0100
+++ new/Archive-Zip-1.48/META.yml 2015-06-18 23:12:53.000000000 +0200
@@ -7,7 +7,7 @@
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.6302, CPAN::Meta::Converter version 2.142690'
+generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142690'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -32,4 +32,4 @@
perl: '5.006'
resources:
repository: https://github.com/redhotpenguin/perl-Archive-Zip-svn
-version: '1.46'
+version: '1.48'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip/Archive.pm new/Archive-Zip-1.48/lib/Archive/Zip/Archive.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip/Archive.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip/Archive.pm 2015-06-18 23:12:25.000000000 +0200
@@ -13,7 +13,7 @@
use vars qw( $VERSION @ISA );
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
@ISA = qw( Archive::Zip );
if ($^O eq 'MSWin32') {
@@ -657,6 +657,15 @@
$zipfileCommentLength
) = unpack(END_OF_CENTRAL_DIRECTORY_FORMAT, $header);
+ if ($self->{'diskNumber'} == 0xFFFF ||
+ $self->{'diskNumberWithStartOfCentralDirectory'} == 0xFFFF ||
+ $self->{'numberOfCentralDirectoriesOnThisDisk'} == 0xFFFF ||
+ $self->{'numberOfCentralDirectories'} == 0xFFFF ||
+ $self->{'centralDirectorySize'} == 0xFFFFFFFF ||
+ $self->{'centralDirectoryOffsetWRTStartingDiskNumber'} == 0xFFFFFFFF) {
+ return _formatError("zip64 not supported");
+ }
+
if ($zipfileCommentLength) {
my $zipfileComment = '';
$bytesRead = $fh->read($zipfileComment, $zipfileCommentLength);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip/BufferedFileHandle.pm new/Archive-Zip-1.48/lib/Archive/Zip/BufferedFileHandle.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip/BufferedFileHandle.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip/BufferedFileHandle.pm 2015-06-18 23:12:25.000000000 +0200
@@ -13,7 +13,7 @@
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
$VERSION = eval $VERSION;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip/DirectoryMember.pm new/Archive-Zip-1.48/lib/Archive/Zip/DirectoryMember.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip/DirectoryMember.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip/DirectoryMember.pm 2015-06-18 23:12:25.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw( $VERSION @ISA );
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
@ISA = qw( Archive::Zip::Member );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip/FileMember.pm new/Archive-Zip-1.48/lib/Archive/Zip/FileMember.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip/FileMember.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip/FileMember.pm 2015-06-18 23:12:25.000000000 +0200
@@ -4,7 +4,7 @@
use vars qw( $VERSION @ISA );
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
@ISA = qw ( Archive::Zip::Member );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip/Member.pm new/Archive-Zip-1.48/lib/Archive/Zip/Member.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip/Member.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip/Member.pm 2015-06-18 23:12:25.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw( $VERSION @ISA );
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
@ISA = qw( Archive::Zip );
if ($^O eq 'MSWin32') {
@@ -1086,6 +1086,7 @@
my ($outRef, $status) = $self->readChunk($chunkSize);
symlink $$outRef, $self->{'newName'};
} else {
+ return AZ_OK if ($self->uncompressedSize() == 0);
my $status;
my $chunkSize = $Archive::Zip::ChunkSize;
while ($self->_readDataRemaining() > 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip/MemberRead.pm new/Archive-Zip-1.48/lib/Archive/Zip/MemberRead.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip/MemberRead.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip/MemberRead.pm 2015-06-18 23:12:25.000000000 +0200
@@ -40,7 +40,7 @@
my $nl;
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
$VERSION = eval $VERSION;
# Requirement for newline conversion. Should check for e.g., DOS and OS/2 as well, but am too lazy.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip/MockFileHandle.pm new/Archive-Zip-1.48/lib/Archive/Zip/MockFileHandle.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip/MockFileHandle.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip/MockFileHandle.pm 2015-06-18 23:12:25.000000000 +0200
@@ -10,7 +10,7 @@
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
$VERSION = eval $VERSION;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip/NewFileMember.pm new/Archive-Zip-1.48/lib/Archive/Zip/NewFileMember.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip/NewFileMember.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip/NewFileMember.pm 2015-06-18 23:12:25.000000000 +0200
@@ -4,7 +4,7 @@
use vars qw( $VERSION @ISA );
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
@ISA = qw ( Archive::Zip::FileMember );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip/StringMember.pm new/Archive-Zip-1.48/lib/Archive/Zip/StringMember.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip/StringMember.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip/StringMember.pm 2015-06-18 23:12:25.000000000 +0200
@@ -4,7 +4,7 @@
use vars qw( $VERSION @ISA );
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
@ISA = qw( Archive::Zip::Member );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip/Tree.pm new/Archive-Zip-1.48/lib/Archive/Zip/Tree.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip/Tree.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip/Tree.pm 2015-06-18 23:12:25.000000000 +0200
@@ -4,7 +4,7 @@
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
}
use Archive::Zip;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip/ZipFileMember.pm new/Archive-Zip-1.48/lib/Archive/Zip/ZipFileMember.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip/ZipFileMember.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip/ZipFileMember.pm 2015-06-18 23:12:25.000000000 +0200
@@ -4,7 +4,7 @@
use vars qw( $VERSION @ISA );
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
@ISA = qw ( Archive::Zip::FileMember );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/lib/Archive/Zip.pm new/Archive-Zip-1.48/lib/Archive/Zip.pm
--- old/Archive-Zip-1.46/lib/Archive/Zip.pm 2015-03-25 06:17:24.000000000 +0100
+++ new/Archive-Zip-1.48/lib/Archive/Zip.pm 2015-06-18 23:12:25.000000000 +0200
@@ -14,7 +14,7 @@
use vars qw( $VERSION @ISA );
BEGIN {
- $VERSION = '1.46';
+ $VERSION = '1.48';
require Exporter;
@ISA = qw( Exporter );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/t/20_bug_github11.t new/Archive-Zip-1.48/t/20_bug_github11.t
--- old/Archive-Zip-1.46/t/20_bug_github11.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Archive-Zip-1.48/t/20_bug_github11.t 2015-06-18 23:10:58.000000000 +0200
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+# Github 11: "CRC or size mismatch" when extracting member second time
+# Test for correct functionality to prevent regression
+
+use strict;
+use warnings;
+
+use Archive::Zip qw( :ERROR_CODES );
+use File::Spec;
+use File::Path;
+use t::common;
+
+use Test::More tests => 2;
+
+# create test env
+my $GH_ISSUE = 'github11';
+my $TEST_NAME = "20_bug_$GH_ISSUE";
+my $TEST_DIR = File::Spec->catdir(TESTDIR, $TEST_NAME);
+mkpath($TEST_DIR);
+
+# test 1
+my $DATA_DIR = File::Spec->catfile('t', 'data');
+my $GOOD_ZIP_FILE = File::Spec->catfile($DATA_DIR, "good_${GH_ISSUE}.zip");
+my $GOOD_ZIP = Archive::Zip->new($GOOD_ZIP_FILE);
+my $MEMBER_FILE = 'FILE';
+my $member = $GOOD_ZIP->memberNamed($MEMBER_FILE);
+my $OUT_FILE = File::Spec->catfile($TEST_DIR, "out");
+# Extracting twice triggered the bug
+$member->extractToFileNamed($OUT_FILE);
+is($member->extractToFileNamed($OUT_FILE), AZ_OK, 'Testing known good zip');
+
+# test 2
+my $BAD_ZIP_FILE = File::Spec->catfile($DATA_DIR, "bad_${GH_ISSUE}.zip");
+my $BAD_ZIP = Archive::Zip->new($BAD_ZIP_FILE);
+$member = $BAD_ZIP->memberNamed($MEMBER_FILE);
+# Extracting twice triggered the bug
+$member->extractToFileNamed($OUT_FILE);
+is($member->extractToFileNamed($OUT_FILE), AZ_OK, 'Testing known bad zip');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/t/21_zip64.t new/Archive-Zip-1.48/t/21_zip64.t
--- old/Archive-Zip-1.46/t/21_zip64.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Archive-Zip-1.48/t/21_zip64.t 2015-06-18 23:10:58.000000000 +0200
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+# Test to make sure zip64 files are properly detected
+
+use strict;
+use warnings;
+
+use Archive::Zip qw( :ERROR_CODES );
+use File::Spec;
+use t::common;
+
+use Test::More tests => 1;
+
+my $DATA_DIR = File::Spec->catfile('t', 'data');
+my $ZIP_FILE = File::Spec->catfile($DATA_DIR, "zip64.zip");
+
+my @errors = ();
+$Archive::Zip::ErrorHandler = sub { push @errors, @_ };
+eval { Archive::Zip->new($ZIP_FILE) };
+ok($errors[0] =~ /zip64 not supported/, 'Got expected zip64 error');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.46/t/22_deflated_dir.t new/Archive-Zip-1.48/t/22_deflated_dir.t
--- old/Archive-Zip-1.46/t/22_deflated_dir.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Archive-Zip-1.48/t/22_deflated_dir.t 2015-06-18 23:10:58.000000000 +0200
@@ -0,0 +1,25 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Archive::Zip qw( :ERROR_CODES );
+use File::Spec;
+use t::common;
+
+use Test::More tests => 4;
+
+my $zip = Archive::Zip->new();
+isa_ok( $zip, 'Archive::Zip' );
+is( $zip->read(File::Spec->catfile('t', 'data', 'jar.zip')), AZ_OK, 'Read file' );
+
+my $ret = eval { $zip->writeToFileNamed(OUTPUTZIP) };
+
+is($ret, AZ_OK, 'Wrote file');
+
+my ($status, $zipout) = testZip();
+# STDERR->print("status= $status, out=$zipout\n");
+SKIP: {
+ skip( "test zip doesn't work", 1 ) if $testZipDoesntWork;
+ is( $status, 0, "output zip isn't corrupted" );
+}
Files old/Archive-Zip-1.46/t/data/bad_github11.zip and new/Archive-Zip-1.48/t/data/bad_github11.zip differ
Files old/Archive-Zip-1.46/t/data/good_github11.zip and new/Archive-Zip-1.48/t/data/good_github11.zip differ
Files old/Archive-Zip-1.46/t/data/jar.zip and new/Archive-Zip-1.48/t/data/jar.zip differ
Files old/Archive-Zip-1.46/t/data/zip64.zip and new/Archive-Zip-1.48/t/data/zip64.zip differ
++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
# - source1
# - source2
#patches:
# foo.patch: -p1
# bar.patch:
#preamble: |-
# BuildRequires: gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module