From 2f8b83f5e4ff3484fc39987652c31e1847ac1725 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Fri, 10 Feb 2023 23:31:42 +0100 Subject: [PATCH] support/download: catch post-process errors Fixes: http://autobuild.buildroot.net/results/12a/12a63ae177fe3ed0c9a1ef2fa01870f334f36b0f/ Currently, when the post-process helper fails while downloading from upstream, there is no fallback to the backup mirror. In case the post-process helper fails, we must consider that to be a download failure, so we must bail out as if the download backend itself did fail, but we fail to do so. Duplicate the logic we have for the download helper: if the post-process helper fails, remove the downloaded stuff, and continue on to the next URI, which will ultimately hit the backup mirror (if one has been configured). Reported-by: Peter Korsgaard Signed-off-by: Yann E. MORIN Cc: Thomas Petazzoni Signed-off-by: Peter Korsgaard (cherry picked from commit a39116b5dba6cf0695620e2ba5302f21fa80a4a5) Signed-off-by: Peter Korsgaard --- support/download/dl-wrapper | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/support/download/dl-wrapper b/support/download/dl-wrapper index 09a6ac1f1a..1e8d6058f6 100755 --- a/support/download/dl-wrapper +++ b/support/download/dl-wrapper @@ -138,9 +138,15 @@ main() { fi if [ -n "${post_process}" ] ; then - "${OLDPWD}/support/download/${post_process}-post-process" \ - -o "${tmpf}" \ - -n "${raw_base_name}" + if ! "${OLDPWD}/support/download/${post_process}-post-process" \ + -o "${tmpf}" \ + -n "${raw_base_name}" + then + # cd back to keep path coherence + cd "${OLDPWD}" + rm -rf "${tmpd}" + continue + fi fi # cd back to free the temp-dir, so we can remove it later