The attached patch removes build paths from the resulting binaries, which makes it easier to verify the reproducibility of a build without needing to know the path from which it was originally built.
I ran "make fate" with and without the patch applied, and all of the tests that passed as of commit 3cc3f5de2afda5b8f880c0817e9d67c2dafbfe1e still passed (fate-sws-slice-yuv422-12bit-rgb48 and fate-sws-slice-bgr0-nv12 both failed regardless of weather the patch was applied). This was originally reported at https://bugs.debian.org/985187 With this change applied, the ffmpeg package in Debian should build reproducibly: https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/ffmpeg.html Thanks for maintaining and developing ffmpeg, it is a very useful tool! live well, vagrant
From b86db13adc6a27337cd93af174356d80ead1a5a9 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian <vagr...@reproducible-builds.org> Date: Sat, 13 Mar 2021 03:52:51 +0000 Subject: [PATCH 1/1] tools/cl2c: Strip full path from input file in embedded output. Without this patch, the full build path gets embedded into various binaries shipped in the package, for example, libavfilter.a contains a reference to: #line 1 "/build/1st/ffmpeg-4.3.2/libavfilter/opencl/avgblur.cl" By not embedding the build path, it makes it easier to recreate the build environment and reproduce the build: https://reproducible-builds.org/docs/build-path/ Originally submitted to Debian as: https://bugs.debian.org/985187 Signed-off-by: Vagrant Cascadian <vagr...@reproducible-builds.org> --- tools/cl2c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/cl2c b/tools/cl2c index e3f92bab1c..48444e61a7 100755 --- a/tools/cl2c +++ b/tools/cl2c @@ -23,11 +23,13 @@ input="$1" output="$2" name=$(basename "$input" | sed 's/.cl$//') +# Avoid embedded the build path, using only the basename of the input file. +base_input=$(basename "$input") cat >$output <<EOF // Generated from $input const char *ff_opencl_source_$name = -"#line 1 \"$input\"\n" +"#line 1 \"$base_input\"\n" EOF # Convert \ to \\ and " to \", then add " to the start and end of the line. -- 2.33.0
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".