Hello community,

here is the log from the commit of package perl-PAR-Packer for openSUSE:Factory 
checked in at 2020-12-01 14:23:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-PAR-Packer (Old)
 and      /work/SRC/openSUSE:Factory/.perl-PAR-Packer.new.5913 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-PAR-Packer"

Tue Dec  1 14:23:41 2020 rev:17 rq:852066 version:1.051

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-PAR-Packer/perl-PAR-Packer.changes  
2020-03-19 19:54:39.468278435 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-PAR-Packer.new.5913/perl-PAR-Packer.changes    
    2020-12-01 14:24:01.945674182 +0100
@@ -1,0 +2,16 @@
+Mon Nov 30 03:07:04 UTC 2020 - Tina Müller <[email protected]>
+
+- updated to 1.051
+   see /usr/share/doc/packages/perl-PAR-Packer/Changes
+
+  1.051  2020-11-29
+  - Fix #27: "pp -u broken in perl 5.32"
+    ignore "pp -u ..." (with a warning) for Perl >= 5.31.6
+  - Fix #25: unexpected interaction between pp options "--compile" and 
"--module Foo::"
+    scan_deps_runtime() is called for all detected Foo:: modules, but
+    modules by themselves are typically not suitable for dynamic scanning
+    (causing lots of spurious warnings for "--compile").
+  - cleanup argv handling in myldr/main.c
+  - placate cperl ("Attempt to change hash while iterating over it.")
+
+-------------------------------------------------------------------

Old:
----
  PAR-Packer-1.050.tar.gz

New:
----
  PAR-Packer-1.051.tar.gz

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

Other differences:
------------------
++++++ perl-PAR-Packer.spec ++++++
--- /var/tmp/diff_new_pack.jU9di9/_old  2020-12-01 14:24:02.449674728 +0100
+++ /var/tmp/diff_new_pack.jU9di9/_new  2020-12-01 14:24:02.453674732 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-PAR-Packer
 #
-# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,13 @@
 
 
 Name:           perl-PAR-Packer
-Version:        1.050
+Version:        1.051
 Release:        0
 %define cpan_name PAR-Packer
 Summary:        PAR Packager
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Group:          Development/Libraries/Perl
-Url:            https://metacpan.org/release/%{cpan_name}
+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
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ PAR-Packer-1.050.tar.gz -> PAR-Packer-1.051.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-Packer-1.050/Changes new/PAR-Packer-1.051/Changes
--- old/PAR-Packer-1.050/Changes        2020-03-18 09:06:22.000000000 +0100
+++ new/PAR-Packer-1.051/Changes        2020-11-29 23:04:15.000000000 +0100
@@ -1,60 +1,74 @@
+1.051  2020-11-29
+
+- Fix #27: "pp -u broken in perl 5.32"
+  ignore "pp -u ..." (with a warning) for Perl >= 5.31.6
+
+- Fix #25: unexpected interaction between pp options "--compile" and "--module 
Foo::"
+  scan_deps_runtime() is called for all detected Foo:: modules, but
+  modules by themselves are typically not suitable for dynamic scanning
+  (causing lots of spurious warnings for "--compile").
+
+- cleanup argv handling in myldr/main.c
+
+- placate cperl ("Attempt to change hash while iterating over it.")
+
 1.050  2020-03-18
 
 - Rethink use of Filter::PodStrip.
-  
-  Do not add directives 
+
+  Do not add directives
 
   #line 1 "file"
 
   to packed modules except for "embdeded" files.
-  We still add these directives to "embedded" files as these are extracted 
+  We still add these directives to "embedded" files as these are extracted
   with mangled names which makes it hard to make sense of warn() or die() 
messages
   caused by them. These are all core modules and don't reference __FILE__.
 
   This should make use of __FILE__ in packed modules work without
   workarounds. __FILE__ is typically used to refer to installed non-module
   resources, e.g.
-  
+
     # MIME::Types
     my $db = File::Spec->catfile(dirname(__FILE__), 'types.db');
-  
+
     # Mozilla::CA
     my $ca_file = File::Spec->catfile(dirname(__FILE__), "CA", "cacert.pem");
-  
+
     # Mojo::File (__FILE__ used implicitly by caller())
     sub curfile { __PACKAGE__->new(Cwd::realpath((caller)[1])) }
-  
+
   Hence, remove known workarounds from Filter::PatchContent and add a test.
-  
+
 - Fix RT#130685: core module detection doesn't work with -Duserelocatableinc
-  
+
   Original patch by [email protected], thanx!
   Added a test for this.
 
 1.049  2019-05-31
 
 - Fix RT#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).
-  
-  Note: This requires the corresponding fix in PAR in 1.016, 
+
+  Note: This requires the corresponding fix in PAR in 1.016,
   hence bump its required version.
-    
+
   Add a test by appending 512 kB to a pp'ed executable.
 
 - Fix issue GitHub#15 (doesn't build with a relocatable version of perl)
-  
+
   If the perl used to build PAR::Packer is a relocatable perl,
   i.e. it was build with -Duserelocatableinc, then myldr/par will
   also be relocatable. Hence, the automagical default @INC for myldr/par
-  is something like ("myldr/../lib/5.x.y", 
+  is something like ("myldr/../lib/5.x.y",
   "myldr/../lib/site_perl/5.x.y", ...) which won't find any modules.
 
 1.048  2019-04-29
 
 - Fix RT#129312: Code signing for OSX
-  
+
   Apply pull request from Philip Kime, adds a small program that will fix up
   an executable generated by pp so that MacOS codesigning will accept it,
   see contrib/pp_osx_codesign_fix/pp_osx_codesign_fix.c
@@ -64,21 +78,21 @@
   look for their respective signatures.
 
 - Fix GitHub issue #12: sha1.c warnings due to inconsistent USE_64_BIT_INT
-  
+
   Do not "inline" sha1.c (into main.c and boot.c vi mktmp.c), instead
   just link to it. There's no reason that callers of
   sha_init/sha_update/sha_final should know about the implementation of 
SHA_INFO.
 
-  myldr/sha1.c: stop including perl.h etc, instead pass the necessary 
#define's 
+  myldr/sha1.c: stop including perl.h etc, instead pass the necessary #define's
   via the compile command
 
 - Fix GitHub issue #13: `par.exe -b` failure with Portable::Config
-    
-  Note to users of Strawberry Perl *portable* installations: 
+
+  Note to users of Strawberry Perl *portable* installations:
   There's a bad interaction between a Strawberry *portable* installation if you
   also have a *standard* Strawberry installation installed in C:\strawberry.
   Under certain conditions, parl created by the portable installation
-  may have have a built-in @INC of [ C:\strawberry\perl\lib, 
C:\strawberry\perl\site\lib, 
+  may have have a built-in @INC of [ C:\strawberry\perl\lib, 
C:\strawberry\perl\site\lib,
   C:\strawberry\perl\vendor\lib ], i.e. pointing to the *standard* 
installation.
   This will cause it to load modules from the *standard* installation. If the 
versions
   of the two installations are different, this may cause weird failures.
@@ -86,7 +100,7 @@
 - Always require Digest::SHA, remove ugly alternatives
 
 - Make "pp -e 0" work, apparently nobody noticed
-    
+
 1.047  2018-08-19
 
 - Disable failing test cases in (Windows only) test t/90-rt122949.t
@@ -98,7 +112,7 @@
 - Fix RT#126280: 90-rt122949.t fails when "Use Unicode UTF-8 for worldwide 
language support" is enabled
 
 - Fix https://github.com/rschupp/PAR-Packer/issues/7 "Parallel build rules 
dependancy problem"
-  
+
   Instead of fighting GNU make and EUMM, just punt and add a .NOTPARALLEL
   target. Yeah, I know that this is specific to GNU make (though some
   other make implementations support it, too).
@@ -108,17 +122,17 @@
 1.045  2018-06-12
 
 - Fix RT#125503: Fix build with 64-bit perl-5.28.0
-    
+
   Merged patch by Steve Hay, thanks!
 
 1.044  2018-06-06
 
 - Cope with the fact that PL_statbuf is gone since Perl 5.27.x.
-  
+
   This breaks PAR::Packer on systems where Perl's "Stat_t" is not
   the same as "struct stat", notably Windows.
 
-- Extract-embedded.pl: list (but not extract) the embedded files 
+- Extract-embedded.pl: list (but not extract) the embedded files
   if no directory is given
 
 - Use the long option name "--link" in messages (as "-l" may easily be
@@ -131,12 +145,12 @@
 1.042  2018-04-02
 
 - Fix PAR-Packer#5 "unintended glob expansion on strawberry win32?"
-   
+
   On Windows using Mingw set _CRT_glob=0 also in parl (the custom
   Perl interpreter).
 
 - Fix RT #124445 "Par-Packer 'falsifies' PerlTk server() and Win32 GetOSName() 
and GetOSVersion() output on Windows 10"
-   
+
   Add <compatibility> section to pp.manifest
   (cf. 
https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241(v=vs.85).aspx)
   to make par.exe "Windows 10 aware".
@@ -163,7 +177,7 @@
 
 - restructure how we find the files to embed into boot.c
 
-- avoid an error with newer gcc: "error: 'for' loop initial declarations 
+- avoid an error with newer gcc: "error: 'for' loop initial declarations
   are only allowed in C99 or C11 mode"
 
 - fix tests when running without "." in @INC even (even in tests)
@@ -178,7 +192,7 @@
   - on Windows, quote elements of argv array passed to spawnvp();
     algorithm stolen from Win32::ShellQuote.
 
-- introduce helper t/utils.pl to streamline tests 
+- introduce helper t/utils.pl to streamline tests
 
 - require IPC::Run3 for test
 
@@ -645,7 +659,7 @@
           --info still doesn't work, so I disabled this option for now;
           at least on some platforms, "pp --info ..." results in a corrupted
        executable that Windows refuses to execute
-       
+
       - fix a problem with "pp --gui": the copy of par.exe extracted
         to the cache area (but with the same name as the packed executable)
         still used a console window though packed with "pp --gui ..."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-Packer-1.050/MANIFEST.SKIP 
new/PAR-Packer-1.051/MANIFEST.SKIP
--- old/PAR-Packer-1.050/MANIFEST.SKIP  2019-03-02 18:15:57.000000000 +0100
+++ new/PAR-Packer-1.051/MANIFEST.SKIP  2020-08-16 14:16:48.000000000 +0200
@@ -1,7 +1,5 @@
-#defaults
-^\..*\.swp$
+#!include_default
 ^contrib/automated_pp_test/pp_switch_tests
-^inc/\.author/\.keep
 ^myldr/Makefile$
 ^myldr/Makefile\.old$
 ^myldr/MYMETA\.
@@ -21,19 +19,8 @@
 ^package/parl-.*$
 ^script/parl(?:\.(?!pod).+)?$
 ^script/parldyn(?:\.(?!pod).+)?$
-^Makefile$
-^Makefile.old$
-^META\.
 ^MYMETA\.
-^blib/
-^pm_to_blib
-^blibdirs
-\B\.svn\b
-\B\.git\b
-\B\.gitignore\b
 ^a\.out$
-.*\.bak$
-.*\.swp$
 .*\.o$
 .*\.obj$
 .*\.exe$
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-Packer-1.050/META.json 
new/PAR-Packer-1.051/META.json
--- old/PAR-Packer-1.050/META.json      2020-03-18 09:12:16.000000000 +0100
+++ new/PAR-Packer-1.051/META.json      2020-11-29 23:22:00.000000000 +0100
@@ -4,7 +4,7 @@
       "Audrey Tang <[email protected]>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "perl_5"
    ],
@@ -78,6 +78,6 @@
       },
       "x_MailingList" : "mailto:[email protected]";
    },
-   "version" : "1.050",
-   "x_serialization_backend" : "JSON::PP version 4.02"
+   "version" : "1.051",
+   "x_serialization_backend" : "JSON::PP version 4.05"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-Packer-1.050/META.yml 
new/PAR-Packer-1.051/META.yml
--- old/PAR-Packer-1.050/META.yml       2020-03-18 09:12:16.000000000 +0100
+++ new/PAR-Packer-1.051/META.yml       2020-11-29 23:22:00.000000000 +0100
@@ -14,7 +14,7 @@
   File::Glob: '0'
   File::Spec::Functions: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -48,5 +48,5 @@
   MailingList: mailto:[email protected]
   bugtracker: https://rt.cpan.org/Dist/Display.html?Queue=PAR-Packer
   repository: git://github.com/rschupp/PAR-Packer.git
-version: '1.050'
+version: '1.051'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-Packer-1.050/lib/PAR/Packer.pm 
new/PAR-Packer-1.051/lib/PAR/Packer.pm
--- old/PAR-Packer-1.050/lib/PAR/Packer.pm      2020-03-18 08:52:16.000000000 
+0100
+++ new/PAR-Packer-1.051/lib/PAR/Packer.pm      2020-09-03 11:58:26.000000000 
+0200
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.050';
+our $VERSION = '1.051';
 
 =head1 NAME
 
@@ -668,19 +668,14 @@
     $root = "$Config{archname}/" if ($opt->{m});
     $self->{pack_attrib}{root} = '';
 
-    my @mscandeps_cache;
-    if (defined $opt->{cachedeps}) {
-        @mscandeps_cache = (cache_file => $opt->{cachedeps});
-    }
-
     my $par_file = $self->{par_file};
     my (@modules, @data, @exclude);
 
     # Search for scannable code in all -I'd paths
-    # NOTE: We need this early, because Module::ScanDeps::_find_in_inc 
+    # NOTE: We need this early, because Module::ScanDeps::_find_in_inc
     # and others refer to @IncludeLibs.
     push @Module::ScanDeps::IncludeLibs, @{$opt->{I}} if $opt->{I};
-    
+
     foreach my $name (@{ $opt->{M} || [] }) {
         if ($name =~ s/^([\w:]+)::(\*{0,2})$/$1/) {
             my $ns = length $2;        # namespace depth indicator
@@ -696,14 +691,19 @@
                 ? Module::ScanDeps::_glob_in_inc_1($mod, 1)
                 : Module::ScanDeps::_glob_in_inc($mod, 1);
             $self->_name2moddata($_, \@modules, \@data) foreach @mods_in_ns;
-        } 
+        }
         else {
             $self->_name2moddata($name, \@modules, \@data);
         }
     }
 
     if ($opt->{u}) {
-        push @modules, "utf8_heavy.pl";
+        if ($] lt '5.031006') {
+            push @modules, "utf8_heavy.pl";
+        }
+        else {
+            $self->_warn("'-u' is not needed for Perl >= 5.31.6");
+        }
     }
 
     # Skip either
@@ -737,49 +737,51 @@
 
     my $add_deps = $self->_obj_function($fe, 'add_deps');
 
-    my @files; # files to scan
-    # Apply %Preload to the -M'd modules and add them to the list of
-    # files to scan
-    foreach my $module (@modules) {
-        my $file = Module::ScanDeps::_find_in_inc($module)
-          or $self->_die("Cannot find module $module (specified with -M)\n");
-        push @files, $file;
-        
-        my @preload = Module::ScanDeps::_get_preload($module) or next;
-        
-        $add_deps->(
-            used_by => $file,
-            rv      => \%map,
-            modules => \@preload,
-            skip    => \%skip,
-#            warn_missing => $args->{warn_missing},
-        );
-    }
-    push @files, @$input;
-
     if ($opt->{x} && defined $opt->{xargs}) {
         require Text::ParseWords;
         $opt->{x} = [ Text::ParseWords::shellwords($opt->{xargs}) ];
     }
 
-    my $scan_dispatch =
-      $opt->{n}
-      ? $self->_obj_function($fe, 'scan_deps_runtime')
-      : $self->_obj_function($fe, 'scan_deps');
+    if (!$opt->{n}) {
+        my @files = @$input;
 
+        # apply %Preload to the -M'd modules and add them to the list of files 
to scan
+        foreach my $module (@modules) {
+            my $file = Module::ScanDeps::_find_in_inc($module)
+              or $self->_die("Cannot find module $module (specified with 
-M)\n");
+            push @files, $file;
+
+            my @preload = Module::ScanDeps::_get_preload($module) or next;
+
+            $add_deps->(
+                used_by => $file,
+                rv      => \%map,
+                modules => \@preload,
+                skip    => \%skip,
+            );
+        }
 
-    $scan_dispatch->(
-        rv      => \%map,
-        files   => \@files,
-        execute => $opt->{x},
-        compile => $opt->{c},
-        skip    => \%skip,
-        @mscandeps_cache,
-        ($opt->{n}) ? () : (
+        # run static scan on the augmented file list
+        $self->_obj_function($fe, 'scan_deps')->(
+            rv      => \%map,
+            files   => \@files,
+            skip    => \%skip,
             recurse => 1,
-            first   => 1,
-        ),
-    );
+            ($opt->{cachedeps}) ?  (cache_file => $opt->{cachedeps}) : (),
+        );
+    }
+
+    if ($opt->{c} || $opt->{x}) {
+        # run dynamic scan in the original $input files
+        $self->_obj_function($fe, 'scan_deps_runtime')->(
+            rv      => \%map,
+            files   => $input,
+            execute => $opt->{x},
+            compile => $opt->{c},
+            skip    => \%skip,
+            ($opt->{cachedeps}) ?  (cache_file => $opt->{cachedeps}) : (),
+        );
+    }
 
     # Note: _find_in_inc() may return ()
     %skip = map { $_ => 1 } grep { defined } map { 
Module::ScanDeps::_find_in_inc($_) } @exclude;
@@ -822,7 +824,7 @@
     # generate a selective set of filters from the options passed in via -F
     my $mod_filter = _generate_filter($opt, 'F');
 
-    my ($privlib, $archlib) = map { (my $lib = $_) =~ s{\\}{/}g; $lib } 
+    my ($privlib, $archlib) = map { (my $lib = $_) =~ s{\\}{/}g; $lib }
                                   @Config{qw(privlibexp archlibexp)};
 
     foreach my $pfile (sort grep length $map{$_}, keys %map) {
@@ -889,7 +891,7 @@
             }
         }
         elsif ($^O eq 'darwin') {
-            # try "otool -D $file", expect itwo lines of output like 
+            # try "otool -D $file", expect itwo lines of output like
             #   $file:
             #   path
             # Note: some versions of otool report just a name in the
@@ -946,7 +948,7 @@
 
     my $verbatim = ($ENV{PAR_VERBATIM} || 0);
 
-    # List of filters. If the regex is undefined or matches the 
+    # List of filters. If the regex is undefined or matches the
     # file name (e.g. Foo/Bar.pm), apply filter to this module.
     my @filters = (
         { regex => undef, filter => PAR::Filter->new('PatchContent') },
@@ -1095,17 +1097,16 @@
     my $root        = $self->{pack_attrib}{root};
     my $shared_libs = $self->{pack_attrib}{shared_libs};
 
-    $zip->addDirectory('', substr($root, 0, -1))->unixFileAttributes(0755)
-      if ($root and %$map and $] >= 5.008);
-    $zip->addDirectory('', $root . 'lib')->unixFileAttributes(0755) if (%$map 
and $] >= 5.008);
+    $zip->addDirectory('', substr($root, 0, -1))->unixFileAttributes(0755) if 
($root and %$map);
+    $zip->addDirectory('', $root . 'lib')->unixFileAttributes(0755) if %$map;
 
     my $shlib = "shlib/$Config{archname}";
-    $zip->addDirectory('', $shlib)->unixFileAttributes(0755) if (@$shared_libs 
and $] >= 5.008);
+    $zip->addDirectory('', $shlib)->unixFileAttributes(0755) if @$shared_libs;
 
     my @tmp_input = @$input;
     @tmp_input = grep !/\.pm\z/i, @tmp_input;
 
-    $zip->addDirectory('', 'script')->unixFileAttributes(0755) if (@tmp_input 
and $] >= 5.008);
+    $zip->addDirectory('', 'script')->unixFileAttributes(0755) if @tmp_input;
 
     my $in;
     foreach $in (sort keys(%$pack_manifest)) {
@@ -1324,7 +1325,7 @@
     my ($fh, $filename) = tempfile(
         "parlXXXXXXX", SUFFIX => $Config{_exe}, TMPDIR => 1, UNLINK => 1);
     close $fh;
-    
+
     my $success = $class->write_parl($filename);
     if (not $success) {
         $self->_die("Failed to extract a parl from '$class' to file 
'$filename'");
@@ -1364,7 +1365,7 @@
     unshift @args, '-q' unless $opt->{v} > 0;
     if ($opt->{B}) {
         unshift @args, "-B";
-    } 
+    }
     if ($opt->{L}) {
         unshift @args, "-L".$opt->{L};
     }
@@ -1563,7 +1564,7 @@
         # loader (ld.so). But it's the best guess we've got.
         @libpath = split(' ', $Config{libpth});
 
-        # add $ENV{LD_LIBRARY_PATH} (or equivalent) if defined 
+        # add $ENV{LD_LIBRARY_PATH} (or equivalent) if defined
         my $ldlibpath = $ENV{ $Config{ldlibpthname} };
         unshift @libpath, split(/\Q$Config{path_sep}\E/, $ldlibpath)
             if defined $ldlibpath;
@@ -1593,7 +1594,7 @@
     my $dlext = $^O eq 'darwin' ? 'dylib' : $Config{dlext};
     for my $dir (@path)
     {
-        $dir = '.' if $dir eq '';      
+        $dir = '.' if $dir eq '';
         foreach my $p (catfile($dir, $file), catfile($dir, "$file.$dlext"))
         {
             return abs_path($p) if -e $p;
@@ -1616,7 +1617,7 @@
 
 sub _main_pl_multi {
     my ($self) = @_;
-   
+
     # insert code for @INC cleaning (in case of bundling core modules)
     my $clean_inc = $self->_main_pl_clean();
     # insert code for reusable apps
@@ -1651,7 +1652,7 @@
 
 sub _main_pl_single {
     my ($self, $file) = @_;
-    
+
     # insert code for @INC cleaning (in case of bundling core modules)
     my $clean_inc = $self->_main_pl_clean();
     # insert code for reusable apps
@@ -1708,7 +1709,7 @@
 sub _main_pl_clean {
     my $self = shift;
     my $opt = $self->{options};
-    
+
     my $clean_inc = '';
     if ($opt->{B}) { # bundle core modules
         # weed out all @INC entries
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-Packer-1.050/lib/pp.pm 
new/PAR-Packer-1.051/lib/pp.pm
--- old/PAR-Packer-1.050/lib/pp.pm      2020-03-08 23:54:55.000000000 +0100
+++ new/PAR-Packer-1.051/lib/pp.pm      2020-09-03 13:12:33.000000000 +0200
@@ -25,7 +25,7 @@
         require Text::ParseWords;
         unshift @ARGV, Text::ParseWords::shellwords($ENV{PP_OPTS});
     }
-    
+
     my %opt;
     GetOptions( \%opt, PAR::Packer->options, 'h|help', 'V|version' )
         or die qq[Run "$0 --help" to show available options.\n];
@@ -263,8 +263,8 @@
 
 =item B<--xargs>=I<STRING>
 
-If B<-x> is given, splits the C<STRING> using the function 
-C<shellwords> from L<Text::ParseWords> and passes the result 
+If B<-x> is given, splits the C<STRING> using the function
+C<shellwords> from L<Text::ParseWords> and passes the result
 as C<@ARGV> when running C<perl inputfile>.
 
 =item B<-X>, B<--exclude>=I<MODULE>
@@ -316,7 +316,7 @@
 =item B<-F>, B<--modfilter>=I<FILTER[=REGEX]>,
 
 Filter included perl module(s) with a L<PAR::Filter> subclass.
-You may specify multiple such filters. 
+You may specify multiple such filters.
 
 By default, the I<PodStrip> filter is applied.  In case
 that causes trouble, you can turn this off by setting the
@@ -351,7 +351,7 @@
 
 =item B<-M Foo::>
 
-Shorthand for C<-M Foo -M Foo:**>: every module in the C<Foo> namespace 
+Shorthand for C<-M Foo -M Foo:**>: every module in the C<Foo> namespace
 including C<Foo> itself.
 
 =back
@@ -378,7 +378,7 @@
 
 =item B<-N>, B<--namespace>=I<NAMESPACE>
 
-Add all modules in the namespace into the package, 
+Add all modules in the namespace into the package,
 along with their dependencies. If C<NAMESPACE> is something like C<Foo::Bar>
 then this will add all modules C<Foo/Bar/Quux.pm>, C<Foo/Bar/Fred/Barnie.pm> 
etc
 that can be located in your module search path. It mimics the behaviour
@@ -441,13 +441,15 @@
 
 =item B<-u>, B<--unicode>
 
+Note: This option is ignored for Perl 5.32 and above.
+
 Package Unicode support (essentially F<utf8_heavy.pl> and everything
-below the directory F<unicore> in your perl library). 
+below the directory F<unicore> in your perl library).
 
 This option exists because it is impossible to detect using static analysis
-if your program needs Unicode support at runtime. (Note: If your 
+whether your program needs Unicode support at runtime. (Note: If your
 program contains C<use utf8> this does B<not> imply it needs Unicode
-support. It merely says that your program is written in UTF-8.)
+support. It merely says that your program source is written in UTF-8.)
 
 If your packed program exits with an error message like
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-Packer-1.050/myldr/find_files_to_embed/ldd.pl 
new/PAR-Packer-1.051/myldr/find_files_to_embed/ldd.pl
--- old/PAR-Packer-1.050/myldr/find_files_to_embed/ldd.pl       2020-03-08 
23:54:55.000000000 +0100
+++ new/PAR-Packer-1.051/myldr/find_files_to_embed/ldd.pl       2020-07-18 
16:50:45.000000000 +0200
@@ -24,9 +24,9 @@
     my $dlls = ldd($par); 
 
     # weed out system libs (but exclude the shared perl lib)
-    while  (my ($name, $path) = each %$dlls)
+    foreach my $name (keys %$dlls)
     {
-        delete $dlls->{$name} if is_system_lib($path) && $name !~ /perl/;
+        delete $dlls->{$name} if is_system_lib($dlls->{$name}) && $name !~ 
/perl/;
     }
 
     return $dlls;
@@ -46,8 +46,9 @@
     # while newer versions omit "=>" in this case.
     my %dlls = $out =~ /^ \s* (\S+) \s* => \s* ( \/ \S+ ) /gmx;
 
-    while (my ($name, $path) = each %dlls)
+    foreach my $name (keys %dlls)
     {
+        my $path = $dlls{$name};
         unless (-e $path)
         {
             warn qq[# ldd reported strange path: $path\n];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-Packer-1.050/myldr/find_files_to_embed/otool.pl 
new/PAR-Packer-1.051/myldr/find_files_to_embed/otool.pl
--- old/PAR-Packer-1.050/myldr/find_files_to_embed/otool.pl     2020-03-08 
23:54:55.000000000 +0100
+++ new/PAR-Packer-1.051/myldr/find_files_to_embed/otool.pl     2020-07-18 
16:53:00.000000000 +0200
@@ -13,8 +13,9 @@
     my $dlls = otool($par); 
 
     # weed out system libs (but exclude the shared perl lib)
-    while  (my ($name, $path) = each %$dlls)
+    foreach my $name (keys %$dlls)
     {
+        my $path = $dlls->{$name};
         delete $dlls->{$name} if is_system_lib($path) && basename($path) !~ 
/perl/;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/PAR-Packer-1.050/myldr/find_files_to_embed/recursive_objdump.pl 
new/PAR-Packer-1.051/myldr/find_files_to_embed/recursive_objdump.pl
--- old/PAR-Packer-1.050/myldr/find_files_to_embed/recursive_objdump.pl 
2020-03-08 23:54:55.000000000 +0100
+++ new/PAR-Packer-1.051/myldr/find_files_to_embed/recursive_objdump.pl 
2020-07-18 16:51:50.000000000 +0200
@@ -56,9 +56,9 @@
     $walker->(Cwd::abs_path($path));
 
     # weed out system libraries
-    while (my ($name, $path) = each %dlls)
+    foreach my $name (keys %dlls)
     {
-        delete $dlls{$name} if is_system_lib($path);
+        delete $dlls{$name} if is_system_lib($dlls{$name});
     }
         
     return \%dlls;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-Packer-1.050/myldr/internals.c 
new/PAR-Packer-1.051/myldr/internals.c
--- old/PAR-Packer-1.050/myldr/internals.c      2020-03-08 23:54:55.000000000 
+0100
+++ new/PAR-Packer-1.051/myldr/internals.c      2020-08-27 10:35:01.000000000 
+0200
@@ -12,22 +12,6 @@
         par_init_env();
     }
 
-    /* Remove the PAR/parl options from @ARGV */
-    if ((tmpgv = gv_fetchpv("ARGV", TRUE, SVt_PVAV))) {/* @ARGV */
-        tmpav = GvAV(tmpgv);
-        for (i = 1; i < options_count; i++) {
-            svp = av_fetch(tmpav, i-1, 0);
-            if (!svp) break;
-            if (strcmp(fakeargv[i], SvPV_nolen(*svp))) break;
-            ok++;
-        }
-        if (ok == options_count - 1) {
-            for (i = 1; i < options_count; i++) {
-                SV* unused = av_shift(tmpav);
-            }
-        }
-    }
-
     if ((tmpgv = gv_fetchpv("\030",TRUE, SVt_PV))) {/* $^X */
 #ifdef WIN32
         sv_setpv(GvSV(tmpgv),"perl.exe");
@@ -51,7 +35,7 @@
 #else
             prog = par_current_exec();
 
-            if( prog != NULL ) {            
+            if( prog != NULL ) {
                 sv_setpv( GvSV(tmpgv), prog );
                 free( prog );
             }
@@ -94,12 +78,12 @@
     stmpdir = par_getenv("PAR_TEMP");
     if ( !stmpdir ) {
         stmpdir = par_mktmpdir( fakeargv );
-        if ( !stmpdir ) 
+        if ( !stmpdir )
             croak("Unable to create cache directory");
     }
     i = PerlDir_mkdir(stmpdir, 0700);
     if ( (i != 0) && (i != EEXIST) && (i != -1) ) {
-        croak("%s: creation of private cache subdirectory %s failed 
(errno=%i)\n", 
+        croak("%s: creation of private cache subdirectory %s failed 
(errno=%i)\n",
               fakeargv[0], stmpdir, i);
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-Packer-1.050/myldr/main.c 
new/PAR-Packer-1.051/myldr/main.c
--- old/PAR-Packer-1.050/myldr/main.c   2020-03-08 23:54:55.000000000 +0100
+++ new/PAR-Packer-1.051/myldr/main.c   2020-08-27 10:46:31.000000000 +0200
@@ -13,9 +13,8 @@
 
 static PerlInterpreter *my_perl;
 
-static char *stmpdir;
-static int options_count;
 static char **fakeargv;
+static char *stmpdir;
 
 #ifdef HAS_PROCSELFEXE
 /* This is a function so that we don't hold on to MAXPATHLEN
@@ -61,7 +60,8 @@
 {
     int exitstatus;
     int i;
-    int argno = 0;
+    int argno;
+    int fakeargc;
 
 #ifdef PERL_GPROF_MONCONTROL
     PERL_GPROF_MONCONTROL(0);
@@ -99,19 +99,13 @@
     PL_exit_flags |= PERL_EXIT_EXPECTED;
 #endif /* PERL_EXIT_EXPECTED */
 
+    fakeargc = argc + 3;        /* allow for "-e", my_par_pl, "--" arguments */
 #ifdef PERL_PROFILING
-#define PROFILING_OPTION 1
-#else
-#define PROFILING_OPTION 0
+    fakeargc++;                 /* "-d:DProf" */
 #endif
+    New(666, fakeargv, fakeargc + 1, char *);
 
-#ifdef ALLOW_PERL_OPTIONS
-#define EXTRA_OPTIONS 3
-#else
-#define EXTRA_OPTIONS 4
-#endif /* ALLOW_PERL_OPTIONS */
-    New(666, fakeargv, argc + EXTRA_OPTIONS + 1 + PROFILING_OPTION, char *);
-
+    argno = 0;
     fakeargv[argno++] = argv[0];
 #ifdef PERL_PROFILING
     fakeargv[argno++] = "-d:DProf";
@@ -119,19 +113,14 @@
 
     fakeargv[argno++] = "-e";
     fakeargv[argno++] = (char *)my_par_pl;
-
-#ifndef ALLOW_PERL_OPTIONS
     fakeargv[argno++] = "--";
-#endif /* ALLOW_PERL_OPTIONS */
-
-    options_count = argno;
 
+    /* append argv[1 .. argc-1], NULL to argv */
     for (i = 1; i < argc; i++)
-        fakeargv[i + options_count - 1] = argv[i];
-    fakeargv[argc + options_count - 1] = NULL;
+        fakeargv[argno++] = argv[i];
+    fakeargv[argno] = NULL;
 
-    exitstatus = perl_parse(my_perl, par_xs_init, argc + options_count - 1,
-                            fakeargv, NULL);
+    exitstatus = perl_parse(my_perl, par_xs_init, fakeargc, fakeargv, NULL);
 
     if (exitstatus == 0)
        exitstatus = perl_run( my_perl );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PAR-Packer-1.050/script/par.pl 
new/PAR-Packer-1.051/script/par.pl
--- old/PAR-Packer-1.050/script/par.pl  2020-03-08 23:54:55.000000000 +0100
+++ new/PAR-Packer-1.051/script/par.pl  2020-08-27 11:03:28.000000000 +0200
@@ -143,7 +143,7 @@
 
 =item * Ending section
 
-The pre-computed cache name.  A pack('Z40') string of the value of -T 
+The pre-computed cache name.  A pack('Z40') string of the value of -T
 (--tempcache) or the hash of the file, followed by C<\0CACHE>.  The hash
 of the file is calculated with L<Digest::SHA>.
 
@@ -257,7 +257,7 @@
     }
     last if $magic_pos < 0;
 
-    # Seek 4 bytes backward from the signature to get the offset of the 
+    # Seek 4 bytes backward from the signature to get the offset of the
     # first embedded FILE, then seek to it
     seek _FH, $magic_pos - 4, 0;
     read _FH, $buf, 4;
@@ -484,7 +484,7 @@
     }
 
     CreatePath($out) ;
-    
+
     my $fh = IO::File->new(
         $out,
         IO::File::O_CREAT() | IO::File::O_WRONLY() | IO::File::O_TRUNC(),
@@ -521,7 +521,7 @@
 
         require_modules();
 
-        my @inc = grep { !/BSDPAN/ } 
+        my @inc = grep { !/BSDPAN/ }
                        grep {
                            ($bundle ne 'site') or
                            ($_ ne $Config::Config{archlibexp} and
@@ -997,4 +997,4 @@
 
 =cut
 
-__END__
+ __END__
_______________________________________________
openSUSE Commits mailing list -- [email protected]
To unsubscribe, email [email protected]
List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette
List Archives: 
https://lists.opensuse.org/archives/list/[email protected]

Reply via email to