support/download: fix the git helper output file format

The git helper uses gzip to compress the intermediate tarball. But gzip
removes the source file, and create a new file named by appending .gz to
the original file name.

Thus, we end up with output.gz, while the download wrapper expects jsut
output, and thus believes the downlaod failed.

Fix that by storing the tar from git to a temporary file, then pipe this
file to gzip's stdin, and redirect gzip's stdout to the output file.

Reported-by: Graham Newton <gnewton@peavey-eu.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Yann E. MORIN 2014-08-06 18:47:53 +02:00 committed by Thomas Petazzoni
parent 9d1ab43211
commit 8f76366c0f

View File

@ -34,6 +34,6 @@ if [ ${git_done} -eq 0 ]; then
fi
GIT_DIR="${basename}" \
${GIT} archive --prefix="${basename}/" -o "${output}" --format=tar "${cset}"
${GIT} archive --prefix="${basename}/" -o "${output}.tmp" --format=tar "${cset}"
gzip "${output}"
gzip <"${output}.tmp" >"${output}"