Hello community,

here is the log from the commit of package perl-Module-Build for 
openSUSE:Factory checked in at 2016-08-22 10:49:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Module-Build (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Module-Build.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Module-Build"

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Module-Build/perl-Module-Build.changes      
2016-05-31 12:08:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Module-Build.new/perl-Module-Build.changes 
2016-08-22 10:49:14.000000000 +0200
@@ -1,0 +2,20 @@
+Wed Aug 17 05:34:16 UTC 2016 - [email protected]
+
+- updated to 0.4220
+   see /usr/share/doc/packages/perl-Module-Build/Changes
+
+  0.4220 - Tue Aug 16 22:11:14 CEST 2016
+  
+    - Released 0.42_19 as 0.4220
+  
+  0.42_19 - Sun Aug  7 17:07:38 CEST 2016
+  
+    - Initialize MM Compat environmental variables to empty strings [Leon 
Timmermans]
+  
+    - Skip PPM test when link_executable fails [Leon Timmermans]
+  
+    - Make more actions deterministic [Zefram]
+  
+    - Preprocess file lists generated by rscan_dir() to sort them [Niko Tyni]
+
+-------------------------------------------------------------------

Old:
----
  Module-Build-0.4218.tar.gz

New:
----
  Module-Build-0.4220.tar.gz

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

Other differences:
------------------
++++++ perl-Module-Build.spec ++++++
--- /var/tmp/diff_new_pack.GCQ1F7/_old  2016-08-22 10:49:15.000000000 +0200
+++ /var/tmp/diff_new_pack.GCQ1F7/_new  2016-08-22 10:49:15.000000000 +0200
@@ -17,10 +17,10 @@
 
 
 Name:           perl-Module-Build
-Version:        0.421800
+Version:        0.422000
 Release:        0
-%define cpan_version 0.4218
-Provides:       perl(Module::Build) = 0.421800
+%define cpan_version 0.4220
+Provides:       perl(Module::Build) = 0.422000
 %define cpan_name Module-Build
 Summary:        Build and install Perl modules
 License:        Artistic-1.0 or GPL-1.0+
@@ -100,7 +100,6 @@
 
 %prep
 %setup -q -n %{cpan_name}-%{cpan_version}
-find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644
 
 %build
 %{__perl} Build.PL installdirs=vendor

++++++ Module-Build-0.4218.tar.gz -> Module-Build-0.4220.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/Changes 
new/Module-Build-0.4220/Changes
--- old/Module-Build-0.4218/Changes     2016-04-24 20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/Changes     2016-08-16 22:49:30.000000000 +0200
@@ -1,5 +1,19 @@
 Revision history for Perl extension Module::Build.
 
+0.4220 - Tue Aug 16 22:11:14 CEST 2016
+
+  - Released 0.42_19 as 0.4220
+
+0.42_19 - Sun Aug  7 17:07:38 CEST 2016
+
+  - Initialize MM Compat environmental variables to empty strings [Leon 
Timmermans]
+
+  - Skip PPM test when link_executable fails [Leon Timmermans]
+
+  - Make more actions deterministic [Zefram]
+
+  - Preprocess file lists generated by rscan_dir() to sort them [Niko Tyni]
+
 0.4218 - Sun Apr 24 16:39:47 BST 2016
 
   - Skip XS test when link_executable fails
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/META.json 
new/Module-Build-0.4220/META.json
--- old/Module-Build-0.4218/META.json   2016-04-24 20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/META.json   2016-08-16 22:49:30.000000000 +0200
@@ -5,7 +5,7 @@
       "Module-Build mailing list at <[email protected]>."
    ],
    "dynamic_config" : 1,
-   "generated_by" : "Module::Build version 0.4218",
+   "generated_by" : "Module::Build version 0.422",
    "license" : [
       "perl_5"
    ],
@@ -67,79 +67,79 @@
    "provides" : {
       "Module::Build" : {
          "file" : "lib/Module/Build.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Base" : {
          "file" : "lib/Module/Build/Base.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Compat" : {
          "file" : "lib/Module/Build/Compat.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Config" : {
          "file" : "lib/Module/Build/Config.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Cookbook" : {
          "file" : "lib/Module/Build/Cookbook.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Dumper" : {
          "file" : "lib/Module/Build/Dumper.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Notes" : {
          "file" : "lib/Module/Build/Notes.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::PPMMaker" : {
          "file" : "lib/Module/Build/PPMMaker.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Platform::Default" : {
          "file" : "lib/Module/Build/Platform/Default.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Platform::MacOS" : {
          "file" : "lib/Module/Build/Platform/MacOS.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Platform::Unix" : {
          "file" : "lib/Module/Build/Platform/Unix.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Platform::VMS" : {
          "file" : "lib/Module/Build/Platform/VMS.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Platform::VOS" : {
          "file" : "lib/Module/Build/Platform/VOS.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Platform::Windows" : {
          "file" : "lib/Module/Build/Platform/Windows.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Platform::aix" : {
          "file" : "lib/Module/Build/Platform/aix.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Platform::cygwin" : {
          "file" : "lib/Module/Build/Platform/cygwin.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Platform::darwin" : {
          "file" : "lib/Module/Build/Platform/darwin.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::Platform::os2" : {
          "file" : "lib/Module/Build/Platform/os2.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       },
       "Module::Build::PodParser" : {
          "file" : "lib/Module/Build/PodParser.pm",
-         "version" : "0.4218"
+         "version" : "0.4220"
       }
    },
    "release_status" : "stable",
@@ -153,5 +153,6 @@
       "x_IRC" : "irc://irc.perl.org/#toolchain",
       "x_MailingList" : "mailto:[email protected]";
    },
-   "version" : "0.4218"
+   "version" : "0.4220",
+   "x_serialization_backend" : "JSON::PP version 2.27300"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/META.yml 
new/Module-Build-0.4220/META.yml
--- old/Module-Build-0.4218/META.yml    2016-04-24 20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/META.yml    2016-08-16 22:49:30.000000000 +0200
@@ -15,7 +15,7 @@
   Perl::OSType: '1'
   version: '0.87'
 dynamic_config: 1
-generated_by: 'Module::Build version 0.4218, CPAN::Meta::Converter version 
2.143240'
+generated_by: 'Module::Build version 0.422, CPAN::Meta::Converter version 
2.150005'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -24,61 +24,61 @@
 provides:
   Module::Build:
     file: lib/Module/Build.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Base:
     file: lib/Module/Build/Base.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Compat:
     file: lib/Module/Build/Compat.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Config:
     file: lib/Module/Build/Config.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Cookbook:
     file: lib/Module/Build/Cookbook.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Dumper:
     file: lib/Module/Build/Dumper.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Notes:
     file: lib/Module/Build/Notes.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::PPMMaker:
     file: lib/Module/Build/PPMMaker.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Platform::Default:
     file: lib/Module/Build/Platform/Default.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Platform::MacOS:
     file: lib/Module/Build/Platform/MacOS.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Platform::Unix:
     file: lib/Module/Build/Platform/Unix.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Platform::VMS:
     file: lib/Module/Build/Platform/VMS.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Platform::VOS:
     file: lib/Module/Build/Platform/VOS.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Platform::Windows:
     file: lib/Module/Build/Platform/Windows.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Platform::aix:
     file: lib/Module/Build/Platform/aix.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Platform::cygwin:
     file: lib/Module/Build/Platform/cygwin.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Platform::darwin:
     file: lib/Module/Build/Platform/darwin.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::Platform::os2:
     file: lib/Module/Build/Platform/os2.pm
-    version: '0.4218'
+    version: '0.4220'
   Module::Build::PodParser:
     file: lib/Module/Build/PodParser.pm
-    version: '0.4218'
+    version: '0.4220'
 recommends:
   ExtUtils::Install: '0.3'
   ExtUtils::Manifest: '1.54'
@@ -111,4 +111,5 @@
   MailingList: mailto:[email protected]
   license: http://dev.perl.org/licenses/
   repository: https://github.com/Perl-Toolchain-Gang/Module-Build
-version: '0.4218'
+version: '0.4220'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/Base.pm 
new/Module-Build-0.4220/lib/Module/Build/Base.pm
--- old/Module-Build-0.4218/lib/Module/Build/Base.pm    2016-04-24 
20:22:50.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Base.pm    2016-08-16 
22:49:30.000000000 +0200
@@ -6,7 +6,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 
 use Carp;
@@ -164,8 +164,8 @@
     $ph->{$_}->restore if -e $file;
     if (exists $p->{$_}) {
       my $vals = delete $p->{$_};
-      while (my ($k, $v) = each %$vals) {
-        $self->$_($k, $v);
+      foreach my $k (sort keys %$vals) {
+        $self->$_($k, $vals->{$k});
       }
     }
   }
@@ -1276,7 +1276,7 @@
 sub cleanup {
   my $self = shift;
   my $all = $self->{phash}{cleanup}->read;
-  return keys %$all;
+  return wantarray ? sort keys %$all : keys %$all;
 }
 
 sub config_file {
@@ -2036,7 +2036,8 @@
     my @specs;
     my $args = {};
     # Construct the specifications for GetOptions.
-    while (my ($k, $v) = each %$specs) {
+    foreach my $k (sort keys %$specs) {
+        my $v = $specs->{$k};
         # Throw an error if specs conflict with our own.
         die "Option specification '$k' conflicts with a " . ref $self
           . " option of the same name"
@@ -2061,8 +2062,9 @@
 sub unparse_args {
   my ($self, $args) = @_;
   my @out;
-  while (my ($k, $v) = each %$args) {
-    push @out, (ref $v eq 'HASH'  ? map {+"--$k", "$_=$v->{$_}"} keys %$v :
+  foreach my $k (sort keys %$args) {
+    my $v = $args->{$k};
+    push @out, (ref $v eq 'HASH'  ? map {+"--$k", "$_=$v->{$_}"} sort keys %$v 
:
                 ref $v eq 'ARRAY' ? map {+"--$k", $_} @$v :
                 ("--$k", $v));
   }
@@ -2521,13 +2523,14 @@
   my $info = $self->prereq_data;
 
   my $output = '';
-  foreach my $type (keys %$info) {
+  foreach my $type (sort keys %$info) {
     my $prereqs = $info->{$type};
     $output .= "\n$type:\n";
     my $mod_len = 2;
     my $ver_len = 4;
     my %mods;
-    while ( my ($modname, $spec) = each %$prereqs ) {
+    foreach my $modname (sort keys %$prereqs) {
+      my $spec = $prereqs->{$modname};
       my $len  = length $modname;
       $mod_len = $len if $len > $mod_len;
       $spec    ||= '0';
@@ -2638,7 +2641,7 @@
   my ($self) = @_;
 
   my $t = $self->{properties}->{test_types};
-  return ( defined $t ? ( keys %$t ) : () );
+  return ( defined $t ? ( wantarray ? sort keys %$t : keys %$t ) : () );
 }
 
 
@@ -2847,8 +2850,8 @@
   my $method = "find_${ext}_files";
   my $files = $self->can($method) ? $self->$method() : 
$self->_find_file_by_type($ext,  'lib');
 
-  while (my ($file, $dest) = each %$files) {
-    $self->copy_if_modified(from => $file, to => 
File::Spec->catfile($self->blib, $dest) );
+  foreach my $file (sort keys %$files) {
+    $self->copy_if_modified(from => $file, to => 
File::Spec->catfile($self->blib, $files->{$file}) );
   }
 }
 
@@ -2882,9 +2885,9 @@
   my $share_prefix = File::Spec->catdir($self->blib, qw/lib auto share/);
 
   # copy all share files to blib
-  while (my ($file, $dest) = each %$files) {
+  foreach my $file (sort keys %$files) {
     $self->copy_if_modified(
-      from => $file, to => File::Spec->catfile( $share_prefix, $dest )
+      from => $file, to => File::Spec->catfile( $share_prefix, $files->{$file} 
)
     );
   }
 }
@@ -2901,7 +2904,7 @@
   }
 
   if ( $share_dir->{module} ) {
-    for my $mod ( keys %{ $share_dir->{module} } ) {
+    for my $mod ( sort keys %{ $share_dir->{module} } ) {
       (my $altmod = $mod) =~ s{::}{-}g;
       my $prefix = "module/$altmod";
       push @file_map, $self->_share_dir_map($prefix, 
$share_dir->{module}{$mod});
@@ -2927,7 +2930,8 @@
   my ($self) = @_;
   my $files = $self->find_PL_files;
 
-  while (my ($file, $to) = each %$files) {
+  foreach my $file (sort keys %$files) {
+    my $to = $files->{$file};
     unless ($self->up_to_date( $file, $to )) {
       $self->run_perl_script($file, [], [@$to]) or die "$file failed";
       $self->add_to_cleanup(@$to);
@@ -2940,7 +2944,8 @@
   return if $self->pureperl_only && $self->allow_pureperl;
   my $files = $self->find_xs_files;
   croak 'Can\'t build xs files under --pureperl-only' if %$files && 
$self->pureperl_only;
-  while (my ($from, $to) = each %$files) {
+  foreach my $from (sort keys %$files) {
+    my $to = $files->{$from};
     unless ($from eq $to) {
       $self->add_to_cleanup($to);
       $self->copy_if_modified( from => $from, to => $to );
@@ -2960,7 +2965,7 @@
   my $script_dir = File::Spec->catdir($self->blib, 'script');
   File::Path::mkpath( $script_dir );
 
-  foreach my $file (keys %$files) {
+  foreach my $file (sort keys %$files) {
     my $result = $self->copy_if_modified($file, $script_dir, 'flatten') or 
next;
     $self->fix_shebang_line($result) unless $self->is_vmsish;
     $self->make_executable($result);
@@ -3018,7 +3023,7 @@
   my $p = $self->{properties};
 
   if (my $files = $p->{test_files}) {
-    $files = [keys %$files] if ref $files eq 'HASH';
+    $files = [sort keys %$files] if ref $files eq 'HASH';
     $files = [map { -d $_ ? $self->expand_test_dir($_) : $_ }
               map glob,
               $self->split_like_shell($files)];
@@ -3217,7 +3222,7 @@
   File::Path::mkpath( $mandir, 0, oct(777) );
 
   require Pod::Man;
-  foreach my $file (keys %$files) {
+  foreach my $file (sort keys %$files) {
     # Pod::Simple based parsers only support one document per instance.
     # This is expected to change in a future version (Pod::Simple > 3.03).
     my $parser  = Pod::Man->new( %podman_args );
@@ -3243,11 +3248,11 @@
   File::Path::mkpath( $mandir, 0, oct(777) );
 
   require Pod::Man;
-  while (my ($file, $relfile) = each %$files) {
+  foreach my $file (sort keys %$files) {
     # Pod::Simple based parsers only support one document per instance.
     # This is expected to change in a future version (Pod::Simple > 3.03).
     my $parser  = Pod::Man->new( %podman_args );
-    my $manpage = $self->man3page_name( $relfile ) . '.' .
+    my $manpage = $self->man3page_name( $files->{$file} ) . '.' .
                   $self->config( 'man3ext' );
     my $outfile = File::Spec->catfile( $mandir, $manpage);
     next if $self->up_to_date( $file, $outfile );
@@ -3363,7 +3368,7 @@
   my $errors = 0;
 
   POD:
-  foreach my $pod ( keys %$pods ) {
+  foreach my $pod ( sort keys %$pods ) {
 
     my ($name, $path) = File::Basename::fileparse($pods->{$pod},
       $self->file_qr('\.(?:pm|plx?|pod)$')
@@ -3394,10 +3399,10 @@
         depth => $depth,
       );
       eval {
-        ActivePerl::DocTools::Pod::pod2html(%opts);
+        ActivePerl::DocTools::Pod::pod2html(map { ($_, $opts{$_}) } sort keys 
%opts);
         1;
       } or $self->log_warn("[$htmltool] pod2html (" .
-        join(", ", map { "q{$_} => q{$opts{$_}}" } (keys %opts)) . ") failed: 
$@");
+        join(", ", map { "q{$_} => q{$opts{$_}}" } (sort keys %opts)) . ") 
failed: $@");
     } else {
       my $path2root = File::Spec->catdir((File::Spec->updir) x @dirs);
       open(my $fh, '<', $infile) or die "Can't read $infile: $!";
@@ -3510,7 +3515,7 @@
 
   my $text_suffix = $self->file_qr('\.(pm|pod)$');
 
-  while (my $localdir = each %$installmap) {
+  foreach my $localdir (sort keys %$installmap) {
     my @localparts = File::Spec->splitdir($localdir);
     my $files = $self->rscan_dir($localdir, sub {-f});
 
@@ -3623,13 +3628,14 @@
   }
 
   my @install;
-  while (my ($type, $prereqs) = each %$failures) {
+  foreach my $type (sort keys %$failures) {
+    my $prereqs = $failures->{$type};
     if($type =~ m/^(?:\w+_)?requires$/) {
-      push(@install, keys %$prereqs);
+      push(@install, sort keys %$prereqs);
       next;
     }
     $self->log_info("Checking optional dependencies:\n");
-    while (my ($module, $status) = each %$prereqs) {
+    foreach my $module (sort keys %$prereqs) {
       push(@install, $module) if($self->y_n("Install $module?", 'y'));
     }
   }
@@ -4039,7 +4045,7 @@
   $self->log_info("Creating $dist_dir\n");
   $self->add_to_cleanup($dist_dir);
 
-  foreach my $file (keys %$dist_files) {
+  foreach my $file (sort keys %$dist_files) {
     next if $file =~ m{^MYMETA\.}; # Double check that we skip MYMETA.*
     my $new = $self->copy_if_modified(from => $file, to_dir => $dist_dir, 
verbose => 0);
   }
@@ -4328,7 +4334,7 @@
     if ( defined $share_dir->{module} ) {
       my $mod_hash = $share_dir->{module};
       if ( ref $mod_hash eq 'HASH' ) {
-        for my $k ( keys %$mod_hash ) {
+        for my $k ( sort keys %$mod_hash ) {
           if ( ! ref $mod_hash->{$k} ) {
             $mod_hash->{$k} = [ $mod_hash->{$k} ];
           }
@@ -4759,7 +4765,7 @@
   my %dist_files = map { $self->localize_file_path($_) => $_ }
                        keys %$manifest;
 
-  my @pm_files = grep { $_ !~ m{^t} } # skip things in t/
+  my @pm_files = sort grep { $_ !~ m{^t} } # skip things in t/
                    grep {exists $dist_files{$_}}
                      keys %{ $self->find_pm_files };
 
@@ -4808,7 +4814,7 @@
   # Then we iterate over all the packages found above, identifying conflicts
   # and selecting the "best" candidate for recording the file & version
   # for each package.
-  foreach my $package ( keys( %alt ) ) {
+  foreach my $package ( sort keys( %alt ) ) {
     my $result = $self->_resolve_module_versions( $alt{$package} );
 
     if ( exists( $prime{$package} ) ) { # primary package selected
@@ -5249,7 +5255,7 @@
              ref($pattern) eq 'CODE' ? sub {push @result, $File::Find::name if 
$pattern->()} :
              die "Unknown pattern type";
 
-  File::Find::find({wanted => $subr, no_chdir => 1}, $dir);
+  File::Find::find({wanted => $subr, no_chdir => 1, preprocess => sub { sort 
@_ } }, $dir);
   return \@result;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/Compat.pm 
new/Module-Build-0.4220/lib/Module/Build/Compat.pm
--- old/Module-Build-0.4218/lib/Module/Build/Compat.pm  2016-04-24 
20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Compat.pm  2016-08-16 
22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 
 use File::Basename ();
 use File::Spec;
@@ -33,7 +33,7 @@
            installarchlib  => "$lib/$Config{archname}",
            installsitearch => "$lib/$Config{archname}"
        );
-       return map { (config => "$_=$config{$_}") } keys %config;
+       return map { (config => "$_=$config{$_}") } sort keys %config;
    },
 
    # Convert INSTALLVENDORLIB and friends.
@@ -71,7 +71,7 @@
 
   # validate formats
   for my $p ( $req, $breq ) {
-    for my $k (keys %$p) {
+    for my $k (sort keys %$p) {
       next if $k eq 'perl';
 
       my $v_obj = eval { version->new($p->{$k}) };
@@ -306,7 +306,8 @@
 sub makefile_to_build_macros {
   my @out;
   my %config; # must accumulate and return as a hashref
-  while (my ($macro, $trans) = each %macro_to_build) {
+  foreach my $macro (sort keys %macro_to_build) {
+    my $trans = $macro_to_build{$macro};
     # On some platforms (e.g. Cygwin with 'make'), the mere presence
     # of "EXPORT: FOO" in the Makefile will make $ENV{FOO} defined.
     # Therefore we check length() too.
@@ -363,9 +364,11 @@
   my $unlink = $class->oneliner('1 while unlink $ARGV[0]', [], 
[$args{makefile}]);
   $unlink =~ s/\$/\$\$/g unless $class->is_vmsish;
 
-  my $maketext = ($^O eq 'os2' ? "SHELL = sh\n\n"
+  my $maketext = join '', map { "$_=\n" } sort keys %macro_to_build;
+
+  $maketext .= ($^O eq 'os2' ? "SHELL = sh\n\n"
                     : $^O eq 'MSWin32' && $Config{make} =~ /gmake/
-                    ? "SHELL = $ENV{COMSPEC}\n\n" : '');
+                    ? "SHELL = $ENV{COMSPEC}\n\n" : "\n\n");
 
   $maketext .= <<"EOF";
 all : force_do_it
@@ -393,13 +396,13 @@
   if ($self->_is_vms_mms) {
     # Roll our own .EXPORT as MMS/MMK don't honor that directive.
     $maketext .= "\n.FIRST\n\t\@ $noop\n";
-    for my $macro (keys %macro_to_build) {
+    for my $macro (sort keys %macro_to_build) {
       $maketext .= ".IFDEF $macro\n\tDEFINE $macro \"\$($macro)\"\n.ENDIF\n";
     }
     $maketext .= "\n";
   }
   else {
-    $maketext .= "\n.EXPORT : " . join(' ', keys %macro_to_build) . "\n\n";
+    $maketext .= "\n.EXPORT : " . join(' ', sort keys %macro_to_build) . 
"\n\n";
   }
 
   return $maketext;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/Config.pm 
new/Module-Build-0.4220/lib/Module/Build/Config.pm
--- old/Module-Build-0.4218/lib/Module/Build/Config.pm  2016-04-24 
20:22:50.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Config.pm  2016-08-16 
22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 use Config;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/Cookbook.pm 
new/Module-Build-0.4220/lib/Module/Build/Cookbook.pm
--- old/Module-Build-0.4218/lib/Module/Build/Cookbook.pm        2016-04-24 
20:22:50.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Cookbook.pm        2016-08-16 
22:49:30.000000000 +0200
@@ -1,7 +1,7 @@
 package Module::Build::Cookbook;
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 
 
 =head1 NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/Dumper.pm 
new/Module-Build-0.4220/lib/Module/Build/Dumper.pm
--- old/Module-Build-0.4218/lib/Module/Build/Dumper.pm  2016-04-24 
20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Dumper.pm  2016-08-16 
22:49:30.000000000 +0200
@@ -1,7 +1,7 @@
 package Module::Build::Dumper;
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 
 # This is just a split-out of a wrapper function to do Data::Dumper
 # stuff "the right way".  See:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/Notes.pm 
new/Module-Build-0.4220/lib/Module/Build/Notes.pm
--- old/Module-Build-0.4218/lib/Module/Build/Notes.pm   2016-04-24 
20:22:50.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Notes.pm   2016-08-16 
22:49:30.000000000 +0200
@@ -4,7 +4,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 use Data::Dumper;
 use Module::Build::Dumper;
@@ -178,14 +178,14 @@
 sub set_config { $config->{$_[1]} = $_[2] }
 sub set_feature { $features->{$_[1]} = 0+!!$_[2] }  # Constrain to 1 or 0
 
-sub auto_feature_names { grep !exists $features->{$_}, keys %$auto_features }
+sub auto_feature_names { sort grep !exists $features->{$_}, keys 
%$auto_features }
 
 sub feature_names {
-  my @features = (keys %$features, auto_feature_names());
+  my @features = (sort keys %$features, auto_feature_names());
   @features;
 }
 
-sub config_names  { keys %$config }
+sub config_names  { sort keys %$config }
 
 sub write {
   my $me = __FILE__;
@@ -221,18 +221,13 @@
 
   my $info = $auto_features->{$key} or return 0;
 
-  # Under perl 5.005, each(%$foo) isn't working correctly when $foo
-  # was reanimated with Data::Dumper and eval().  Not sure why, but
-  # copying to a new hash seems to solve it.
-  my %info = %$info;
-
   require Module::Build;  # XXX should get rid of this
-  while (my ($type, $prereqs) = each %info) {
+  foreach my $type (sort keys %$info) {
+    my $prereqs = $info->{$type};
     next if $type eq 'description' || $type eq 'recommends';
 
-    my %p = %$prereqs;  # Ditto here.
-    while (my ($modname, $spec) = each %p) {
-      my $status = Module::Build->check_installed_status($modname, $spec);
+    foreach my $modname (sort keys %$prereqs) {
+      my $status = Module::Build->check_installed_status($modname, 
$prereqs->{$modname});
       if ((!$status->{ok}) xor ($type =~ /conflicts$/)) { return 0; }
       if ( ! eval "require $modname; 1" ) { return 0; }
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/PPMMaker.pm 
new/Module-Build-0.4220/lib/Module/Build/PPMMaker.pm
--- old/Module-Build-0.4218/lib/Module/Build/PPMMaker.pm        2016-04-24 
20:22:50.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/PPMMaker.pm        2016-08-16 
22:49:30.000000000 +0200
@@ -4,7 +4,7 @@
 use warnings;
 use Config;
 
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 
 # This code is mostly borrowed from ExtUtils::MM_Unix 6.10_03, with a
@@ -56,11 +56,11 @@
 
   foreach my $type (qw(requires)) {
     my $prereq = $build->$type();
-    while (my ($modname, $spec) = each %$prereq) {
+    foreach my $modname (sort keys %$prereq) {
       next if $modname eq 'perl';
 
       my $min_version = '0.0';
-      foreach my $c ($build->_parse_conditions($spec)) {
+      foreach my $c ($build->_parse_conditions($prereq->{$modname})) {
         my ($op, $version) = $c =~ /^\s*  (<=?|>=?|==|!=)  \s*  ([\w.]+)  
\s*$/x;
 
         # This is a nasty hack because it fails if there is no >= op
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Build-0.4218/lib/Module/Build/Platform/Default.pm 
new/Module-Build-0.4220/lib/Module/Build/Platform/Default.pm
--- old/Module-Build-0.4218/lib/Module/Build/Platform/Default.pm        
2016-04-24 20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Platform/Default.pm        
2016-08-16 22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Build-0.4218/lib/Module/Build/Platform/MacOS.pm 
new/Module-Build-0.4220/lib/Module/Build/Platform/MacOS.pm
--- old/Module-Build-0.4218/lib/Module/Build/Platform/MacOS.pm  2016-04-24 
20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Platform/MacOS.pm  2016-08-16 
22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 our @ISA = qw(Module::Build::Base);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Build-0.4218/lib/Module/Build/Platform/Unix.pm 
new/Module-Build-0.4220/lib/Module/Build/Platform/Unix.pm
--- old/Module-Build-0.4218/lib/Module/Build/Platform/Unix.pm   2016-04-24 
20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Platform/Unix.pm   2016-08-16 
22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/Platform/VMS.pm 
new/Module-Build-0.4220/lib/Module/Build/Platform/VMS.pm
--- old/Module-Build-0.4218/lib/Module/Build/Platform/VMS.pm    2016-04-24 
20:22:50.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Platform/VMS.pm    2016-08-16 
22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 use Config;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/Platform/VOS.pm 
new/Module-Build-0.4220/lib/Module/Build/Platform/VOS.pm
--- old/Module-Build-0.4218/lib/Module/Build/Platform/VOS.pm    2016-04-24 
20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Platform/VOS.pm    2016-08-16 
22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Build-0.4218/lib/Module/Build/Platform/Windows.pm 
new/Module-Build-0.4220/lib/Module/Build/Platform/Windows.pm
--- old/Module-Build-0.4218/lib/Module/Build/Platform/Windows.pm        
2016-04-24 20:22:50.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Platform/Windows.pm        
2016-08-16 22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 
 use Config;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/Platform/aix.pm 
new/Module-Build-0.4220/lib/Module/Build/Platform/aix.pm
--- old/Module-Build-0.4218/lib/Module/Build/Platform/aix.pm    2016-04-24 
20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Platform/aix.pm    2016-08-16 
22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Build-0.4218/lib/Module/Build/Platform/cygwin.pm 
new/Module-Build-0.4220/lib/Module/Build/Platform/cygwin.pm
--- old/Module-Build-0.4218/lib/Module/Build/Platform/cygwin.pm 2016-04-24 
20:22:50.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Platform/cygwin.pm 2016-08-16 
22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Build-0.4218/lib/Module/Build/Platform/darwin.pm 
new/Module-Build-0.4220/lib/Module/Build/Platform/darwin.pm
--- old/Module-Build-0.4218/lib/Module/Build/Platform/darwin.pm 2016-04-24 
20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Platform/darwin.pm 2016-08-16 
22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/Platform/os2.pm 
new/Module-Build-0.4220/lib/Module/Build/Platform/os2.pm
--- old/Module-Build-0.4218/lib/Module/Build/Platform/os2.pm    2016-04-24 
20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/Platform/os2.pm    2016-08-16 
22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build/PodParser.pm 
new/Module-Build-0.4220/lib/Module/Build/PodParser.pm
--- old/Module-Build-0.4218/lib/Module/Build/PodParser.pm       2016-04-24 
20:22:50.000000000 +0200
+++ new/Module-Build-0.4220/lib/Module/Build/PodParser.pm       2016-08-16 
22:49:30.000000000 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 
 sub new {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/lib/Module/Build.pm 
new/Module-Build-0.4220/lib/Module/Build.pm
--- old/Module-Build-0.4218/lib/Module/Build.pm 2016-04-24 20:22:51.000000000 
+0200
+++ new/Module-Build-0.4220/lib/Module/Build.pm 2016-08-16 22:49:30.000000000 
+0200
@@ -19,7 +19,7 @@
 use Module::Build::Base;
 
 our @ISA = qw(Module::Build::Base);
-our $VERSION = '0.4218';
+our $VERSION = '0.4220';
 $VERSION = eval $VERSION;
 
 # Inserts the given module into the @ISA hierarchy between
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/t/compat.t 
new/Module-Build-0.4220/t/compat.t
--- old/Module-Build-0.4218/t/compat.t  2016-04-24 20:22:50.000000000 +0200
+++ new/Module-Build-0.4220/t/compat.t  2016-08-16 22:49:30.000000000 +0200
@@ -486,7 +486,7 @@
   my $expected = shift;
 
   SKIP: {
-    skip 1, 'Makefile.PL not found' unless -e 'Makefile.PL';
+    skip 'Makefile.PL not found', 1 unless -e 'Makefile.PL';
     my $args = extract_writemakefile_args() || {};
     is_deeply $args->{PL_FILES}, $expected,
       "Makefile.PL has correct PL_FILES line";
@@ -496,7 +496,7 @@
 sub test_makefile_pl_requires_perl {
   my $perl_version = shift || q{};
   SKIP: {
-    skip 1, 'Makefile.PL not found' unless -e 'Makefile.PL';
+    skip 'Makefile.PL not found', 1 unless -e 'Makefile.PL';
     my $file_contents = slurp 'Makefile.PL';
     my $found_requires = $file_contents =~ m{^require $perl_version;}ms;
     if (length $perl_version) {
@@ -537,7 +537,7 @@
 
 sub extract_writemakefile_args {
   SKIP: {
-    skip 1, 'Makefile.PL not found' unless -e 'Makefile.PL';
+    skip 'Makefile.PL not found', 1 unless -e 'Makefile.PL';
     my $file_contents = slurp 'Makefile.PL';
     my ($args) = $file_contents =~ m{^WriteMakefile\n\((.*)\).*;}ms;
     ok $args, "Found WriteMakefile arguments"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/t/manifypods_with_utf8.t 
new/Module-Build-0.4220/t/manifypods_with_utf8.t
--- old/Module-Build-0.4218/t/manifypods_with_utf8.t    2016-04-24 
20:22:50.000000000 +0200
+++ new/Module-Build-0.4220/t/manifypods_with_utf8.t    2016-08-16 
22:49:30.000000000 +0200
@@ -8,7 +8,7 @@
 blib_load('Module::Build::ConfigData');
 
 use MBTest;
-plan($] > 5.008 ? (tests => 2) : skip_all => 'UTF-8 manpages require perl 
5.8.1');
+plan ($] > 5.008 ? (tests => 2) : (skip_all => 'UTF-8 manpages require perl 
5.8.1'));
 use File::Spec::Functions qw( catdir );
 
 use Cwd ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Build-0.4218/t/ppm.t 
new/Module-Build-0.4220/t/ppm.t
--- old/Module-Build-0.4218/t/ppm.t     2016-04-24 20:22:51.000000000 +0200
+++ new/Module-Build-0.4220/t/ppm.t     2016-08-16 22:49:30.000000000 +0200
@@ -17,6 +17,8 @@
   my ($have_c_compiler, $tmp_exec) = check_compiler();
   if ( ! $have_c_compiler ) {
     plan skip_all => 'No compiler found';
+  } elsif ( ! $tmp_exec ) {
+    plan skip_all => 'Dysfunctional compiler detected';
   } elsif ( ! $PPM_support ) {
     plan skip_all => 'PPM support modules not installed';
   } elsif ( !$Config{usedl} ) {


Reply via email to