Source: oasis3 Version: 3.mct+dfsg.121022-5.1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: fileordering X-Debbugs-Cc: reproducible-builds@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))
_______________________________________________ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds