Source: ffmpeg2theora
Version: 0.30-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 ffmpeg2theora could not be built reproducibly.
It collects source files by globbing, which leads to a random
linking order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 0000000..e41f445
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -230,7 +230,7 @@
+ 
+ # ffmpeg2theora 
+ ffmpeg2theora = env.Clone()
+-ffmpeg2theora_sources = glob('src/*.c')
++ffmpeg2theora_sources = sorted(glob('src/*.c'))
+ ffmpeg2theora.Program('ffmpeg2theora', ffmpeg2theora_sources)
+ 
+ ffmpeg2theora.Install(bin_dir, 'ffmpeg2theora')
diff --git a/debian/patches/series b/debian/patches/series
index fccd4cf..0215fa2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 link-libm.patch
+reproducible-build.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to