[FFmpeg-devel] [PATCH] configure: add --build-date and --build-time options

Benoit Fouet benoit.fouet at free.fr
Thu Jan 22 17:02:37 CET 2015


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.Cadhalpun at 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.Cadhalpun at 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



More information about the ffmpeg-devel mailing list