support/download: fix the git helper output file format
authorYann E. MORIN <yann.morin.1998@free.fr>
Wed, 6 Aug 2014 16:47:53 +0000 (18:47 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 6 Aug 2014 17:41:05 +0000 (19:41 +0200)
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>
support/download/git

index d4515301afc8b4de423422af3e957bcac44f3315..ff6b5c3197ad423ebeffe2995b71d3df90a002e0 100755 (executable)
@@ -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}"