diff options
author | Norbert Preining <norbert@preining.info> | 2024-03-15 03:06:35 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-03-15 03:06:35 +0000 |
commit | 12679ab7d3c2a210f4123163671b532b8b55d5f9 (patch) | |
tree | 0060d13467186ad977f4e73488ee20dd6c0017ab /systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress | |
parent | 62170822e034fdd3f81de7274835d0d3b0467100 (diff) |
CTAN sync 202403150306
Diffstat (limited to 'systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress')
15 files changed, 159 insertions, 165 deletions
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm index c157520f08..e19755123d 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm @@ -4,12 +4,12 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.101 qw(:Status); +use IO::Compress::Base::Common 2.204 qw(:Status); -use Compress::Raw::Bzip2 2.101 ; +use Compress::Raw::Bzip2 2.204 ; our ($VERSION); -$VERSION = '2.102'; +$VERSION = '2.204'; sub mkCompObject { diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm index 1048dbda82..54696ffd78 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm @@ -4,13 +4,13 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.101 qw(:Status); -use Compress::Raw::Zlib 2.101 qw( !crc32 !adler32 ) ; +use IO::Compress::Base::Common 2.204 qw(:Status); +use Compress::Raw::Zlib 2.204 qw( !crc32 !adler32 ) ; require Exporter; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS); -$VERSION = '2.102'; +$VERSION = '2.204'; @ISA = qw(Exporter); @EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS; %EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS; @@ -40,6 +40,29 @@ sub mkCompObject } ; } +sub mkCompObject1 +{ + my $crc32 = shift ; + my $adler32 = shift ; + my $level = shift ; + my $strategy = shift ; + + my ($def, $status) = Compress::Raw::Zlib::Deflate->new( + -AppendOutput => 1, + -CRC32 => $crc32, + -ADLER32 => $adler32, + -Level => $level, + -Strategy => $strategy, + -WindowBits => MAX_WBITS); + + return (undef, "Cannot create Deflate object: $status", $status) + if $status != Z_OK; + + return bless {'Def' => $def, + 'Error' => '', + } ; +} + sub compr { my $self = shift ; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm index 8b92a3cea6..5938d13697 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm @@ -4,10 +4,10 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.101 qw(:Status); +use IO::Compress::Base::Common 2.204 qw(:Status); our ($VERSION); -$VERSION = '2.102'; +$VERSION = '2.204'; sub mkCompObject { diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base.pm index 269f10c7a4..37a0df94f3 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base.pm @@ -6,7 +6,7 @@ require 5.006 ; use strict ; use warnings; -use IO::Compress::Base::Common 2.101 ; +use IO::Compress::Base::Common 2.204 ; use IO::File (); ; use Scalar::Util (); @@ -20,7 +20,7 @@ use Symbol(); our (@ISA, $VERSION); @ISA = qw(IO::File Exporter); -$VERSION = '2.102'; +$VERSION = '2.204'; #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. @@ -1051,7 +1051,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2021 Paul Marquess. All rights reserved. +Copyright (c) 2005-2023 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/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm index 67882cf515..32c4aa3464 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/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.102'; +$VERSION = '2.204'; @EXPORT = qw( isaFilehandle isaFilename isaScalar whatIsInput whatIsOutput diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm index 2d333fd1e6..6aa0ddd4cb 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm @@ -5,16 +5,16 @@ use warnings; use bytes; require Exporter ; -use IO::Compress::Base 2.101 ; +use IO::Compress::Base 2.204 ; -use IO::Compress::Base::Common 2.101 qw(); -use IO::Compress::Adapter::Bzip2 2.101 ; +use IO::Compress::Base::Common 2.204 qw(); +use IO::Compress::Adapter::Bzip2 2.204 ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error); -$VERSION = '2.102'; +$VERSION = '2.204'; $Bzip2Error = ''; @ISA = qw(IO::Compress::Base Exporter); @@ -51,7 +51,7 @@ sub getExtraParams { my $self = shift ; - use IO::Compress::Base::Common 2.101 qw(:Parse); + use IO::Compress::Base::Common 2.204 qw(:Parse); return ( 'blocksize100k' => [IO::Compress::Base::Common::Parse_unsigned, 1], @@ -818,7 +818,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2021 Paul Marquess. All rights reserved. +Copyright (c) 2005-2023 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/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Deflate.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Deflate.pm index 9e71977df4..a34a6ba6e6 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Deflate.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Deflate.pm @@ -8,16 +8,16 @@ use bytes; require Exporter ; -use IO::Compress::RawDeflate 2.101 (); -use IO::Compress::Adapter::Deflate 2.101 ; +use IO::Compress::RawDeflate 2.204 (); +use IO::Compress::Adapter::Deflate 2.204 ; -use IO::Compress::Zlib::Constants 2.101 ; -use IO::Compress::Base::Common 2.101 qw(); +use IO::Compress::Zlib::Constants 2.204 ; +use IO::Compress::Base::Common 2.204 qw(); our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError); -$VERSION = '2.102'; +$VERSION = '2.204'; $DeflateError = ''; @ISA = qw(IO::Compress::RawDeflate Exporter); @@ -42,92 +42,35 @@ sub deflate return $obj->_def(@_); } - -sub bitmask($$$$) -{ - my $into = shift ; - my $value = shift ; - my $offset = shift ; - my $mask = shift ; - - return $into | (($value & $mask) << $offset ) ; -} - -sub mkDeflateHdr($$$;$) -{ - my $method = shift ; - my $cinfo = shift; - my $level = shift; - my $fdict_adler = shift ; - - my $cmf = 0; - my $flg = 0; - my $fdict = 0; - $fdict = 1 if defined $fdict_adler; - - $cmf = bitmask($cmf, $method, ZLIB_CMF_CM_OFFSET, ZLIB_CMF_CM_BITS); - $cmf = bitmask($cmf, $cinfo, ZLIB_CMF_CINFO_OFFSET, ZLIB_CMF_CINFO_BITS); - - $flg = bitmask($flg, $fdict, ZLIB_FLG_FDICT_OFFSET, ZLIB_FLG_FDICT_BITS); - $flg = bitmask($flg, $level, ZLIB_FLG_LEVEL_OFFSET, ZLIB_FLG_LEVEL_BITS); - - my $fcheck = 31 - ($cmf * 256 + $flg) % 31 ; - $flg = bitmask($flg, $fcheck, ZLIB_FLG_FCHECK_OFFSET, ZLIB_FLG_FCHECK_BITS); - - my $hdr = pack("CC", $cmf, $flg) ; - $hdr .= pack("N", $fdict_adler) if $fdict ; - - return $hdr; -} - -sub mkHeader +sub mkComp { my $self = shift ; - my $param = shift ; + my $got = shift ; - my $level = $param->getValue('level'); - my $strategy = $param->getValue('strategy'); + my ($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject1( + $got->getValue('crc32'), + $got->getValue('adler32'), + $got->getValue('level'), + $got->getValue('strategy') + ); - my $lflag ; - $level = 6 - if $level == Z_DEFAULT_COMPRESSION ; + return $self->saveErrorString(undef, $errstr, $errno) + if ! defined $obj; - if (ZLIB_VERNUM >= 0x1210) - { - if ($strategy >= Z_HUFFMAN_ONLY || $level < 2) - { $lflag = ZLIB_FLG_LEVEL_FASTEST } - elsif ($level < 6) - { $lflag = ZLIB_FLG_LEVEL_FAST } - elsif ($level == 6) - { $lflag = ZLIB_FLG_LEVEL_DEFAULT } - else - { $lflag = ZLIB_FLG_LEVEL_SLOWEST } - } - else - { - $lflag = ($level - 1) >> 1 ; - $lflag = 3 if $lflag > 3 ; - } - - #my $wbits = (MAX_WBITS - 8) << 4 ; - my $wbits = 7; - mkDeflateHdr(ZLIB_CMF_CM_DEFLATED, $wbits, $lflag); + return $obj; } -sub ckParams + +sub mkHeader { my $self = shift ; - my $got = shift; - - $got->setValue('adler32' => 1); - return 1 ; + return ''; } - sub mkTrailer { my $self = shift ; - return pack("N", *$self->{Compress}->adler32()) ; + return ''; } sub mkFinalTrailer @@ -135,12 +78,6 @@ sub mkFinalTrailer return ''; } -#sub newHeader -#{ -# my $self = shift ; -# return *$self->{Header}; -#} - sub getExtraParams { my $self = shift ; @@ -930,9 +867,9 @@ L<Archive::Tar|Archive::Tar>, L<IO::Zlib|IO::Zlib> For RFC 1950, 1951 and 1952 see -L<http://www.faqs.org/rfcs/rfc1950.html>, -L<http://www.faqs.org/rfcs/rfc1951.html> and -L<http://www.faqs.org/rfcs/rfc1952.html> +L<https://datatracker.ietf.org/doc/html/rfc1950>, +L<https://datatracker.ietf.org/doc/html/rfc1951> and +L<https://datatracker.ietf.org/doc/html/rfc1952> The I<zlib> compression library was written by Jean-loup Gailly C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>. @@ -940,6 +877,9 @@ C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>. The primary site for the I<zlib> compression library is L<http://www.zlib.org>. +The primary site for the I<zlib-ng> compression library is +L<https://github.com/zlib-ng/zlib-ng>. + The primary site for gzip is L<http://www.gzip.org>. =head1 AUTHOR @@ -952,7 +892,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2021 Paul Marquess. All rights reserved. +Copyright (c) 2005-2023 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/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/FAQ.pod b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/FAQ.pod index 367468ec07..549ea2a7b4 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/FAQ.pod +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/FAQ.pod @@ -197,7 +197,7 @@ L<ftp://ftp.info-zip.org/pub/infozip/doc/> =head2 Gzip Resources The primary reference for gzip files is RFC 1952 -L<http://www.faqs.org/rfcs/rfc1952.html> +L<https://datatracker.ietf.org/doc/html/rfc1952> The primary site for gzip is L<http://www.gzip.org>. @@ -682,7 +682,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2021 Paul Marquess. All rights reserved. +Copyright (c) 2005-2023 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/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip.pm index 4111d07938..6b142d4521 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip.pm @@ -8,12 +8,12 @@ use bytes; require Exporter ; -use IO::Compress::RawDeflate 2.101 () ; -use IO::Compress::Adapter::Deflate 2.101 ; +use IO::Compress::RawDeflate 2.204 () ; +use IO::Compress::Adapter::Deflate 2.204 ; -use IO::Compress::Base::Common 2.101 qw(:Status ); -use IO::Compress::Gzip::Constants 2.101 ; -use IO::Compress::Zlib::Extra 2.101 ; +use IO::Compress::Base::Common 2.204 qw(:Status ); +use IO::Compress::Gzip::Constants 2.204 ; +use IO::Compress::Zlib::Extra 2.204 ; BEGIN { @@ -25,7 +25,7 @@ BEGIN our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError); -$VERSION = '2.102'; +$VERSION = '2.204'; $GzipError = '' ; @ISA = qw(IO::Compress::RawDeflate Exporter); @@ -1242,9 +1242,9 @@ L<Archive::Tar|Archive::Tar>, L<IO::Zlib|IO::Zlib> For RFC 1950, 1951 and 1952 see -L<http://www.faqs.org/rfcs/rfc1950.html>, -L<http://www.faqs.org/rfcs/rfc1951.html> and -L<http://www.faqs.org/rfcs/rfc1952.html> +L<https://datatracker.ietf.org/doc/html/rfc1950>, +L<https://datatracker.ietf.org/doc/html/rfc1951> and +L<https://datatracker.ietf.org/doc/html/rfc1952> The I<zlib> compression library was written by Jean-loup Gailly C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>. @@ -1252,6 +1252,9 @@ C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>. The primary site for the I<zlib> compression library is L<http://www.zlib.org>. +The primary site for the I<zlib-ng> compression library is +L<https://github.com/zlib-ng/zlib-ng>. + The primary site for gzip is L<http://www.gzip.org>. =head1 AUTHOR @@ -1264,7 +1267,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2021 Paul Marquess. All rights reserved. +Copyright (c) 2005-2023 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/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm index a3d09e2e21..f56612d729 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/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.102'; +$VERSION = '2.204'; @ISA = qw(Exporter); diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm index 6a0ff6e0f3..75ee62ba48 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm @@ -6,16 +6,16 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base 2.101 ; -use IO::Compress::Base::Common 2.101 qw(:Status :Parse); -use IO::Compress::Adapter::Deflate 2.101 ; -use Compress::Raw::Zlib 2.101 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); +use IO::Compress::Base 2.204 ; +use IO::Compress::Base::Common 2.204 qw(:Status :Parse); +use IO::Compress::Adapter::Deflate 2.204 ; +use Compress::Raw::Zlib 2.204 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError); -$VERSION = '2.102'; +$VERSION = '2.204'; $RawDeflateError = ''; @ISA = qw(IO::Compress::Base Exporter); @@ -985,9 +985,9 @@ L<Archive::Tar|Archive::Tar>, L<IO::Zlib|IO::Zlib> For RFC 1950, 1951 and 1952 see -L<http://www.faqs.org/rfcs/rfc1950.html>, -L<http://www.faqs.org/rfcs/rfc1951.html> and -L<http://www.faqs.org/rfcs/rfc1952.html> +L<https://datatracker.ietf.org/doc/html/rfc1950>, +L<https://datatracker.ietf.org/doc/html/rfc1951> and +L<https://datatracker.ietf.org/doc/html/rfc1952> The I<zlib> compression library was written by Jean-loup Gailly C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>. @@ -995,6 +995,9 @@ C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>. The primary site for the I<zlib> compression library is L<http://www.zlib.org>. +The primary site for the I<zlib-ng> compression library is +L<https://github.com/zlib-ng/zlib-ng>. + The primary site for gzip is L<http://www.gzip.org>. =head1 AUTHOR @@ -1007,7 +1010,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2021 Paul Marquess. All rights reserved. +Copyright (c) 2005-2023 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/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip.pm index fea487af67..856ae7b08a 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip.pm @@ -4,41 +4,41 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.101 qw(:Status ); -use IO::Compress::RawDeflate 2.101 (); -use IO::Compress::Adapter::Deflate 2.101 ; -use IO::Compress::Adapter::Identity 2.101 ; -use IO::Compress::Zlib::Extra 2.101 ; -use IO::Compress::Zip::Constants 2.101 ; +use IO::Compress::Base::Common 2.204 qw(:Status ); +use IO::Compress::RawDeflate 2.204 (); +use IO::Compress::Adapter::Deflate 2.204 ; +use IO::Compress::Adapter::Identity 2.204 ; +use IO::Compress::Zlib::Extra 2.204 ; +use IO::Compress::Zip::Constants 2.204 ; use File::Spec(); use Config; -use Compress::Raw::Zlib 2.101 (); +use Compress::Raw::Zlib 2.204 (); BEGIN { eval { require IO::Compress::Adapter::Bzip2 ; - IO::Compress::Adapter::Bzip2->import( 2.101 ); + IO::Compress::Adapter::Bzip2->import( 2.201 ); require IO::Compress::Bzip2 ; - IO::Compress::Bzip2->import( 2.101 ); + IO::Compress::Bzip2->import( 2.201 ); } ; eval { require IO::Compress::Adapter::Lzma ; - IO::Compress::Adapter::Lzma->import( 2.101 ); + IO::Compress::Adapter::Lzma->import( 2.201 ); require IO::Compress::Lzma ; - IO::Compress::Lzma->import( 2.101 ); + IO::Compress::Lzma->import( 2.201 ); } ; eval { require IO::Compress::Adapter::Xz ; - IO::Compress::Adapter::Xz->import( 2.101 ); + IO::Compress::Adapter::Xz->import( 2.201 ); require IO::Compress::Xz ; - IO::Compress::Xz->import( 2.101 ); + IO::Compress::Xz->import( 2.201 ); } ; eval { require IO::Compress::Adapter::Zstd ; - IO::Compress::Adapter::Zstd->import( 2.101 ); + IO::Compress::Adapter::Zstd->import( 2.201 ); require IO::Compress::Zstd ; - IO::Compress::Zstd->import( 2.101 ); + IO::Compress::Zstd->import( 2.201 ); } ; } @@ -47,7 +47,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError); -$VERSION = '2.102'; +$VERSION = '2.204'; $ZipError = ''; @ISA = qw(IO::Compress::RawDeflate Exporter); @@ -85,20 +85,24 @@ sub isMethodAvailable if $method == ZIP_CM_STORE || $method == ZIP_CM_DEFLATE ; return 1 - if $method == ZIP_CM_BZIP2 and - defined $IO::Compress::Adapter::Bzip2::VERSION; + if $method == ZIP_CM_BZIP2 && + defined $IO::Compress::Adapter::Bzip2::VERSION && + defined &{ "IO::Compress::Adapter::Bzip2::mkRawZipCompObject" }; return 1 - if $method == ZIP_CM_LZMA and - defined $IO::Compress::Adapter::Lzma::VERSION; + if $method == ZIP_CM_LZMA && + defined $IO::Compress::Adapter::Lzma::VERSION && + defined &{ "IO::Compress::Adapter::Lzma::mkRawZipCompObject" }; return 1 - if $method == ZIP_CM_XZ and - defined $IO::Compress::Adapter::Xz::VERSION; + if $method == ZIP_CM_XZ && + defined $IO::Compress::Adapter::Xz::VERSION && + defined &{ "IO::Compress::Adapter::Xz::mkRawZipCompObject" }; return 1 - if $method == ZIP_CM_ZSTD and - defined $IO::Compress::Adapter::ZSTD::VERSION; + if $method == ZIP_CM_ZSTD && + defined $IO::Compress::Adapter::ZSTD::VERSION && + defined &{ "IO::Compress::Adapter::ZSTD::mkRawZipCompObject" }; return 0; } @@ -566,6 +570,8 @@ sub mkFinalTrailer $z64e .= U64::pack_V64 $entries ; # entries in central dir $z64e .= U64::pack_V64 $cd_len ; # size of central dir $z64e .= *$self->{ZipData}{Offset}->getPacked_V64() ; # offset to start central dir + $z64e .= *$self->{ZipData}{extrafieldzip64} # otional extra field + if defined *$self->{ZipData}{extrafieldzip64} ; $z64e = pack("V", ZIP64_END_CENTRAL_REC_HDR_SIG) # signature . U64::pack_V64(length $z64e) @@ -638,7 +644,7 @@ sub ckParams } *$self->{ZipData}{AnyZip64} = 1 - if $got->getValue('zip64'); + if $got->getValue('zip64') || $got->getValue('extrafieldzip64') ; *$self->{ZipData}{Zip64} = $got->getValue('zip64'); *$self->{ZipData}{Stream} = $got->getValue('stream'); @@ -658,7 +664,7 @@ sub ckParams *$self->{ZipData}{ZipComment} = $got->getValue('zipcomment') ; - for my $name (qw( extrafieldlocal extrafieldcentral )) + for my $name (qw( extrafieldlocal extrafieldcentral extrafieldzip64)) { my $data = $got->getValue($name) ; if (defined $data) { @@ -667,6 +673,7 @@ sub ckParams if $bad ; $got->setValue($name, $data) ; + *$self->{ZipData}{$name} = $data; } } @@ -731,6 +738,7 @@ our %PARAMS = ( 'textflag' => [IO::Compress::Base::Common::Parse_boolean, 0], 'extrafieldlocal' => [IO::Compress::Base::Common::Parse_any, undef], 'extrafieldcentral'=> [IO::Compress::Base::Common::Parse_any, undef], + 'extrafieldzip64' => [IO::Compress::Base::Common::Parse_any, undef], # Lzma 'preset' => [IO::Compress::Base::Common::Parse_unsigned, 6], @@ -1053,12 +1061,24 @@ See L<File::GlobMapper|File::GlobMapper> for more details. If the C<$input_filename_or_reference> parameter is any other type, C<undef> will be returned. -In addition, if C<$input_filename_or_reference> is a simple filename, -the default values for -the C<Name>, C<Time>, C<TextFlag>, C<ExtAttr>, C<exUnixN> and C<exTime> options will be sourced from that file. +In addition, if C<$input_filename_or_reference> corresponds to a filename +from the filesystem, a number of zip file header fields will be populated by default +using the following attributes from the input file + +=over 5 + +=item * the full filename contained in C<$input_filename_or_reference> + +=item * the file protection attributes + +=item * the UID/GID for the file + +=item * the file timestamps + +=back If you do not want to use these defaults they can be overridden by -explicitly setting the C<Name>, C<Time>, C<TextFlag>, C<ExtAttr>, C<exUnixN> and C<exTime> options or by setting the +explicitly setting one, or more, of the C<Name>, C<Time>, C<TextFlag>, C<ExtAttr>, C<exUnixN> and C<exTime> options or by setting the C<Minimal> parameter. =head3 The C<$output_filename_or_reference> parameter @@ -2121,9 +2141,9 @@ L<Archive::Tar|Archive::Tar>, L<IO::Zlib|IO::Zlib> For RFC 1950, 1951 and 1952 see -L<http://www.faqs.org/rfcs/rfc1950.html>, -L<http://www.faqs.org/rfcs/rfc1951.html> and -L<http://www.faqs.org/rfcs/rfc1952.html> +L<https://datatracker.ietf.org/doc/html/rfc1950>, +L<https://datatracker.ietf.org/doc/html/rfc1951> and +L<https://datatracker.ietf.org/doc/html/rfc1952> The I<zlib> compression library was written by Jean-loup Gailly C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>. @@ -2131,6 +2151,9 @@ C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>. The primary site for the I<zlib> compression library is L<http://www.zlib.org>. +The primary site for the I<zlib-ng> compression library is +L<https://github.com/zlib-ng/zlib-ng>. + The primary site for gzip is L<http://www.gzip.org>. =head1 AUTHOR @@ -2143,7 +2166,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2021 Paul Marquess. All rights reserved. +Copyright (c) 2005-2023 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/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm index 7982fc32f6..b6e0d35fed 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm @@ -7,7 +7,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS); -$VERSION = '2.102'; +$VERSION = '2.204'; @ISA = qw(Exporter); @@ -20,6 +20,7 @@ $VERSION = '2.102'; ZIP_CM_PPMD ZIP_CM_XZ ZIP_CM_ZSTD + ZIP_CM_AES ZIP_LOCAL_HDR_SIG ZIP_DATA_HDR_SIG @@ -69,6 +70,7 @@ use constant ZIP_CM_LZMA => 14 ; use constant ZIP_CM_ZSTD => 93 ; use constant ZIP_CM_XZ => 95 ; use constant ZIP_CM_PPMD => 98 ; # Not Supported yet +use constant ZIP_CM_AES => 99 ; # General Purpose Flag use constant ZIP_GP_FLAG_ENCRYPTED_MASK => (1 << 0) ; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm index 937101e427..b0eb4cfcc3 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm @@ -9,7 +9,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT); -$VERSION = '2.102'; +$VERSION = '2.204'; @ISA = qw(Exporter); diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm index ab7446a464..9767fe1694 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm @@ -8,9 +8,9 @@ use bytes; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS); -$VERSION = '2.102'; +$VERSION = '2.204'; -use IO::Compress::Gzip::Constants 2.101 ; +use IO::Compress::Gzip::Constants 2.204 ; sub ExtraFieldError { |