diff mbox series

[FFmpeg-devel,1/1] tools/cl2c: Strip full path from input file in embedded

Message ID 87sfwyotmg.fsf@yucca
State New
Headers show
Series [FFmpeg-devel,1/1] tools/cl2c: Strip full path from input file in embedded
Related show

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
andriy/make_ppc success Make finished
andriy/make_fate_ppc success Make fate finished

Commit Message

Vagrant Cascadian Oct. 18, 2021, 10:28 p.m. UTC
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 <vagrant@reproducible-builds.org>
---
 tools/cl2c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Vagrant Cascadian Nov. 13, 2021, 8:05 p.m. UTC | #1
On 2021-10-18, Vagrant Cascadian wrote:
> 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 <vagrant@reproducible-builds.org>

Ping?

live well,
  vagrant

> ---
>  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
diff mbox series

Patch

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.