Hello community,

here is the log from the commit of package perl-PAR for openSUSE:Factory 
checked in at 2019-05-21 10:41:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-PAR (Old)
 and      /work/SRC/openSUSE:Factory/.perl-PAR.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-PAR"

Tue May 21 10:41:38 2019 rev:13 rq:704356 version:1.016

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-PAR/perl-PAR.changes        2017-05-16 
14:33:54.054003390 +0200
+++ /work/SRC/openSUSE:Factory/.perl-PAR.new.5148/perl-PAR.changes      
2019-05-21 10:41:41.247022801 +0200
@@ -1,0 +2,24 @@
+Tue May 21 05:19:12 UTC 2019 - Stephan Kulow <[email protected]>
+
+- updated to 1.016
+   see /usr/share/doc/packages/perl-PAR/Changes
+
+  1.016  2019-05-20
+  
+    - Fix #129312: Code signing for OSX
+      
+      Avoid Archive::Zip::Archive error "can't find EOCD signature" for pp'ed
+      executables with lots of stuff appended (e.g. by OSX codesign):
+      temporarily increase Archive::Zip::ChunkSize around the call to
+      Archive::Zip::readFromFileHandle().
+      
+      Note this is prerequisite for the corresponding fix in PAR::Packer.
+  
+    - Fix: Archive::Unzip::Burst::unzip result is ignored and _extract_inc
+      does always the slow way, too
+  
+      PR from Vit Spinka <[email protected]>, thanks!
+  
+    - Show debug messages if $ENV{PERL_DL_DEBUG} is true
+
+-------------------------------------------------------------------

Old:
----
  PAR-1.015.tar.gz

New:
----
  PAR-1.016.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-PAR.spec ++++++
--- /var/tmp/diff_new_pack.t0Pj7z/_old  2019-05-21 10:41:43.027018655 +0200
+++ /var/tmp/diff_new_pack.t0Pj7z/_new  2019-05-21 10:41:43.027018655 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-PAR
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,18 +12,18 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 Name:           perl-PAR
-Version:        1.015
+Version:        1.016
 Release:        0
 %define cpan_name PAR
 Summary:        Perl Archive Toolkit
-License:        Artistic-1.0 or GPL-1.0+
+License:        Artistic-1.0 OR GPL-1.0-or-later
 Group:          Development/Libraries/Perl
-Url:            http://search.cpan.org/dist/PAR/
+Url:            https://metacpan.org/release/%{cpan_name}
 Source0:        
https://cpan.metacpan.org/authors/id/R/RS/RSCHUPP/%{cpan_name}-%{version}.tar.gz
 Source1:        cpanspec.yml
 BuildArch:      noarch
@@ -83,11 +83,11 @@
 %setup -q -n %{cpan_name}-%{version}
 
 %build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
-%{__make} %{?_smp_mflags}
+perl Makefile.PL INSTALLDIRS=vendor
+make %{?_smp_mflags}
 
 %check
-%{__make} test
+make test
 
 %install
 %perl_make_install

++++++ PAR-1.015.tar.gz -> PAR-1.016.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-1.015/Changes new/PAR-1.016/Changes
--- old/PAR-1.015/Changes       2017-04-13 17:24:36.000000000 +0200
+++ new/PAR-1.016/Changes       2019-05-20 20:09:13.000000000 +0200
@@ -1,3 +1,21 @@
+1.016  2019-05-20
+
+  - Fix #129312: Code signing for OSX
+    
+    Avoid Archive::Zip::Archive error "can't find EOCD signature" for pp'ed
+    executables with lots of stuff appended (e.g. by OSX codesign):
+    temporarily increase Archive::Zip::ChunkSize around the call to
+    Archive::Zip::readFromFileHandle().
+    
+    Note this is prerequisite for the corresponding fix in PAR::Packer.
+
+  - Fix: Archive::Unzip::Burst::unzip result is ignored and _extract_inc
+    does always the slow way, too
+
+    PR from Vit Spinka <[email protected]>, thanks!
+
+  - Show debug messages if $ENV{PERL_DL_DEBUG} is true
+
 1.015  2017-04-13
 
   - Fix RT#120722 (Reason for Module::Signature dependency unclear since 2008)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-1.015/MANIFEST new/PAR-1.016/MANIFEST
--- old/PAR-1.015/MANIFEST      2017-04-13 17:26:57.000000000 +0200
+++ new/PAR-1.016/MANIFEST      2019-05-20 20:11:27.000000000 +0200
@@ -1,5 +1,13 @@
 AUTHORS
 Changes
+inc/Module/Install.pm
+inc/Module/Install/Base.pm
+inc/Module/Install/Can.pm
+inc/Module/Install/Fetch.pm
+inc/Module/Install/Makefile.pm
+inc/Module/Install/Metadata.pm
+inc/Module/Install/Win32.pm
+inc/Module/Install/WriteAll.pm
 lib/PAR.pm
 lib/PAR/Environment.pod
 lib/PAR/FAQ.pod
@@ -12,6 +20,7 @@
 MANIFEST                       This list of files
 MANIFEST.SKIP
 META.yml
+PAR-1.012.tar.gz
 README
 t/00-pod.t
 t/01-basic.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-1.015/META.json new/PAR-1.016/META.json
--- old/PAR-1.015/META.json     2017-04-13 17:26:57.000000000 +0200
+++ new/PAR-1.016/META.json     2019-05-20 20:11:27.000000000 +0200
@@ -4,13 +4,13 @@
       "Audrey Tang <[email protected]>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.1002, CPAN::Meta::Converter 
version 2.150005",
+   "generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "perl_5"
    ],
    "meta-spec" : {
       "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
-      "version" : "2"
+      "version" : 2
    },
    "name" : "PAR",
    "no_index" : {
@@ -49,13 +49,16 @@
    },
    "release_status" : "stable",
    "resources" : {
+      "bugtracker" : {
+         "web" : "https://rt.cpan.org/Dist/Display.html?Queue=PAR";
+      },
       "repository" : {
          "type" : "git",
          "url" : "git://github.com/rschupp/PAR.git",
          "web" : "https://github.com/rschupp/PAR";
       },
-      "x_MailingList" : "[email protected]"
+      "x_MailingList" : "mailto:[email protected]";
    },
-   "version" : "1.015",
-   "x_serialization_backend" : "JSON::PP version 2.27300_01"
+   "version" : "1.016",
+   "x_serialization_backend" : "JSON::PP version 2.97001"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-1.015/META.yml new/PAR-1.016/META.yml
--- old/PAR-1.015/META.yml      2017-04-13 17:26:57.000000000 +0200
+++ new/PAR-1.016/META.yml      2019-05-20 20:11:27.000000000 +0200
@@ -8,7 +8,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.1002, CPAN::Meta::Converter 
version 2.150005'
+generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -27,7 +27,8 @@
   PAR::Dist: '0.32'
   perl: '5.008001'
 resources:
-  MailingList: [email protected]
+  MailingList: mailto:[email protected]
+  bugtracker: https://rt.cpan.org/Dist/Display.html?Queue=PAR
   repository: git://github.com/rschupp/PAR.git
-version: '1.015'
+version: '1.016'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-1.015/Makefile.PL new/PAR-1.016/Makefile.PL
--- old/PAR-1.015/Makefile.PL   2017-04-12 22:41:33.000000000 +0200
+++ new/PAR-1.016/Makefile.PL   2018-08-08 17:25:47.000000000 +0200
@@ -33,7 +33,8 @@
           url  => 'git://github.com/rschupp/PAR.git',
           web  => 'https://github.com/rschupp/PAR',
         },
-        MailingList => '[email protected]',
+        MailingList => 'mailto:[email protected]',
+        bugtracker => { web => 
'https://rt.cpan.org/Dist/Display.html?Queue=PAR' },
       },
     },
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-1.015/lib/PAR/Environment.pod 
new/PAR-1.016/lib/PAR/Environment.pod
--- old/PAR-1.015/lib/PAR/Environment.pod       2016-12-18 16:18:28.000000000 
+0100
+++ new/PAR-1.016/lib/PAR/Environment.pod       2018-09-12 18:28:22.000000000 
+0200
@@ -50,26 +50,10 @@
 If you are looking for the name and path of the pp-ed binary file,
 please refer to the C<PAR_PROGNAME> variable.
 
-=head2 PAR_ARGC, PAR_ARGV_0, PAR_ARGV_...
-
-You should not rely on these variables outside of the PAR binary loader
-code.
-
-These variables are set when a non-dependent pp-ed binary executable
-runs. The initially executed process extracts another binary and runs
-it as a child process. In order to pass its command line arguments to
-the child, the parent process sets C<PAR_ARG*> as they would be
-used in C programs: C<PAR_ARGC> has the number of arguments, C<PAR_ARGV_0>
-has the name of the executable, C<PAR_ARGV_*> are the command line arguments.
-
-If you would like to access the name of the running program (script or binary),
-please refer to C<PAR_0> and C<PAR_PROGNAME> instead!
-
-Related: C<PAR_SPAWNED>, C<PAR_0>, C<PAR_PROGNAME>
-
 =head2 PAR_CLEAN
 
 Users should set C<PAR_GLOBAL_CLEAN> instead.
+
 Recreated from C<PAR_GLOBAL_CLEAN> and the value of C<-C> from the YAML file
 by the PAR loader, and used within loader to control the initial behavior
 of extraction, and the final behavior of cleanup.  The user can reference
@@ -158,7 +142,7 @@
 You should not rely on this variable outside of the PAR binary loader
 code. For a slightly more detailed discussion, please refer to the
 F<who_am_i.txt> documentation file in the PAR source distribution
-which was contributed by Alan Stewart. Related: C<PAR_ARGC>, C<PAR_ARGV_*>
+which was contributed by Alan Stewart.
 
 Documented only to avoid surprises if spawned applications expect
 to see a value initialized by the user.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-1.015/lib/PAR/Heavy.pm 
new/PAR-1.016/lib/PAR/Heavy.pm
--- old/PAR-1.015/lib/PAR/Heavy.pm      2016-12-18 16:18:28.000000000 +0100
+++ new/PAR-1.016/lib/PAR/Heavy.pm      2019-03-11 20:46:23.000000000 +0100
@@ -21,6 +21,9 @@
 # NOTE: Don't "use" any module here, esp. one that is an XS module or 
 # whose "use" could cause the loading of an XS module thru its dependencies.
 
+# enable debug/trace messages from DynaLoader perl code
+my $dl_debug = $ENV{PERL_DL_DEBUG} || 0;
+
 my ($bootstrap, $dl_findfile);  # Caches for code references
 my ($cache_key);                # The current file to find
 my $is_insensitive_fs = (
@@ -34,6 +37,9 @@
     return if $bootstrap;
     return unless eval { require DynaLoader; DynaLoader::dl_findfile(); 1 };
 
+    print STDERR "PAR::Heavy: pre-hooks to Dynaloader's key methods\n"
+        if $dl_debug;
+
     $bootstrap   = \&DynaLoader::bootstrap;
     $dl_findfile = \&DynaLoader::dl_findfile;
 
@@ -45,12 +51,23 @@
 
 # Return the cached location of .dll inside PAR first, if possible.
 sub _dl_findfile {
-    return $FullCache{$cache_key} if exists $FullCache{$cache_key};
+    print STDERR "PAR::Heavy::_dl_findfile($cache_key)\n" if $dl_debug;
+
+    if (exists $FullCache{$cache_key}) {
+        print STDERR " found in FullCache as $FullCache{$cache_key}\n"
+            if $dl_debug;
+        return $FullCache{$cache_key};
+    }
     if ($is_insensitive_fs) {
         # We have a case-insensitive filesystem...
         my ($key) = grep { lc($_) eq lc($cache_key) } keys %FullCache;
-        return $FullCache{$key} if defined $key;
+        if (defined $key) {
+            print STDERR " found case-insensitively in FullCache as 
$FullCache{$key}\n"
+                if $dl_debug;
+            return $FullCache{$key};
+        }
     }
+    print STDERR " fall back to DynaLoader::dl_findfile\n" if $dl_debug;
     return $dl_findfile->(@_);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-1.015/lib/PAR.pm new/PAR-1.016/lib/PAR.pm
--- old/PAR-1.015/lib/PAR.pm    2016-12-18 17:39:37.000000000 +0100
+++ new/PAR-1.016/lib/PAR.pm    2019-05-20 20:03:29.000000000 +0200
@@ -1,5 +1,5 @@
 package PAR;
-$PAR::VERSION = '1.015';
+$PAR::VERSION = '1.016';
 
 use 5.006;
 use strict;
@@ -48,7 +48,7 @@
     % perl -MPAR=./foo.par -MHello
     % perl -MPAR=./foo -MHello          # the .par part is optional
 
-Same thing, but search F<foo.par> in the C<@INC>;
+Same thing, but search F<foo.par> in C<@INC>:
 
     % perl -MPAR -Ifoo.par -MHello
     % perl -MPAR -Ifoo -MHello          # ditto
@@ -213,13 +213,13 @@
 
 =item *
 
-If I<PAR_GLOBAL_TEMP> is not set, but I<PAR_CLEAN> is specified, set
-I<PAR_GLOBAL_TEMP> to C<I<TEMP>/par-I<USER>/temp-I<PID>/>, cleaning it
+If I<PAR_GLOBAL_TEMP> is not set, but I<PAR_GLOBAL_CLEAN> is specified, set
+I<PAR_GLOBAL_TEMP> to C<I<TEMP>/par-I<USERHEX>/temp-I<PID>/>, cleaning it
 after execution.
 
 =item *
 
-If both are not set,  use C<I<TEMP>/par-I<USER>/cache-I<HASH>/> as the
+If both are not set,  use C<I<TEMP>/par-I<USERHEX>/cache-I<HASH>/> as the
 I<PAR_GLOBAL_TEMP>, reusing any existing files inside.
 
 =back
@@ -239,9 +239,11 @@
 
 =item *
 
-I<USER> is the user name, or SYSTEM if none can be found.  On Win32, 
-this is C<$Win32::LoginName>.  On Unix, this is C<$ENV{USERNAME}> or 
-C<$ENV{USER}>.
+I<USERHEX> is derived from the user name, or SYSTEM if none can be found.
+On Win32, this is C<$Win32::LoginName>.
+On Unix, this is C<$ENV{USERNAME}> or C<$ENV{USER}>.
+Encode the raw bytes of the user name each as two hex digits
+to obtain I<USERHEX>.
 
 =item *
 
@@ -695,50 +697,44 @@
     {
         mkdir($inc, 0755);
 
-        undef $@;
-        if (!$is_handle) {
-          # First try to unzip the *fast* way.
-          eval {
-            require Archive::Unzip::Burst;
-            Archive::Unzip::Burst::unzip($file_or_azip_handle, $inc)
-              and die "Could not unzip '$file_or_azip_handle' into '$inc'. 
Error: $!";
-              die;
-          };
-
-          # This means the fast module is there, but didn't work.
-          if ($@ =~ /^Could not unzip/) {
-            die $@;
-          }
-        }
-
-        # either failed to load Archive::Unzip::Burst or got 
-        # an Archive::Zip handle: fallback to slow way.
-        if ($is_handle || $@) {
-          my $zip;
-          if (!$is_handle) {
-            open my $fh, '<', $file_or_azip_handle
-              or die "Cannot find '$file_or_azip_handle': $!";
-            binmode($fh);
-            bless($fh, 'IO::File');
-
-            $zip = Archive::Zip->new;
-            $zip->readFromFileHandle($fh, $file_or_azip_handle) == AZ_OK
-                or die "Read '$file_or_azip_handle' error: $!";
-          }
-          else {
-            $zip = $file_or_azip_handle;
-          }
-
-          for ( $zip->memberNames() ) {
-              s{^/}{};
-              my $outfile =  File::Spec->catfile($inc, $_);
-              next if -e $outfile and not -w _;
-              $zip->extractMember($_, $outfile);
-              # Unfortunately Archive::Zip doesn't have an option
-              # NOT to restore member timestamps when extracting, hence set 
-              # it to "now" (making it younger than the canary file).
-              utime(undef, undef, $outfile);
-          }
+        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);
+            }
+
+            for ( $zip->memberNames() ) {
+                s{^/}{};
+                my $outfile =  File::Spec->catfile($inc, $_);
+                next if -e $outfile and not -w _;
+                $zip->extractMember($_, $outfile);
+                # Unfortunately Archive::Zip doesn't have an option
+                # NOT to restore member timestamps when extracting, hence set 
+                # it to "now" (making it younger than the canary file).
+                utime(undef, undef, $outfile);
+            }
         }
 
         $ArchivesExtracted{$is_handle ? $file_or_azip_handle->fileName() : 
$file_or_azip_handle} = $inc;


Reply via email to