Hello community,

here is the log from the commit of package mvapich2 for openSUSE:Factory 
checked in at 2019-06-04 12:14:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mvapich2 (Old)
 and      /work/SRC/openSUSE:Factory/.mvapich2.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mvapich2"

Tue Jun  4 12:14:13 2019 rev:17 rq:707350 version:2.3.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/mvapich2/mvapich2.changes        2019-05-14 
13:43:18.708632993 +0200
+++ /work/SRC/openSUSE:Factory/.mvapich2.new.5148/mvapich2.changes      
2019-06-04 12:14:16.903783629 +0200
@@ -1,0 +2,6 @@
+Mon May 27 15:14:10 UTC 2019 - Bernhard Wiedemann <bwiedem...@suse.com>
+
+- Add reproducible.patch to sort readdir to make package build reproducible
+  (boo#1041090)
+
+-------------------------------------------------------------------

New:
----
  reproducible.patch

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

Other differences:
------------------
++++++ mvapich2.spec ++++++
--- /var/tmp/diff_new_pack.4yllSL/_old  2019-06-04 12:14:18.927782966 +0200
+++ /var/tmp/diff_new_pack.4yllSL/_new  2019-06-04 12:14:18.927782966 +0200
@@ -167,6 +167,7 @@
 # PATCH-FIX-UPSTREAM 0001-Drop-GCC-check.patch (bnc#1129421)
 # It's been merged upstream, should be removed with the next release
 Patch3:         0001-Drop-GCC-check.patch
+Patch4:         reproducible.patch
 Url:            http://mvapich.cse.ohio-state.edu/overview/mvapich2/
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
@@ -297,6 +298,7 @@
 %patch0
 %patch2
 %patch3
+%patch4 -p1
 cp /usr/share/automake*/config.* .
 
 %build

++++++ reproducible.patch ++++++
http://mailman.cse.ohio-state.edu/pipermail/mvapich-discuss/2019-April/006837.html

commit 2d6233b60e419059240e054e40fc6ece6fd94929
Author: Bernhard M. Wiedemann <bwiedem...@suse.de>
Date:   Mon Mar 25 11:12:56 2019 +0100

    Sort input file list
    
    so that mpich builds in a reproducible way
    in spite of indeterministic filesystem readdir order
    
    See https://reproducible-builds.org/ for why this is good.
    
    Without this patch,
    README.envvar, /usr/lib64/mpi/gcc/mpich/bin/mpivars and other
    output files varied between builds.

Index: mvapich2-2.2/maint/extractcvars.in
===================================================================
--- mvapich2-2.2.orig/maint/extractcvars.in
+++ mvapich2-2.2/maint/extractcvars.in
@@ -594,7 +594,7 @@ sub ExpandDir {
     my @subdirs = ();
     my $DIR_HANDLE;
     opendir $DIR_HANDLE, "$dir" or die "Error: open directory $dir -- $!\n";
-    while (my $filename = readdir $DIR_HANDLE) {
+    for my $filename (sort readdir $DIR_HANDLE) {
         if ($filename =~ /^\./) {
             next;
         } elsif (-d "$dir/$filename") {
Index: mvapich2-2.2/maint/extractfixme.in
===================================================================
--- mvapich2-2.2.orig/maint/extractfixme.in
+++ mvapich2-2.2/maint/extractfixme.in
@@ -114,7 +114,7 @@ sub ExpandDir {
     my @otherdirs = ();
     my @files = ();
     opendir DIR, "$dir";
-    while ($filename = readdir DIR) {
+    for $filename (sort readdir DIR) {
        if ($filename =~ /^\./ || $filename eq ".svn") {
            next;
        }
Index: mvapich2-2.2/maint/extractstrings.in
===================================================================
--- mvapich2-2.2.orig/maint/extractstrings.in
+++ mvapich2-2.2/maint/extractstrings.in
@@ -71,7 +71,7 @@ sub GetFileNamesInDirectory {
     my @filesFound = ();
 
     opendir DIR, $dir || die "Could not open $dir\n";
-    while (my $file = readdir DIR) {
+    for my $file (sort readdir DIR) {
        if (! -f "$dir/$file") { next; }
        if ($file =~ /^\.$/ || $file =~ /^\.\.$/) { next; }
        if ($file =~ /$pattern/) {
@@ -244,7 +244,7 @@ sub processDirs {
     my @dirs = ();
     # Find the directories
     opendir DIR, "$dir" || die "Cannot open $dir\n";
-    while (my $file = readdir DIR) {
+    for my $file (sort readdir DIR) {
        if (! -d "$dir/$file") { next; }
        if ($file =~ /^\./) { next; }
        if ($file =~ /^.svn/) { next; }
@@ -271,7 +271,7 @@ sub processDirsAndAction {
     my @dirs = ();
     # Find the directories
     opendir DIR, "$dir" || die "Cannot open $dir\n";
-    while (my $file = readdir DIR) {
+    for my $file (sort readdir DIR) {
        if (! -d "$dir/$file") { next; }
        if ($file =~ /^\./) { next; }
        if ($file =~ /^.svn/) { next; }
Index: mvapich2-2.2/maint/gen_subcfg_m4
===================================================================
--- mvapich2-2.2.orig/maint/gen_subcfg_m4
+++ mvapich2-2.2/maint/gen_subcfg_m4
@@ -118,7 +118,7 @@ while (my $dir = pop @dirstack) {
     # the stack to continue the traversal
     opendir DH, $dir
         or die "unable to open dir='$dir', stopped";
-    my @contents = readdir DH;
+    my @contents = sort readdir DH;
     foreach my $f (@contents) {
         # avoid endless recursion
         next if $f eq "." || $f eq "..";
Index: mvapich2-2.2/maint/getcoverage.in
===================================================================
--- mvapich2-2.2.orig/maint/getcoverage.in
+++ mvapich2-2.2/maint/getcoverage.in
@@ -773,7 +773,7 @@ sub ExpandDir {
     my @otherdirs = ();
     my @files = ();
     opendir DIR, "$dir";
-    while ($filename = readdir DIR) {
+    for $filename (sort readdir DIR) {
        if ($filename =~ /^\./ || $filename eq ".svn") {
            next;
        }

Reply via email to