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; }