Hi,

Le 21/01/2015 23:10, Andreas Cadhalpun a écrit :
Hi,

Debian tries to make binary packages build reproducible [1].

FFmpeg embeds date and time in the program and documentation, which makes it hard to have binary reproducible packages.

The attached patch allows to specify the build date and time to use with a configure option, solving this problem.


If this patch is accepted in the content, then, I'd decorrelate BUILD_DATE and BUILD_TIME a bit more than what it is in your patch (see below).

Best regards,
Andreas

1: https://wiki.debian.org/ReproducibleBuilds/About

configure-add-build-date-and-build-time-options.patch


 From 285003006eb2b9cd1a6e2dcd6351c7f8b3090366 Mon Sep 17 00:00:00 2001
From: Andreas Cadhalpun<andreas.cadhal...@googlemail.com>
Date: Wed, 21 Jan 2015 22:31:04 +0100
Subject: [PATCH] configure: add --build-date and --build-time options

These allow to make the build binary reproducible by specifying the
date/time that should be used instead of the current date/time.

Signed-off-by: Andreas Cadhalpun<andreas.cadhal...@googlemail.com>
---
  cmdutils.c   |  2 +-
  configure    | 14 ++++++++++++++
  doc/Makefile |  9 +++++++++
  ffprobe.c    |  4 ++--
  4 files changed, 26 insertions(+), 3 deletions(-)

[...]

diff --git a/configure b/configure
index a0dbafb..4f44cea 100755
--- a/configure
+++ b/configure

[...]

@@ -5712,6 +5716,16 @@ cat > $TMPH <<EOF
  #define SWS_MAX_FILTER_SIZE $sws_max_filter_size
  EOF
+if [ -n "$build_date" ] || [ -n "$build_time" ]; then
+    echo "#define BUILD_DATE \"${build_date}\"" >> $TMPH
+    echo "#define BUILD_TIME \"${build_time}\"" >> $TMPH
+    echo "BUILD_DATE=$build_date" >> config.mak
+    echo "BUILD_TIME=$build_time" >> config.mak
+else
+    echo "#define BUILD_DATE __DATE__" >> $TMPH
+    echo "#define BUILD_TIME __TIME__" >> $TMPH
+fi
+

changing this by:
if [ -n "$build_date" ]; then
    echo "#define BUILD_DATE \"${build_date}\"" >> $TMPH
    echo "BUILD_DATE=$build_date" >> config.mak
else
    echo "#define BUILD_DATE __DATE__" >> $TMPH
fi

same for BUILD_TIME.

Or at least change your patch to not assume that one is set when the other is.

--
Ben

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to