Package: perl
Version: 5.22.0-4
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

As seen at
 https://reproducible.debian.net/rb-pkg/experimental/amd64/perl.html
 
https://reproducible.debian.net/dbd/experimental/amd64/perl_5.22.0-4.debbindiff.html

the compiled file 
 usr/lib/x86_64-linux-gnu/perl/5.22.0/auto/Devel/PPPort/PPPort.so

varies with file system ordering, because PPPort_xs.PL uses readdir()
to generate the list of files to process.

This breaks build reproducibility, as readdir() ordering can vary
between file systems. It's easy to test with the disorderfs package,
recently added to the reproducible.debian.net setup.

The attached patch fixes the issue. The reproducible.debian.net logs
have a size cutoff so we can't know if this was the only issue of its
kind. I was expecting more of them, but my test didn't turn up any.
-- 
Niko Tyni   nt...@debian.org
>From c01f602d1926b0671fd2c8d91f7e52c4e4c9fb24 Mon Sep 17 00:00:00 2001
From: Niko Tyni <nt...@debian.org>
Date: Sun, 11 Oct 2015 19:27:56 +0300
Subject: [PATCH] Sort the list of XS code files when generating RealPPPort.xs

all_files_in_dir() uses readdir() ordering to make the list of
input files. This can vary between build systems, breaking build
reproducibility.
---
 cpan/Devel-PPPort/PPPort_xs.PL | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cpan/Devel-PPPort/PPPort_xs.PL b/cpan/Devel-PPPort/PPPort_xs.PL
index 5f18940..149f2fe 100644
--- a/cpan/Devel-PPPort/PPPort_xs.PL
+++ b/cpan/Devel-PPPort/PPPort_xs.PL
@@ -38,7 +38,7 @@ END
 my $file;
 my $sec;
 
-for $file (all_files_in_dir('parts/inc')) {
+for $file (sort(all_files_in_dir('parts/inc'))) {
   my $spec = parse_partspec($file);
 
   my $msg = 0;
-- 
2.5.1

_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to