Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-PAR for openSUSE:Factory checked in at 2024-04-07 22:11:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-PAR (Old) and /work/SRC/openSUSE:Factory/.perl-PAR.new.1905 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-PAR" Sun Apr 7 22:11:21 2024 rev:17 rq:1165827 version:1.20.0 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-PAR/perl-PAR.changes 2023-11-16 20:31:20.462518066 +0100 +++ /work/SRC/openSUSE:Factory/.perl-PAR.new.1905/perl-PAR.changes 2024-04-07 22:13:37.039327126 +0200 @@ -1,0 +2,14 @@ +Tue Mar 5 03:09:01 UTC 2024 - Tina Müller <timueller+p...@suse.de> + +- updated to 1.020 + see /usr/share/doc/packages/perl-PAR/Changes + + 1.020 2024-03-04 + + - restructure _extract_inc(): always add XS DLLs in + PAR_TEMP/inc to PAR::Heavy::FullCache, ie. even if PAR_TEMP/inc + already exists (hence we don't need to extract the zip), cf. #11 + + - bump minimum perl version to 5.8.9 everywhere + +------------------------------------------------------------------- Old: ---- PAR-1.019.tar.gz New: ---- PAR-1.020.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-PAR.spec ++++++ --- /var/tmp/diff_new_pack.AxR4Yq/_old 2024-04-07 22:13:37.659349864 +0200 +++ /var/tmp/diff_new_pack.AxR4Yq/_new 2024-04-07 22:13:37.659349864 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-PAR # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,9 +18,10 @@ %define cpan_name PAR Name: perl-PAR -Version: 1.19.0 +Version: 1.20.0 Release: 0 -%define cpan_version 1.019 +# 1.020 -> normalize -> 1.20.0 +%define cpan_version 1.020 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Perl Archive Toolkit URL: https://metacpan.org/release/%{cpan_name} @@ -39,11 +40,11 @@ Requires: perl(Compress::Zlib) >= 1.30 Requires: perl(Digest::SHA) >= 5.45 Requires: perl(PAR::Dist) >= 0.32 -Provides: perl(PAR) = 1.19.0 +Provides: perl(PAR) = %{version} Provides: perl(PAR::Heavy) = 0.12 Provides: perl(PAR::SetupProgname) = 1.002 Provides: perl(PAR::SetupTemp) = 1.002 -%define __perllib_provides /bin/true +%undefine __perllib_provides %{perl_requires} %description ++++++ PAR-1.019.tar.gz -> PAR-1.020.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/Changes new/PAR-1.020/Changes --- old/PAR-1.019/Changes 2023-11-01 14:20:29.000000000 +0100 +++ new/PAR-1.020/Changes 2024-03-04 11:46:11.000000000 +0100 @@ -1,3 +1,11 @@ +1.020 2024-03-04 + +- restructure _extract_inc(): always add XS DLLs in + PAR_TEMP/inc to PAR::Heavy::FullCache, ie. even if PAR_TEMP/inc + already exists (hence we don't need to extract the zip), cf. #11 + +- bump minimum perl version to 5.8.9 everywhere + 1.019 2023-11-01 - register XS DLLs extracted into $PAR_TEMP/inc with %PAR::Heavy::FullCache diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/META.json new/PAR-1.020/META.json --- old/PAR-1.019/META.json 2023-11-01 14:21:00.000000000 +0100 +++ new/PAR-1.020/META.json 2024-03-04 11:47:38.000000000 +0100 @@ -4,7 +4,7 @@ "Audrey Tang <c...@audreyt.org>" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 2.150010", + "generated_by" : "ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], @@ -38,7 +38,7 @@ "Digest::SHA" : "5.45", "File::Temp" : "0.05", "PAR::Dist" : "0.32", - "perl" : "5.008001" + "perl" : "5.008009" } }, "test" : { @@ -59,6 +59,6 @@ }, "x_MailingList" : "mailto:p...@perl.org" }, - "version" : "1.019", + "version" : "1.020", "x_serialization_backend" : "JSON::PP version 4.16" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/META.yml new/PAR-1.020/META.yml --- old/PAR-1.019/META.yml 2023-11-01 14:21:00.000000000 +0100 +++ new/PAR-1.020/META.yml 2024-03-04 11:47:38.000000000 +0100 @@ -8,7 +8,7 @@ configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 2.150010' +generated_by: 'ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -25,10 +25,10 @@ Digest::SHA: '5.45' File::Temp: '0.05' PAR::Dist: '0.32' - perl: '5.008001' + perl: '5.008009' resources: MailingList: mailto:p...@perl.org bugtracker: https://github.com/rschupp/PAR/issues repository: git://github.com/rschupp/PAR.git -version: '1.019' +version: '1.020' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/Makefile.PL new/PAR-1.020/Makefile.PL --- old/PAR-1.019/Makefile.PL 2021-09-03 15:32:26.000000000 +0200 +++ new/PAR-1.020/Makefile.PL 2024-02-11 12:57:12.000000000 +0100 @@ -12,7 +12,7 @@ LICENSE => 'perl_5', AUTHOR => [ 'Audrey Tang <c...@audreyt.org>' ], - MIN_PERL_VERSION => '5.008001', + MIN_PERL_VERSION => '5.008009', PREREQ_PM => { 'File::Temp' => '0.05', 'Compress::Zlib' => ($^O eq 'MSWin32') ? '1.16' : '1.30', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/README new/PAR-1.020/README --- old/PAR-1.019/README 2016-12-18 16:18:28.000000000 +0100 +++ new/PAR-1.020/README 2023-12-08 15:45:47.000000000 +0100 @@ -47,8 +47,10 @@ You can write to the mailing list at <p...@perl.org>, or send an empty mail to <par-subscr...@perl.org> to participate in the discussion. +Archives of the mailing list are available at +<https://www.mail-archive.com/par@perl.org/> or <https://groups.google.com/g/perl.par>. -Please submit bug reports to <bug-...@rt.cpan.org>. +Please submit bug reports to <https://github.com/rschupp/PAR/issues>. * Copyright diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/lib/PAR/Environment.pod new/PAR-1.020/lib/PAR/Environment.pod --- old/PAR-1.019/lib/PAR/Environment.pod 2018-10-02 22:41:33.000000000 +0200 +++ new/PAR-1.020/lib/PAR/Environment.pod 2023-12-08 15:58:50.000000000 +0100 @@ -213,8 +213,10 @@ You can write to the mailing list at E<lt>p...@perl.orge<gt>, or send an empty mail to E<lt>par-subscr...@perl.orge<gt> to participate in the discussion. +Archives of the mailing list are available at +E<lt>https://www.mail-archive.com/par@perl.org/E<gt> or E<lt>https://groups.google.com/g/perl.parE<gt>. -Please submit bug reports to E<lt>bug-...@rt.cpan.orge<gt>. If you need +Please submit bug reports to E<lt>https://github.com/rschupp/PAR/issuesE<gt>. If you need support, however, joining the E<lt>p...@perl.orge<gt> mailing list is preferred. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/lib/PAR/FAQ.pod new/PAR-1.020/lib/PAR/FAQ.pod --- old/PAR-1.019/lib/PAR/FAQ.pod 2019-06-15 12:53:15.000000000 +0200 +++ new/PAR-1.020/lib/PAR/FAQ.pod 2023-12-08 15:58:51.000000000 +0100 @@ -336,8 +336,10 @@ You can write to the mailing list at E<lt>p...@perl.orge<gt>, or send an empty mail to E<lt>par-subscr...@perl.orge<gt> to participate in the discussion. +Archives of the mailing list are available at +E<lt>https://www.mail-archive.com/par@perl.org/E<gt> or E<lt>https://groups.google.com/g/perl.parE<gt>. -Please submit bug reports to E<lt>bug-...@rt.cpan.orge<gt>. +Please submit bug reports to E<lt>https://github.com/rschupp/PAR/issuesE<gt>. =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/lib/PAR/Heavy.pm new/PAR-1.020/lib/PAR/Heavy.pm --- old/PAR-1.019/lib/PAR/Heavy.pm 2023-10-30 14:05:43.000000000 +0100 +++ new/PAR-1.020/lib/PAR/Heavy.pm 2023-12-08 15:58:49.000000000 +0100 @@ -190,8 +190,10 @@ You can write to the mailing list at E<lt>p...@perl.orge<gt>, or send an empty mail to E<lt>par-subscr...@perl.orge<gt> to participate in the discussion. +Archives of the mailing list are available at +E<lt>https://www.mail-archive.com/par@perl.org/E<gt> or E<lt>https://groups.google.com/g/perl.parE<gt>. -Please submit bug reports to E<lt>bug-...@rt.cpan.orge<gt>. +Please submit bug reports to E<lt>https://github.com/rschupp/PAR/issuesE<gt>. =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/lib/PAR/SetupProgname.pm new/PAR-1.020/lib/PAR/SetupProgname.pm --- old/PAR-1.019/lib/PAR/SetupProgname.pm 2021-09-03 15:31:22.000000000 +0200 +++ new/PAR-1.020/lib/PAR/SetupProgname.pm 2024-02-11 12:57:36.000000000 +0100 @@ -1,7 +1,7 @@ package PAR::SetupProgname; $PAR::SetupProgname::VERSION = '1.002'; -use 5.006; +use 5.008009; use strict; use warnings; use Config; @@ -72,8 +72,10 @@ You can write to the mailing list at E<lt>p...@perl.orge<gt>, or send an empty mail to E<lt>par-subscr...@perl.orge<gt> to participate in the discussion. +Archives of the mailing list are available at +E<lt>https://www.mail-archive.com/par@perl.org/E<gt> or E<lt>https://groups.google.com/g/perl.parE<gt>. -Please submit bug reports to E<lt>bug-...@rt.cpan.orge<gt>. If you need +Please submit bug reports to E<lt>https://github.com/rschupp/PAR/issuesE<gt>. If you need support, however, joining the E<lt>p...@perl.orge<gt> mailing list is preferred. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/lib/PAR/SetupTemp.pm new/PAR-1.020/lib/PAR/SetupTemp.pm --- old/PAR-1.019/lib/PAR/SetupTemp.pm 2017-03-24 23:11:12.000000000 +0100 +++ new/PAR-1.020/lib/PAR/SetupTemp.pm 2024-02-11 12:57:29.000000000 +0100 @@ -1,7 +1,7 @@ package PAR::SetupTemp; $PAR::SetupTemp::VERSION = '1.002'; -use 5.006; +use 5.008009; use strict; use warnings; @@ -163,8 +163,10 @@ You can write to the mailing list at E<lt>p...@perl.orge<gt>, or send an empty mail to E<lt>par-subscr...@perl.orge<gt> to participate in the discussion. +Archives of the mailing list are available at +E<lt>https://www.mail-archive.com/par@perl.org/E<gt> or E<lt>https://groups.google.com/g/perl.parE<gt>. -Please submit bug reports to E<lt>bug-...@rt.cpan.orge<gt>. If you need +Please submit bug reports to E<lt>https://github.com/rschupp/PAR/issuesE<gt>. If you need support, however, joining the E<lt>p...@perl.orge<gt> mailing list is preferred. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/lib/PAR/Tutorial.pod new/PAR-1.020/lib/PAR/Tutorial.pod --- old/PAR-1.019/lib/PAR/Tutorial.pod 2019-07-26 16:43:10.000000000 +0200 +++ new/PAR-1.020/lib/PAR/Tutorial.pod 2023-12-08 15:58:52.000000000 +0100 @@ -1050,8 +1050,10 @@ You can write to the mailing list at E<lt>p...@perl.orge<gt>, or send an empty mail to E<lt>par-subscr...@perl.orge<gt> to participate in the discussion. +Archives of the mailing list are available at +E<lt>https://www.mail-archive.com/par@perl.org/E<gt> or E<lt>https://groups.google.com/g/perl.parE<gt>. -Please submit bug reports to E<lt>bug-...@rt.cpan.orge<gt>. +Please submit bug reports to E<lt>https://github.com/rschupp/PAR/issuesE<gt>. =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.019/lib/PAR.pm new/PAR-1.020/lib/PAR.pm --- old/PAR-1.019/lib/PAR.pm 2023-11-01 14:10:49.000000000 +0100 +++ new/PAR-1.020/lib/PAR.pm 2024-02-11 13:39:51.000000000 +0100 @@ -1,7 +1,7 @@ package PAR; -$PAR::VERSION = '1.019'; +$PAR::VERSION = '1.020'; -use 5.006; +use 5.008009; use strict; use warnings; use Config; @@ -328,7 +328,6 @@ use vars qw(%FileCache); # The Zip-file file-name-cache # Layout: # $FileCache{$ZipObj}{$FileName} = $Member -use vars qw(%ArchivesExtracted); # Associates archive-zip-object => full extraction path my $ver = $Config{version}; my $arch = $Config{archname}; @@ -391,11 +390,6 @@ push @PAR_INC, unpar($progname, undef, undef, 1); _extract_inc($progname); - if ($LibCache{$progname}) { - # XXX bad: this us just a good guess - require File::Spec; - $ArchivesExtracted{$progname} = File::Spec->catdir($ENV{PAR_TEMP}, 'inc'); - } my $zip = $LibCache{$progname}; my $member = _first_member( $zip, @@ -678,53 +672,49 @@ # Archive::Zip handle to the PAR_TEMP/inc directory. # returns that directory. sub _extract_inc { - my $file_or_azip_handle = shift; - my $dlext = defined($Config{dlext}) ? $Config{dlext} : ''; - my $is_handle = ref($file_or_azip_handle) && $file_or_azip_handle->isa('Archive::Zip::Archive'); + my ($file_or_azip_handle) = @_; - require File::Spec; + my ($file, $zip); + if (ref($file_or_azip_handle) && $file_or_azip_handle->isa('Archive::Zip::Archive')) { + $file = $file_or_azip_handle->fileName(); + $zip = $file_or_azip_handle; + } + else { + $file = $file_or_azip_handle; - my $inc = File::Spec->catdir($PAR::SetupTemp::PARTemp, "inc"); - my $inc_lock = "$inc.lock"; + # Temporarily increase Archive::Zip::ChunkSize so that we may find + # the EOCD even if stuff has been appended (e.g.by OSX codesign) + # to the zip/executable. + my $chunksize = Archive::Zip::chunkSize(); + Archive::Zip::setChunkSize(-s $file); + $zip = Archive::Zip->new(); + $zip->read($file) == AZ_OK or die qq[can't read zip file "$file"]; + Archive::Zip::setChunkSize($chunksize); + } + require File::Spec; + my $dlext = defined($Config{dlext}) ? $Config{dlext} : ''; + my $inc = File::Spec->catdir($PAR::SetupTemp::PARTemp, "inc"); my $canary = File::Spec->catfile($PAR::SetupTemp::PARTemp, $PAR::SetupTemp::Canary); - # acquire the "wanna extract inc" lock - open my $lock, ">", $inc_lock or die qq[can't open "$inc_lock": $!]; - flock($lock, LOCK_EX); - unless (-d $inc && -e $canary) { + # acquire the "wanna extract inc" lock + my $inc_lock = "$inc.lock"; + open my $lock, ">", $inc_lock or die qq[can't open "$inc_lock": $!]; + flock($lock, LOCK_EX); + mkdir($inc, 0755); EXTRACT: { - my $zip; - if ($is_handle) { - $zip = $file_or_azip_handle; - } else { - # First try to unzip the *fast* way. - eval { - require Archive::Unzip::Burst; - Archive::Unzip::Burst::unzip($file_or_azip_handle, $inc) == AZ_OK; - } and last EXTRACT; - - # Either failed to load Archive::Unzip::Burst or - # Archive::Unzip::Burst::unzip failed: fallback to slow way. - open my $fh, '<', $file_or_azip_handle - or die "Cannot find '$file_or_azip_handle': $!"; - binmode($fh); - bless($fh, 'IO::File'); - - # Temporarily increase Archive::Zip::ChunkSize so that we may find - # the EOCD even if stuff has been appended (e.g.by OSX codesign) - # to the zip/executable. - Archive::Zip::setChunkSize(-s $fh); - $zip = Archive::Zip->new; - $zip->readFromFileHandle($fh, $file_or_azip_handle) == AZ_OK - or die "Read '$file_or_azip_handle' error: $!"; - Archive::Zip::setChunkSize(64 * 1024); - } + # First try to unzip the *fast* way. + eval { + require Archive::Unzip::Burst; + Archive::Unzip::Burst::unzip($file_or_azip_handle, $inc) == AZ_OK; + } and last EXTRACT; + # Either failed to load Archive::Unzip::Burst or + # Archive::Unzip::Burst::unzip failed: fallback to slow way. foreach my $name ($zip->memberNames()) { $name =~ s{^/}{}; my $outfile = File::Spec->catfile($inc, $name); @@ -735,15 +725,9 @@ # it to "now" (making it younger than the canary file). utime(undef, undef, $outfile); - if (my ($xs_dll) = $name =~ m{^lib/(auto/.*\.\Q$dlext\E)$}) { - $PAR::Heavy::FullCache{$outfile} = $xs_dll; - $PAR::Heavy::FullCache{$xs_dll} = $outfile; - } } } - $ArchivesExtracted{$is_handle ? $file_or_azip_handle->fileName() : $file_or_azip_handle} = $inc; - # touch (and back-date) canary file open my $fh, ">", $canary; print $fh <<'...'; @@ -754,20 +738,28 @@ close $fh; my $dateback = time() - $PAR::SetupTemp::CanaryDateBack; utime($dateback, $dateback, $canary); - } - # release the "wanna extract inc" lock - flock($lock, LOCK_UN); - close $lock; + # release the "wanna extract inc" lock + flock($lock, LOCK_UN); + close $lock; + } - # add the freshly extracted directories to @INC, + # Add the existing perl module directories to @INC, # but make sure there's no duplicates my %inc_exists = map { ($_, 1) } @INC; - unshift @INC, grep !exists($inc_exists{$_}), - grep -d, - map File::Spec->catdir($inc, @$_), - [ 'lib' ], [ 'arch' ], [ $arch ], - [ $ver ], [ $ver, $arch ], []; + unshift @INC, grep { !exists($inc_exists{$_}) && -d $_ } + map { File::Spec->catdir($inc, @$_) } + [ 'lib' ], [ 'arch' ], [ $arch ], [ $ver ], [ $ver, $arch ], []; + + # Add all XS DLLs to $PAR::Heavy::FullCache + foreach my $name ($zip->memberNames()) { + $name =~ s{^/}{}; + if (my ($xs_dll) = $name =~ m{/(auto/.*\.\Q$dlext\E)$}) { + my $outfile = File::Spec->catfile($inc, $name); + $PAR::Heavy::FullCache{$outfile} = $xs_dll; + $PAR::Heavy::FullCache{$xs_dll} = $outfile; + } + } return $inc; } @@ -865,15 +857,7 @@ my ($INC_ARY, $self, $file, $member_only) = @_; my $scheme; - foreach (@$INC_ARY ? @$INC_ARY : @INC) { - my $path = $_; - if ($] < 5.008001) { - # reassemble from "perl -Ischeme://path" autosplitting - $path = "$scheme:$path" if !@$INC_ARY - and $path and $path =~ m!//! - and $scheme and $scheme =~ /^\w+$/; - $scheme = $path; - } + foreach my $path (@$INC_ARY ? @$INC_ARY : @INC) { my $rv = unpar($path, $file, $member_only, 1) or next; $PAR_INC{$path}{$file} = 1; $INC{$file} = $LastTempFile if (lc($file) =~ /^(?!tk).*\.pm$/); @@ -1259,8 +1243,10 @@ You can write to the mailing list at E<lt>p...@perl.orge<gt>, or send an empty mail to E<lt>par-subscr...@perl.orge<gt> to participate in the discussion. +Archives of the mailing list are available at +E<lt>https://www.mail-archive.com/par@perl.org/E<gt> or E<lt>https://groups.google.com/g/perl.parE<gt>. -Please submit bug reports to E<lt>bug-...@rt.cpan.orge<gt>. If you need +Please submit bug reports to E<lt>https://github.com/rschupp/PAR/issuesE<gt>. If you need support, however, joining the E<lt>p...@perl.orge<gt> mailing list is preferred.