Hello community, here is the log from the commit of package perl-Archive-Zip for openSUSE:Factory checked in at 2016-01-04 09:19:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-12-13 09:36:31.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Archive-Zip.new/perl-Archive-Zip.changes 2016-01-04 09:20:15.000000000 +0100 @@ -1,0 +2,13 @@ +Sat Dec 26 09:29:20 UTC 2015 - coolo@suse.com + +- updated to 1.56 + see /usr/share/doc/packages/perl-Archive-Zip/Changes + + 1.56 Thu 17 Dec 2015 + - fix $Archive::Zip::UNICODE issues [github/xlat] + - on MSWin32 in methods addFile, addDirectory, addTree: the externalFileName was + used in place of newName + - make sure that file names are utf8 in memberNames + - use Encode on all platform + +------------------------------------------------------------------- Old: ---- Archive-Zip-1.55.tar.gz New: ---- Archive-Zip-1.56.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Archive-Zip.spec ++++++ --- /var/tmp/diff_new_pack.RtTAKT/_old 2016-01-04 09:20:16.000000000 +0100 +++ /var/tmp/diff_new_pack.RtTAKT/_new 2016-01-04 09:20:16.000000000 +0100 @@ -17,7 +17,7 @@ Name: perl-Archive-Zip -Version: 1.55 +Version: 1.56 Release: 0 %define cpan_name Archive-Zip Summary: Provide an interface to ZIP archive files @@ -59,7 +59,7 @@ %prep %setup -q -n %{cpan_name}-%{version} -find . -type f -print0 | xargs -0 chmod 644 +find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644 %build %{__perl} Makefile.PL INSTALLDIRS=vendor ++++++ Archive-Zip-1.55.tar.gz -> Archive-Zip-1.56.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/Changes new/Archive-Zip-1.56/Changes --- old/Archive-Zip-1.55/Changes 2015-12-04 20:24:44.000000000 +0100 +++ new/Archive-Zip-1.56/Changes 2015-12-17 19:25:05.000000000 +0100 @@ -1,8 +1,15 @@ Revision history for Perl extension Archive-Zip +1.56 Thu 17 Dec 2015 + - fix $Archive::Zip::UNICODE issues [github/xlat] + - on MSWin32 in methods addFile, addDirectory, addTree: the externalFileName was + used in place of newName + - make sure that file names are utf8 in memberNames + - use Encode on all platform + 1.55 Fri 04 Dec 2015 - rt.cpan.org #110064 - fix empty archive issue with OS X gnu tar - + 1.54 Wed 02 Dec 2015 - Ensure filehandles created by Archive::Zip::tempFile are closed [github/antoniomonty] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/META.json new/Archive-Zip-1.56/META.json --- old/Archive-Zip-1.55/META.json 2015-12-04 20:34:49.000000000 +0100 +++ new/Archive-Zip-1.56/META.json 2015-12-17 19:25:47.000000000 +0100 @@ -54,5 +54,5 @@ "url" : "https://github.com/redhotpenguin/perl-Archive-Zip-svn" } }, - "version" : "1.55" + "version" : "1.56" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/META.yml new/Archive-Zip-1.56/META.yml --- old/Archive-Zip-1.55/META.yml 2015-12-04 20:34:49.000000000 +0100 +++ new/Archive-Zip-1.56/META.yml 2015-12-17 19:25:47.000000000 +0100 @@ -33,4 +33,4 @@ perl: '5.006' resources: repository: https://github.com/redhotpenguin/perl-Archive-Zip-svn -version: '1.55' +version: '1.56' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/lib/Archive/Zip/Archive.pm new/Archive-Zip-1.56/lib/Archive/Zip/Archive.pm --- old/Archive-Zip-1.55/lib/Archive/Zip/Archive.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip/Archive.pm 2015-12-16 18:53:13.000000000 +0100 @@ -9,18 +9,13 @@ use File::Copy (); use File::Basename; use Cwd; +use Encode qw(encode_utf8 decode_utf8); use vars qw( $VERSION @ISA ); BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; @ISA = qw( Archive::Zip ); - - if ($^O eq 'MSWin32') { - require Win32; - require Encode; - Encode->import(qw{ encode_utf8 decode_utf8 }); - } } use Archive::Zip qw( @@ -234,6 +229,10 @@ my $self = shift; my $newMember = (ref($_[0]) eq 'HASH') ? shift->{member} : shift; push(@{$self->{'members'}}, $newMember) if $newMember; + if($newMember && ($newMember->{bitFlag} & 0x800) + && !utf8::is_utf8($newMember->{fileName})){ + $newMember->{fileName} = Encode::decode_utf8( $newMember->{fileName} ); + } return $newMember; } @@ -265,10 +264,7 @@ } else { $self->addMember($newMember); } - if ($^O eq 'MSWin32' && $Archive::Zip::UNICODE) { - $newMember->{'fileName'} = - encode_utf8(Win32::GetLongPathName($fileName)); - } + return $newMember; } @@ -317,9 +313,7 @@ } else { $self->addMember($newMember); } - if ($^O eq 'MSWin32' && $Archive::Zip::UNICODE) { - $newMember->{'fileName'} = encode_utf8(Win32::GetLongPathName($name)); - } + return $newMember; } @@ -624,6 +618,11 @@ $status = $newMember->endRead(); return $status if $status != AZ_OK; $newMember->_becomeDirectoryIfNecessary(); + + if(($newMember->{bitFlag} & 0x800) && !utf8::is_utf8($newMember->{fileName})){ + $newMember->{fileName} = Encode::decode_utf8($newMember->{fileName}); + } + push(@{$self->{'members'}}, $newMember); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/lib/Archive/Zip/BufferedFileHandle.pm new/Archive-Zip-1.56/lib/Archive/Zip/BufferedFileHandle.pm --- old/Archive-Zip-1.55/lib/Archive/Zip/BufferedFileHandle.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip/BufferedFileHandle.pm 2015-12-16 18:53:13.000000000 +0100 @@ -13,7 +13,7 @@ use vars qw{$VERSION}; BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; $VERSION = eval $VERSION; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/lib/Archive/Zip/DirectoryMember.pm new/Archive-Zip-1.56/lib/Archive/Zip/DirectoryMember.pm --- old/Archive-Zip-1.55/lib/Archive/Zip/DirectoryMember.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip/DirectoryMember.pm 2015-12-16 18:53:13.000000000 +0100 @@ -6,7 +6,7 @@ use vars qw( $VERSION @ISA ); BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; @ISA = qw( Archive::Zip::Member ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/lib/Archive/Zip/FileMember.pm new/Archive-Zip-1.56/lib/Archive/Zip/FileMember.pm --- old/Archive-Zip-1.55/lib/Archive/Zip/FileMember.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip/FileMember.pm 2015-12-16 18:53:13.000000000 +0100 @@ -4,7 +4,7 @@ use vars qw( $VERSION @ISA ); BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; @ISA = qw ( Archive::Zip::Member ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/lib/Archive/Zip/Member.pm new/Archive-Zip-1.56/lib/Archive/Zip/Member.pm --- old/Archive-Zip-1.55/lib/Archive/Zip/Member.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip/Member.pm 2015-12-16 18:53:13.000000000 +0100 @@ -6,7 +6,7 @@ use vars qw( $VERSION @ISA ); BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; @ISA = qw( Archive::Zip ); if ($^O eq 'MSWin32') { @@ -231,6 +231,15 @@ return $self->{'fileName'}; } +sub fileNameAsBytes { + my $self = shift; + my $bytes = $self->{'fileName'}; + if($self->{'bitFlag'} & 0x800){ + $bytes = Encode::encode_utf8($bytes); + } + return $bytes; +} + sub lastModFileDateTime { my $modTime = shift->{'lastModFileDateTime'}; $modTime =~ m/^(\d+)$/; # untaint @@ -684,7 +693,7 @@ : $self->compressedSize(), # may need to be re-written later $self->uncompressedSize(), ), - length($self->fileName()), + length($self->fileNameAsBytes()), length($self->localExtraField()); } @@ -706,7 +715,7 @@ # Check for a valid filename or a filename equal to a literal `0' if ($self->fileName() || $self->fileName eq '0') { - $self->_print($fh, $self->fileName()) + $self->_print($fh, $self->fileNameAsBytes()) or return _ioError("writing local header filename"); } if ($self->localExtraField()) { @@ -729,7 +738,7 @@ my ($fileNameLength, $extraFieldLength, $fileCommentLength); { use bytes; - $fileNameLength = length($self->fileName()); + $fileNameLength = length($self->fileNameAsBytes()); $extraFieldLength = length($self->cdExtraField()); $fileCommentLength = length($self->fileComment()); } @@ -756,7 +765,7 @@ $self->_print($fh, $header) or return _ioError("writing central directory header"); if ($fileNameLength) { - $self->_print($fh, $self->fileName()) + $self->_print($fh, $self->fileNameAsBytes()) or return _ioError("writing central directory header signature"); } if ($extraFieldLength) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/lib/Archive/Zip/MemberRead.pm new/Archive-Zip-1.56/lib/Archive/Zip/MemberRead.pm --- old/Archive-Zip-1.55/lib/Archive/Zip/MemberRead.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip/MemberRead.pm 2015-12-16 18:53:13.000000000 +0100 @@ -40,7 +40,7 @@ my $nl; BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; $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.55/lib/Archive/Zip/MockFileHandle.pm new/Archive-Zip-1.56/lib/Archive/Zip/MockFileHandle.pm --- old/Archive-Zip-1.55/lib/Archive/Zip/MockFileHandle.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip/MockFileHandle.pm 2015-12-16 18:53:13.000000000 +0100 @@ -10,7 +10,7 @@ use vars qw{$VERSION}; BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; $VERSION = eval $VERSION; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/lib/Archive/Zip/NewFileMember.pm new/Archive-Zip-1.56/lib/Archive/Zip/NewFileMember.pm --- old/Archive-Zip-1.55/lib/Archive/Zip/NewFileMember.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip/NewFileMember.pm 2015-12-16 18:53:13.000000000 +0100 @@ -4,7 +4,7 @@ use vars qw( $VERSION @ISA ); BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; @ISA = qw ( Archive::Zip::FileMember ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/lib/Archive/Zip/StringMember.pm new/Archive-Zip-1.56/lib/Archive/Zip/StringMember.pm --- old/Archive-Zip-1.55/lib/Archive/Zip/StringMember.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip/StringMember.pm 2015-12-16 18:53:13.000000000 +0100 @@ -4,7 +4,7 @@ use vars qw( $VERSION @ISA ); BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; @ISA = qw( Archive::Zip::Member ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/lib/Archive/Zip/Tree.pm new/Archive-Zip-1.56/lib/Archive/Zip/Tree.pm --- old/Archive-Zip-1.55/lib/Archive/Zip/Tree.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip/Tree.pm 2015-12-16 18:53:13.000000000 +0100 @@ -4,7 +4,7 @@ use vars qw{$VERSION}; BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; } use Archive::Zip; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/lib/Archive/Zip/ZipFileMember.pm new/Archive-Zip-1.56/lib/Archive/Zip/ZipFileMember.pm --- old/Archive-Zip-1.55/lib/Archive/Zip/ZipFileMember.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip/ZipFileMember.pm 2015-12-16 18:53:13.000000000 +0100 @@ -4,7 +4,7 @@ use vars qw( $VERSION @ISA ); BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; @ISA = qw ( Archive::Zip::FileMember ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Archive-Zip-1.55/lib/Archive/Zip.pm new/Archive-Zip-1.56/lib/Archive/Zip.pm --- old/Archive-Zip-1.55/lib/Archive/Zip.pm 2015-12-04 20:19:33.000000000 +0100 +++ new/Archive-Zip-1.56/lib/Archive/Zip.pm 2015-12-16 18:53:13.000000000 +0100 @@ -14,7 +14,7 @@ use vars qw( $VERSION @ISA ); BEGIN { - $VERSION = '1.55'; + $VERSION = '1.56'; require Exporter; @ISA = qw( Exporter );