Hello community,

here is the log from the commit of package perl-Wx for openSUSE:Factory checked 
in at 2017-03-31 15:08:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Wx (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Wx.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Wx"

Fri Mar 31 15:08:20 2017 rev:6 rq:482416 version:0.9928

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Wx/perl-Wx.changes  2016-11-28 
15:06:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Wx.new/perl-Wx.changes     2017-03-31 
15:08:25.241433956 +0200
@@ -1,0 +2,11 @@
+Sun Mar 19 17:21:08 UTC 2017 - [email protected]
+
+- Add 0001-Sort-output-of-dumped-dictionaries-for-reproducible-.patch:
+  sort config dictionaries to make builds deterministic
+- Add 0002-Provide-overload-methods-to-XSpp-in-sorted-order.patch:
+  Feed sorted output to XSpp
+- Add 0001-fix-incomplete-Wx_Exp.pm-due-to-missing-dependecy-in.patch:
+  Wx_Exp.pm was incomplete, as the generator script was run to early
+  Fixes https://rt.cpan.org/Public/Bug/Display.html?id=120657
+
+-------------------------------------------------------------------

New:
----
  0001-Sort-output-of-dumped-dictionaries-for-reproducible-.patch
  0001-fix-incomplete-Wx_Exp.pm-due-to-missing-dependecy-in.patch
  0002-Provide-overload-methods-to-XSpp-in-sorted-order.patch

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

Other differences:
------------------
++++++ perl-Wx.spec ++++++
--- /var/tmp/diff_new_pack.U5Ft1o/_old  2017-03-31 15:08:25.837349706 +0200
+++ /var/tmp/diff_new_pack.U5Ft1o/_new  2017-03-31 15:08:25.841349141 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Wx
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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
@@ -27,9 +27,12 @@
 Source0:        
http://www.cpan.org/authors/id/M/MD/MDOOTSON/%{cpan_name}-%{version}.tar.gz
 Source1:        perl-Wx-rpmlintrc
 Source2:        cpanspec.yml
+# Needed for reproducible build
+Patch0:         0001-Sort-output-of-dumped-dictionaries-for-reproducible-.patch
+Patch1:         0002-Provide-overload-methods-to-XSpp-in-sorted-order.patch
+# Fix for incomplete Wx_Exp.pm, 
https://rt.cpan.org/Public/Bug/Display.html?id=120657
+Patch2:         0001-fix-incomplete-Wx_Exp.pm-due-to-missing-dependecy-in.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-BuildRequires:  perl
-BuildRequires:  perl-macros
 BuildRequires:  perl(Alien::wxWidgets) >= 0.25
 BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.46
 BuildRequires:  perl(ExtUtils::ParseXS) >= 3.15
@@ -58,6 +61,9 @@
 
 %prep
 %setup -q -n %{cpan_name}-%{version}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 %build
 %{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"

++++++ 0001-Sort-output-of-dumped-dictionaries-for-reproducible-.patch ++++++
>From cfb24d6c3de259ad46fdc96099419fed22636c28 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <[email protected]>
Date: Tue, 21 Feb 2017 06:37:03 +0100
Subject: [PATCH 1/2] Sort output of dumped dictionaries for reproducible
 builds
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

By default, dictionaries are dumped in hash order, with a random hash
initialization value.
Also sort export list and make entries unique, exports may be declared
in multiple files.

Signed-off-by: Stefan Brüns <[email protected]>
---
 build/Wx/build/MakeMaker/Any_OS.pm |  2 ++
 build/Wx/build/Options.pm          |  2 ++
 script/fix_alien_path.pl           |  2 ++
 script/make_exp_list.pl            | 13 ++++++++++---
 4 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/build/Wx/build/MakeMaker/Any_OS.pm 
b/build/Wx/build/MakeMaker/Any_OS.pm
index 55d3b7b..5dd2a2f 100644
--- a/build/Wx/build/MakeMaker/Any_OS.pm
+++ b/build/Wx/build/MakeMaker/Any_OS.pm
@@ -200,6 +200,8 @@ sub postamble_core {
   # strictly necessary, but it's better to keep them in case the
   # dependencies here are changed
   require Data::Dumper;
+  # sort output for reproducible builds
+  $Data::Dumper::Sortkeys = 1;
   Wx::build::Utils::write_string( 'files.lst',
                                   Data::Dumper->Dump( [ \%files ] ) );
   # $exp and fix_alien depend on wxt_copy_files to ensure that blib/lib/Wx
diff --git a/build/Wx/build/Options.pm b/build/Wx/build/Options.pm
index 578bec5..a0fb8da 100644
--- a/build/Wx/build/Options.pm
+++ b/build/Wx/build/Options.pm
@@ -163,6 +163,8 @@ sub write_config_file {
   my $file = shift;
 
   require Data::Dumper;
+  # sort output for reproducible builds
+  $Data::Dumper::Sortkeys = 1;
   my $str = Data::Dumper->Dump( [ { extra_libs   => $extra_libs,
                                     extra_cflags => $extra_cflags,
                                     alien_key    => $alien_key,
diff --git a/script/fix_alien_path.pl b/script/fix_alien_path.pl
index 99aca90..83266a7 100644
--- a/script/fix_alien_path.pl
+++ b/script/fix_alien_path.pl
@@ -30,6 +30,8 @@ my $key = Alien::wxWidgets->key;
 my $version = Alien::wxWidgets->version;
 my @libs = Alien::wxWidgets->library_keys;
 my %libs; @libs{@libs} = Alien::wxWidgets->shared_libraries( @libs );
+# sort output for reproducible builds
+$Data::Dumper::Sortkeys = 1;
 my $libs = Data::Dumper::Dumper( \%libs );
 
 my $keyd;
diff --git a/script/make_exp_list.pl b/script/make_exp_list.pl
index 211a484..9b32dbd 100644
--- a/script/make_exp_list.pl
+++ b/script/make_exp_list.pl
@@ -22,6 +22,11 @@ my %packages;
 my $tag;
 my $package;
 
+sub unique_sorted {
+  my %v = %{ { map { ($_ => 1) } @{$_[0]} } };
+  sort keys %v;
+}
+
 sub add_to_exports {
   my( $values, $tags ) = @_;
 
@@ -91,11 +96,12 @@ package Wx::Wx_Exp; # for RPM
 EOT
 
 foreach my $package ( sort keys %packages ) {
-print OUT <<EOT;
+  my @exp = unique_sorted( $packages{$package}{exp_ok} );
+  print OUT <<EOT;
 
 package ${package};
 
-push \@EXPORT_OK, qw(@{$packages{$package}{exp_ok}});
+push \@EXPORT_OK, qw(@exp);
 
 \$EXPORT_TAGS{'everything'} = \\\@EXPORT_OK;
 
@@ -103,8 +109,9 @@ EOT
 
   foreach my $tag ( sort keys %{ $packages{$package}{tags} } ) {
     next unless length $tag;
+    my @pkgtags = unique_sorted( $packages{$package}{tags}{$tag} );
     print OUT <<EOT;
-\$EXPORT_TAGS{'$tag'} = [ qw(@{ $packages{$package}{tags}{$tag} }) ];
+\$EXPORT_TAGS{'$tag'} = [ qw(@pkgtags) ];
 EOT
   }
 }
-- 
2.11.1

++++++ 0001-fix-incomplete-Wx_Exp.pm-due-to-missing-dependecy-in.patch ++++++
>From bebdd9566fb806cb29aeaa8256658f583def4f48 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=83=C2=BCns?= <[email protected]>
Date: Sun, 19 Mar 2017 05:45:08 +0100
Subject: [PATCH] fix incomplete Wx_Exp.pm due to missing dependecy in
 generated Makefile
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stefan Brüns <[email protected]>
---
 build/Wx/build/MakeMaker/Any_OS.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build/Wx/build/MakeMaker/Any_OS.pm 
b/build/Wx/build/MakeMaker/Any_OS.pm
index 5dd2a2f..2671339 100644
--- a/build/Wx/build/MakeMaker/Any_OS.pm
+++ b/build/Wx/build/MakeMaker/Any_OS.pm
@@ -122,7 +122,7 @@ sub depend_core {
 
   my %files = $this->files_to_install();
   my %depend = ( _depend_common( $this ),
-                 $exp              => join( ' ', $this->files_with_constants, 
),
+                 $exp              => join( ' ', $this->files_with_constants, 
'subdirs', ),
                  'wxt_fix_alien'   => 'pm_to_blib',
                  'pm_to_blib'      => 'wxt_copy_files',
                  'blibdirs'        => 'wxt_copy_files',
-- 
2.12.0

++++++ 0002-Provide-overload-methods-to-XSpp-in-sorted-order.patch ++++++
>From 5b46e838686eaf039942892dbe471c48e8818bc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <[email protected]>
Date: Mon, 27 Feb 2017 20:47:08 +0100
Subject: [PATCH 2/2] Provide overload methods to XSpp in sorted order
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stefan Brüns <[email protected]>
---
 build/Wx/XSP/Overload.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build/Wx/XSP/Overload.pm b/build/Wx/XSP/Overload.pm
index 34f89e9..40e1c77 100644
--- a/build/Wx/XSP/Overload.pm
+++ b/build/Wx/XSP/Overload.pm
@@ -85,7 +85,7 @@ sub post_process {
             $node->add_methods( ExtUtils::XSpp::Node::Raw->new( rows => [ 
'#include "cpp/overload.h"' ] ) );
         }
 
-        foreach my $method_name ( @ovl_methods ) {
+        foreach my $method_name ( sort @ovl_methods ) {
             _add_overload( $self, $node, $all_methods{$method_name} );
         }
     }
-- 
2.11.1

++++++ cpanspec.yml ++++++
--- /var/tmp/diff_new_pack.U5Ft1o/_old  2017-03-31 15:08:25.917338398 +0200
+++ /var/tmp/diff_new_pack.U5Ft1o/_new  2017-03-31 15:08:25.917338398 +0200
@@ -3,7 +3,12 @@
 no_testing: needs X
 sources:
   - perl-Wx-rpmlintrc
-#patches:
+patches:
+# Needed for reproducible build
+  0001-Sort-output-of-dumped-dictionaries-for-reproducible-.patch: -p1
+  0002-Provide-overload-methods-to-XSpp-in-sorted-order.patch: -p1
+# Fix for incomplete Wx_Exp.pm, 
https://rt.cpan.org/Public/Bug/Display.html?id=120657
+  0001-fix-incomplete-Wx_Exp.pm-due-to-missing-dependecy-in.patch: -p1
 #  foo.patch: -p1
 #  bar.patch:
 preamble: |-


Reply via email to