[Buildroot] [PATCH] support/download: generate reproducible Hg archives

Yegor Yefremov yegorslists at googlemail.com
Sat Jan 2 12:58:37 UTC 2016


On Sat, Jan 2, 2016 at 12:35 PM, Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
> When hg directly creates the output file, the hash for that file changes
> everytime.
>
> However, if we just tell hg to output the archive on stdout and we do
> the redirect to the file, then the archive is reproducible.
>
> (The reason is that in the first case, a temporary file is created and
> then compressed, and gzip is adding the filename and its timestamp in
> the gzip header, while in the second case, there is no temporary file,
> and thus no timestamp and thus it is reproducible.)
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Yegor Yefremov <yegorslists at googlemail.com>

Tested-by: Yegor Yefremov <yegorslists at googlemail.com>

> ---
> Note: Yegor, you'll now be able to use the 'hg' method to download
> reproducible archives! Hehe! ;-)
> ---
>  support/download/hg | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/support/download/hg b/support/download/hg
> index 5bdbbc8..25cb4e9 100755
> --- a/support/download/hg
> +++ b/support/download/hg
> @@ -35,4 +35,4 @@ _hg clone ${verbose} --noupdate "'${repo}'" "'${basename}'"
>
>  _hg archive ${verbose} --repository "'${basename}'" --type tgz \
>              --prefix "'${basename}'" --rev "'${cset}'" \
> -            "'${output}'"
> +            - >"${output}"
> --
> 1.9.1
>



More information about the buildroot mailing list