Source: oasis3
Version: 3.mct+dfsg.121022-5.1
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that oasis3 could not be built reproducibly.
It lists source files in a locale-dependent order, which leads to e.g.
a different linking order.

The attached patch fixes this by using the C locale for listing the
files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/make-debian.patch b/debian/patches/make-debian.patch
index 1d5245d..7015b02 100644
--- a/debian/patches/make-debian.patch
+++ b/debian/patches/make-debian.patch
@@ -137,7 +137,8 @@ Index: oasis3-3.mct+dfsg.121022/lib/psmile/src/Makefile
 +++ oasis3-3.mct+dfsg.121022/lib/psmile/src/Makefile
 @@ -1,29 +1,40 @@
  
- SRCS1	= $(shell ls $(COUPLE)/lib/psmile/src/*.F90)
+-SRCS1	= $(shell ls $(COUPLE)/lib/psmile/src/*.F90)
++SRCS1	= $(shell LC_ALL=C ls $(COUPLE)/lib/psmile/src/*.F90)
  OBJS1	= $(patsubst $(COUPLE)/lib/psmile/src/%.F90, %.o, $(SRCS1))
 +PIC_OBJS1	= $(patsubst $(COUPLE)/lib/psmile/src/%.F90, %.o.pic, $(SRCS1))
  
@@ -251,15 +252,18 @@ Index: oasis3-3.mct+dfsg.121022/lib/scrip/src/Makefile
 +++ oasis3-3.mct+dfsg.121022/lib/scrip/src/Makefile
 @@ -1,25 +1,35 @@
  
- SRCS1 =  $(shell ls $(COUPLE)/lib/scrip/src/*.F90)
+-SRCS1 =  $(shell ls $(COUPLE)/lib/scrip/src/*.F90)
++SRCS1 =  $(shell LC_ALL=C ls $(COUPLE)/lib/scrip/src/*.F90)
  OBJS1 =  $(patsubst $(COUPLE)/lib/scrip/src/%.F90, %.o, $(SRCS1))
 +POBJS1 =  $(patsubst $(COUPLE)/lib/scrip/src/%.F90, %.o.pic, $(SRCS1))
  
- SRCS3   = $(shell ls $(COUPLE)/lib/scrip/src/*.F)
+-SRCS3   = $(shell ls $(COUPLE)/lib/scrip/src/*.F)
++SRCS3   = $(shell LC_ALL=C ls $(COUPLE)/lib/scrip/src/*.F)
  OBJS3   = $(patsubst $(COUPLE)/lib/scrip/src/%.F, %.o, $(SRCS3))
 +POBJS3   = $(patsubst $(COUPLE)/lib/scrip/src/%.F, %.o.pic, $(SRCS3))
  
- SRCS4 =  $(shell ls $(COUPLE)/lib/scrip/src/*.f)
+-SRCS4 =  $(shell ls $(COUPLE)/lib/scrip/src/*.f)
++SRCS4 =  $(shell LC_ALL=C ls $(COUPLE)/lib/scrip/src/*.f)
  OBJS4 =  $(patsubst $(COUPLE)/lib/scrip/src/%.f, %.o, $(SRCS4))
 +POBJS4 =  $(patsubst $(COUPLE)/lib/scrip/src/%.f, %.o.pic, $(SRCS4))
  

Reply via email to